1
0
Fork 0
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:
Luke Pulverenti 2014-07-01 17:13:32 -04:00
parent 83ada41f7e
commit 683e6f472c
5 changed files with 45 additions and 53 deletions

View file

@ -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) {

View file

@ -1781,7 +1781,7 @@
html += '&nbsp;&nbsp;/&nbsp;&nbsp;';
}
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');

View file

@ -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) {

View file

@ -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();
}

View file

@ -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;