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:
parent
4ce5c2065c
commit
b33e90dae7
4 changed files with 37 additions and 18 deletions
|
@ -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",
|
||||||
|
|
|
@ -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);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
|
@ -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) {
|
||||||
|
|
|
@ -1672,7 +1672,7 @@
|
||||||
|
|
||||||
function getAudioRenderer() {
|
function getAudioRenderer() {
|
||||||
|
|
||||||
return new AudioRenderer('audio');
|
return new AudioRenderer();
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTimeUpdate() {
|
function onTimeUpdate() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue