summaryrefslogtreecommitdiffstats
path: root/libhb
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2011-01-02 20:35:30 +0000
committerjstebbins <[email protected]>2011-01-02 20:35:30 +0000
commit25d1c7b528d88c8c80bb6a99c9d75120a55c80e1 (patch)
tree971044a5859dd3c2bce7755790c5369128a1d08e /libhb
parent479d97982ebe32223edb9064662dd27e4641fe08 (diff)
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
Diffstat (limited to 'libhb')
-rw-r--r--libhb/stream.c6
1 files changed, 6 insertions, 0 deletions
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.