ffmpeg | branch: master | Michael Niedermayer <mich...@niedermayer.cc> | Wed Sep 16 01:39:18 2015 +0200| [3496a20bb92570aaa82849f0d5409f2e29fe2d2b] | committer: Michael Niedermayer
avformat/flvdec: Change packet loop to return EAGAIN instead of looping until a valid packet is foud Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3496a20bb92570aaa82849f0d5409f2e29fe2d2b --- libavformat/flvdec.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 826e0d7..cec40e0 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -832,8 +832,10 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) } } - if (size == 0) - continue; + if (size == 0) { + ret = AVERROR(EAGAIN); + goto leave; + } next = size + avio_tell(s->pb); @@ -876,12 +878,15 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) type, size, flags); skip: avio_seek(s->pb, next, SEEK_SET); - continue; + ret = AVERROR(EAGAIN); + goto leave; } /* skip empty data packets */ - if (!size) - continue; + if (!size) { + ret = AVERROR(EAGAIN); + goto leave; + } /* now find stream */ for (i = 0; i < s->nb_streams; i++) { @@ -919,7 +924,8 @@ skip: || st->discard >= AVDISCARD_ALL ) { avio_seek(s->pb, next, SEEK_SET); - continue; + ret = AVERROR(EAGAIN); + goto leave; } break; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog