浏览代码

Implement TransportState according to spec (#7426)

Bond-009 3 年之前
父节点
当前提交
03f1eff21a
共有 3 个文件被更改,包括 16 次插入13 次删除
  1. 7 7
      Emby.Dlna/PlayTo/Device.cs
  2. 1 1
      Emby.Dlna/PlayTo/PlayToController.cs
  3. 8 5
      Emby.Dlna/PlayTo/TransportState.cs

+ 7 - 7
Emby.Dlna/PlayTo/Device.cs

@@ -69,11 +69,11 @@ namespace Emby.Dlna.PlayTo
 
         public TransportState TransportState { get; private set; }
 
-        public bool IsPlaying => TransportState == TransportState.Playing;
+        public bool IsPlaying => TransportState == TransportState.PLAYING;
 
-        public bool IsPaused => TransportState == TransportState.Paused || TransportState == TransportState.PausedPlayback;
+        public bool IsPaused => TransportState == TransportState.PAUSED_PLAYBACK;
 
-        public bool IsStopped => TransportState == TransportState.Stopped;
+        public bool IsStopped => TransportState == TransportState.STOPPED;
 
         public Action OnDeviceUnavailable { get; set; }
 
@@ -494,7 +494,7 @@ namespace Emby.Dlna.PlayTo
                     cancellationToken: cancellationToken)
                 .ConfigureAwait(false);
 
-            TransportState = TransportState.Paused;
+            TransportState = TransportState.PAUSED_PLAYBACK;
 
             RestartTimer(true);
         }
@@ -527,7 +527,7 @@ namespace Emby.Dlna.PlayTo
                 if (transportState.HasValue)
                 {
                     // If we're not playing anything no need to get additional data
-                    if (transportState.Value == TransportState.Stopped)
+                    if (transportState.Value == TransportState.STOPPED)
                     {
                         UpdateMediaInfo(null, transportState.Value);
                     }
@@ -556,7 +556,7 @@ namespace Emby.Dlna.PlayTo
                     }
 
                     // If we're not playing anything make sure we don't get data more often than necessary to keep the Session alive
-                    if (transportState.Value == TransportState.Stopped)
+                    if (transportState.Value == TransportState.STOPPED)
                     {
                         RestartTimerInactive();
                     }
@@ -1229,7 +1229,7 @@ namespace Emby.Dlna.PlayTo
             }
             else if (previousMediaInfo == null)
             {
-                if (state != TransportState.Stopped)
+                if (state != TransportState.STOPPED)
                 {
                     OnPlaybackStart(mediaInfo);
                 }

+ 1 - 1
Emby.Dlna/PlayTo/PlayToController.cs

@@ -816,7 +816,7 @@ namespace Emby.Dlna.PlayTo
             const int Interval = 500;
 
             var currentWait = 0;
-            while (_device.TransportState != TransportState.Playing && currentWait < MaxWait)
+            while (_device.TransportState != TransportState.PLAYING && currentWait < MaxWait)
             {
                 await Task.Delay(Interval, cancellationToken).ConfigureAwait(false);
                 currentWait += Interval;

+ 8 - 5
Emby.Dlna/PlayTo/TransportState.cs

@@ -2,12 +2,15 @@
 
 namespace Emby.Dlna.PlayTo
 {
+    /// <summary>
+    /// Core of the AVTransport service. It defines the conceptually top-
+    /// level state of the transport, for example, whether it is playing, recording, etc.
+    /// </summary>
     public enum TransportState
     {
-        Stopped,
-        Playing,
-        Transitioning,
-        PausedPlayback,
-        Paused
+        STOPPED,
+        PLAYING,
+        TRANSITIONING,
+        PAUSED_PLAYBACK
     }
 }