mirror of https://github.com/FreeTubeApp/FreeTube
[Fix] Hide video quality if not available
This commit is contained in:
parent
0ad8213f78
commit
74feb75d8a
|
@ -34,7 +34,9 @@ function playVideo(videoId) {
|
|||
playerView.playerSeen = true;
|
||||
playerView.videoId = videoId;
|
||||
playerView.video480p = undefined;
|
||||
playerView.valid480p = true;
|
||||
playerView.video720p = undefined;
|
||||
playerView.valid720p = true;
|
||||
playerView.embededHtml = "<iframe width='560' height='315' src='https://www.youtube-nocookie.com/embed/" + videoId + "?rel=0' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe>";
|
||||
|
||||
let videoHtml = '';
|
||||
|
@ -79,7 +81,7 @@ function playVideo(videoId) {
|
|||
playerView.videoThumbnail = data.videoThumbnails[0].url;
|
||||
|
||||
// Format the date to a more readable format.
|
||||
let dateString = new Date(data.published);
|
||||
let dateString = new Date(data.published * 1000);
|
||||
dateString.setDate(dateString.getDate() + 1);
|
||||
playerView.publishedDate = dateFormat(dateString, "mmm dS, yyyy");
|
||||
|
||||
|
|
|
@ -84,6 +84,7 @@ function loadSubscriptions() {
|
|||
} else {
|
||||
showToast('Refreshing Subscription List. Please wait...');
|
||||
checkSubscriptions = false;
|
||||
progressView.seen = true;
|
||||
}
|
||||
|
||||
let videoList = [];
|
||||
|
|
|
@ -409,7 +409,9 @@ let playerView = new Vue({
|
|||
subtitleHtml: '',
|
||||
currentQuality: '',
|
||||
video480p: '',
|
||||
valid480p: false,
|
||||
video720p: '',
|
||||
valid720p: false,
|
||||
embededHtml: '',
|
||||
currentSpeed: 1,
|
||||
videoTitle: '',
|
||||
|
|
|
@ -459,15 +459,13 @@ function checkVideoUrls(video480p, video720p) {
|
|||
switch (status.status) {
|
||||
case 404:
|
||||
showToast('Found valid URL for 480p, but returned a 404. Video type might be available in the future.');
|
||||
$(document).off('click', '#quality480p');
|
||||
$(document).on('click', '#quality480p', (event) => {
|
||||
changeQuality('');
|
||||
});
|
||||
playerView.valid480p = false;
|
||||
buttonEmbed.click();
|
||||
return;
|
||||
break;
|
||||
case 403:
|
||||
showToast('This video is unavailable in your country.');
|
||||
playerView.valid480p = false;
|
||||
$(document).off('click', '#quality480p');
|
||||
$(document).on('click', '#quality480p', (event) => {
|
||||
changeQuality('');
|
||||
|
@ -483,6 +481,9 @@ function checkVideoUrls(video480p, video720p) {
|
|||
}
|
||||
});
|
||||
}
|
||||
else{
|
||||
playerView.valid480p = false;
|
||||
}
|
||||
|
||||
if (typeof (video720p) !== 'undefined') {
|
||||
let get720pUrl = fetch(video720p);
|
||||
|
@ -490,20 +491,14 @@ function checkVideoUrls(video480p, video720p) {
|
|||
switch (status.status) {
|
||||
case 404:
|
||||
showToast('Found valid URL for 720p, but returned a 404. Video type might be available in the future.');
|
||||
$(document).off('click', '#quality720p');
|
||||
$(document).on('click', '#quality720p', (event) => {
|
||||
changeQuality('');
|
||||
});
|
||||
playerView.valid720p = false;
|
||||
if (typeof (valid480) !== 'undefined') {
|
||||
changeQuality(video480p, '480p');
|
||||
}
|
||||
break;
|
||||
case 403:
|
||||
showToast('This video is unavailable in your country.');
|
||||
$(document).off('click', '#quality720p');
|
||||
$(document).on('click', '#quality720p', (event) => {
|
||||
changeQuality('');
|
||||
});
|
||||
playerView.valid720p = false;
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
|
@ -512,4 +507,7 @@ function checkVideoUrls(video480p, video720p) {
|
|||
}
|
||||
});
|
||||
}
|
||||
else{
|
||||
playerView.valid720p = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div v-if='seen'>
|
||||
<div v-if='playerSeen'>
|
||||
<video class="videoPlayer" id='videoPlayer' type="application/x-mpegURL" onmousemove="hideMouseTimeout()" onmouseleave="removeMouseTimeout()" onloadstart='checkVideoSettings()' onvolumechange='updateVolume()' controls="" :src='videoUrl' :poster="videoThumbnail" v-html="subtitleHtml">
|
||||
<video class="videoPlayer" id='videoPlayer' type="application/x-mpegURL" object-fit='cover' onmousemove="hideMouseTimeout()" onmouseleave="removeMouseTimeout()" onloadstart='checkVideoSettings()' onvolumechange='updateVolume()' controls="" :src='videoUrl' :poster="videoThumbnail" v-html="subtitleHtml">
|
||||
</video>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
@ -14,8 +14,8 @@
|
|||
<span id='currentQuality'>{{currentQuality}}</span> <i class="fas fa-angle-down"></i>
|
||||
<div class='qualityTypes'>
|
||||
<ul>
|
||||
<li id='quality480p' v-on:click='quality(video480p, "480p")'>480p</li>
|
||||
<li id='quality720p' v-on:click='quality(video720p, "720p")'>720p</li>
|
||||
<li v-if='valid480p' id='quality480p' v-on:click='quality(video480p, "480p")'>480p</li>
|
||||
<li v-if='valid720p' id='quality720p' v-on:click='quality(video720p, "720p")'>720p</li>
|
||||
<li id='qualityEmbed' v-on:click='embededPlayer()'>EMBED</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue