+ /* Sanity check the wave format header */
+ i_size = GetDWLE( p_peek + i_peek - 4 );
+ if( i_size + i_peek > DTS_PROBE_SIZE ) return VLC_EGENERIC;
+ i_peek += i_size + 8;
+ if( input_Peek( p_input, &p_peek, i_peek ) != i_peek )
+ return VLC_EGENERIC;
+ if( GetWLE( p_peek + i_peek - i_size - 8 /* wFormatTag */ ) !=
+ 1 /* WAVE_FORMAT_PCM */ )
+ return VLC_EGENERIC;
+ if( GetWLE( p_peek + i_peek - i_size - 6 /* nChannels */ ) != 2 )
+ return VLC_EGENERIC;
+ if( GetDWLE( p_peek + i_peek - i_size - 4 /* nSamplesPerSec */ ) !=
+ 44100 )
+ return VLC_EGENERIC;
+
+ /* Skip the wave header */
+ while( strncmp( p_peek + i_peek - 8, "data", 4 ) )
+ {
+ i_size = GetDWLE( p_peek + i_peek - 4 );
+ if( i_size + i_peek > DTS_PROBE_SIZE ) return VLC_EGENERIC;
+ i_peek += i_size + 8;
+
+ if( input_Peek( p_input, &p_peek, i_peek ) != i_peek )
+ return VLC_EGENERIC;
+ }