Browse Source

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
tags/v0.6
Michael Niedermayer 15 years ago
parent
commit
0332324a48
1 changed files with 7 additions and 2 deletions
  1. +7
    -2
      libavformat/mpeg.c

+ 7
- 2
libavformat/mpeg.c View File

@@ -247,8 +247,13 @@ static int mpegps_read_pes_header(AVFormatContext *s,
startcode = find_next_start_code(s->pb, &size, &m->header_state); startcode = find_next_start_code(s->pb, &size, &m->header_state);
last_sync = url_ftell(s->pb); last_sync = url_ftell(s->pb);
//printf("startcode=%x pos=0x%"PRIx64"\n", startcode, 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) if (startcode == PACK_START_CODE)
goto redo; goto redo;
if (startcode == SYSTEM_HEADER_START_CODE) if (startcode == SYSTEM_HEADER_START_CODE)


Loading…
Cancel
Save