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
release/0.6
Michael Niedermayer 15 years ago
parent 80242f9bdb
commit 0332324a48
  1. 9
      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); 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) if (startcode < 0){
return AVERROR(EIO); 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