Embed: HLS trackswitching now default, improvements to no audio/video-checkboxes

This commit is contained in:
Cat 2019-04-24 16:59:59 +02:00
parent 6ff35446ae
commit 017e28932a
3 changed files with 24 additions and 26 deletions

File diff suppressed because one or more lines are too long

View file

@ -742,30 +742,7 @@ function MistVideo(streamName,options) {
//if (!MistUtil.object.keys(usetracks).length) { return; } //don't do this; allow switching back to auto
//create source url
var newurl;
if (MistVideo.source.type == "html5/application/vnd.apple.mpegurl") { //for HLS, use a different format for track selection
newurl = MistVideo.source.url.split("/");
var m3u8 = newurl.pop(); //take this off now, it will be added back later
var hlstracks = [];
for (var i in usetracks) {
//for audio or video tracks, just add the tracknumber between slashes
switch (i) {
case "audio":
case "video":
if (usetracks[i] == "none") { continue; }
hlstracks.push(usetracks[i]);
break;
}
}
if (hlstracks.length) { newurl.push(hlstracks.join("_")); }
newurl.push(m3u8); //put back index.m3u8
newurl = newurl.join("/");
usetracks = {};
}
else {
newurl = MistVideo.source.url;
}
var newurl = MistVideo.source.url;
var time = MistVideo.player.api.currentTime;
//actually switch to the new source url

View file

@ -1291,6 +1291,9 @@ MistSkins["default"] = {
if (!MistVideo.options.setTracks) { MistVideo.options.setTracks = {}; }
MistVideo.options.setTracks[type] = value;
if ((value === true) && selections[type]) {
MistUtil.event.send("change",null,selections[type]);
}
if ("setTrack" in MistVideo.player.api) {
return MistVideo.player.api.setTrack(type,value);
@ -1378,6 +1381,15 @@ MistSkins["default"] = {
cell.appendChild(checkbox);
checkboxes[type] = checkbox;
if (MistVideo.options.setTracks && (MistVideo.options.setTracks[type])) {
if (MistVideo.options.setTracks[type] == "none") {
checkbox.checked = false;
}
else {
checkbox.checked = true;
}
}
MistUtil.event.addListener(checkbox,"change",function(){
//make sure at least one checkbox is checked
var n = 0;
@ -1411,6 +1423,15 @@ MistSkins["default"] = {
}
changeToTracks(this.trackType,(this.checked ? value : "none"));
});
MistUtil.event.addListener(MistVideo.video,"playerUpdate_trackChanged",function(e){
if (e.message.type != type) { return; }
if (e.message.value == "none") { this.checked = false; }
else { this.checked = true; }
},select);
}
}
@ -1490,7 +1511,7 @@ MistSkins["default"] = {
MistUtil.event.addListener(MistVideo.video,"playerUpdate_trackChanged",function(e){
if (e.message.type != type) { return; }
if ((e.message.type != type) || (e.message.trackid == "none")) { return; }
select.value = e.message.trackid;
MistVideo.log("Player selected "+type+" track with id "+e.message.trackid);