pass languages and audio track to player
This commit is contained in:
parent
f61cc7ee54
commit
32719a212c
3 changed files with 34 additions and 11 deletions
|
@ -13,6 +13,7 @@ pandora.ui.item = function() {
|
||||||
pandora.api.get({
|
pandora.api.get({
|
||||||
id: pandora.user.ui.item,
|
id: pandora.user.ui.item,
|
||||||
keys: isVideoView ? [
|
keys: isVideoView ? [
|
||||||
|
'audioTracks',
|
||||||
'cuts', 'director', 'duration', 'durations', 'editable', 'layers',
|
'cuts', 'director', 'duration', 'durations', 'editable', 'layers',
|
||||||
'modified', 'parts', 'posterFrame', 'rendered', 'rightslevel',
|
'modified', 'parts', 'posterFrame', 'rendered', 'rightslevel',
|
||||||
'size', 'title', 'videoRatio', 'year'
|
'size', 'title', 'videoRatio', 'year'
|
||||||
|
|
|
@ -14,6 +14,7 @@ pandora.ui.player = function(data) {
|
||||||
annotationsSort: ui.annotationsSort,
|
annotationsSort: ui.annotationsSort,
|
||||||
annotationsTooltip: Ox._('annotations')
|
annotationsTooltip: Ox._('annotations')
|
||||||
+ ' <span class="OxBright">' + Ox.SYMBOLS.SHIFT + 'A</span>',
|
+ ' <span class="OxBright">' + Ox.SYMBOLS.SHIFT + 'A</span>',
|
||||||
|
audioTrack: data.audioTracks ? data.audioTracks[0] : void 0,
|
||||||
censored: data.censored,
|
censored: data.censored,
|
||||||
censoredIcon: pandora.site.cantPlay.icon,
|
censoredIcon: pandora.site.cantPlay.icon,
|
||||||
censoredTooltip: Ox._(pandora.site.cantPlay.text),
|
censoredTooltip: Ox._(pandora.site.cantPlay.text),
|
||||||
|
|
|
@ -1738,13 +1738,15 @@ pandora.getMediaURL = function(url) {
|
||||||
return pandora.site.site.mediaprefix + url;
|
return pandora.site.site.mediaprefix + url;
|
||||||
};
|
};
|
||||||
|
|
||||||
pandora.getVideoURL = function(id, resolution, part) {
|
pandora.getVideoURL = function(id, resolution, part, track) {
|
||||||
var prefix = pandora.site.site.videoprefix
|
var prefix = pandora.site.site.videoprefix
|
||||||
.replace('{id}', id)
|
.replace('{id}', id)
|
||||||
.replace('{part}', part)
|
.replace('{part}', part)
|
||||||
.replace('{resolution}', resolution)
|
.replace('{resolution}', resolution)
|
||||||
.replace('{uid}', Ox.uid());
|
.replace('{uid}', Ox.uid());
|
||||||
return prefix + '/' + id + '/' + resolution + 'p' + part + '.' + pandora.user.videoFormat;
|
return prefix + '/' + id + '/' + resolution + 'p' + part
|
||||||
|
+ (track ? '.' + track : '')
|
||||||
|
+ '.' + pandora.user.videoFormat;
|
||||||
};
|
};
|
||||||
|
|
||||||
pandora.getVideoOptions = function(data) {
|
pandora.getVideoOptions = function(data) {
|
||||||
|
@ -1758,12 +1760,14 @@ pandora.getVideoOptions = function(data) {
|
||||||
})[0];
|
})[0];
|
||||||
options.subtitles = options.subtitlesLayer
|
options.subtitles = options.subtitlesLayer
|
||||||
? data.layers[options.subtitlesLayer].map(function(subtitle) {
|
? data.layers[options.subtitlesLayer].map(function(subtitle) {
|
||||||
return {
|
return Ox.extend({
|
||||||
id: subtitle.id,
|
id: subtitle.id,
|
||||||
'in': subtitle['in'],
|
'in': subtitle['in'],
|
||||||
out: subtitle.out,
|
out: subtitle.out,
|
||||||
text: subtitle.value.replace(/\n/g, ' ').replace(/<br\/?>/g, '\n')
|
text: subtitle.value.replace(/\n/g, ' ').replace(/<br\/?>/g, '\n')
|
||||||
};
|
}, subtitle.languages ? {
|
||||||
|
tracks: subtitle.languages
|
||||||
|
} : {});
|
||||||
})
|
})
|
||||||
: [];
|
: [];
|
||||||
options.censored = canPlayVideo ? []
|
options.censored = canPlayVideo ? []
|
||||||
|
@ -1788,14 +1792,30 @@ pandora.getVideoOptions = function(data) {
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
: [{'in': 0, out: data.duration}];
|
: [{'in': 0, out: data.duration}];
|
||||||
options.video = {};
|
options.video = [];
|
||||||
pandora.site.video.resolutions.forEach(function(resolution) {
|
pandora.site.video.resolutions.forEach(function(resolution) {
|
||||||
options.video[resolution] = Ox.range(data.parts).map(function(i) {
|
if (data.audioTracks) {
|
||||||
return {
|
data.audioTracks.forEach(function(track) {
|
||||||
duration: data.durations[i],
|
Ox.range(data.parts).forEach(function(i) {
|
||||||
src: pandora.getVideoURL(data.item || pandora.user.ui.item, resolution, i + 1)
|
options.video.push({
|
||||||
};
|
duration: data.durations[i],
|
||||||
});
|
index: i,
|
||||||
|
track: track,
|
||||||
|
resolution: resolution,
|
||||||
|
src: pandora.getVideoURL(data.item || pandora.user.ui.item, resolution, i + 1, track)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Ox.range(data.parts).forEach(function(i) {
|
||||||
|
options.video.push({
|
||||||
|
duration: data.durations[i],
|
||||||
|
index: i,
|
||||||
|
resolution: resolution,
|
||||||
|
src: pandora.getVideoURL(data.item || pandora.user.ui.item, resolution, i + 1)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
options.annotations = [];
|
options.annotations = [];
|
||||||
pandora.site.layers.forEach(function(layer, i) {
|
pandora.site.layers.forEach(function(layer, i) {
|
||||||
|
@ -1811,6 +1831,7 @@ pandora.getVideoOptions = function(data) {
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Ox.Log('Video', 'VideoOptions', options);
|
||||||
return options;
|
return options;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue