[Mplayer-cvslog] CVS: main/libmpdemux demux_ogg.c,1.25,1.26
Arpi of Ize
arpi at mplayerhq.hu
Wed Jan 29 22:54:37 CET 2003
Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var/tmp.root/cvs-serv1445
Modified Files:
demux_ogg.c
Log Message:
100l... ogg-in-avi (type 0xFFFE) fix
sizeof(WAVEFORMATEX) is 18, since i've fixed struct align, so
2*sizeof(WAVEFORMATEX) is !=40 any more.
Index: demux_ogg.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_ogg.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- demux_ogg.c 5 Jan 2003 13:48:13 -0000 1.25
+++ demux_ogg.c 29 Jan 2003 21:53:56 -0000 1.26
@@ -837,15 +837,16 @@
int plen;
/// Check that the cbSize is enouth big for the following reads
- if(sh_audio->wf->cbSize < 3*sizeof(uint32_t)) {
+ if(sh_audio->wf->cbSize < 22+3*sizeof(uint32_t)) {
mp_msg(MSGT_DEMUX,MSGL_ERR,"AVI OGG : Initial audio header is too small !!!!!\n");
goto fallback;
}
/// Get the size of the 3 header packet
- memcpy(hdrsizes, ((unsigned char*)sh_audio->wf)+2*sizeof(WAVEFORMATEX), 3*sizeof(uint32_t));
+ memcpy(hdrsizes, ((unsigned char*)sh_audio->wf)+22+sizeof(WAVEFORMATEX), 3*sizeof(uint32_t));
+// printf("\n!!!!!! hdr sizes: %d %d %d \n",hdrsizes[0],hdrsizes[1],hdrsizes[2]);
/// Check the size
- if(sh_audio->wf->cbSize < 3*sizeof(uint32_t) + sizeof(uint32_t)+hdrsizes[0]+hdrsizes[1] + hdrsizes[2]) {
+ if(sh_audio->wf->cbSize < 22+3*sizeof(uint32_t)+hdrsizes[0]+hdrsizes[1] + hdrsizes[2]) {
mp_msg(MSGT_DEMUX,MSGL_ERR,"AVI OGG : Audio header is too small !!!!!\n");
goto fallback;
}
@@ -885,15 +886,15 @@
/// Add the header packets in the ogg demuxer audio stream
// Initial header
dp = new_demux_packet(hdrsizes[0]);
- memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+2*sizeof(WAVEFORMATEX)+3*sizeof(uint32_t),hdrsizes[0]);
+ memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+22+sizeof(WAVEFORMATEX)+3*sizeof(uint32_t),hdrsizes[0]);
ds_add_packet(od->audio,dp);
/// Comments
dp = new_demux_packet(hdrsizes[1]);
- memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+2*sizeof(WAVEFORMATEX)+3*sizeof(uint32_t)+hdrsizes[0],hdrsizes[1]);
+ memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+22+sizeof(WAVEFORMATEX)+3*sizeof(uint32_t)+hdrsizes[0],hdrsizes[1]);
ds_add_packet(od->audio,dp);
/// Code book
dp = new_demux_packet(hdrsizes[2]);
- memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+2*sizeof(WAVEFORMATEX)+3*sizeof(uint32_t)+hdrsizes[0]+hdrsizes[1],hdrsizes[2]);
+ memcpy(dp->buffer,((unsigned char*)sh_audio->wf)+22+sizeof(WAVEFORMATEX)+3*sizeof(uint32_t)+hdrsizes[0]+hdrsizes[1],hdrsizes[2]);
ds_add_packet(od->audio,dp);
// Finish setting up the ogg demuxer
More information about the MPlayer-cvslog
mailing list