fn main() { let avcodec_version_major = ffmpeg_sys_next::LIBAVCODEC_VERSION_MAJOR; let avcodec_version_minor = ffmpeg_sys_next::LIBAVCODEC_VERSION_MINOR; let avcodec_version_micro = ffmpeg_sys_next::LIBAVCODEC_VERSION_MICRO; let ffmpeg_version = match avcodec_version_major { 57 => { if avcodec_version_minor >= 107 { Some("ffmpeg_3_4") } else if avcodec_version_minor >= 89 { Some("ffmpeg_3_3") } else if avcodec_version_minor >= 64 { Some("ffmpeg_3_2") } else if avcodec_version_minor >= 48 { Some("ffmpeg_3_1") } else if avcodec_version_minor >= 24 { Some("ffmpeg_3_0") } else { None } } 58 => { if avcodec_version_minor >= 100 { Some("ffmpeg_4_4") } else if avcodec_version_minor >= 91 { Some("ffmpeg_4_3") } else if avcodec_version_minor >= 54 { Some("ffmpeg_4_2") } else if avcodec_version_minor >= 35 { Some("ffmpeg_4_1") } else if avcodec_version_minor >= 18 { Some("ffmpeg_4_0") } else { None } } 59 => { if avcodec_version_minor >= 37 { Some("ffmpeg_5_1") } else if avcodec_version_minor >= 18 { Some("ffmpeg_5_0") } else { None } } _ => None, }; println!("cargo:rustc-check-cfg=cfg(ffmpeg_4_0, ffmpeg_4_1, ffmpeg_4_2, ffmpeg_4_3, ffmpeg_4_4, ffmpeg_5_0, ffmpeg_5_1)"); if let Some(ffmpeg_version) = ffmpeg_version { // println!("cargo:warning={}", ffmpeg_version); println!("cargo:rustc-cfg={ffmpeg_version}"); } else { panic!( "Cannot define ffmpeg version from libavcodec version: {avcodec_version_major}.{avcodec_version_minor}.{avcodec_version_micro}" ) } }