Mercurial > mplayer.hg
diff libmpdemux/demuxer.c @ 3770:4f1a99fb9d9a
mpeg VDR vs. BIN fixed?
author | arpi |
---|---|
date | Wed, 26 Dec 2001 16:34:06 +0000 |
parents | 61b89c10e4e8 |
children | f9d9f6ab79f4 |
line wrap: on
line diff
--- a/libmpdemux/demuxer.c Wed Dec 26 15:55:24 2001 +0000 +++ b/libmpdemux/demuxer.c Wed Dec 26 16:34:06 2001 +0000 @@ -441,9 +441,20 @@ //=============== Try to open as MPEG-PS file: ================= if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MPEG_PS){ int pes=1; + int tmp; while(pes>=0){ demuxer=new_demuxer(stream,DEMUXER_TYPE_MPEG_PS,audio_id,video_id,dvdsub_id); - if(!pes) demuxer->synced=1; // hack! + + // try to pre-detect PES: + tmp=stream_read_dword(demuxer->stream); + if(tmp==0x1E0 || tmp==0x1C0){ + tmp=stream_read_word(demuxer->stream); + if(tmp>1 && tmp<=2048) pes=0; // demuxer->synced=3; // PES... + } + stream_seek(demuxer->stream,0); + + if(!pes) demuxer->synced=3; // hack! + num_elementary_packets100=0; num_elementary_packets101=0; num_elementary_packets1B6=0;