[gtk: 1/2] ffmpeg: Fix crash on some media files




commit 1c8bddf3cad7ac2721c89f661268d0a558057683
Author: Stephan Vedder <vedder mbits info>
Date:   Mon Jul 4 11:41:45 2022 +0200

    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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]