diff --git a/package-lock.json b/package-lock.json index af9fa9e9b..7a9142abd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "FreeTube", - "version": "0.7.1", + "version": "0.7.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -4003,11 +4003,11 @@ } }, "m3u8stream": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.6.2.tgz", - "integrity": "sha512-WsuM2bd5pPN80xvfrB+1DZqr4M7+kJl8byi6+ZCy6cmVjEiHhmr/desN53Ngsa6Hs13kYumeVgT4wL0oIJ+v6g==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.6.3.tgz", + "integrity": "sha512-HNUco8ef9kOvMRH7tYxJqbk9IuRA+AuZG8a/dQwqI+jfuEs1/DUaPbfTIlUDB4JmTZNkTOZHvZI5TvnQGR8nKA==", "requires": { - "miniget": "^1.4.0", + "miniget": "^1.6.1", "sax": "^1.2.4" } }, @@ -4087,9 +4087,9 @@ "dev": true }, "miniget": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/miniget/-/miniget-1.6.0.tgz", - "integrity": "sha512-CELIsH/oJfnDHixh7j//7H7PyQYkoMxgaTtzdoD08PYjyLW0YuYqxeIZGjLx59WF2/eapCLkQE4N5ppj82DW+A==" + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/miniget/-/miniget-1.6.1.tgz", + "integrity": "sha512-I5oBwZmcaOuJrjQn7lpS29HM+aAZDbzKbX5ouxVyhFYdg6fA6YKOTwOCgzZQwlHuMek3FlCxz6eNrd4pOXbwOA==" }, "minimatch": { "version": "3.0.4", @@ -5680,12 +5680,12 @@ } }, "ytdl-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-1.0.0.tgz", - "integrity": "sha512-aP/UBWbZtBSYlqHRYOx1oZ4tMRCAk2I5Y+OJy20/hrrr5XOhgxZ6+vJ20397h1FxYRzOTRSwb3VpBs3/CLe3fA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-1.0.3.tgz", + "integrity": "sha512-sBOVokjrAigKTEn248MJ+JpS5ifay/vBzYGMDeZhG61xmgthev6yHXBgEgm+M8ySDQXXVjOTmUtY3GHbX988KA==", "requires": { "html-entities": "^1.1.3", - "m3u8stream": "^0.6.2", + "m3u8stream": "^0.6.3", "miniget": "^1.6.0", "sax": "^1.1.3" } diff --git a/package.json b/package.json index 3dfd8b82f..cedbda673 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "FreeTube", "productName": "FreeTube", - "version": "0.7.1", + "version": "0.7.2", "description": "An Open Source YouTube app for privacy.", "main": "src/js/init.js", "scripts": { @@ -97,6 +97,6 @@ "nedb": "^1.8.0", "opml-to-json": "0.0.3", "vue": "^2.6.10", - "ytdl-core": "^1.0.0" + "ytdl-core": "^1.0.3" } } diff --git a/src/js/player.js b/src/js/player.js index 6d8fb2712..e08fe7a88 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -122,14 +122,14 @@ function playVideo(videoId, playlistId = '') { playerView.validLive = false; // Search through the returned object to get the 360p and 720p video URLs (If available) - Object.keys(videoUrls).forEach((key) => { - switch (videoUrls[key]['itag']) { - case '18': - playerView.video360p = decodeURIComponent(videoUrls[key]['url']); + videoUrls.forEach((video) => { + switch (video.itag) { + case 18: + playerView.video360p = decodeURIComponent(video.url); // ft.log(playerView.video360p); break; - case '22': - playerView.video720p = decodeURIComponent(videoUrls[key]['url']); + case 22: + playerView.video720p = decodeURIComponent(video.url); // ft.log(playerView.video720p); break; } @@ -397,14 +397,14 @@ function playVideo(videoId, playlistId = '') { let formatUrls = data.adaptiveFormats; // Search through the returned object to get the 360p and 720p video URLs (If available) - Object.keys(videoUrls).forEach((key) => { - switch (videoUrls[key]['itag']) { - case '18': - playerView.video360p = decodeURIComponent(videoUrls[key]['url']); + videoUrls.forEach((video) => { + switch (video.itag) { + case 18: + playerView.video360p = decodeURIComponent(video.url); // ft.log(playerView.video360p); break; - case '22': - playerView.video720p = decodeURIComponent(videoUrls[key]['url']); + case 22: + playerView.video720p = decodeURIComponent(video.url); // ft.log(playerView.video720p); break; } @@ -1058,15 +1058,16 @@ function clickMiniPlayer(videoId) { if (getVideosLocally) { youtubedlGetInfo(videoId, (data) => { - let videoUrls = data.formats; + let videoUrls = data.formats - Object.keys(videoUrls).forEach((key) => { - switch (videoUrls[key]['itag']) { - case '18': - videoData.video360p = videoUrls[key]['url']; + // Search through the returned object to get the 360p and 720p video URLs (If available) + videoUrls.forEach((video) => { + switch (video.itag) { + case 18: + videoData.video360p = decodeURIComponent(video.url); break; - case '22': - videoData.video720p = videoUrls[key]['url']; + case 22: + videoData.video720p = decodeURIComponent(video.url); break; } }); @@ -1110,13 +1111,14 @@ function clickMiniPlayer(videoId) { let videoUrls = data.formatStreams; let formatUrls = data.adaptiveFormats; - Object.keys(videoUrls).forEach((key) => { - switch (videoUrls[key]['itag']) { - case '18': - videoData.video360p = videoUrls[key]['url']; + // Search through the returned object to get the 360p and 720p video URLs (If available) + videoUrls.forEach((video) => { + switch (video.itag) { + case 18: + videoData.video360p = decodeURIComponent(video.url); break; - case '22': - videoData.video720p = videoUrls[key]['url']; + case 22: + videoData.video720p = decodeURIComponent(video.url); break; } });