From 1c8bddf3cad7ac2721c89f661268d0a558057683 Mon Sep 17 00:00:00 2001 From: Stephan Vedder Date: Mon, 4 Jul 2022 11:41:45 +0200 Subject: [PATCH] ffmpeg: Fix crash on some media files Return code EAGAIN expects the user to feed more packets into the decoder --- modules/media/gtkffmediafile.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/media/gtkffmediafile.c b/modules/media/gtkffmediafile.c index 819d14d2c1..2210d31ddd 100644 --- a/modules/media/gtkffmediafile.c +++ b/modules/media/gtkffmediafile.c @@ -292,9 +292,15 @@ gtk_ff_media_file_decode_frame (GtkFfMediaFile *video, if (errnum >= 0) { errnum = avcodec_receive_frame (video->codec_ctx, frame); + if (errnum == AVERROR (EAGAIN)) + { + // Just retry with the next packet + errnum = 0; + continue; + } if (errnum < 0) G_BREAKPOINT(); - if (errnum >= 0) + else { av_packet_unref (&packet); break;