diff --git a/MediaBrowser.Api/DisplayPreferencesService.cs b/MediaBrowser.Api/DisplayPreferencesService.cs index f22dc9e39e..4060b42b49 100644 --- a/MediaBrowser.Api/DisplayPreferencesService.cs +++ b/MediaBrowser.Api/DisplayPreferencesService.cs @@ -12,8 +12,7 @@ namespace MediaBrowser.Api /// /// Class UpdateDisplayPreferences /// - [Route("/DisplayPreferences/{DisplayPreferencesId}", "POST")] - [Api(("Updates a user's display preferences for an item"))] + [Route("/DisplayPreferences/{DisplayPreferencesId}", "POST", Summary = "Updates a user's display preferences for an item")] public class UpdateDisplayPreferences : DisplayPreferences, IReturnVoid { /// @@ -30,8 +29,7 @@ namespace MediaBrowser.Api public string Client { get; set; } } - [Route("/DisplayPreferences/{Id}", "GET")] - [Api(("Gets a user's display preferences for an item"))] + [Route("/DisplayPreferences/{Id}", "GET", Summary = "Gets a user's display preferences for an item")] public class GetDisplayPreferences : IReturn { /// diff --git a/MediaBrowser.Api/EnvironmentService.cs b/MediaBrowser.Api/EnvironmentService.cs index cb104072bd..56f71fc00e 100644 --- a/MediaBrowser.Api/EnvironmentService.cs +++ b/MediaBrowser.Api/EnvironmentService.cs @@ -13,8 +13,7 @@ namespace MediaBrowser.Api /// /// Class GetDirectoryContents /// - [Route("/Environment/DirectoryContents", "GET")] - [Api(Description = "Gets the contents of a given directory in the file system")] + [Route("/Environment/DirectoryContents", "GET", Summary = "Gets the contents of a given directory in the file system")] public class GetDirectoryContents : IReturn> { /// @@ -46,8 +45,7 @@ namespace MediaBrowser.Api public bool IncludeHidden { get; set; } } - [Route("/Environment/NetworkShares", "GET")] - [Api(Description = "Gets shares from a network device")] + [Route("/Environment/NetworkShares", "GET", Summary = "Gets shares from a network device")] public class GetNetworkShares : IReturn> { /// @@ -61,8 +59,7 @@ namespace MediaBrowser.Api /// /// Class GetDrives /// - [Route("/Environment/Drives", "GET")] - [Api(Description = "Gets available drives from the server's file system")] + [Route("/Environment/Drives", "GET", Summary = "Gets available drives from the server's file system")] public class GetDrives : IReturn> { } @@ -70,14 +67,12 @@ namespace MediaBrowser.Api /// /// Class GetNetworkComputers /// - [Route("/Environment/NetworkDevices", "GET")] - [Api(Description = "Gets a list of devices on the network")] + [Route("/Environment/NetworkDevices", "GET", Summary = "Gets a list of devices on the network")] public class GetNetworkDevices : IReturn> { } - [Route("/Environment/ParentPath", "GET")] - [Api(Description = "Gets the parent path of a given path")] + [Route("/Environment/ParentPath", "GET", Summary = "Gets the parent path of a given path")] public class GetParentPath : IReturn { /// diff --git a/MediaBrowser.Api/GamesService.cs b/MediaBrowser.Api/GamesService.cs index e371791f81..ff2771ce1b 100644 --- a/MediaBrowser.Api/GamesService.cs +++ b/MediaBrowser.Api/GamesService.cs @@ -1,5 +1,4 @@ -using System.Globalization; -using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; @@ -7,6 +6,7 @@ using MediaBrowser.Model.Dto; using ServiceStack; using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; @@ -15,8 +15,7 @@ namespace MediaBrowser.Api /// /// Class GetSimilarGames /// - [Route("/Games/{Id}/Similar", "GET")] - [Api(Description = "Finds games similar to a given game.")] + [Route("/Games/{Id}/Similar", "GET", Summary = "Finds games similar to a given game.")] public class GetSimilarGames : BaseGetSimilarItemsFromItem { } @@ -24,8 +23,7 @@ namespace MediaBrowser.Api /// /// Class GetGameSystemSummaries /// - [Route("/Games/SystemSummaries", "GET")] - [Api(Description = "Finds games similar to a given game.")] + [Route("/Games/SystemSummaries", "GET", Summary = "Finds games similar to a given game.")] public class GetGameSystemSummaries : IReturn> { /// @@ -39,8 +37,7 @@ namespace MediaBrowser.Api /// /// Class GetGameSystemSummaries /// - [Route("/Games/PlayerIndex", "GET")] - [Api(Description = "Gets an index of players (1-x) and the number of games listed under each")] + [Route("/Games/PlayerIndex", "GET", Summary = "Gets an index of players (1-x) and the number of games listed under each")] public class GetPlayerIndex : IReturn> { /// @@ -117,7 +114,7 @@ namespace MediaBrowser.Api } private static readonly CultureInfo UsCulture = new CultureInfo("en-US"); - + public object Get(GetPlayerIndex request) { var games = GetAllLibraryItems(request.UserId, _userManager, _libraryManager) diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs index ca206c0125..55b311f867 100644 --- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs +++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs @@ -17,23 +17,22 @@ namespace MediaBrowser.Api.Playback.Progressive /// /// Class GetAudioStream /// - [Route("/Audio/{Id}/stream.mp3", "GET")] - [Route("/Audio/{Id}/stream.wma", "GET")] - [Route("/Audio/{Id}/stream.aac", "GET")] - [Route("/Audio/{Id}/stream.flac", "GET")] - [Route("/Audio/{Id}/stream.ogg", "GET")] - [Route("/Audio/{Id}/stream.oga", "GET")] - [Route("/Audio/{Id}/stream.webm", "GET")] - [Route("/Audio/{Id}/stream", "GET")] - [Route("/Audio/{Id}/stream.mp3", "HEAD")] - [Route("/Audio/{Id}/stream.wma", "HEAD")] - [Route("/Audio/{Id}/stream.aac", "HEAD")] - [Route("/Audio/{Id}/stream.flac", "HEAD")] - [Route("/Audio/{Id}/stream.ogg", "HEAD")] - [Route("/Audio/{Id}/stream.oga", "HEAD")] - [Route("/Audio/{Id}/stream.webm", "HEAD")] - [Route("/Audio/{Id}/stream", "HEAD")] - [Api(Description = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.mp3", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.wma", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.aac", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.flac", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.ogg", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.oga", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.webm", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream", "GET", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.mp3", "HEAD", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.wma", "HEAD", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.aac", "HEAD", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.flac", "HEAD", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.ogg", "HEAD", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.oga", "HEAD", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream.webm", "HEAD", Summary = "Gets an audio stream")] + [Route("/Audio/{Id}/stream", "HEAD", Summary = "Gets an audio stream")] public class GetAudioStream : StreamRequest { @@ -44,7 +43,8 @@ namespace MediaBrowser.Api.Playback.Progressive /// public class AudioService : BaseProgressiveStreamingService { - public AudioService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService, IFileSystem fileSystem, IItemRepository itemRepository, ILiveTvManager liveTvManager, IEncodingManager encodingManager, IDlnaManager dlnaManager, IHttpClient httpClient, IImageProcessor imageProcessor) : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, dtoService, fileSystem, itemRepository, liveTvManager, encodingManager, dlnaManager, httpClient, imageProcessor) + public AudioService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService, IFileSystem fileSystem, IItemRepository itemRepository, ILiveTvManager liveTvManager, IEncodingManager encodingManager, IDlnaManager dlnaManager, IHttpClient httpClient, IImageProcessor imageProcessor) + : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, dtoService, fileSystem, itemRepository, liveTvManager, encodingManager, dlnaManager, httpClient, imageProcessor) { } diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index a787684bbf..c5d0a621d4 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -20,9 +20,8 @@ namespace MediaBrowser.Api.UserLibrary /// /// Class GetItems /// - [Route("/Items", "GET")] - [Route("/Users/{UserId}/Items", "GET")] - [Api(Description = "Gets items based on a query.")] + [Route("/Items", "GET", Summary = "Gets items based on a query.")] + [Route("/Users/{UserId}/Items", "GET", Summary = "Gets items based on a query.")] public class GetItems : BaseItemsRequest, IReturn { /// diff --git a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj index 04b8865c1d..f6f800f4af 100644 --- a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj +++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj @@ -102,7 +102,6 @@ - diff --git a/MediaBrowser.Controller/Dlna/CodecProfile.cs b/MediaBrowser.Controller/Dlna/CodecProfile.cs index 75f80ed3b1..e2eb60d9a1 100644 --- a/MediaBrowser.Controller/Dlna/CodecProfile.cs +++ b/MediaBrowser.Controller/Dlna/CodecProfile.cs @@ -35,9 +35,9 @@ namespace MediaBrowser.Controller.Dlna public enum CodecType { - VideoCodec = 0, - VideoAudioCodec = 1, - AudioCodec = 2 + Video = 0, + VideoAudio = 1, + Audio = 2 } public class ProfileCondition diff --git a/MediaBrowser.Controller/Dlna/DeviceProfile.cs b/MediaBrowser.Controller/Dlna/DeviceProfile.cs index 5950698fb7..c1fc713e4a 100644 --- a/MediaBrowser.Controller/Dlna/DeviceProfile.cs +++ b/MediaBrowser.Controller/Dlna/DeviceProfile.cs @@ -3,7 +3,6 @@ using MediaBrowser.Model.Entities; using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.Serialization; using System.Xml.Serialization; namespace MediaBrowser.Controller.Dlna diff --git a/MediaBrowser.Controller/Dlna/TranscodingProfile.cs b/MediaBrowser.Controller/Dlna/TranscodingProfile.cs index 289333aa77..707f0c5731 100644 --- a/MediaBrowser.Controller/Dlna/TranscodingProfile.cs +++ b/MediaBrowser.Controller/Dlna/TranscodingProfile.cs @@ -18,6 +18,9 @@ namespace MediaBrowser.Controller.Dlna [XmlAttribute("audioCodec")] public string AudioCodec { get; set; } + [XmlAttribute("protocol")] + public string Protocol { get; set; } + [XmlAttribute("estimateContentLength")] public bool EstimateContentLength { get; set; } diff --git a/MediaBrowser.Controller/Session/ISessionController.cs b/MediaBrowser.Controller/Session/ISessionController.cs index 21206af757..02cc875bd0 100644 --- a/MediaBrowser.Controller/Session/ISessionController.cs +++ b/MediaBrowser.Controller/Session/ISessionController.cs @@ -59,6 +59,14 @@ namespace MediaBrowser.Controller.Session /// Task. Task SendPlaystateCommand(PlaystateRequest command, CancellationToken cancellationToken); + /// + /// Sends the generic command. + /// + /// The command. + /// The cancellation token. + /// Task. + Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken); + /// /// Sends the library update info. /// diff --git a/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs b/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs index 1327da1480..80235740fb 100644 --- a/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs +++ b/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs @@ -40,7 +40,7 @@ namespace MediaBrowser.Dlna.PlayTo /// The stream URL. /// The streams. /// System.String. - public static string Build(BaseItem dto, string userId, string serverAddress, string streamUrl, IEnumerable streams) + public static string Build(BaseItem dto, string userId, string serverAddress, string streamUrl, IEnumerable streams, bool includeImageRes) { string response = string.Format(DIDL_START, dto.Id, userId); response += string.Format(DIDL_TITLE, dto.Name.Replace("&", "and")); @@ -51,7 +51,7 @@ namespace MediaBrowser.Dlna.PlayTo var imageUrl = GetImageUrl(dto, serverAddress); - if (!string.IsNullOrEmpty(imageUrl)) + if (!string.IsNullOrWhiteSpace(imageUrl)) { response += string.Format(DIDL_IMAGE, imageUrl); } @@ -65,7 +65,7 @@ namespace MediaBrowser.Dlna.PlayTo response += string.Format(DESCRIPTION, UNKNOWN); response += GetVideoDIDL(dto, streamUrl, streams); - if (!string.IsNullOrEmpty(imageUrl)) + if (includeImageRes && !string.IsNullOrWhiteSpace(imageUrl)) { response += string.Format(DIDL_IMAGE_RES, imageUrl); } @@ -84,7 +84,7 @@ namespace MediaBrowser.Dlna.PlayTo response += GetAudioDIDL(dto, streamUrl, streams); - if (!string.IsNullOrEmpty(imageUrl)) + if (includeImageRes && !string.IsNullOrWhiteSpace(imageUrl)) { response += string.Format(DIDL_ALBUMIMAGE_RES, imageUrl); } diff --git a/MediaBrowser.Dlna/PlayTo/DlnaController.cs b/MediaBrowser.Dlna/PlayTo/DlnaController.cs index e4bd8819da..0c9f292ad8 100644 --- a/MediaBrowser.Dlna/PlayTo/DlnaController.cs +++ b/MediaBrowser.Dlna/PlayTo/DlnaController.cs @@ -435,7 +435,7 @@ namespace MediaBrowser.Dlna.PlayTo playlistItem.StreamUrl = StreamHelper.GetVideoUrl(_device.Properties, playlistItem, streams, serverAddress); } - playlistItem.Didl = DidlBuilder.Build(item, _session.UserId.ToString(), serverAddress, playlistItem.StreamUrl, streams); + playlistItem.Didl = DidlBuilder.Build(item, _session.UserId.ToString(), serverAddress, playlistItem.StreamUrl, streams, profile.EnableAlbumArtInDidl); return playlistItem; } @@ -619,5 +619,10 @@ namespace MediaBrowser.Dlna.PlayTo _logger.Log(LogSeverity.Debug, "Controller disposed"); } } + + public Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } } } diff --git a/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs b/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs index f79dc1e5fc..c14a851cab 100644 --- a/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs +++ b/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs @@ -32,7 +32,7 @@ namespace MediaBrowser.Dlna.PlayTo var audioCodec = audioStream == null ? null : audioStream.Codec; // Make sure audio codec profiles are satisfied - if (!string.IsNullOrEmpty(audioCodec) && profile.CodecProfiles.Where(i => i.Type == CodecType.AudioCodec && i.ContainsCodec(audioCodec)) + if (!string.IsNullOrEmpty(audioCodec) && profile.CodecProfiles.Where(i => i.Type == CodecType.Audio && i.ContainsCodec(audioCodec)) .All(i => AreConditionsSatisfied(i.Conditions, item.Path, null, audioStream))) { playlistItem.Transcode = false; @@ -53,7 +53,7 @@ namespace MediaBrowser.Dlna.PlayTo playlistItem.AudioCodec = transcodingProfile.AudioCodec; var audioTranscodingConditions = profile.CodecProfiles - .Where(i => i.Type == CodecType.AudioCodec && i.ContainsCodec(transcodingProfile.AudioCodec)) + .Where(i => i.Type == CodecType.Audio && i.ContainsCodec(transcodingProfile.AudioCodec)) .Take(1) .SelectMany(i => i.Conditions); @@ -114,13 +114,13 @@ namespace MediaBrowser.Dlna.PlayTo var videoCodec = videoStream == null ? null : videoStream.Codec; // Make sure video codec profiles are satisfied - if (!string.IsNullOrEmpty(videoCodec) && profile.CodecProfiles.Where(i => i.Type == CodecType.VideoCodec && i.ContainsCodec(videoCodec)) + if (!string.IsNullOrEmpty(videoCodec) && profile.CodecProfiles.Where(i => i.Type == CodecType.Video && i.ContainsCodec(videoCodec)) .All(i => AreConditionsSatisfied(i.Conditions, item.Path, videoStream, audioStream))) { var audioCodec = audioStream == null ? null : audioStream.Codec; // Make sure audio codec profiles are satisfied - if (string.IsNullOrEmpty(audioCodec) || profile.CodecProfiles.Where(i => i.Type == CodecType.VideoAudioCodec && i.ContainsCodec(audioCodec)) + if (string.IsNullOrEmpty(audioCodec) || profile.CodecProfiles.Where(i => i.Type == CodecType.VideoAudio && i.ContainsCodec(audioCodec)) .All(i => AreConditionsSatisfied(i.Conditions, item.Path, videoStream, audioStream))) { playlistItem.Transcode = false; @@ -143,14 +143,14 @@ namespace MediaBrowser.Dlna.PlayTo playlistItem.VideoCodec = transcodingProfile.VideoCodec; var videoTranscodingConditions = profile.CodecProfiles - .Where(i => i.Type == CodecType.VideoCodec && i.ContainsCodec(transcodingProfile.VideoCodec)) + .Where(i => i.Type == CodecType.Video && i.ContainsCodec(transcodingProfile.VideoCodec)) .Take(1) .SelectMany(i => i.Conditions); ApplyTranscodingConditions(playlistItem, videoTranscodingConditions); var audioTranscodingConditions = profile.CodecProfiles - .Where(i => i.Type == CodecType.VideoAudioCodec && i.ContainsCodec(transcodingProfile.AudioCodec)) + .Where(i => i.Type == CodecType.VideoAudio && i.ContainsCodec(transcodingProfile.AudioCodec)) .Take(1) .SelectMany(i => i.Conditions); diff --git a/MediaBrowser.Dlna/Profiles/LgTvProfile.cs b/MediaBrowser.Dlna/Profiles/LgTvProfile.cs index 7ca8069dac..ccf36e8447 100644 --- a/MediaBrowser.Dlna/Profiles/LgTvProfile.cs +++ b/MediaBrowser.Dlna/Profiles/LgTvProfile.cs @@ -113,7 +113,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "mpeg4", Conditions = new[] @@ -141,7 +141,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new[] @@ -175,7 +175,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3,aac,mp3", Conditions = new[] diff --git a/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs b/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs index 64747776c6..ced9a7c612 100644 --- a/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs +++ b/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs @@ -157,7 +157,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Conditions = new[] { diff --git a/MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs b/MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs index 259d8e9ffb..122bde875f 100644 --- a/MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs +++ b/MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs @@ -145,7 +145,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "mpeg2video", Conditions = new[] @@ -179,7 +179,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "mpeg4", Conditions = new[] @@ -213,7 +213,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new[] @@ -253,7 +253,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "wmv2,wmv3,vc1", Conditions = new[] @@ -287,7 +287,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3,wmav2,dca,aac,mp3", Conditions = new[] diff --git a/MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2013Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2013Profile.cs index 04309d55f7..b64d4f6caf 100644 --- a/MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2013Profile.cs +++ b/MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2013Profile.cs @@ -113,7 +113,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new [] { @@ -141,7 +141,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3", Conditions = new [] { diff --git a/MediaBrowser.Dlna/Profiles/SonyBlurayPlayerProfile.cs b/MediaBrowser.Dlna/Profiles/SonyBlurayPlayerProfile.cs index d9dfc1caf8..c5025edbb6 100644 --- a/MediaBrowser.Dlna/Profiles/SonyBlurayPlayerProfile.cs +++ b/MediaBrowser.Dlna/Profiles/SonyBlurayPlayerProfile.cs @@ -109,7 +109,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new [] { @@ -151,7 +151,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3", Conditions = new [] { @@ -167,7 +167,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "aac", Conditions = new [] { diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs index cb91de4a09..8f29ad76e3 100644 --- a/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs +++ b/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs @@ -168,7 +168,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Conditions = new [] { new ProfileCondition @@ -188,7 +188,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new [] { @@ -215,7 +215,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "mpeg2video", Conditions = new [] { @@ -236,7 +236,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3", Conditions = new [] @@ -252,7 +252,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "aac", Conditions = new [] diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs index 626a91a73c..eaf6979a6b 100644 --- a/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs +++ b/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs @@ -186,7 +186,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Conditions = new [] { new ProfileCondition @@ -206,7 +206,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new [] { @@ -233,7 +233,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "mpeg2video", Conditions = new [] { @@ -254,7 +254,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3", Conditions = new [] @@ -270,7 +270,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "aac", Conditions = new[] diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs index 82b6b6d5f9..41d057ef8a 100644 --- a/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs +++ b/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs @@ -198,7 +198,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Conditions = new[] { new ProfileCondition @@ -218,7 +218,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3", Conditions = new[] diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs index aec65e98ec..386a36ae0c 100644 --- a/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs +++ b/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs @@ -231,7 +231,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Conditions = new [] { diff --git a/MediaBrowser.Dlna/Profiles/SonyPs3Profile.cs b/MediaBrowser.Dlna/Profiles/SonyPs3Profile.cs index 7502201eac..351a13f001 100644 --- a/MediaBrowser.Dlna/Profiles/SonyPs3Profile.cs +++ b/MediaBrowser.Dlna/Profiles/SonyPs3Profile.cs @@ -85,7 +85,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new [] @@ -128,7 +128,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3", Conditions = new [] @@ -153,7 +153,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "wmapro", Conditions = new [] @@ -169,7 +169,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "aac", Conditions = new [] @@ -186,7 +186,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "aac", Conditions = new [] diff --git a/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs b/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs index af5d9b2956..f0b95d4e88 100644 --- a/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs +++ b/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs @@ -195,7 +195,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new [] @@ -223,7 +223,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "aac", Conditions = new [] diff --git a/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs b/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs index ed9edeb27a..38d08adef7 100644 --- a/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs +++ b/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs @@ -165,7 +165,7 @@ namespace MediaBrowser.Dlna.Profiles { new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "mpeg4", Conditions = new [] { @@ -200,7 +200,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "h264", Conditions = new [] { @@ -235,7 +235,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoCodec, + Type = CodecType.Video, Codec = "wmv2,wmv3,vc1", Conditions = new [] { @@ -270,7 +270,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "ac3,wmav2,wmapro", Conditions = new [] { @@ -286,7 +286,7 @@ namespace MediaBrowser.Dlna.Profiles new CodecProfile { - Type = CodecType.VideoAudioCodec, + Type = CodecType.VideoAudio, Codec = "aac", Conditions = new [] { diff --git a/MediaBrowser.Dlna/Profiles/Xml/Default.xml b/MediaBrowser.Dlna/Profiles/Xml/Default.xml index 60f22a64a9..895cb99d32 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Default.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Default.xml @@ -30,5 +30,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml b/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml index 28bb3289e2..58c5cefbc5 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml @@ -34,5 +34,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml b/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml index cc8b40430d..53781ad324 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml @@ -48,14 +48,14 @@ - + - + @@ -63,7 +63,7 @@ - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml b/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml index 477fee2dde..fc833b9186 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml @@ -34,5 +34,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml b/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml index 71e240313b..49fd05b1e0 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml @@ -54,7 +54,7 @@ - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml b/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml index 77648147f5..75c50aae36 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml @@ -52,7 +52,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -85,7 +85,7 @@ - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml index 9428122954..5bd27c7716 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml @@ -52,14 +52,14 @@ - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml index 5193045768..f5502ca14a 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml @@ -51,7 +51,7 @@ - + @@ -60,12 +60,12 @@ - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml index d240e1d348..1337b59361 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml @@ -49,31 +49,31 @@ - + - + - + - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml index 2372aa5ad9..b022c10a51 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml @@ -52,31 +52,31 @@ - + - + - + - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml index 7edf09134c..cbef70b378 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml @@ -54,13 +54,13 @@ - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml index ec624cd8ec..47db46ce11 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml @@ -59,7 +59,7 @@ - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml b/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml index eeaf2d8193..d9aa441bb4 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml @@ -48,7 +48,7 @@ - + @@ -57,23 +57,23 @@ - + - + - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml b/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml index ffa39c26d1..0f4ad54a77 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml @@ -59,14 +59,14 @@ - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml b/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml index ea25391976..1e8d8164c3 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml @@ -59,7 +59,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -75,7 +75,7 @@ - + @@ -83,12 +83,12 @@ - + - + diff --git a/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml b/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml index ef4fec99ac..f6c338b2f5 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml @@ -32,6 +32,7 @@ + diff --git a/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml b/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml index 3e6623ac48..f682e4c421 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml @@ -36,5 +36,6 @@ + \ No newline at end of file diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj index 9aefb4f1c8..6c4d9d9e29 100644 --- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj +++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj @@ -428,6 +428,9 @@ Session\BrowseRequest.cs + + Session\GenericCommand.cs + Session\MessageCommand.cs diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj index ce2a7600f0..b39cecc61d 100644 --- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj +++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj @@ -415,6 +415,9 @@ Session\BrowseRequest.cs + + Session\GenericCommand.cs + Session\MessageCommand.cs diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs index 8de54f34a9..28c5822e9a 100644 --- a/MediaBrowser.Model/ApiClient/IApiClient.cs +++ b/MediaBrowser.Model/ApiClient/IApiClient.cs @@ -589,6 +589,14 @@ namespace MediaBrowser.Model.ApiClient /// request Task SendPlayCommandAsync(string sessionId, PlayRequest request); + /// + /// Sends the command asynchronous. + /// + /// The session identifier. + /// The request. + /// Task. + Task SendCommandAsync(string sessionId, GenericCommand request); + /// /// Sends a system command to the client /// diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index bf29b4bff0..207543fe88 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -132,6 +132,7 @@ + diff --git a/MediaBrowser.Model/Session/GenericCommand.cs b/MediaBrowser.Model/Session/GenericCommand.cs new file mode 100644 index 0000000000..f7ea0a84a5 --- /dev/null +++ b/MediaBrowser.Model/Session/GenericCommand.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Model.Session +{ + public class GenericCommand + { + public string Name { get; set; } + + public string ControllingUserId { get; set; } + + public Dictionary Arguments { get; set; } + + public GenericCommand() + { + Arguments = new Dictionary(StringComparer.OrdinalIgnoreCase); + } + } + + /// + /// This exists simply to identify a set of known commands. + /// + public enum CoreGenericCommand + { + MoveUp = 0, + MoveDown = 1, + MoveLeft = 2, + MoveRight = 3, + PageUp = 4, + PageDown = 5, + PreviousLetter = 6, + NextLetter = 7, + ToggleOsd = 8, + ToggleContextMenu = 9, + Select = 10, + Back = 11, + TakeScreenshot = 12, + SendKey = 13, + SendString = 14, + GoHome = 15, + GoToSettings = 16, + VolumeUp = 17, + VolumeDown = 18, + Mute = 19, + Unmute = 20, + ToggleMute = 21 + } +} diff --git a/MediaBrowser.Model/Session/PlaystateCommand.cs b/MediaBrowser.Model/Session/PlaystateCommand.cs index d83c6dae54..91572ba623 100644 --- a/MediaBrowser.Model/Session/PlaystateCommand.cs +++ b/MediaBrowser.Model/Session/PlaystateCommand.cs @@ -33,7 +33,15 @@ namespace MediaBrowser.Model.Session /// /// The fullscreen /// - Fullscreen + Fullscreen, + /// + /// The rewind + /// + Rewind, + /// + /// The fast forward + /// + FastForward } public class PlaystateRequest diff --git a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs index 0e2f9e1b57..d806db1e0b 100644 --- a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs +++ b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs @@ -146,5 +146,16 @@ namespace MediaBrowser.Server.Implementations.Roku RequestContentType = "application/json" }); } + + + public Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken) + { + return SendCommand(new WebSocketMessage + { + MessageType = "Command", + Data = command + + }, cancellationToken); + } } } diff --git a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs index 70d7ac071f..ddf4ec2ca7 100644 --- a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs +++ b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs @@ -198,5 +198,17 @@ namespace MediaBrowser.Server.Implementations.Session }, cancellationToken); } + + public Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken) + { + var socket = GetActiveSocket(); + + return socket.SendAsync(new WebSocketMessage + { + MessageType = "Command", + Data = command + + }, cancellationToken); + } } } diff --git a/MediaBrowser.ServerApplication/MainStartup.cs b/MediaBrowser.ServerApplication/MainStartup.cs index 6afe9367e5..3d490a1f8c 100644 --- a/MediaBrowser.ServerApplication/MainStartup.cs +++ b/MediaBrowser.ServerApplication/MainStartup.cs @@ -1,12 +1,11 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Constants; using MediaBrowser.Common.Implementations.Logging; -using MediaBrowser.Common.Implementations.Updates; -using MediaBrowser.Controller; using MediaBrowser.Model.Logging; using MediaBrowser.Server.Implementations; using MediaBrowser.ServerApplication.Native; using MediaBrowser.ServerApplication.Splash; +using MediaBrowser.ServerApplication.Updates; using Microsoft.Win32; using System; using System.Configuration.Install; @@ -490,7 +489,7 @@ namespace MediaBrowser.ServerApplication try { var serviceName = _isRunningAsService ? BackgroundService.Name : string.Empty; - new ApplicationUpdater().UpdateApplication(MBApplication.MBServer, appPaths, updateArchive, logger, serviceName); + new ApplicationUpdater().UpdateApplication(appPaths, updateArchive, logger, serviceName); // And just let the app exit so it can update return true; diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index d999841ca7..b49e100ab2 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -145,6 +145,7 @@ SplashForm.cs + diff --git a/MediaBrowser.Common.Implementations/Updates/ApplicationUpdater.cs b/MediaBrowser.ServerApplication/Updates/ApplicationUpdater.cs similarity index 86% rename from MediaBrowser.Common.Implementations/Updates/ApplicationUpdater.cs rename to MediaBrowser.ServerApplication/Updates/ApplicationUpdater.cs index e24ff30645..9f3e44cb0f 100644 --- a/MediaBrowser.Common.Implementations/Updates/ApplicationUpdater.cs +++ b/MediaBrowser.ServerApplication/Updates/ApplicationUpdater.cs @@ -3,14 +3,8 @@ using MediaBrowser.Model.Logging; using System.Diagnostics; using System.IO; -namespace MediaBrowser.Common.Implementations.Updates +namespace MediaBrowser.ServerApplication.Updates { - public enum MBApplication - { - MBServer, - MBTheater - } - /// /// Update the specified application using the specified archive /// @@ -18,7 +12,7 @@ namespace MediaBrowser.Common.Implementations.Updates { private const string UpdaterExe = "Mediabrowser.Updater.exe"; private const string UpdaterDll = "Mediabrowser.InstallUtil.dll"; - public void UpdateApplication(MBApplication app, IApplicationPaths appPaths, string archive, ILogger logger, string restartServiceName) + public void UpdateApplication(IApplicationPaths appPaths, string archive, ILogger logger, string restartServiceName) { // First see if there is a version file and read that in var version = "Unknown"; @@ -39,7 +33,7 @@ namespace MediaBrowser.Common.Implementations.Updates logger.Info("Copying updater dependencies to temporary location"); File.Copy(source, tempUpdaterDll, true); - var product = app == MBApplication.MBTheater ? "mbt" : "server"; + const string product = "server"; // Our updater needs SS and ionic source = Path.Combine(appPaths.ProgramSystemPath, "ServiceStack.Text.dll"); File.Copy(source, Path.Combine(Path.GetTempPath(), "ServiceStack.Text.dll"), true); diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index c550b350c6..a3b4533dd9 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common.Internal - 3.0.345 + 3.0.346 MediaBrowser.Common.Internal Luke ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption. Copyright © Media Browser 2013 - + diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index a6fa5c152c..b80f673e38 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.345 + 3.0.346 MediaBrowser.Common Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index cc87b00300..eccfcccd2a 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.345 + 3.0.346 Media Browser.Server.Core Media Browser Team ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains core components required to build plugins for Media Browser Server. Copyright © Media Browser 2013 - +