From adb5f7b41faf354a3e0bf722f44aeb230aefa310 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 13 Mar 2023 05:08:53 +0100 Subject: [PATCH] avcodec/libopusenc: Remove redundant av_packet_unref() The AVPacket given to an encoder's encode callback is unreferenced generically on error. Signed-off-by: Andreas Rheinhardt --- libavcodec/libopusenc.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c index 75bc491c9e..5a0786f32f 100644 --- a/libavcodec/libopusenc.c +++ b/libavcodec/libopusenc.c @@ -512,18 +512,14 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt, discard_padding = opus->opts.packet_size - avpkt->duration; // Check if subtraction resulted in an overflow - if ((discard_padding < opus->opts.packet_size) != (avpkt->duration > 0)) { - av_packet_unref(avpkt); + if ((discard_padding < opus->opts.packet_size) != (avpkt->duration > 0)) return AVERROR(EINVAL); - } if (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); - } AV_WL32(side_data + 4, discard_padding); }