Hi On Wed, Jun 07, 2006 at 09:58:27PM -0700, joel Schantz wrote:
The index for storing of samples per block is calculated incorrectly. It should be the 16 bits following the mux_a->wf->cbSize element. (imaadpcm WAVEFORMATEX extra data wSamplesPerBlock)
yes, but your code is half wrong too (the svn code is double wrong) the author must have been thirsty ;) @@ -64,7 +64,7 @@ case 0x11: /* imaadpcm */ mux_a->wf->wBitsPerSample = 4; mux_a->wf->cbSize = 2; - ((uint16_t*)mux_a->wf)[sizeof(WAVEFORMATEX)] = + ((uint16_t*)mux_a->wf)[sizeof(WAVEFORMATEX)/2] = ((lavc_actx->block_align - 4 * lavc_actx->channels) / (4 * lavc_actx->channels)) * 8 + 1; this code either wont work on little endian or on big endian cpus [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In the past you could go to a library and read, borrow or copy any book Today you'd get arrested for mere telling someone where the library is