[SCM] libav/experimental: Dont give up after 100kb of zero bytes but returnd EAGAIN fixes issue1729
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:59:43 UTC 2013
The following commit has been merged in the experimental branch:
commit 0332324a48c8571ff30b50c194e68bf04a3e3f2b
Author: Michael Niedermayer <michaelni at gmx.at>
Date: Wed Feb 10 14:25:57 2010 +0000
Dont give up after 100kb of zero bytes but returnd EAGAIN
fixes issue1729
Originally committed as revision 21738 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index d4d4d21..2b1cc34 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -247,8 +247,13 @@ static int mpegps_read_pes_header(AVFormatContext *s,
startcode = find_next_start_code(s->pb, &size, &m->header_state);
last_sync = url_ftell(s->pb);
//printf("startcode=%x pos=0x%"PRIx64"\n", startcode, url_ftell(s->pb));
- if (startcode < 0)
- return AVERROR(EIO);
+ if (startcode < 0){
+ if(url_feof(s->pb))
+ return AVERROR_EOF;
+ //FIXME we should remember header_state
+ return AVERROR(EAGAIN);
+ }
+
if (startcode == PACK_START_CODE)
goto redo;
if (startcode == SYSTEM_HEADER_START_CODE)
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list