# File lib/icanhasaudio/mpeg/decoder.rb, line 15
      def decode input, output
        buf = skip_id3_header(input)

        decode_headers_for(buf)
        while !mp3data.header_parsed?
          decode_headers_for(input.read(100))
        end
        mp3data.nsamp = MP3Data::MAX_U_32_NUM unless mp3data.total_frames > 0
        wav = WAV::File.new(output)
        wav.write_header(0x7FFFFFFF, 0, num_channels, in_samplerate) if !@raw
        native_decode(input, wav)
        if !@raw && attempt_rewind(wav)
          wav.write_header(@wavsize + 44, 0, num_channels, in_samplerate)
        end
      end