extra_data and normal packets (from ff_decode_get_packet) processing do not overlap, thus we can re-use the spare AVPacket to send to ffmmal_add_packet.
Furthermore, this removes allocation of AVPacket on the stack and stops using deprecated av_init_packet. --- libavcodec/mmaldec.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libavcodec/mmaldec.c b/libavcodec/mmaldec.c index aab107d325..0aad7d0bb1 100644 --- a/libavcodec/mmaldec.c +++ b/libavcodec/mmaldec.c @@ -793,12 +793,10 @@ static int ffmmal_receive_frame(AVCodecContext *avctx, AVFrame *frame) AVPacket *avpkt = avctx->internal->ds.in_pkt; if (avctx->extradata_size && !ctx->extradata_sent) { - AVPacket pkt = {0}; - av_init_packet(&pkt); - pkt.data = avctx->extradata; - pkt.size = avctx->extradata_size; + avpkt->data = avctx->extradata; + avpkt->size = avctx->extradata_size; ctx->extradata_sent = 1; - if ((ret = ffmmal_add_packet(avctx, &pkt, 1)) < 0) + if ((ret = ffmmal_add_packet(avctx, avpkt, 1)) < 0) return ret; } -- 2.33.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".