- p_init = malloc( 18 + i_decoder_specific_info_len);
- memset( p_init, 0, 18 + i_decoder_specific_info_len);
- MP4_Set2BytesLE( p_init + 2, /* i_channel */
- p_sample->data.p_sample_soun->i_channelcount );
- MP4_Set4BytesLE( p_init + 4, /* samplepersec */
- p_sample->data.p_sample_soun->i_sampleratehi );
- MP4_Set4BytesLE( p_init + 8, /* avgbytespersec */
- p_sample->data.p_sample_soun->i_channelcount *
- p_sample->data.p_sample_soun->i_sampleratehi *
- (p_sample->data.p_sample_soun->i_samplesize/8) );
- MP4_Set2BytesLE( p_init + 14, /* bits/sample */
- p_sample->data.p_sample_soun->i_samplesize );
-
- MP4_Set2BytesLE( p_init + 16, /* i_size, specific info len*/
- i_decoder_specific_info_len );
+ p_init = malloc( sizeof( WAVEFORMATEX ) + i_decoder_specific_info_len);
+ p_wf = (WAVEFORMATEX*)p_init;
+
+ p_wf->wFormatTag = 0;
+ p_wf->nChannels = p_sample->data.p_sample_soun->i_channelcount;
+ p_wf->nSamplesPerSec = p_sample->data.p_sample_soun->i_sampleratehi;
+ p_wf->nAvgBytesPerSec = p_sample->data.p_sample_soun->i_channelcount *
+ p_sample->data.p_sample_soun->i_sampleratehi *
+ p_sample->data.p_sample_soun->i_samplesize / 8;
+ p_wf->nBlockAlign = 0;
+ p_wf->wBitsPerSample = p_sample->data.p_sample_soun->i_samplesize;
+ p_wf->cbSize = i_decoder_specific_info_len;
+