Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
libopus-dev

- run: |
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/9.0
cd ffmpeg
mkdir build
cd build
Expand All @@ -84,7 +84,7 @@ jobs:
- run: |
FFMPEG_INCLUDE_DIR=${HOME}/ffmpeg_build/include \
FFMPEG_PKG_CONFIG_PATH=${HOME}/ffmpeg_build/lib/pkgconfig \
cargo clippy --features ffmpeg8 -- -D warnings
cargo clippy --features ffmpeg9 -- -D warnings

rust_clippy_check_windows:
runs-on: windows-latest
Expand Down Expand Up @@ -290,7 +290,7 @@ jobs:
# Disable exr,phm to workaround "multiple definition of 'ff_init_half2float_tables'"
# Ref: `https://github.com/larksuite/rsmpeg/pull/98#issuecomment-1467511193`
- run: |
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/9.0
cd ffmpeg
mkdir build
cd build
Expand All @@ -304,7 +304,7 @@ jobs:
run: |
FFMPEG_INCLUDE_DIR=${HOME}/ffmpeg_build/include \
FFMPEG_PKG_CONFIG_PATH=${HOME}/ffmpeg_build/lib/pkgconfig \
cargo test --features ffmpeg8 --verbose
cargo test --features ffmpeg9 --verbose

- name: Run Slice Example
run: |
Expand Down Expand Up @@ -452,7 +452,7 @@ jobs:

- name: Build FFmpeg dylib
run: |
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/9.0
cd ffmpeg
mkdir build
cd build
Expand Down Expand Up @@ -507,8 +507,8 @@ jobs:
LD_LIBRARY_PATH: ${{ github.workspace }}/ffmpeg_prebuilt/lib/
run: |
cp -r ~/ffmpeg_prebuilt ${{ github.workspace }}/ffmpeg_prebuilt
cargo build --example slice --features ffmpeg8
cargo run --example slice --features ffmpeg8
cargo build --example slice --features ffmpeg9
cargo run --example slice --features ffmpeg9

build_dynamic_and_test_macos:
runs-on: macos-latest
Expand All @@ -534,7 +534,7 @@ jobs:

- name: Build FFmpeg dylib
run: |
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/9.0
cd ffmpeg
mkdir build
cd build
Expand Down Expand Up @@ -589,9 +589,9 @@ jobs:
FFMPEG_DLL_PATH: ${{ github.workspace }}/ffmpeg_prebuilt/lib/libffmpeg.dylib
run: |
cp -r ~/ffmpeg_prebuilt ${{ github.workspace }}/ffmpeg_prebuilt
cargo build --example slice --features ffmpeg8
cargo build --example slice --features ffmpeg9
cp ${{ github.workspace }}/ffmpeg_prebuilt/lib/libffmpeg.dylib .
cargo run --example slice --features ffmpeg8
cargo run --example slice --features ffmpeg9

build_dynamic_and_test_windows_pre:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -620,7 +620,7 @@ jobs:
cd ../..
- name: Build FFmpeg
run: |
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/8.0
git clone https://github.com/ffmpeg/ffmpeg --depth 1 --single-branch --branch release/9.0
cd ffmpeg
mkdir build
cd build
Expand Down Expand Up @@ -716,9 +716,9 @@ jobs:
LIBCLANG_PATH: ${{ github.workspace }}/clang/lib
LLVM_CONFIG_PATH: ${{ github.workspace }}/clang/bin/llvm-config
run: |
cargo build --target i686-pc-windows-msvc --example slice --features ffmpeg8
cargo build --target i686-pc-windows-msvc --example slice --features ffmpeg9
copy ${{ github.workspace }}/ffmpeg_prebuilt_cross/lib/libffmpeg.dll .
cargo run --target i686-pc-windows-msvc --example slice --features ffmpeg8
cargo run --target i686-pc-windows-msvc --example slice --features ffmpeg9

# Check if correct documentation can be generated by docs.rs
docs_rs_check:
Expand Down
6 changes: 4 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "rusty_ffmpeg"
version = "0.17.0+ffmpeg.8.1"
version = "0.18.0+ffmpeg.9.0"
authors = ["ldm0 <ldm2993593805@163.com>"]
edition = "2021"
description = "A library that provides Rust bindings for FFmpeg"
Expand Down Expand Up @@ -37,7 +37,7 @@ pkg-config = "0.3"
link_system_ffmpeg = []
# Probe and link FFmpeg with vcpkg
link_vcpkg_ffmpeg = ["vcpkg"]
# Use the prebuilt FFmpeg 7 bindings from src/binding.rs instead of generating at build time
# Use the prebuilt FFmpeg 9 bindings from src/binding.rs instead of generating at build time
# This ensures consistent API signatures across all platforms
use_prebuilt_binding = []
# FFmpeg 5.* support
Expand All @@ -54,3 +54,5 @@ ffmpeg7_1 = ["ffmpeg7"]
ffmpeg8 = ["ffmpeg7_1"]
# FFmpeg 8.1+ support
ffmpeg8_1 = ["ffmpeg8"]
# FFmpeg 9.* support
ffmpeg9 = ["ffmpeg8_1"]
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ You can link FFmpeg libraries installed by vcpkg by enabling feature `link_vcpkg
- Enable `ffmpeg5` feature when you are using FFmpeg `5.*`
- Enable `ffmpeg6` feature when you are using FFmpeg `6.*`
- Enable `ffmpeg7` feature when you are using FFmpeg `7.*`
- Enable `ffmpeg8` feature when you are using FFmpeg `8.*`
- Enable `ffmpeg8_1` feature when you are using FFmpeg `8.1+`
- Enable `ffmpeg9` feature when you are using FFmpeg `9.*`

## Attention

Expand Down
1 change: 1 addition & 0 deletions skills/ffmpeg-constant-sync/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ Current repository feature boundaries should follow this pattern when needed:
- `ffmpeg7_1`
- `ffmpeg8`
- `ffmpeg8_1`
- `ffmpeg9`

If the repo is missing a needed boundary, add it to `Cargo.toml` before moving symbol gates.

Expand Down
Loading