[FFmpeg-devel] [PATCH 1/3] avcodec/libmp3lame: Remove redundant av_packet_unref()
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Wed Mar 15 18:00:40 EET 2023
Andreas Rheinhardt:
> The AVPacket given to an encoder's encode callback
> is unreferenced generically on error.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> This stuff should probably be moved into the AudioFrameQueue
> someday.
>
> libavcodec/libmp3lame.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c
> index 26e58baa3d..e119189f2a 100644
> --- a/libavcodec/libmp3lame.c
> +++ b/libavcodec/libmp3lame.c
> @@ -280,17 +280,14 @@ static int mp3lame_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
> // Check if subtraction resulted in an overflow
> if ((discard_padding < avctx->frame_size) != (avpkt->duration > 0)) {
> av_log(avctx, AV_LOG_ERROR, "discard padding overflow\n");
> - av_packet_unref(avpkt);
> return AVERROR(EINVAL);
> }
> if ((!s->delay_sent && avctx->initial_padding > 0) || discard_padding > 0) {
> uint8_t* side_data = av_packet_new_side_data(avpkt,
> AV_PKT_DATA_SKIP_SAMPLES,
> 10);
> - if(!side_data) {
> - av_packet_unref(avpkt);
> + if (!side_data)
> return AVERROR(ENOMEM);
> - }
> if (!s->delay_sent) {
> AV_WL32(side_data, avctx->initial_padding);
> s->delay_sent = 1;
Will apply this patchset tomorrow unless there are objections.
- Andreas
More information about the ffmpeg-devel
mailing list