public void Start(
      String pOutputFilename,
      WaveFormat pwfeInput,
      int nMaxAudioBytes,
      int nCompressionLevel,
      byte[] pHeaderData,
      int nHeaderBytes)
      throws IOException {
    m_pioOutput = File.createFile(pOutputFilename, "rw");
    m_bOwnsOutputIO = true;

    m_spAPECompressCreate.Start(
        m_pioOutput, pwfeInput, nMaxAudioBytes, nCompressionLevel, pHeaderData, nHeaderBytes);

    m_nBufferSize = m_spAPECompressCreate.GetFullFrameBytes();
    m_pBuffer = new byte[m_nBufferSize];
    m_wfeInput = pwfeInput;
  }