[FFmpeg-devel] [PATCH 5/6] avcodec/mediacodecdec_common: ensure current input buffer is always used correctly
Aman Gupta
ffmpeg at tmm1.net
Thu Sep 5 21:27:34 EEST 2019
From: Aman Gupta <aman at tmm1.net>
The loop may mutate the input buffer, so re-fetch it to ensure
the current one is always used.
Signed-off-by: Aman Gupta <aman at tmm1.net>
---
libavcodec/mediacodecdec_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/mediacodecdec_common.c b/libavcodec/mediacodecdec_common.c
index c538a00775..b9465244a3 100644
--- a/libavcodec/mediacodecdec_common.c
+++ b/libavcodec/mediacodecdec_common.c
@@ -569,7 +569,6 @@ int ff_mediacodec_dec_send(AVCodecContext *avctx, MediaCodecDecContext *s,
int offset = 0;
int need_draining = 0;
uint8_t *data;
- ssize_t index = s->current_input_buffer;
size_t size;
FFAMediaCodec *codec = s->codec;
int status;
@@ -591,6 +590,7 @@ int ff_mediacodec_dec_send(AVCodecContext *avctx, MediaCodecDecContext *s,
}
while (offset < pkt->size || (need_draining && !s->draining)) {
+ ssize_t index = s->current_input_buffer;
if (index < 0) {
index = ff_AMediaCodec_dequeueInputBuffer(codec, input_dequeue_timeout_us);
if (ff_AMediaCodec_infoTryAgainLater(codec, index)) {
--
2.20.1
More information about the ffmpeg-devel
mailing list