1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update video poster

This commit is contained in:
Luke Pulverenti 2015-07-03 12:49:49 -04:00
parent 4ce5c2065c
commit b33e90dae7
4 changed files with 37 additions and 18 deletions

View file

@ -489,14 +489,13 @@
*/ */
self.getItem = function (userId, itemId) { self.getItem = function (userId, itemId) {
if (!userId) {
throw new Error("null userId");
}
if (!itemId) { if (!itemId) {
throw new Error("null itemId"); throw new Error("null itemId");
} }
var url = self.getUrl("Users/" + userId + "/Items/" + itemId); var url = userId ?
self.getUrl("Users/" + userId + "/Items/" + itemId) :
self.getUrl("Items/" + itemId);
return self.ajax({ return self.ajax({
type: "GET", type: "GET",

View file

@ -1,8 +1,9 @@
(function () { (function () {
var supportsTextTracks; var supportsTextTracks;
var isViblastStarted;
function htmlMediaRenderer(type) { function htmlMediaRenderer(options) {
var mediaElement; var mediaElement;
var self = this; var self = this;
@ -135,17 +136,19 @@
var requiresNativeControls = !self.enableCustomVideoControls(); var requiresNativeControls = !self.enableCustomVideoControls();
var poster = options.poster ? (' poster="' + options.poster + '"') : '';
// Can't autoplay in these browsers so we need to use the full controls // Can't autoplay in these browsers so we need to use the full controls
if (requiresNativeControls && AppInfo.isNativeApp && $.browser.android) { if (requiresNativeControls && AppInfo.isNativeApp && $.browser.android) {
html += '<video class="itemVideo" id="itemVideo" preload="metadata" autoplay="autoplay" crossorigin="anonymous" webkit-playsinline>'; html += '<video class="itemVideo" id="itemVideo" preload="metadata" autoplay="autoplay" crossorigin="anonymous"' + poster + ' webkit-playsinline>';
} }
else if (requiresNativeControls) { else if (requiresNativeControls) {
html += '<video class="itemVideo" id="itemVideo" preload="metadata" autoplay="autoplay" crossorigin="anonymous" controls="controls" webkit-playsinline>'; html += '<video class="itemVideo" id="itemVideo" preload="metadata" autoplay="autoplay" crossorigin="anonymous"' + poster + ' controls="controls" webkit-playsinline>';
} }
else { else {
// Chrome 35 won't play with preload none // Chrome 35 won't play with preload none
html += '<video class="itemVideo" id="itemVideo" preload="metadata" autoplay="autoplay" crossorigin="anonymous" webkit-playsinline>'; html += '<video class="itemVideo" id="itemVideo" preload="metadata" autoplay="autoplay" crossorigin="anonymous"' + poster + ' webkit-playsinline>';
} }
html += '</video>'; html += '</video>';
@ -191,8 +194,12 @@
if (mediaElement) { if (mediaElement) {
mediaElement.pause(); mediaElement.pause();
if (mediaElement.tagName == 'VIDEO' && enableViblast()) { if (isViblastStarted) {
viblast(mediaElement).stop(); requirejs(['https://viblast.com/player/free-version/sdqsdx86/viblast.js'], function () {
viblast(mediaElement).stop();
isViblastStarted = false;
});
} }
} }
}; };
@ -259,6 +266,8 @@
stream: val stream: val
}); });
isViblastStarted = true;
} else { } else {
elem.src = val; elem.src = val;
$(elem).one("loadedmetadata", onLoadedMetadata); $(elem).one("loadedmetadata", onLoadedMetadata);
@ -446,7 +455,7 @@
var deferred = DeferredBuilder.Deferred(); var deferred = DeferredBuilder.Deferred();
if (type == 'video' && enableViblast()) { if (options.type == 'video' && enableViblast()) {
requirejs(['https://viblast.com/player/free-version/sdqsdx86/viblast.js'], function () { requirejs(['https://viblast.com/player/free-version/sdqsdx86/viblast.js'], function () {
@ -460,7 +469,7 @@
return deferred.promise(); return deferred.promise();
}; };
if (type == 'audio') { if (options.type == 'audio') {
mediaElement = createAudioElement(); mediaElement = createAudioElement();
} }
else { else {
@ -469,11 +478,21 @@
} }
if (!window.AudioRenderer) { if (!window.AudioRenderer) {
window.AudioRenderer = htmlMediaRenderer; window.AudioRenderer = function (options) {
options = options || {};
options.type = 'audio';
return new htmlMediaRenderer(options);
};
} }
if (!window.VideoRenderer) { if (!window.VideoRenderer) {
window.VideoRenderer = htmlMediaRenderer; window.VideoRenderer = function (options) {
options = options || {};
options.type = 'video';
return new htmlMediaRenderer(options);
};
} }
})(); })();

View file

@ -1016,8 +1016,9 @@
$('.videoChaptersButton').hide(); $('.videoChaptersButton').hide();
} }
var mediaRenderer = new VideoRenderer('video'); var mediaRenderer = new VideoRenderer({
mediaRenderer.setPoster(self.getPosterUrl(item)); poster: self.getPosterUrl(item)
});
var requiresNativeControls = !mediaRenderer.enableCustomVideoControls(); var requiresNativeControls = !mediaRenderer.enableCustomVideoControls();
@ -1140,7 +1141,7 @@
self.updateNowPlayingInfo(item); self.updateNowPlayingInfo(item);
mediaRenderer.init().done(function() { mediaRenderer.init().done(function() {
mediaRenderer.setCurrentSrc(videoUrl, item, mediaSource); mediaRenderer.setCurrentSrc(videoUrl, item, mediaSource);
var textStreams = subtitleStreams.filter(function (s) { var textStreams = subtitleStreams.filter(function (s) {

View file

@ -1672,7 +1672,7 @@
function getAudioRenderer() { function getAudioRenderer() {
return new AudioRenderer('audio'); return new AudioRenderer();
} }
function onTimeUpdate() { function onTimeUpdate() {