aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-08-27 12:44:31 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-11-26 16:58:32 +0100
commit377d68f9f4ab8f7affa9a8db640dc58fe1ed96d7 (patch)
tree802fda95351d40a1f979a845ed79df15b2f78f4e
parent221abc1ef63ae962e57bc98801f61b6f580d17ae (diff)
downloadffmpeg-377d68f9f4ab8f7affa9a8db640dc58fe1ed96d7.tar.gz
avcodec/libopusenc: Fix infinite loop on flushing after 0 input
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 6701c92fa4269872856c70c3170a9b3291b46247) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/libopusenc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c
index 6bb48628ab..1d665b9b7c 100644
--- a/libavcodec/libopusenc.c
+++ b/libavcodec/libopusenc.c
@@ -326,7 +326,7 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt,
} else
audio = frame->data[0];
} else {
- if (!opus->afq.remaining_samples)
+ if (!opus->afq.remaining_samples || (!opus->afq.frame_alloc && !opus->afq.frame_count))
return 0;
audio = opus->samples;
memset(audio, 0, opus->opts.packet_size * sample_size);