From 8dc3bbdd68b08c47f953cbede6a711afe05308f5 Mon Sep 17 00:00:00 2001 From: David Llop Date: Thu, 10 Aug 2017 05:02:47 +0200 Subject: [PATCH 1/3] Add support for subtitles --- public/js/player.js | 41 ++++++++++++++++++++++++++++++++++++++--- public/player.html | 2 +- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/public/js/player.js b/public/js/player.js index c06e2d4..d543846 100644 --- a/public/js/player.js +++ b/public/js/player.js @@ -1,9 +1,20 @@ (function() { var hash = location.pathname.split('/').pop(); - // hash = 'QmU1GSqu4w29Pt7EEM57Lhte8Lce6e7kuhRHo6rSNb2UaC'; + try { + console.log(location.search.split('=')[1]) + var subs = JSON.parse(decodeURIComponent(location.search.split('=')[1])) + } catch(e) { + var subs = {} + } +console.log(subs) + // hash = 'QmYYMMKS5z9h2CL69GBTTys2SFRZH7XM2iiRTuqrYhYGkj'; + /*subs = { + "en": "Qmd9h2eZb4ft4cZAxtypj4YSs4iDu9kLfeXtG2ECgx4Mcc", + "es": "QmeVvJaydsTNJ493JPp5xcvMjMZaWBuS8eZoMCh6vpVTgV" + }*/ + var playerHolder = $('#player__holder'); var player = $('#player'); - var path = hashToPath(hash); var sources = [ 'ipfs:', // Browser handler 'http://127.0.0.1:8080', // User's own IPFS daemon @@ -12,7 +23,7 @@ 'https://ipfs.pics' // Is this rude? ]; var urls = sources.map(function(prefix) { - return prefix + path; + return prefix + hashToPath(hash); }); player.on('error', function(e) { @@ -20,6 +31,30 @@ tryNextUrl(); }); + Object.keys(subs).forEach((sub) => { + + // Sliced 'ipfs:' handler because Firefox doesn't support it for video tracks + let urls = sources.slice(1).map((prefix) => { + return prefix + hashToPath(subs[sub]); + }); + + let tryNextUrl = (track) => { + let url = urls.shift(); + if (url) { + track.get(0).src = url + } + } + + let track = $('') + track.on('error', function() { + console.log("error") + tryNextUrl($(this)); + }) + + player.append(track) + tryNextUrl(track) + }) + tryNextUrl(); function tryNextUrl() { diff --git a/public/player.html b/public/player.html index 4dcc686..9dee3b0 100644 --- a/public/player.html +++ b/public/player.html @@ -14,7 +14,7 @@
-
From dc9dbf99890a6dfbed0df7ad2b51aa2149c364cc Mon Sep 17 00:00:00 2001 From: David Llop Date: Thu, 10 Aug 2017 06:10:11 +0200 Subject: [PATCH 2/3] Adapt app to be used directly from IPFS --- public/index.html | 2 +- public/js/common.js | 2 +- public/js/index.js | 4 ++-- public/js/player.js | 19 ++++++++++++------- public/player.html | 12 ++++++------ 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/public/index.html b/public/index.html index 969d46b..9a0cb1a 100644 --- a/public/index.html +++ b/public/index.html @@ -22,7 +22,7 @@