From c60103df64104459883f1244363cc9cd39187545 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 6 Apr 2014 13:53:23 -0400 Subject: chromecast updates --- .../Dto/DtoService.cs | 135 +++------------------ 1 file changed, 14 insertions(+), 121 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Dto') diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index ce616ef03a..daa107e3ee 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -245,127 +245,6 @@ namespace MediaBrowser.Server.Implementations.Dto return dto; } - public SessionInfoDto GetSessionInfoDto(SessionInfo session) - { - var dto = new SessionInfoDto - { - Client = session.Client, - DeviceId = session.DeviceId, - DeviceName = session.DeviceName, - Id = session.Id.ToString("N"), - LastActivityDate = session.LastActivityDate, - NowPlayingPositionTicks = session.NowPlayingPositionTicks, - SupportsRemoteControl = session.SupportsRemoteControl, - IsPaused = session.IsPaused, - IsMuted = session.IsMuted, - NowViewingContext = session.NowViewingContext, - NowViewingItemId = session.NowViewingItemId, - NowViewingItemName = session.NowViewingItemName, - NowViewingItemType = session.NowViewingItemType, - ApplicationVersion = session.ApplicationVersion, - CanSeek = session.CanSeek, - QueueableMediaTypes = session.QueueableMediaTypes, - PlayableMediaTypes = session.PlayableMediaTypes, - RemoteEndPoint = session.RemoteEndPoint, - AdditionalUsers = session.AdditionalUsers, - SupportedCommands = session.SupportedCommands - }; - - if (session.NowPlayingItem != null) - { - dto.NowPlayingItem = GetNowPlayingInfo(session.NowPlayingItem, session.NowPlayingMediaSourceId, session.NowPlayingRunTimeTicks); - } - - if (session.UserId.HasValue) - { - dto.UserId = session.UserId.Value.ToString("N"); - } - dto.UserName = session.UserName; - - return dto; - } - - /// - /// Converts a BaseItem to a BaseItemInfo - /// - /// The item. - /// The media version identifier. - /// The now playing runtime ticks. - /// BaseItemInfo. - /// item - private BaseItemInfo GetNowPlayingInfo(BaseItem item, string mediaSourceId, long? nowPlayingRuntimeTicks) - { - if (item == null) - { - throw new ArgumentNullException("item"); - } - - var info = new BaseItemInfo - { - Id = GetDtoId(item), - Name = item.Name, - MediaType = item.MediaType, - Type = item.GetClientTypeName(), - RunTimeTicks = nowPlayingRuntimeTicks, - MediaSourceId = mediaSourceId - }; - - info.PrimaryImageTag = GetImageCacheTag(item, ImageType.Primary); - - var backropItem = item.HasImage(ImageType.Backdrop) ? item : null; - - var thumbItem = item.HasImage(ImageType.Thumb) ? item : null; - - if (thumbItem == null) - { - var episode = item as Episode; - - if (episode != null) - { - var series = episode.Series; - - if (series != null && series.HasImage(ImageType.Thumb)) - { - thumbItem = series; - } - } - } - - if (backropItem == null) - { - var episode = item as Episode; - - if (episode != null) - { - var series = episode.Series; - - if (series != null && series.HasImage(ImageType.Backdrop)) - { - backropItem = series; - } - } - } - - if (thumbItem == null) - { - thumbItem = item.Parents.FirstOrDefault(i => i.HasImage(ImageType.Thumb)); - } - - if (thumbItem != null) - { - info.ThumbImageTag = GetImageCacheTag(thumbItem, ImageType.Thumb); - info.ThumbItemId = GetDtoId(thumbItem); - } - - if (thumbItem != null) - { - info.BackdropImageTag = GetImageCacheTag(backropItem, ImageType.Backdrop); - info.BackdropItemId = GetDtoId(backropItem); - } - - return info; - } - /// /// Gets client-side Id of a server-side BaseItem /// @@ -1367,6 +1246,13 @@ namespace MediaBrowser.Server.Implementations.Dto } } + var bitrate = info.MediaStreams.Where(m => m.Type == MediaStreamType.Audio || m.Type == MediaStreamType.Video).Select(m => m.BitRate ?? 0).Sum(); + + if (bitrate > 0) + { + info.Bitrate = bitrate; + } + return info; } @@ -1388,6 +1274,13 @@ namespace MediaBrowser.Server.Implementations.Dto info.Container = Path.GetExtension(i.Path).TrimStart('.'); } + var bitrate = info.MediaStreams.Where(m => m.Type == MediaStreamType.Audio).Select(m => m.BitRate ?? 0).Sum(); + + if (bitrate > 0) + { + info.Bitrate = bitrate; + } + return info; } -- cgit v1.2.3