diff options
| author | Cody Robibero <cody@robibe.ro> | 2021-12-11 12:05:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-11 12:05:34 -0700 |
| commit | 8b4a36d6f729d8f573e7b5c7e99950b7742b635e (patch) | |
| tree | 2228ce6aa020792a85e9bb765a51570f02fcb35f /MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | |
| parent | 4d1b8246513b352d65d4db6afcb97ae1e984c760 (diff) | |
| parent | 03b3f08354f496d18444779977bfc1602bbb2c73 (diff) | |
Merge pull request #6898 from jonas-resch/support-external-audio-filesv10.8.0-alpha3
Add support for external audio files
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 { |
