comparison libmpdemux/demuxer.c @ 6871:88953ff93743

count blocks by rounded-up chunksizes instead of chunks - we need full emulation of dshow avi demuxer bugs :( fixes silly nandub-style a-v delaying in avi with vbr mp3...
author arpi
date Fri, 02 Aug 2002 17:44:16 +0000
parents f01e5cefb828
children 1a747aee653b
comparison
equal deleted inserted replaced
6870:dad5f8b3e8a0 6871:88953ff93743
33 ds->pts_bytes=0; 33 ds->pts_bytes=0;
34 ds->eof=0; 34 ds->eof=0;
35 ds->pos=0; 35 ds->pos=0;
36 ds->dpos=0; 36 ds->dpos=0;
37 ds->pack_no=0; 37 ds->pack_no=0;
38 ds->block_no=0;
38 //--------------- 39 //---------------
39 ds->packs=0; 40 ds->packs=0;
40 ds->bytes=0; 41 ds->bytes=0;
41 ds->first=ds->last=ds->current=NULL; 42 ds->first=ds->last=ds->current=NULL;
42 ds->id=id; 43 ds->id=id;
44 //---------------- 45 //----------------
45 ds->asf_seq=-1; 46 ds->asf_seq=-1;
46 ds->asf_packet=NULL; 47 ds->asf_packet=NULL;
47 //---------------- 48 //----------------
48 ds->ss_mul=ds->ss_div=1; 49 ds->ss_mul=ds->ss_div=1;
50 ds->block_size=1;
49 //---------------- 51 //----------------
50 ds->sh=NULL; 52 ds->sh=NULL;
51 return ds; 53 return ds;
52 } 54 }
53 55
318 ds->buffer_pos=0; 320 ds->buffer_pos=0;
319 ds->buffer_size=p->len; 321 ds->buffer_size=p->len;
320 ds->pos=p->pos; 322 ds->pos=p->pos;
321 ds->dpos+=p->len; // !!! 323 ds->dpos+=p->len; // !!!
322 ++ds->pack_no; 324 ++ds->pack_no;
325 ds->block_no+=(p->len+ds->block_size-1)/ds->block_size;
323 if(p->pts){ 326 if(p->pts){
324 ds->pts=p->pts; 327 ds->pts=p->pts;
325 ds->pts_bytes=0; 328 ds->pts_bytes=0;
326 } 329 }
327 ds->pts_bytes+=p->len; // !!! 330 ds->pts_bytes+=p->len; // !!!