Re-apply HA fork patches on upstream v12.0 #3

Merged
benvin merged 2139 commits from benvin/rebase-v12 into main 2026-09-12 12:48:36 +10:00
Showing only changes of commit b015d2d219 - Show all commits
@@ -2014,11 +2014,15 @@ namespace MediaBrowser.Controller.MediaEncoding
args += keyFrameArg + gopArg;
}
// global_header produced by AMD HEVC VA-API encoder causes non-playable fMP4 on iOS
// The in-band Parameter Sets generated by the AMD HEVC VA-API encoder is inconsistent
// with the extradata generated by ffmpeg, causing decoding failures when using hvc1.
if (string.Equals(codec, "hevc_vaapi", StringComparison.OrdinalIgnoreCase)
&& _mediaEncoder.IsVaapiDeviceAmd)
{
args += " -flags:v -global_header";
// Extracting the extradata from the in-band PS to bypass the issue.
// This can be removed once the issue is resolved in libva or Mesa.
// Transcoding is unavoidable here, so using BSF will not conflict with BSF in remuxing.
args += " -flags:v -global_header -bsf:v extract_extradata=remove=0";
}
return args;