summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-26 20:44:56 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-26 20:44:56 +0000
commitff1559b774ccf9435a020844f9b8787eca0a9061 (patch)
tree16dcf12ea331f684df9169151192597a5863081c /libmpdemux/demuxer.c
parent1eaa5eae03ccd7bbd44dbafe19ce0da1026be04c (diff)
downloadmpv-ff1559b774ccf9435a020844f9b8787eca0a9061.tar.bz2
mpv-ff1559b774ccf9435a020844f9b8787eca0a9061.tar.xz
mpeg startpos (-ss, -chapter) fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3773 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r--libmpdemux/demuxer.c4
1 files changed, 3 insertions, 1 deletions
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!