mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
MSYS2 updated mingw-w64-ffmpeg to 9.0, which removes the deprecated AVCodec.sample_fmts / AVCodec.supported_samplerates arrays and breaks the MSYS2 CI build in record_ffmpeg.c. record_ffmpeg: add accessors that use avcodec_get_supported_config() where available (lavc >= 61.13.100, FFmpeg 7.1+) and fall back to the legacy AVCodec struct members on older versions. NULL now means unrestricted instead of being dereferenced, hardening both paths. camera/ffmpeg: version-gate const-ness of the AVInputFormat/AVCodec pointers; lavf 59 (FFmpeg 5.0) made that API const-correct, lavf 58 (FFmpeg 4.x, the driver's minimum) warns on const pointers. Verified: compile matrix with production flags against FFmpeg 3.4.13, 4.4.5, 5.1.6, 6.1.2, 7.1.1, 8.1.2 and 9.0 all clean; full configure + make against FFmpeg 9.0 builds and links; resolver logic runtime-tested under ASan/UBSan against FFmpeg 9.0 (new path) and 6.1.2 (legacy path) with identical results and no sanitizer findings.