diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2021-12-15 08:38:39 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-15 08:38:39 +0100 |
| commit | 9a0618552b87241537590e77c70cfdbac2b0b8ce (patch) | |
| tree | efc0d946cd6fc9db7b09e85cfa4185120e007c57 /MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | |
| parent | c3c4dc6839d19cda8b0ea3cdcdc84547a713506d (diff) | |
| parent | 4a58582ad588eae0571eb6e7f1c830d5550709ea (diff) | |
Merge branch 'master' into what_could_go_wrong
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs')
| -rw-r--r-- | MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 5715194b8..92b345f12 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -696,6 +696,11 @@ namespace MediaBrowser.Controller.MediaEncoding arg.Append(" -i \"").Append(subtitlePath).Append('\"'); } + if (state.AudioStream != null && state.AudioStream.IsExternal) + { + arg.Append(" -i \"").Append(state.AudioStream.Path).Append('"'); + } + return arg.ToString(); } @@ -1999,10 +2004,24 @@ namespace MediaBrowser.Controller.MediaEncoding if (state.AudioStream != null) { - args += string.Format( - CultureInfo.InvariantCulture, - " -map 0:{0}", - state.AudioStream.Index); + if (state.AudioStream.IsExternal) + { + int externalAudioMapIndex = state.SubtitleStream != null && state.SubtitleStream.IsExternal ? 2 : 1; + int externalAudioStream = state.MediaSource.MediaStreams.Where(i => i.Path == state.AudioStream.Path).ToList().IndexOf(state.AudioStream); + + args += string.Format( + CultureInfo.InvariantCulture, + " -map {0}:{1}", + externalAudioMapIndex, + externalAudioStream); + } + else + { + args += string.Format( + CultureInfo.InvariantCulture, + " -map 0:{0}", + state.AudioStream.Index); + } } else { |
