diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-29 22:11:40 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-29 22:11:40 +0000 |
commit | e67b12fddc7ca1f9b6e1d68d0b6a7e42c9fa8fb6 (patch) | |
tree | d877ca5d6d9347399955b65941ce752b9d17d0bd /libmpdemux/demux_mov.c | |
parent | 10f5c87656d2eb530732603236b29fdc86229edc (diff) | |
download | mpv-e67b12fddc7ca1f9b6e1d68d0b6a7e42c9fa8fb6.tar.bz2 mpv-e67b12fddc7ca1f9b6e1d68d0b6a7e42c9fa8fb6.tar.xz |
seek ebfore begin of the movie fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2546 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mov.c')
-rw-r--r-- | libmpdemux/demux_mov.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c index afcd801f60..a546831687 100644 --- a/libmpdemux/demux_mov.c +++ b/libmpdemux/demux_mov.c @@ -747,9 +747,11 @@ if(trak->samplesize){ while(trak->pos<trak->chunks_size && trak->chunks[trak->pos].sample<sample) ++trak->pos; pts=(float)(trak->chunks[trak->pos].sample*trak->duration)/(float)trak->timescale; } else { - unsigned int ipts=pts; -// printf("MOV track seek - sample: %d \n",ipts); - if(!(flags&1)) ipts+=trak->samples[trak->pos].pts; + unsigned int ipts; + if(!(flags&1)) pts+=trak->samples[trak->pos].pts; + if(pts<0) pts=0; + ipts=pts; + //printf("MOV track seek - sample: %d \n",ipts); for(trak->pos=0;trak->pos<trak->samples_size;++trak->pos){ if(trak->samples[trak->pos].pts>=ipts) break; // found it! } |