From ff1559b774ccf9435a020844f9b8787eca0a9061 Mon Sep 17 00:00:00 2001 From: arpi Date: Wed, 26 Dec 2001 20:44:56 +0000 Subject: mpeg startpos (-ss, -chapter) fixed git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3773 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demuxer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libmpdemux/demuxer.c') diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 28dfe196b3..1c7046d78f 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -442,16 +442,18 @@ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_FLI){ if(file_format==DEMUXER_TYPE_UNKNOWN || file_format==DEMUXER_TYPE_MPEG_PS){ int pes=1; int tmp; + off_t tmppos; while(pes>=0){ demuxer=new_demuxer(stream,DEMUXER_TYPE_MPEG_PS,audio_id,video_id,dvdsub_id); // try to pre-detect PES: + tmppos=stream_tell(demuxer->stream); 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); + stream_seek(demuxer->stream,tmppos); if(!pes) demuxer->synced=3; // hack! -- cgit v1.2.3