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 <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2023-03-13 05:08:53 +01:00
parent e5abcf0d29
commit adb5f7b41f

View File

@ -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);
}