[FFmpeg-devel] [PATCH] fix infinite loop with libavfilter enabled and stream copy when first frame is not keyframe

Michael Niedermayer michaelni
Mon Jul 5 01:23:55 CEST 2010


On Sat, Jul 03, 2010 at 06:03:46PM -0700, Baptiste Coudurier wrote:
> Hi,
>
> $subject, what happens is frame_available is always set to 1, therefore 
> infinite loop.

that doesnt pull all frames out of the filter chain

does below work for you too ? (untested!)

Index: ffmpeg.c
===================================================================
--- ffmpeg.c	(revision 24050)
+++ ffmpeg.c	(working copy)
@@ -1773,13 +1773,11 @@
                         av_free_packet(&opkt);
                     }
                 }
-#if CONFIG_AVFILTER
-                frame_available = (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) &&
-                        ist->out_video_filter && avfilter_poll_frame(ist->out_video_filter->inputs[0]);
-#endif
             }
 
 #if CONFIG_AVFILTER
+            frame_available = (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) &&
+                              ist->out_video_filter && avfilter_poll_frame(ist->out_video_filter->inputs[0]);
             if(ist->picref)
                 avfilter_unref_pic(ist->picref);
         }

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

It is dangerous to be right in matters on which the established authorities
are wrong. -- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100705/f857a124/attachment.pgp>



More information about the ffmpeg-devel mailing list