From 25d1c7b528d88c8c80bb6a99c9d75120a55c80e1 Mon Sep 17 00:00:00 2001 From: jstebbins Date: Sun, 2 Jan 2011 20:35:30 +0000 Subject: fix a problem reading flv files that have null packets ffmpeg will return error code EAGAIN for these packets. we were terminating when seeing this error code. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3724 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- libhb/stream.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libhb/stream.c b/libhb/stream.c index 32d407735..7d9b016cc 100644 --- a/libhb/stream.c +++ b/libhb/stream.c @@ -3432,6 +3432,12 @@ static int ffmpeg_read( hb_stream_t *stream, hb_buffer_t *buf ) again: if ( ( err = av_read_frame( stream->ffmpeg_ic, stream->ffmpeg_pkt )) < 0 ) { + // av_read_frame can return EAGAIN. In this case, it expects + // to be called again to get more data. + if ( err == AVERROR(EAGAIN) ) + { + goto again; + } // XXX the following conditional is to handle avi files that // use M$ 'packed b-frames' and occasionally have negative // sizes for the null frames these require. -- cgit v1.2.3