mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 05:47:14 -04:00
fixes #860 - Add options to display channels directly within user views
This commit is contained in:
parent
8ae316a2f3
commit
c273f5fd9c
@ -335,8 +335,9 @@ namespace MediaBrowser.Api.Playback.Hls
|
|||||||
var newBitrate = totalBitrate - variation;
|
var newBitrate = totalBitrate - variation;
|
||||||
AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate);
|
AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate);
|
||||||
|
|
||||||
newBitrate = totalBitrate - (2 * variation);
|
variation *= 2;
|
||||||
AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - (2 * variation)).ToString(UsCulture)), newBitrate);
|
newBitrate = totalBitrate - variation;
|
||||||
|
AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate);
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.ToString();
|
return builder.ToString();
|
||||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
|
|
||||||
namespace MediaBrowser.Controller.Channels
|
namespace MediaBrowser.Controller.Channels
|
||||||
{
|
{
|
||||||
public class Channel : BaseItem
|
public class Channel : Folder
|
||||||
{
|
{
|
||||||
public string OriginalChannelName { get; set; }
|
public string OriginalChannelName { get; set; }
|
||||||
|
|
||||||
|
@ -65,6 +65,8 @@ namespace MediaBrowser.Model.Configuration
|
|||||||
public string[] BlockedMediaFolders { get; set; }
|
public string[] BlockedMediaFolders { get; set; }
|
||||||
public string[] BlockedChannels { get; set; }
|
public string[] BlockedChannels { get; set; }
|
||||||
|
|
||||||
|
public string[] DisplayChannelsWithinViews { get; set; }
|
||||||
|
|
||||||
public string[] ExcludeFoldersFromGrouping { get; set; }
|
public string[] ExcludeFoldersFromGrouping { get; set; }
|
||||||
|
|
||||||
public UnratedItem[] BlockUnratedItems { get; set; }
|
public UnratedItem[] BlockUnratedItems { get; set; }
|
||||||
@ -85,6 +87,7 @@ namespace MediaBrowser.Model.Configuration
|
|||||||
EnableLiveTvAccess = true;
|
EnableLiveTvAccess = true;
|
||||||
|
|
||||||
BlockedMediaFolders = new string[] { };
|
BlockedMediaFolders = new string[] { };
|
||||||
|
DisplayChannelsWithinViews = new string[] { };
|
||||||
BlockedChannels = new string[] { };
|
BlockedChannels = new string[] { };
|
||||||
BlockUnratedItems = new UnratedItem[] { };
|
BlockUnratedItems = new UnratedItem[] { };
|
||||||
|
|
||||||
|
@ -90,12 +90,19 @@ namespace MediaBrowser.Server.Implementations.Library
|
|||||||
{
|
{
|
||||||
var channelResult = await _channelManager.GetChannels(new ChannelQuery
|
var channelResult = await _channelManager.GetChannels(new ChannelQuery
|
||||||
{
|
{
|
||||||
Limit = 0,
|
|
||||||
UserId = query.UserId
|
UserId = query.UserId
|
||||||
|
|
||||||
}, cancellationToken).ConfigureAwait(false);
|
}, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
if (channelResult.TotalRecordCount > 0)
|
var channels = channelResult.Items;
|
||||||
|
|
||||||
|
var embeddedChannels = channels
|
||||||
|
.Where(i => user.Configuration.DisplayChannelsWithinViews.Contains(i.Id))
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
list.AddRange(embeddedChannels.Select(i => _channelManager.GetChannel(i.Id)));
|
||||||
|
|
||||||
|
if (channels.Length > embeddedChannels.Count)
|
||||||
{
|
{
|
||||||
list.Add(await _channelManager.GetInternalChannelFolder(query.UserId, cancellationToken).ConfigureAwait(false));
|
list.Add(await _channelManager.GetInternalChannelFolder(query.UserId, cancellationToken).ConfigureAwait(false));
|
||||||
}
|
}
|
||||||
|
@ -846,5 +846,7 @@
|
|||||||
"LabelXbmcMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Xbmc guidelines.",
|
"LabelXbmcMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Xbmc guidelines.",
|
||||||
"LabelXbmcMetadataEnablePathSubstitution": "Enable path substitution",
|
"LabelXbmcMetadataEnablePathSubstitution": "Enable path substitution",
|
||||||
"LabelXbmcMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.",
|
"LabelXbmcMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.",
|
||||||
"LabelXbmcMetadataEnablePathSubstitutionHelp2": "See path substitution."
|
"LabelXbmcMetadataEnablePathSubstitutionHelp2": "See path substitution.",
|
||||||
|
"LabelGroupChannelsIntoViews": "Display the following channels within my views:",
|
||||||
|
"LabelGroupChannelsIntoViewsHelp": "If enabled, these channels will be displayed directly alongside other views. If disabled, they'll be displayed within a separate Channels view."
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user