Quellcode durchsuchen

Merge pull request #5629 from lmaonator/fix-cast-stream-selection

(cherry picked from commit 90d9530aed8916172bfbe34ece03d250c6f71979)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
Claus Vium vor 4 Jahren
Ursprung
Commit
37b969304a
1 geänderte Dateien mit 14 neuen und 2 gelöschten Zeilen
  1. 14 2
      Jellyfin.Api/Controllers/SessionController.cs

+ 14 - 2
Jellyfin.Api/Controllers/SessionController.cs

@@ -153,6 +153,10 @@ namespace Jellyfin.Api.Controllers
         /// <param name="playCommand">The type of play command to issue (PlayNow, PlayNext, PlayLast). Clients who have not yet implemented play next and play last may play now.</param>
         /// <param name="itemIds">The ids of the items to play, comma delimited.</param>
         /// <param name="startPositionTicks">The starting position of the first item.</param>
+        /// <param name="mediaSourceId">Optional. The media source id.</param>
+        /// <param name="audioStreamIndex">Optional. The index of the audio stream to play.</param>
+        /// <param name="subtitleStreamIndex">Optional. The index of the subtitle stream to play.</param>
+        /// <param name="startIndex">Optional. The start index.</param>
         /// <response code="204">Instruction sent to session.</response>
         /// <returns>A <see cref="NoContentResult"/>.</returns>
         [HttpPost("Sessions/{sessionId}/Playing")]
@@ -162,13 +166,21 @@ namespace Jellyfin.Api.Controllers
             [FromRoute, Required] string sessionId,
             [FromQuery, Required] PlayCommand playCommand,
             [FromQuery, Required, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] Guid[] itemIds,
-            [FromQuery] long? startPositionTicks)
+            [FromQuery] long? startPositionTicks,
+            [FromQuery] string? mediaSourceId,
+            [FromQuery] int? audioStreamIndex,
+            [FromQuery] int? subtitleStreamIndex,
+            [FromQuery] int? startIndex)
         {
             var playRequest = new PlayRequest
             {
                 ItemIds = itemIds,
                 StartPositionTicks = startPositionTicks,
-                PlayCommand = playCommand
+                PlayCommand = playCommand,
+                MediaSourceId = mediaSourceId,
+                AudioStreamIndex = audioStreamIndex,
+                SubtitleStreamIndex = subtitleStreamIndex,
+                StartIndex = startIndex
             };
 
             _sessionManager.SendPlayCommand(