As the subject says, this puts AVPacket in line with AVFrame, allowing easier extensibility of the struct, and preventing potential undefined behavior in some cases when packets are used uninitialized on stack.
This set adapts only a few modules, examples, and the tools, as those were the most complex and the ones that better reflect how AVPackets must be used after the deprecation period. I have a branch ready removing every other instance of av_init_packet() in the tree, and all uses of AVPacket on stack i could find. They are pretty trivial, so i wont bother spamming the ML with 40+ patches until the core changes are upstreamed. It's also not exhaustive, as i'm sure i missed a few cases of stack usage, but they can be removed any time between the deprecation of public sizeof(AVPacket) and it's effective removal 2+ years from now. Then there's the few cases where an AVPacket is part of another public struct, as is the case of AVPacketList, or attached_pic in AVSteam. The latter i could adapt right now, but it would mean a lot of preprocessor checks littering the codebase until removed, so i refrained from doing so. James Almer (10): avformat/mux: use av_packet_alloc() to allocate packets avformat/movenc: use av_packet_alloc() to allocate packets avformat/utils: use av_packet_alloc() to allocate packets doc/examples/demuxing_decoding: use av_packet_alloc() to allocate packets doc/examples/transcode_aac: use av_packet_alloc() to allocate packets doc/examples/transcoding: use av_packet_alloc() to allocate packets fftools/ffprobe: use av_packet_alloc() to allocate packets fftools/ffmpeg: use av_packet_alloc() to allocate packets fftools/ffplay: use av_packet_alloc() to allocate packets avcodec/packet: deprecate av_init_packet() doc/examples/demuxing_decoding.c | 25 +-- doc/examples/transcode_aac.c | 46 +++-- doc/examples/transcoding.c | 48 +++-- fftools/ffmpeg.c | 318 ++++++++++++++++--------------- fftools/ffmpeg.h | 4 + fftools/ffmpeg_opt.c | 5 +- fftools/ffplay.c | 222 ++++++++++++--------- fftools/ffprobe.c | 34 ++-- libavcodec/avpacket.c | 23 ++- libavcodec/packet.h | 23 ++- libavcodec/version.h | 3 + libavformat/avformat.h | 4 + libavformat/internal.h | 6 + libavformat/movenc.c | 101 ++++++---- libavformat/movenc.h | 2 + libavformat/movenchint.c | 19 +- libavformat/mux.c | 44 +++-- libavformat/options.c | 9 + libavformat/utils.c | 106 ++++++----- 19 files changed, 613 insertions(+), 429 deletions(-) -- 2.30.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".