Commit ca613dcc authored by Aman Gupta's avatar Aman Gupta

avcodec/mediacodecdec_common: ensure current input buffer is always used correctly

The loop may mutate the input buffer, so re-fetch it to ensure
the current one is always used.
Signed-off-by: 's avatarAman Gupta <aman@tmm1.net>
Signed-off-by: 's avatarMatthieu Bouron <matthieu.bouron@gmail.com>
parent f821d195
......@@ -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)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment