Update readme/changelog also remove deprecated features before anyone tries to depend on them
This commit is contained in:
parent
cff28ba207
commit
bf05578b40
56
CHANGELOG.md
56
CHANGELOG.md
@ -1,49 +1,9 @@
|
||||
5.0.0
|
||||
-----
|
||||
## Version 1.0.0
|
||||
|
||||
- Introduce conditional compilation flags to preserve functions that are
|
||||
removed from ffmpeg 5.0 and onwards.
|
||||
- Fix examples so they are using the ffmpeg-sanctionned way of doing
|
||||
things. More specifically, AVStream.codec has been removed, and the
|
||||
correct way of getting the codec from a stream is to use
|
||||
Context::from_parameters(stream.parameters()) and then that context's
|
||||
encoder / decoder.
|
||||
|
||||
4.4.0
|
||||
-----
|
||||
|
||||
- crate: `ffmpeg43` feature flag (noop since 4.3.4) has been dropped from default features.
|
||||
|
||||
- codec: deprecate APIs based on deprecated (since FFmpeg 3.1) `avcodec_decode_video2()` / `avcodec_decode_audio4()` / `avcodec_encode_video2()` /`avcodec_encode_audio2()` -- `decoder::Video::decode()`, `decode::Audio::decode()`, `encoder::Video::encode()` and `encoder::Audio::decode()`. Users should migrate to `send_packet()` / `send_eof()`, `receive_frame()`, `send_frame()` / `send_eof()`, and `receive_packet()` APIs instead, which are based on the modern send/receive APIs. See [documentation in `libavcodec/avcodec.h`](https://github.com/FFmpeg/FFmpeg/blob/n4.3.1/libavcodec/avcodec.h#L84-L196) for details. (#28)
|
||||
|
||||
- codec: fix signature of `Packet::write_interleaved`; previously `Result<bool, Error>`, now `Result<(), Error>`. (#25)
|
||||
|
||||
4.3.8
|
||||
-----
|
||||
- software::resampling: add Context::get_with for specifying additional options. (#41)
|
||||
|
||||
4.3.7
|
||||
-----
|
||||
|
||||
- codec: fix codec description potential null ptr issue. (#36)
|
||||
|
||||
4.3.6
|
||||
-----
|
||||
|
||||
- util: fix Windows compatibility due to unavailable errnos. (#30)
|
||||
|
||||
4.3.5
|
||||
-----
|
||||
|
||||
- util: add `util::log` module to expose FFmpeg's logging facilities.
|
||||
|
||||
- filter: add method `Source::close()` to expose `av_buffersrc_close`. (#23)
|
||||
|
||||
- codec: add new encoding/decoding APIs `send_frame()` / `send_eof()`, `receive_packet()` to `encoder::{Audio, Video}` and `send_packet()` / `send_eof()`, `receive_frame()` to `decoder::{Audio, Video}` based on modern send/receive APIs (instead of `avcodec_decode_video2()` / `avcodec_decode_audio4()` / `avcodec_encode_video2()` /`avcodec_encode_audio2()` which have been deprecated since FFmpeg 3.1). Users should consider switching to the new APIs. See [documentation in `libavcodec/avcodec.h`](https://github.com/FFmpeg/FFmpeg/blob/n4.3.1/libavcodec/avcodec.h#L84-L196) for details. (#28)
|
||||
|
||||
- util: introduce new `Error` variant `Error::Other { errno }` for wrapped POSIX error codes (see the `AVERROR` macro in `libavutil/error.h`), and reexport common POSIX error codes under `util::error`. (#24)
|
||||
|
||||
4.3.4
|
||||
-----
|
||||
|
||||
- crate: FFmpeg version detection is now automatic, obseleting feature flags `ffmpeg4`, `ffmpeg41`, `ffmpeg42` and `ffmpeg43`. The flags are kept as noop for now, will be removed in 5.0.
|
||||
- Fork from https://github.com/zmwangx/rust-ffmpeg
|
||||
- Fix building against git ffmpeg by making enums non-exhaustive
|
||||
- Reset versioning. The new versioning scheme makes the crate version independent of the ffmpeg version,
|
||||
but tags the ffmpeg version as semver metadata. When including this crate as a dependency, you only need
|
||||
to specify the crate version itself e.g. "1.0.0". The tagged ffmpeg version is merely informative and indicates
|
||||
the latest stable ffmpeg at the time the version of the crate was released, which is also the version that
|
||||
this crate is tested against.
|
||||
|
11
Cargo.toml
11
Cargo.toml
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ffmpeg-the-third"
|
||||
version = "1.0.0+ffmpeg-5.1.2"
|
||||
version = "1.0.1+ffmpeg-5.1.2"
|
||||
build = "build.rs"
|
||||
|
||||
authors = ["meh. <meh@schizofreni.co>", "Zhiming Wang <i@zhimingwang.org>"]
|
||||
@ -25,15 +25,6 @@ default = [
|
||||
"non-exhaustive-enums",
|
||||
]
|
||||
|
||||
# ffmpeg<xy> are obsolete features kept for backward compatibility purposes and
|
||||
# don't do anything anymore (equivalents are automatically specified through
|
||||
# compile-time detection in ffmpeg-sys-the-third). Deprecation plan: all these
|
||||
# features will be removed come 5.0.
|
||||
ffmpeg43 = []
|
||||
ffmpeg42 = []
|
||||
ffmpeg41 = []
|
||||
ffmpeg4 = []
|
||||
|
||||
static = ["ffmpeg-sys-the-third/static"]
|
||||
build = ["static", "ffmpeg-sys-the-third/build"]
|
||||
|
||||
|
@ -6,7 +6,7 @@ This is a fork of the abandoned [ffmpeg-next](https://crates.io/crates/ffmpeg-ne
|
||||
|
||||
Currently supported FFmpeg versions: 4.x, 5.x.
|
||||
|
||||
Build instructions can be found on the [wiki](https://github.com/shssoichiro/ffmpeg-the-third/wiki/Notes-on-building).
|
||||
Build instructions can be found on the [wiki](https://github.com/zmwangx/rust-ffmpeg/wiki/Notes-on-building).
|
||||
|
||||
Documentation:
|
||||
|
||||
@ -14,10 +14,6 @@ Documentation:
|
||||
- [FFmpeg user manual](https://ffmpeg.org/ffmpeg-all.html);
|
||||
- [FFmpeg Doxygen](https://ffmpeg.org/doxygen/trunk/).
|
||||
|
||||
_Note on upgrading to v4.3.4 or later: v4.3.4 introduced automatic FFmpeg version detection, obsoleting feature flags `ffmpeg4`, `ffmpeg41`, `ffmpeg42` and `ffmpeg43`. If you manually specify any of these features, now is the time to remove them; if you use `ffmpeg43` through the `default` feature, it's still on for backward-compatibility but it has turned into a no-op, and you don't need to do anything. Deprecation plan: `ffmpeg43` will be dropped from default features come 4.4, and all these features will be removed come 5.0._
|
||||
|
||||
_See [CHANGELOG.md](CHANGELOG.md) for other information on version upgrades._
|
||||
|
||||
A word on versioning: major and minor versions of this crate track major and minor versions of FFmpeg, e.g. 4.2.x of this crate has been updated to support the 4.2.x series of FFmpeg. Patch level is reserved for changes to this crate and does not track FFmpeg patch versions. Since we can only freely bump the patch level, versioning of this crate differs from semver: minor versions may behave like semver major versions and introduce backward-incompatible changes; patch versions may behave like semver minor versions and introduce new APIs. Please peg the version you use accordingly.
|
||||
|
||||
**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.**
|
||||
|
Loading…
x
Reference in New Issue
Block a user