Breaking
- Remove the undertested
av.optionandav.descriptorAPIs, along with the relatedCodecandFilterdescriptor accessors.
Features
- Use FFmpeg 8.1.1 in the binary wheels by @WyattBlue.
- Build Linux ARMv7 binary wheels by @WyattBlue.
- Expose
AVCodecContext.global_qualityby @WyattBlue in [#2246]. - Expose
Stream.discardso demuxing and seeking can skip unwanted streams by @WyattBlue (#2272). - Add
Stream.set_display_matrix()andStream.set_display_rotation()to write the container display (rotation) matrix on output streams by @hmaarrfk in [#2287]. - Add
Container.video_codec_idto force a specific video codec on a container by @WyattBlue (#2243).
Fixes
- Add
cython.finalto leaf classes, ensuring that they are not subclassed by @WyattBlue. - Warn that
CodecContext.decode()is not memory safe in some cases. - Fix memory leaks in
FFmpegError,AudioLayoutchannel layouts, andFrame.opaque, and break a reference cycle betweenFilterLinkandGraphby @lgeiger. - Reduce excessive logging lock contention by @WyattBlue (#2276).
- Fix a crash when accessing
Streamfrom multiple threads under FFmpeg 8.1 by @WyattBlue (#2247). - Fix a crash during
InputContainerinitialization by @WyattBlue (#2010). - Fix
enumerate_input_devicesandenumerate_output_devicesraisingAttributeErrorby @WyattBlue and @kazuki (#2264). - Map HTTP 429 to
HTTPTooManyRequestsErrorinstead ofUndefinedErrorby @WyattBlue (#2267). - Fix crash in
VideoFrame.to_ndarray()andto_image()on bottom-up frames with a negativeline_sizeby @WyattBlue (#2213). - Make
DispositionanIntFlagsoStream.dispositioncan be assigned without raisingTypeErrorby @HotariTobu. - Assign parser-inferred
pts,dts, anddurationto packets fromCodecContext.parse()by @WyattBlue (#1919). - Copy
time_baseinadd_stream_from_template()by @daveisfera in [#2249]. - Fix the remux examples dropping keyframes that demux with no DTS, which produced audio-only output by @WyattBlue (#1917).
- Fix subtitle UTF-8 handling by @jbree in [#2271].
- Fix several incorrect
mallocsize calculations by @WyattBlue.
New Contributors
- @HotariTobu made their first contribution in https://github.com/PyAV-Org/PyAV/pull/2257
- @jbree made their first contribution in https://github.com/PyAV-Org/PyAV/pull/2271
- @kazuki made their first contribution in https://github.com/PyAV-Org/PyAV/pull/2288
Full Changelog: https://github.com/PyAV-Org/PyAV/compare/v17.0.1...v17.1.0