Merge pull request #9249 from jmshrv/fix-m4a-moov

Specify required movflags when encoding M4A audio
This commit is contained in:
Claus Vium 2023-02-05 22:13:08 +01:00 committed by GitHub
commit 64263920cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View file

@ -58,6 +58,7 @@
- [HelloWorld017](https://github.com/HelloWorld017)
- [ikomhoog](https://github.com/ikomhoog)
- [jftuga](https://github.com/jftuga)
- [jmshrv](https://github.com/jmshrv)
- [joern-h](https://github.com/joern-h)
- [joshuaboniface](https://github.com/joshuaboniface)
- [JustAMan](https://github.com/JustAMan)

View file

@ -61,6 +61,16 @@ namespace MediaBrowser.Controller.MediaEncoding
"Main10"
};
private static readonly HashSet<string> _mp4ContainerNames = new(StringComparer.OrdinalIgnoreCase)
{
"mp4",
"m4a",
"m4p",
"m4b",
"m4r",
"m4v",
};
public EncodingHelper(
IApplicationPaths appPaths,
IMediaEncoder mediaEncoder,
@ -5786,6 +5796,13 @@ namespace MediaBrowser.Controller.MediaEncoding
}
}
// Copy the movflags from GetProgressiveVideoFullCommandLine
// See #9248 and the associated PR for why this is needed
if (_mp4ContainerNames.Contains(state.OutputContainer))
{
audioTranscodeParams.Add("-movflags empty_moov+delay_moov");
}
var threads = GetNumberOfThreads(state, encodingOptions, null);
var inputModifier = GetInputModifier(state, encodingOptions, null);