Handle av_read_frame() EAGAIN return.
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 22 Jan 2009 12:04:01 +0000 (12:04 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 22 Jan 2009 12:04:01 +0000 (12:04 +0000)
Originally committed as revision 16717 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c

index ee6b01784a51ec372b370879319fbd7daf9a1aa7..48dafba36b91b2fb47b68a7f95dc9b4063a2ef30 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2100,7 +2100,10 @@ static int av_encode(AVFormatContext **output_files,
 
         /* read a frame from it and output it in the fifo */
         is = input_files[file_index];
-        if (av_read_frame(is, &pkt) < 0) {
+        ret= av_read_frame(is, &pkt);
+        if(ret == AVERROR(EAGAIN))
+            continue;
+        if (ret < 0) {
             file_table[file_index].eof_reached = 1;
             if (opt_shortest)
                 break;