diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-05-17 17:23:48 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-05-17 17:23:48 -0400 |
| commit | ca5989cb17b324ee481b92ddf3cd1ea47af85cbe (patch) | |
| tree | 7ec185780257329779df94d7ec915c61bdc99ee8 | |
| parent | 715119b525a026f0f60c9dcaae1d4899cbc6bcda (diff) | |
fix channel query by category
4 files changed, 28 insertions, 1 deletions
diff --git a/MediaBrowser.Model/Dto/BaseItemDto.cs b/MediaBrowser.Model/Dto/BaseItemDto.cs index c469d97d6..9f8826184 100644 --- a/MediaBrowser.Model/Dto/BaseItemDto.cs +++ b/MediaBrowser.Model/Dto/BaseItemDto.cs @@ -134,6 +134,12 @@ namespace MediaBrowser.Model.Dto public string CustomRating { get; set; } /// <summary> + /// Gets or sets the channel identifier. + /// </summary> + /// <value>The channel identifier.</value> + public string ChannelId { get; set; } + + /// <summary> /// Gets or sets the overview. /// </summary> /// <value>The overview.</value> diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs index b3984bb6c..cfa642add 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs @@ -385,6 +385,11 @@ namespace MediaBrowser.Server.Implementations.Channels private async Task<BaseItem> GetChannelItemEntity(ChannelItemInfo info, string internalChannnelId, CancellationToken cancellationToken) { + if (string.IsNullOrEmpty(internalChannnelId)) + { + throw new ArgumentNullException("internalChannnelId"); + } + BaseItem item; Guid id; var isNew = false; diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index bf77f1869..ceb39da03 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; @@ -1140,6 +1141,13 @@ namespace MediaBrowser.Server.Implementations.Dto { dto.MediaSources = GetMediaSources(tvChannel); } + + var channelItem = item as IChannelItem; + + if (channelItem != null) + { + dto.ChannelId = channelItem.ChannelId; + } } public List<MediaSourceInfo> GetMediaSources(BaseItem item) diff --git a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs index 6f4dd0a72..05eef611f 100644 --- a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs +++ b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs @@ -14,7 +14,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Session { - public class WebSocketController : ISessionController + public class WebSocketController : ISessionController, IDisposable { public SessionInfo Session { get; private set; } public IReadOnlyList<IWebSocketConnection> Sockets { get; private set; } @@ -244,5 +244,13 @@ namespace MediaBrowser.Server.Implementations.Session return Task.WhenAll(tasks); } + + public void Dispose() + { + foreach (var socket in Sockets.ToList()) + { + socket.Closed -= connection_Closed; + } + } } } |
