* Implement option::Type as bitfield struct
This type is no longer strictly an enum in the
Rust sense because the underlying AVOptionType
is now also a bitfield/the AV_OPT_TYPE* consts
now include AV_OPT_TYPE_FLAG_ARRAY, which is a
bitflag.
* Add new MuxerIter/DemuxerIter for 4.0+
* Add Default impls for MuxerIter/DemuxerIter
* Add tests for MuxerIter/DemuxerIter
* Use mutable reference over addr_of_mut!
* Don't dereference long_name if nullptr
This happens if FFmpeg is configured with `--enable-small`
* Add FFmpeg version matrix to macOS CI job
* Add macOS PKG_CONFIG_PATH
* Change schedule to run CI builds weekly
* Fix package installation dir
Homebrew apparently always symlinks to /opt/homebrew, so this
one is reliable
* Move dependencies to top
* Add LICENSE symlink to sys crate, update Cargo.toml
* sys: Move features around a bit
* Move features around a bit
* Replace package `exclude` with `include` list
* Remove Cargo.lock.MSRV from crate package
* 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
* Move fetch & early return into fn build
* Pass ffmpeg_version as parameter
* Pass source_dir as parameter
* Create rustc_link_extralibs
* Use local variable instead of search()
* Pass OUT_DIR to the build function
* Return install_dir from build function
* Parametrize ffmpeg_major_version
* Remove duplicate import
* Rename `is_feature` to `optional`
* Replace Library::new with two separate functions
* Add AVHeader abstraction
* Add Library::enabled helper function
* Replace tag/error macros with const fns
* Remove c_int -> c_int cast
These should always use the same type alias
* Remove duplicate av_strerror definition
* Document breaking change
* Introduce helper fn cargo_feature_enabled
* Move switch and enable! to trait
This allows a simpler `configure.` invocation
* Move external libraries into static list
* Fix incorrect feature name for libdrm