summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-29 22:11:40 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-29 22:11:40 +0000
commite67b12fddc7ca1f9b6e1d68d0b6a7e42c9fa8fb6 (patch)
treed877ca5d6d9347399955b65941ce752b9d17d0bd /libmpdemux
parent10f5c87656d2eb530732603236b29fdc86229edc (diff)
downloadmpv-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')
-rw-r--r--libmpdemux/demux_mov.c8
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!
}