aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Dto/DtoService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Dto/DtoService.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs135
1 files changed, 14 insertions, 121 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index ce616ef03..daa107e3e 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;
- }
-
- /// <summary>
- /// Converts a BaseItem to a BaseItemInfo
- /// </summary>
- /// <param name="item">The item.</param>
- /// <param name="mediaSourceId">The media version identifier.</param>
- /// <param name="nowPlayingRuntimeTicks">The now playing runtime ticks.</param>
- /// <returns>BaseItemInfo.</returns>
- /// <exception cref="System.ArgumentNullException">item</exception>
- 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;
- }
-
/// <summary>
/// Gets client-side Id of a server-side BaseItem
/// </summary>
@@ -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;
}