|
|
|
@ -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);
|
|
|
|
|