From a2c0e3374ba5130588adcbeda18439b69bb2cb12 Mon Sep 17 00:00:00 2001 From: kieran Date: Thu, 21 Nov 2024 11:35:50 +0000 Subject: [PATCH] fix: fail build for older versions --- Dockerfile | 34 ++++++++++++++++++++++++++++++++++ build.rs | 1 - src/encode.rs | 1 - src/lib.rs | 5 +++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e7319e0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +FROM rust:bookworm +WORKDIR /src +RUN apt update && \ + apt install -y \ + build-essential \ + libx264-dev \ + libx265-dev \ + libwebp-dev \ + libvpx-dev \ + libopus-dev \ + libdav1d-dev \ + nasm \ + libclang-dev && \ + rm -rf /var/lib/apt/lists/* +RUN git clone --single-branch --branch release/7.1 https://git.v0l.io/ffmpeg/FFmpeg.git && \ + cd FFmpeg && \ + ./configure \ + --prefix=${FFMPEG_DIR} \ + --disable-programs \ + --disable-doc \ + --disable-network \ + --enable-gpl \ + --enable-libx264 \ + --enable-libx265 \ + --enable-libwebp \ + --enable-libvpx \ + --enable-libopus \ + --enable-libdav1d \ + --disable-static \ + --disable-postproc \ + --enable-shared && \ + make -j$(nproc) install +COPY . . +RUN cargo build --release \ No newline at end of file diff --git a/build.rs b/build.rs index c3327c5..57fd69f 100644 --- a/build.rs +++ b/build.rs @@ -6,7 +6,6 @@ fn main() { for (name, _value) in env::vars() { if name.starts_with("DEP_FFMPEG_") && !name.starts_with("DEP_FFMPEG_CHECK_") { let feature_name = name["DEP_FFMPEG_".len()..name.len()].to_lowercase(); - println!(r#"cargo::rustc-check-cfg=cfg(feature, values("{feature_name}"))"#); println!(r#"cargo::rustc-cfg=feature="{feature_name}""#); } } diff --git a/src/encode.rs b/src/encode.rs index 45ca327..cf24c55 100644 --- a/src/encode.rs +++ b/src/encode.rs @@ -265,7 +265,6 @@ impl Encoder { mod tests { use super::*; use crate::generate_test_frame; - use ffmpeg_sys_the_third::AVPixelFormat::AV_PIX_FMT_YUV420P; #[test] fn test_encode_png() -> Result<(), Error> { diff --git a/src/lib.rs b/src/lib.rs index 3899ef5..cb169e1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -18,6 +18,11 @@ mod scale; mod stream_info; mod transcode; +#[cfg(not(feature = "avcodec_version_greater_than_59_24"))] +compile_error!("avcodec version too old, < 59.24"); +#[cfg(not(feature = "avutil_version_greater_than_57_24"))] +compile_error!("avutil version too old, <57.24"); + #[macro_export] macro_rules! bail_ffmpeg { ($x:expr) => {