- 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:
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()
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.h
for 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::log
module 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.h
for details. (#28) -
util: introduce new
Error
variantError::Other { errno }
for wrapped POSIX error codes (see theAVERROR
macro inlibavutil/error.h
), and reexport common POSIX error codes underutil::error
. (#24)
- crate: FFmpeg version detection is now automatic, obseleting feature flags
ffmpeg4
,ffmpeg41
,ffmpeg42
andffmpeg43
. The flags are kept as noop for now, will be removed in 5.0.