- 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.
-
crate:
ffmpeg43feature 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()andencoder::Audio::decode(). Users should migrate tosend_packet()/send_eof(),receive_frame(),send_frame()/send_eof(), andreceive_packet()APIs instead, which are based on the modern send/receive APIs. See documentation inlibavcodec/avcodec.hfor details. (#28) -
codec: fix signature of
Packet::write_interleaved; previouslyResult<bool, Error>, nowResult<(), Error>. (#25)
- software::resampling: add Context::get_with for specifying additional options. (#41)
- codec: fix codec description potential null ptr issue. (#36)
- util: fix Windows compatibility due to unavailable errnos. (#30)
-
util: add
util::logmodule to expose FFmpeg's logging facilities. -
filter: add method
Source::close()to exposeav_buffersrc_close. (#23) -
codec: add new encoding/decoding APIs
send_frame()/send_eof(),receive_packet()toencoder::{Audio, Video}andsend_packet()/send_eof(),receive_frame()todecoder::{Audio, Video}based on modern send/receive APIs (instead ofavcodec_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 inlibavcodec/avcodec.hfor details. (#28) -
util: introduce new
ErrorvariantError::Other { errno }for wrapped POSIX error codes (see theAVERRORmacro inlibavutil/error.h), and reexport common POSIX error codes underutil::error. (#24)
- crate: FFmpeg version detection is now automatic, obseleting feature flags
ffmpeg4,ffmpeg41,ffmpeg42andffmpeg43. The flags are kept as noop for now, will be removed in 5.0.