We're adding support for building FFmpeg binaries with the hybrid CRT, a technique that uses both the UCRT and the static CRT to get functional coverage without the overhead of the static CRT or the external dependency of the dynamic CRT.
See the following resources to learn more about the hybrid CRT:
Updated BuildFFmpeg.ps1 and FFmepgConfig.sh to add support for building FFmpeg binaries with the hybrid CRT
Enabled additional build optimizations for FFmpeg binaries
Removed the UseUCRT build property
Use the hybrid CRT technique (including HybridCRT.props in the top-level Directory.Build.props) instead.
How was the change tested?
I built in-proc WME (AppPlatform=onecore, CRT=hybrid) and out-of-proc WME (AppPlatform=uwp, CRT=dynamic) packages.
I validated the following scenarios:
Ogg playback in Media Player with WME (in-proc and out-of-proc)
Ogg properties in File Explorer with WME (in-proc and out-of-proc)
For in-proc WME I also used depends.exe to verify that all of its binaries are OneCore-compatible and don't have any external framework package dependencies.
Why is this change being made?
We're adding support for building FFmpeg binaries with the hybrid CRT, a technique that uses both the UCRT and the static CRT to get functional coverage without the overhead of the static CRT or the external dependency of the dynamic CRT.
See the following resources to learn more about the hybrid CRT:
What changed?
How was the change tested?
I built in-proc WME (AppPlatform=onecore, CRT=hybrid) and out-of-proc WME (AppPlatform=uwp, CRT=dynamic) packages.
I validated the following scenarios:
For in-proc WME I also used depends.exe to verify that all of its binaries are OneCore-compatible and don't have any external framework package dependencies.