Quoting Andreas Rheinhardt (2021-12-09 14:08:04) > ffmal_add_packet() basically duplicated the logic in > av_packet_make_refcounted() with the added twist that it always > created a reference even if one is already available. > This commit stops doing this. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > --- > libavcodec/mmaldec.c | 23 ++++++----------------- > 1 file changed, 6 insertions(+), 17 deletions(-) > > diff --git a/libavcodec/mmaldec.c b/libavcodec/mmaldec.c > index 3e11d487ab..0c7df0a0bc 100644 > --- a/libavcodec/mmaldec.c > +++ b/libavcodec/mmaldec.c > @@ -485,29 +485,19 @@ static int ffmmal_add_packet(AVCodecContext *avctx, > AVPacket *avpkt, > int is_extradata) > { > MMALDecodeContext *ctx = avctx->priv_data; > - AVBufferRef *buf = NULL; > + const AVBufferRef *buf = NULL; > int size = 0; > uint8_t *data = (uint8_t *)""; > uint8_t *start; > int ret = 0; > > if (avpkt->size) { > - if (avpkt->buf) { > - buf = av_buffer_ref(avpkt->buf); > - size = avpkt->size; > - data = avpkt->data; > - } else { > - buf = av_buffer_alloc(avpkt->size); > - if (buf) { > - memcpy(buf->data, avpkt->data, avpkt->size); > - size = buf->size; > - data = buf->data; > - } > - } > - if (!buf) { > - ret = AVERROR(ENOMEM); > + ret = av_packet_make_refcounted(avpkt);
It seems better to call this from the place where the extradata packet is created, since that should be the only source of non-refcounted packets. -- Anton Khirnov _______________________________________________ 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".