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

update live stream management

This commit is contained in:
Luke Pulverenti 2016-10-07 11:08:13 -04:00
parent 170b720d0b
commit 04dda98be4
17 changed files with 159 additions and 94 deletions

View file

@ -424,6 +424,27 @@
hls.on(Hls.Events.MANIFEST_PARSED, function () {
elem.play();
});
hls.on(Hls.Events.ERROR, function (event, data) {
if (data.fatal) {
switch (data.type) {
case Hls.ErrorTypes.NETWORK_ERROR:
// try to recover network error
console.log("fatal network error encountered, try to recover");
hls.startLoad();
break;
case Hls.ErrorTypes.MEDIA_ERROR:
console.log("fatal media error encountered, try to recover");
hls.recoverMediaError();
break;
default:
// cannot recover
hls.destroy();
break;
}
}
});
hlsPlayer = hls;
});

View file

@ -1,4 +1,4 @@
define(['cardBuilder', 'emby-itemscontainer'], function (cardBuilder) {
define(['cardBuilder', 'apphost', 'emby-itemscontainer'], function (cardBuilder, appHost) {
return function (view, params) {
@ -56,6 +56,8 @@
page.querySelector('.listTopPaging').innerHTML = pagingHtml;
var supportsImageAnalysis = appHost.supports('imageanalysis') && (params.type == 'Recordings' || params.type == 'RecordingSeries');
html = cardBuilder.getCardsHtml({
items: result.Items,
shape: query.IsMovie || params.type == 'RecordingSeries' ? 'portrait' : "backdrop",
@ -71,9 +73,11 @@
showAirTime: params.type != 'Recordings' && params.type != 'RecordingSeries',
showAirDateTime: params.type != 'Recordings' && params.type != 'RecordingSeries',
showChannelName: params.type != 'Recordings' && params.type != 'RecordingSeries',
overlayMoreButton: true,
overlayMoreButton: !supportsImageAnalysis,
showYear: query.IsMovie && params.type == 'Recordings',
coverImage: true
coverImage: true,
cardLayout: supportsImageAnalysis,
vibrant: supportsImageAnalysis
});
var elem = page.querySelector('.itemsContainer');

View file

@ -36,7 +36,6 @@
showTitle: true,
cardLayout: true,
vibrant: true,
cardFooterAside: 'none',
preferThumb: true,
coverImage: true,
overlayText: false,

View file

@ -1,4 +1,4 @@
define(['jQuery', 'emby-checkbox'], function ($) {
define(['jQuery', 'emby-checkbox', 'fnchecked'], function ($) {
var notificationsConfigurationKey = "notifications";
@ -153,6 +153,7 @@
ApiClient.updateNamedConfiguration(notificationsConfigurationKey, notificationOptions).then(function (r) {
Dashboard.processServerConfigurationUpdateResult();
Dashboard.navigate('notificationsettings.html');
});

View file

@ -1,4 +1,4 @@
define(['libraryBrowser', 'cardBuilder'], function (libraryBrowser, cardBuilder) {
define(['libraryBrowser', 'cardBuilder', 'apphost'], function (libraryBrowser, cardBuilder, appHost) {
// The base query options
var data = {};
@ -43,15 +43,20 @@
promise.then(function (result) {
var elem = context.querySelector('#items');
var supportsImageAnalysis = appHost.supports('imageanalysis');
cardBuilder.buildCards(result.Items, {
itemsContainer: elem,
shape: "backdrop",
preferThumb: true,
showTitle: false,
showTitle: supportsImageAnalysis,
scalable: true,
showItemCounts: true,
centerText: true,
overlayMoreButton: true
centerText: !supportsImageAnalysis,
overlayMoreButton: !supportsImageAnalysis,
cardLayout: supportsImageAnalysis,
vibrant: supportsImageAnalysis
});
Dashboard.hideLoadingMsg();