Mercurial > mplayer.hg
comparison libmpdemux/demux_mov.c @ 16496:cca6a74cf898
Wrong editlist handling: end pts must be included.
Fixes another BBC sample (why is it always BBC samples that break MPlayer??):
http://images.apple.com/movies/us/hd_gallery/gl1800/720p/bbc-africa_m720p.mov
author | reimar |
---|---|
date | Fri, 16 Sep 2005 11:05:29 +0000 |
parents | 6ff303d2876b |
children | 9574fb378080 |
comparison
equal
deleted
inserted
replaced
16495:d2a47e40462f | 16496:cca6a74cf898 |
---|---|
274 el->pts_offset=((long long)e_pts*(long long)trak->timescale)/(long long)timescale-trak->samples[sample].pts; | 274 el->pts_offset=((long long)e_pts*(long long)trak->timescale)/(long long)timescale-trak->samples[sample].pts; |
275 pts+=((long long)el->dur*(long long)trak->timescale)/(long long)timescale; | 275 pts+=((long long)el->dur*(long long)trak->timescale)/(long long)timescale; |
276 e_pts+=el->dur; | 276 e_pts+=el->dur; |
277 // find end sample | 277 // find end sample |
278 for(;sample<trak->samples_size;sample++){ | 278 for(;sample<trak->samples_size;sample++){ |
279 if(pts<=trak->samples[sample].pts) break; | 279 if(pts<trak->samples[sample].pts) break; |
280 } | 280 } |
281 el->frames=sample-el->start_sample; | 281 el->frames=sample-el->start_sample; |
282 frame+=el->frames; | 282 frame+=el->frames; |
283 mp_msg(MSGT_DEMUX,MSGL_V,"EL#%d: pts=%d 1st_sample=%d frames=%d (%5.3fs) pts_offs=%d\n",i, | 283 mp_msg(MSGT_DEMUX,MSGL_V,"EL#%d: pts=%d 1st_sample=%d frames=%d (%5.3fs) pts_offs=%d\n",i, |
284 el->pos,el->start_sample, el->frames, | 284 el->pos,el->start_sample, el->frames, |