+bool wxSoundWave::HandleOutputMSADPCM(wxDataInputStream& data, wxUint32 len,
+ wxUint16 channels,
+ wxUint32 sample_fq, wxUint32 byte_p_sec,
+ wxUint16 byte_p_spl, wxUint16 bits_p_spl)
+{
+ wxSoundFormatMSAdpcm sndformat;
+ wxInt16 *coefs[2];
+ wxUint16 coefs_len, i;
+ wxUint16 block_size;
+
+ sndformat.SetSampleRate(sample_fq);
+ sndformat.SetChannels(channels);
+
+ block_size = data.Read16();
+ coefs_len = data.Read16();
+
+ coefs[0] = new wxInt16[coefs_len];
+ coefs[1] = new wxInt16[coefs_len];
+
+ for (i=0;i<coefs_len;i++) {
+ coefs[0][i] = data.Read16();
+ coefs[1][i] = data.Read16();
+ }
+
+ sndformat.SetCoefs(coefs, 2, coefs_len);
+ sndformat.SetBlockSize(block_size);
+
+ delete[] coefs[0];
+ delete[] coefs[1];
+
+ if (!SetSoundFormat(sndformat))
+ return FALSE;
+
+ len -= coefs_len*4 + 4;
+
+ m_input->SeekI(len, wxFromCurrent);
+
+ return TRUE;
+}
+
+bool wxSoundWave::HandleOutputG721(wxDataInputStream& data, wxUint32 len,
+ wxUint16 channels,