-static void FrameInfo_IMA_ADPCM( demux_t *, unsigned int *, mtime_t * );
-static void FrameInfo_MS_ADPCM ( demux_t *, unsigned int *, mtime_t * );
-static void FrameInfo_PCM ( demux_t *, unsigned int *, mtime_t * );
+#define __EVEN( x ) (((x) + 1) & ~1)
+
+static int ChunkFind( demux_t *, const char *, unsigned int * );
+
+static void FrameInfo_IMA_ADPCM( demux_t *, unsigned int *, int * );
+static void FrameInfo_MS_ADPCM ( demux_t *, unsigned int *, int * );
+static void FrameInfo_PCM ( demux_t *, unsigned int *, int * );
+
+static const uint32_t pi_channels_src[] =
+ { WAVE_SPEAKER_FRONT_LEFT, WAVE_SPEAKER_FRONT_RIGHT,
+ WAVE_SPEAKER_FRONT_CENTER, WAVE_SPEAKER_LOW_FREQUENCY,
+ WAVE_SPEAKER_BACK_LEFT, WAVE_SPEAKER_BACK_RIGHT,
+ WAVE_SPEAKER_SIDE_LEFT, WAVE_SPEAKER_SIDE_RIGHT, 0 };
+static const uint32_t pi_channels_in[] =
+ { AOUT_CHAN_LEFT, AOUT_CHAN_RIGHT,
+ AOUT_CHAN_CENTER, AOUT_CHAN_LFE,
+ AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT,
+ AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT, 0 };
+static const uint32_t pi_channels_out[] =
+ { AOUT_CHAN_LEFT, AOUT_CHAN_RIGHT,
+ AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT,
+ AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT,
+ AOUT_CHAN_CENTER, AOUT_CHAN_LFE, 0 };