mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
#514 - Support HLS seeking
This commit is contained in:
parent
83ada41f7e
commit
683e6f472c
5 changed files with 45 additions and 53 deletions
|
@ -655,7 +655,7 @@
|
|||
}
|
||||
|
||||
if (item.Studios.length) {
|
||||
html += ' on <a class="textlink" href="itembynamedetails.html?context=' + context + '&studio=' + ApiClient.encodeName(item.Studios[0].Name) + '">' + item.Studios[0].Name + '</a>';
|
||||
html += ' on <a class="textlink" href="itembynamedetails.html?context=' + context + '&id=' + item.Studios[0].Id + '">' + item.Studios[0].Name + '</a>';
|
||||
}
|
||||
|
||||
if (html) {
|
||||
|
|
|
@ -1781,7 +1781,7 @@
|
|||
html += ' / ';
|
||||
}
|
||||
|
||||
html += '<a class="textlink" href="itembynamedetails.html?context=' + context + '&studio=' + ApiClient.encodeName(item.Studios[i].Name) + '">' + item.Studios[i].Name + '</a>';
|
||||
html += '<a class="textlink" href="itembynamedetails.html?context=' + context + '&id=' + item.Studios[i].Id + '">' + item.Studios[i].Name + '</a>';
|
||||
}
|
||||
|
||||
elem.show().html(html).trigger('create');
|
||||
|
|
|
@ -1007,13 +1007,7 @@
|
|||
EnableAutoStreamCopy: false
|
||||
}));
|
||||
|
||||
if (isStatic) webmVideoUrl += seekParam;
|
||||
|
||||
var hlsVideoUrl;
|
||||
|
||||
if (item.RunTimeTicks) {
|
||||
hlsVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/master.m3u8', $.extend({}, baseParams, {
|
||||
timeStampOffsetMs: 0,
|
||||
var hlsVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/master.m3u8', $.extend({}, baseParams, {
|
||||
maxWidth: m3U8Quality.maxWidth,
|
||||
videoBitrate: m3U8Quality.videoBitrate,
|
||||
audioBitrate: m3U8Quality.audioBitrate,
|
||||
|
@ -1025,19 +1019,6 @@
|
|||
|
||||
})) + seekParam;
|
||||
|
||||
} else {
|
||||
hlsVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.m3u8', $.extend({}, baseParams, {
|
||||
timeStampOffsetMs: 0,
|
||||
maxWidth: m3U8Quality.maxWidth,
|
||||
videoBitrate: m3U8Quality.videoBitrate,
|
||||
audioBitrate: m3U8Quality.audioBitrate,
|
||||
VideoCodec: m3U8Quality.videoCodec,
|
||||
AudioCodec: m3U8Quality.audioCodec,
|
||||
profile: 'baseline',
|
||||
level: '3'
|
||||
})) + seekParam;
|
||||
}
|
||||
|
||||
//======================================================================================>
|
||||
|
||||
// Create video player
|
||||
|
@ -1199,9 +1180,7 @@
|
|||
|
||||
}).on("error.mediaplayerevent", function () {
|
||||
|
||||
self.clearPauseStop();
|
||||
|
||||
self.resetEnhancements();
|
||||
self.stop();
|
||||
|
||||
var errorCode = this.error ? this.error.code : '';
|
||||
console.log('Html5 Video error code: ' + errorCode);
|
||||
|
@ -1212,11 +1191,16 @@
|
|||
errorMsg += " Please ensure there is an open tuner availalble.";
|
||||
}
|
||||
|
||||
if (errorCode) {
|
||||
errorMsg += " Error code: " + errorCode;
|
||||
}
|
||||
|
||||
Dashboard.alert({
|
||||
title: 'Video Error',
|
||||
message: errorMsg
|
||||
});
|
||||
|
||||
|
||||
}).on("click.mediaplayerevent", function (e) {
|
||||
|
||||
if (this.paused) {
|
||||
|
|
|
@ -879,9 +879,9 @@
|
|||
|
||||
var elem = self.currentMediaElement;
|
||||
|
||||
elem.pause();
|
||||
if (elem) {
|
||||
|
||||
var isVideo = self.currentItem.MediaType == "Video";
|
||||
elem.pause();
|
||||
|
||||
$(elem).off("ended.playnext").one("ended", function () {
|
||||
|
||||
|
@ -898,7 +898,13 @@
|
|||
|
||||
}).trigger("ended");
|
||||
|
||||
if (isVideo) {
|
||||
} else {
|
||||
self.currentMediaElement = null;
|
||||
self.currentItem = null;
|
||||
self.currentMediaSource = null;
|
||||
}
|
||||
|
||||
if (self.currentItem && self.currentItem.MediaType == "Video") {
|
||||
if (self.isFullScreen()) {
|
||||
self.exitFullScreen();
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
{},
|
||||
{ name: 'Series', sortField: 'SeriesSortName,SortName' },
|
||||
{ name: 'Season', sortField: 'SortName' },
|
||||
{ name: 'Season Number', sortField: 'IndexNumber' },
|
||||
{ name: 'Date Added', sortField: 'DateCreated,SortName' }
|
||||
];
|
||||
}
|
||||
|
@ -260,6 +261,7 @@
|
|||
html += item.ParentIndexNumber == null ? '' : item.ParentIndexNumber;
|
||||
break;
|
||||
}
|
||||
case 'Season Number':
|
||||
case 'Track':
|
||||
{
|
||||
html += item.IndexNumber == null ? '' : item.IndexNumber;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue