Merge branch 'development' into LTS_development
This commit is contained in:
commit
bb895c7c4b
2 changed files with 81 additions and 15 deletions
|
@ -455,13 +455,13 @@ MistPlayer.prototype.buildMistControls = function(){
|
||||||
if ('name' in tracks[i][j]) {
|
if ('name' in tracks[i][j]) {
|
||||||
name = tracks[i][j].name;
|
name = tracks[i][j].name;
|
||||||
}
|
}
|
||||||
|
else if ('desc' in tracks[i][j]) {
|
||||||
|
name = tracks[i][j].desc;
|
||||||
|
}
|
||||||
else if ('lang' in tracks[i][j]) {
|
else if ('lang' in tracks[i][j]) {
|
||||||
name = tracks[i][j].lang;
|
name = tracks[i][j].lang;
|
||||||
o.setAttribute('data-lang',tracks[i][j].lang);
|
o.setAttribute('data-lang',tracks[i][j].lang);
|
||||||
}
|
}
|
||||||
else if ('desc' in tracks[i][j]) {
|
|
||||||
name = tracks[i][j].desc;
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
name = 'Track '+(Number(j)+1);
|
name = 'Track '+(Number(j)+1);
|
||||||
}
|
}
|
||||||
|
@ -1148,28 +1148,94 @@ function mistPlay(streamName,options) {
|
||||||
var skip = false;
|
var skip = false;
|
||||||
switch (t.type) {
|
switch (t.type) {
|
||||||
case 'video':
|
case 'video':
|
||||||
t.desc = [t.width+'x'+t.height,/*Math.round(t.bps/1024)+'kbps',*/t.fpks/1e3+'fps',t.codec];
|
t.desc = [
|
||||||
if (t.lang) {
|
("lang" in t ? t.language : "unknown"),
|
||||||
t.desc.unshift(t.lang);
|
t.width+'x'+t.height,
|
||||||
}
|
(t.bps == 0 ? "unknown": (t.bps > 1024*1024/8 ? Math.round(t.bps/1024/1024*8)+'mbps': Math.round(t.bps/1024*8)+'kbps')),
|
||||||
|
(t.fpks == 0 ? "unknown" : t.fpks/1e3+'fps'),
|
||||||
|
t.codec
|
||||||
|
];
|
||||||
break;
|
break;
|
||||||
case 'audio':
|
case 'audio':
|
||||||
t.desc = [(t.channels == 2 ? 'Stereo' : (t.channels == 1 ? 'Mono' : t.channels+' channels')),/*Math.round(t.bps/1024)+'kbps',*/Math.round(t.rate/1000)+'kHz',t.codec];
|
t.desc = [
|
||||||
if (t.lang) {
|
("lang" in t ? t.language : "unknown"),
|
||||||
t.desc.unshift(t.lang);
|
(t.channels == 2 ? 'Stereo' : (t.channels == 1 ? 'Mono' : "Surround ("+t.channels+'ch)')),
|
||||||
}
|
(t.bps == 0 ? "unknown": (t.bps > 1024*1024/8 ? Math.round(t.bps/1024/1024*8)+'mbps': Math.round(t.bps/1024*8)+'kbps')),
|
||||||
|
Math.round(t.rate/1000)+'kHz',
|
||||||
|
t.codec
|
||||||
|
];
|
||||||
break;
|
break;
|
||||||
|
case 'meta':
|
||||||
case 'subtitle':
|
case 'subtitle':
|
||||||
t.desc = [t.lang,t.codec];
|
//subtitles are type meta and codec subtitle in Mist > v2.13, still support type subtitle though
|
||||||
|
if ((t.type == 'subtitle') || (t.codec == 'subtitle')) {
|
||||||
|
t.type = "subtitle";
|
||||||
|
t.desc = [("lang" in t ? t.language : "unknown")];
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
skip = true;
|
skip = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (skip) { continue; }
|
if (skip) { continue; }
|
||||||
t.desc = t.desc.join(' ');
|
|
||||||
tracks[t.type].push(t);
|
tracks[t.type].push(t);
|
||||||
}
|
}
|
||||||
|
//loop through the tracks again and compare them to one another to decide what to display as description
|
||||||
|
for (var cat in tracks) {
|
||||||
|
if (tracks[cat].length == 1) {
|
||||||
|
//there is only one track, show all info that isn't "unknown"
|
||||||
|
for (var i in tracks[cat]) {
|
||||||
|
var t = tracks[cat][i];
|
||||||
|
for (var j = t.desc.length-1; j >= 0; j--) {
|
||||||
|
if ((t.desc[j] == "unknown") && (t.desc.length > 1)) {
|
||||||
|
t.desc.splice(j,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
t.desc = t.desc.join(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var equal = false;
|
||||||
|
var show = [];
|
||||||
|
//sort by track id
|
||||||
|
tracks[cat].sort(function(a,b){
|
||||||
|
return a.trackid - b.trackid;
|
||||||
|
});
|
||||||
|
|
||||||
|
for (var i in tracks[cat]) {
|
||||||
|
var t = tracks[cat][i];
|
||||||
|
if (equal == false) {
|
||||||
|
//set equal to the first track description
|
||||||
|
equal = t.desc;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (var j in t.desc) {
|
||||||
|
//compare each value to the one in equal, if it's not the same, mark it
|
||||||
|
if ((t.desc[j] != equal[j]) && (show.indexOf(j) < 0)) {
|
||||||
|
show.push(j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (show.length) {
|
||||||
|
for (var i in tracks[cat]) {
|
||||||
|
var t = tracks[cat][i];
|
||||||
|
//gather indexes in show
|
||||||
|
var str = [];
|
||||||
|
for (var j in show) {
|
||||||
|
str.push(t.desc[show[j]]);
|
||||||
|
}
|
||||||
|
t.desc = str.join(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//all info is the same, show a track index
|
||||||
|
for (var i in tracks[cat]) {
|
||||||
|
var t = tracks[cat][i];
|
||||||
|
t.desc = "Track "+(Number(i)+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
player.tracks = tracks;
|
player.tracks = tracks;
|
||||||
if (tracks.subtitle.length) {
|
if (tracks.subtitle.length) {
|
||||||
var vttsrc = false;
|
var vttsrc = false;
|
||||||
|
|
|
@ -206,7 +206,7 @@ if (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.m
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
p.prototype.updateSrc = function(src){
|
p.prototype.updateSrc = function(src){
|
||||||
if (videojs in this) {
|
if ("videojs" in this) {
|
||||||
if (src == '') {
|
if (src == '') {
|
||||||
this.videojs.dispose();
|
this.videojs.dispose();
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue