Преглед изворни кода

feat: convert supportedCommands strings to enums

github@esslinger.dev пре 4 година
родитељ
комит
dd4f3a7c51

+ 9 - 9
Emby.Dlna/PlayTo/PlayToManager.cs

@@ -217,15 +217,15 @@ namespace Emby.Dlna.PlayTo
 
                     SupportedCommands = new[]
                     {
-                        GeneralCommandType.VolumeDown.ToString(),
-                        GeneralCommandType.VolumeUp.ToString(),
-                        GeneralCommandType.Mute.ToString(),
-                        GeneralCommandType.Unmute.ToString(),
-                        GeneralCommandType.ToggleMute.ToString(),
-                        GeneralCommandType.SetVolume.ToString(),
-                        GeneralCommandType.SetAudioStreamIndex.ToString(),
-                        GeneralCommandType.SetSubtitleStreamIndex.ToString(),
-                        GeneralCommandType.PlayMediaSource.ToString()
+                        GeneralCommandType.VolumeDown,
+                        GeneralCommandType.VolumeUp,
+                        GeneralCommandType.Mute,
+                        GeneralCommandType.Unmute,
+                        GeneralCommandType.ToggleMute,
+                        GeneralCommandType.SetVolume,
+                        GeneralCommandType.SetAudioStreamIndex,
+                        GeneralCommandType.SetSubtitleStreamIndex,
+                        GeneralCommandType.PlayMediaSource
                     },
 
                     SupportsMediaControl = true

+ 3 - 3
Jellyfin.Api/Controllers/SessionController.cs

@@ -366,7 +366,7 @@ namespace Jellyfin.Api.Controllers
         /// </summary>
         /// <param name="id">The session id.</param>
         /// <param name="playableMediaTypes">A list of playable media types, comma delimited. Audio, Video, Book, Photo.</param>
-        /// <param name="supportedCommands">A list of supported remote control commands, comma delimited.</param>
+        /// <param name="supportedCommands">A list of supported remote control commands.</param>
         /// <param name="supportsMediaControl">Determines whether media can be played remotely..</param>
         /// <param name="supportsSync">Determines whether sync is supported.</param>
         /// <param name="supportsPersistentIdentifier">Determines whether the device supports a unique identifier.</param>
@@ -378,7 +378,7 @@ namespace Jellyfin.Api.Controllers
         public ActionResult PostCapabilities(
             [FromQuery] string? id,
             [FromQuery] string? playableMediaTypes,
-            [FromQuery] string? supportedCommands,
+            [FromQuery] GeneralCommandType[] supportedCommands,
             [FromQuery] bool supportsMediaControl = false,
             [FromQuery] bool supportsSync = false,
             [FromQuery] bool supportsPersistentIdentifier = true)
@@ -391,7 +391,7 @@ namespace Jellyfin.Api.Controllers
             _sessionManager.ReportCapabilities(id, new ClientCapabilities
             {
                 PlayableMediaTypes = RequestHelpers.Split(playableMediaTypes, ',', true),
-                SupportedCommands = RequestHelpers.Split(supportedCommands, ',', true),
+                SupportedCommands = supportedCommands == null ? Array.Empty<GeneralCommandType>() : supportedCommands,
                 SupportsMediaControl = supportsMediaControl,
                 SupportsSync = supportsSync,
                 SupportsPersistentIdentifier = supportsPersistentIdentifier

+ 2 - 2
MediaBrowser.Controller/Session/SessionInfo.cs

@@ -230,8 +230,8 @@ namespace MediaBrowser.Controller.Session
         /// Gets or sets the supported commands.
         /// </summary>
         /// <value>The supported commands.</value>
-        public string[] SupportedCommands
-            => Capabilities == null ? Array.Empty<string>() : Capabilities.SupportedCommands;
+        public GeneralCommandType[] SupportedCommands
+            => Capabilities == null ? Array.Empty<GeneralCommandType>() : Capabilities.SupportedCommands;
 
         public Tuple<ISessionController, bool> EnsureController<T>(Func<SessionInfo, ISessionController> factory)
         {

+ 2 - 2
MediaBrowser.Model/Session/ClientCapabilities.cs

@@ -10,7 +10,7 @@ namespace MediaBrowser.Model.Session
     {
         public string[] PlayableMediaTypes { get; set; }
 
-        public string[] SupportedCommands { get; set; }
+        public GeneralCommandType[] SupportedCommands { get; set; }
 
         public bool SupportsMediaControl { get; set; }
 
@@ -31,7 +31,7 @@ namespace MediaBrowser.Model.Session
         public ClientCapabilities()
         {
             PlayableMediaTypes = Array.Empty<string>();
-            SupportedCommands = Array.Empty<string>();
+            SupportedCommands = Array.Empty<GeneralCommandType>();
             SupportsPersistentIdentifier = true;
         }
     }