FreezyLemon fd2d71c92b
Support FFmpeg 7.0 (#48)
* sys: Run cargo fmt

* sys: Add new channel layout consts

* sys: Update build script for 7.0

- Add new FF_API flags
- Update version_check_info range
- Add ffmpeg_7_0 feature entry

* sys: Update non-exhaustive match statement

* Update enums

* Mark old APIs as removed with 7.0

* Make Audio frame work with 7.0

The .unwrap() in clone() is a bit wonky

* Add API for swr_alloc_set_opts2

* Use AVFrame::duration field in 7.0+

* Include 7.0 in CI runs

* Add fn ChanneLayoutIter::best

* Update examples for new API

* Add/update Context setter for ch layout
2024-04-29 21:38:37 -04:00
2024-04-29 21:38:37 -04:00
2024-04-29 21:38:37 -04:00
2024-04-29 21:38:37 -04:00
2024-04-14 13:52:11 -04:00
2016-04-03 17:32:34 +02:00
2024-04-08 13:44:49 -04:00

crates.io docs.rs build

This is a fork of the abandoned ffmpeg-next crate which is a fork of the abandoned ffmpeg crate.

Currently supported FFmpeg versions: 4.x, 5.x, 6.x.

Build instructions can be found on the wiki.

Documentation:

See CHANGELOG.md for other information on version upgrades.

If you have significant, demonstrable experience in Rust and multimedia-related programming, please let me know, I'll be more than happy to invite you as a collaborator.

Minimum supported Rust version (MSRV)

Both ffmpeg-the-third and ffmpeg-sys-the-third currently require a Rust version of 1.61.0 or higher. Increases in MSRV will result in a semver MINOR version increase.

If you are having issues compiling this crate on your version of Rust, there are two tools you can use to help find MSRV-compatible dependency versions:

  • Install a nightly Rust toolchain and run cargo +nightly update -Zmsrv-policy. This will automatically resolve dependencies to versions that are compatible with the rust-version in Cargo.toml.
  • Check the Cargo.lock.MSRV in this repository. It contains dependency versions that are known to compile on the MSRV. In the simplest case, you can just cp Cargo.lock.MSRV Cargo.lock. For more complex dependency graphs, you might need to manually select compatible versions from the Cargo.lock.MSRV.
Description
No description provided
Readme WTFPL 1.1 MiB
Languages
Rust 100%