update stream specifiers

This commit is contained in:
Luke Pulverenti 2016-12-30 00:55:46 -05:00
parent 9da48106c8
commit b8f57f586b

View File

@ -1975,7 +1975,7 @@ namespace MediaBrowser.Api.Playback
if (state.OutputVideoBitrate.HasValue && !string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase)) if (state.OutputVideoBitrate.HasValue && !string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase))
{ {
var resolution = ResolutionNormalizer.Normalize( var resolution = ResolutionNormalizer.Normalize(
state.VideoStream == null ? (int?) null : state.VideoStream.BitRate, state.VideoStream == null ? (int?)null : state.VideoStream.BitRate,
state.OutputVideoBitrate.Value, state.OutputVideoBitrate.Value,
state.VideoStream == null ? null : state.VideoStream.Codec, state.VideoStream == null ? null : state.VideoStream.Codec,
state.OutputVideoCodec, state.OutputVideoCodec,
@ -2692,17 +2692,27 @@ namespace MediaBrowser.Api.Playback
//inputModifier += " -noaccurate_seek"; //inputModifier += " -noaccurate_seek";
} }
var videoStream = state.VideoStream; foreach (var stream in state.MediaSource.MediaStreams)
if (videoStream != null && !string.IsNullOrWhiteSpace(videoStream.Codec))
{ {
inputModifier += " -codec:0 " + videoStream.Codec; if (!stream.IsExternal && stream.Type != MediaStreamType.Subtitle)
var audioStream = state.AudioStream;
if (audioStream != null && !string.IsNullOrWhiteSpace(audioStream.Codec))
{ {
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; return inputModifier;