include oshash in video url to avoid cache issues

This commit is contained in:
j 2016-08-13 15:35:20 +02:00
commit 3d6d1be2e6
7 changed files with 21 additions and 14 deletions

View file

@ -16,7 +16,7 @@ pandora.ui.item = function() {
'audioTracks',
'cuts', 'duration', 'durations', 'editable', 'layers',
'modified', 'parts', 'posterFrame', 'rendered', 'rightslevel',
'size', 'videoRatio',
'streams', 'size', 'videoRatio',
].concat(pandora.site.itemTitleKeys) : []
}, pandora.user.ui.itemView == 'info' && pandora.site.capabilities.canEditMetadata[pandora.user.level] ? 0 : -1, function(result) {

View file

@ -95,7 +95,7 @@ pandora.ui.itemClips = function(options) {
$img = $item.find('.OxIcon > img');
points = [$item.data('in'), $item.data('out')];
if ($img.length) {
pandora.api.get({id: self.options.id, keys: ['durations', 'rightslevel']}, function(result) {
pandora.api.get({id: self.options.id, keys: ['durations', 'rightslevel', 'streams']}, function(result) {
var partsAndPoints = pandora.getVideoPartsAndPoints(
result.data.durations, points
),
@ -113,7 +113,8 @@ pandora.ui.itemClips = function(options) {
),
rewind: true,
video: partsAndPoints.parts.map(function(i) {
return pandora.getVideoURL(self.options.id, Ox.min(pandora.site.video.resolutions), i + 1);
return pandora.getVideoURL(self.options.id, Ox.min(pandora.site.video.resolutions), i + 1,
null, result.data.streams[i]);
}),
width: self.width
})

View file

@ -1021,7 +1021,7 @@ pandora.getClipVideos = function(clip, resolution) {
resolution = resolution || pandora.user.ui.videoResolution;
return Ox.flatten(Ox.range(clip.parts).map(function(i) {
var item = {
src: pandora.getVideoURL(clip.item, resolution, i + 1),
src: pandora.getVideoURL(clip.item, resolution, i + 1, null, clip.streams[i]),
resolution: resolution
};
if (currentTime + clip.durations[i] <= start || currentTime > end) {
@ -1937,12 +1937,12 @@ pandora.getMediaURL = function(url) {
return pandora.site.site.mediaprefix + url;
};
pandora.getVideoURLName = function(id, resolution, part, track) {
pandora.getVideoURLName = function(id, resolution, part, track, streamId) {
return id + '/' + resolution + 'p' + part + (track ? '.' + track : '')
+ '.' + pandora.user.videoFormat;
+ '.' + pandora.user.videoFormat + (streamId ? '?' + streamId : '');
};
pandora.getVideoURL = function(id, resolution, part, track) {
pandora.getVideoURL = function(id, resolution, part, track, streamId) {
var uid = Ox.uid(),
prefix = pandora.site.site.videoprefix
.replace('{id}', id)
@ -1952,7 +1952,7 @@ pandora.getVideoURL = function(id, resolution, part, track) {
.replace('{uid42}', uid % 42),
local = pandora.fs && pandora.fs.getVideoURL(id, resolution, part, track);
return local || prefix + '/'
+ pandora.getVideoURLName(id, resolution, part, track);
+ pandora.getVideoURLName(id, resolution, part, track, streamId);
};
pandora.getCensoredClips = function(data) {
@ -2026,7 +2026,7 @@ pandora.getVideoOptions = function(data) {
track: Ox.getLanguageNameByCode(track),
resolution: resolution,
src: pandora.getVideoURL(
data.item || pandora.user.ui.item, resolution, i + 1, track
data.item || pandora.user.ui.item, resolution, i + 1, track, data.streams[i]
)
});
});
@ -2038,7 +2038,7 @@ pandora.getVideoOptions = function(data) {
index: i,
resolution: resolution,
src: pandora.getVideoURL(
data.item || pandora.user.ui.item, resolution, i + 1
data.item || pandora.user.ui.item, resolution, i + 1, null, data.streams[i]
)
});
});

View file

@ -52,7 +52,7 @@ pandora.ui.videoView = function(isEmbed) {
pandora.api.findClips({
query: query,
itemsQuery: itemsQuery,
keys: ['id', 'in', 'out', 'durations', 'parts'],
keys: ['id', 'in', 'out', 'durations', 'parts', 'streams'],
range: range,
sort: pandora.user.ui.listSort
}, function(result) {