aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs26
1 files changed, 18 insertions, 8 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index a768d0cc4..dc137521c 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -1975,7 +1975,7 @@ namespace MediaBrowser.Api.Playback
if (state.OutputVideoBitrate.HasValue && !string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase))
{
var resolution = ResolutionNormalizer.Normalize(
- state.VideoStream == null ? (int?) null : state.VideoStream.BitRate,
+ state.VideoStream == null ? (int?)null : state.VideoStream.BitRate,
state.OutputVideoBitrate.Value,
state.VideoStream == null ? null : state.VideoStream.Codec,
state.OutputVideoCodec,
@@ -2692,17 +2692,27 @@ namespace MediaBrowser.Api.Playback
//inputModifier += " -noaccurate_seek";
}
- var videoStream = state.VideoStream;
- if (videoStream != null && !string.IsNullOrWhiteSpace(videoStream.Codec))
+ foreach (var stream in state.MediaSource.MediaStreams)
{
- inputModifier += " -codec:0 " + videoStream.Codec;
-
- var audioStream = state.AudioStream;
- if (audioStream != null && !string.IsNullOrWhiteSpace(audioStream.Codec))
+ if (!stream.IsExternal && stream.Type != MediaStreamType.Subtitle)
{
- inputModifier += " -codec:1 " + audioStream.Codec;
+ if (!string.IsNullOrWhiteSpace(stream.Codec) && stream.Index != -1)
+ {
+ inputModifier += " -codec:" + stream.Index.ToString(UsCulture) + " " + stream.Codec;
+ }
}
}
+ //var videoStream = state.VideoStream;
+ //if (videoStream != null && !string.IsNullOrWhiteSpace(videoStream.Codec))
+ //{
+ // inputModifier += " -codec:0 " + videoStream.Codec;
+
+ // var audioStream = state.AudioStream;
+ // if (audioStream != null && !string.IsNullOrWhiteSpace(audioStream.Codec))
+ // {
+ // inputModifier += " -codec:1 " + audioStream.Codec;
+ // }
+ //}
}
return inputModifier;