title: Mp3 frame decompress with NAudio
body: <p>I am going through Mp3StreamingDemo from NAudio Source Demo, and I need an explanation (nothing in depth, just a few sentences, to get a general idea) about decompressing the Mp3 frame. </p>
  
  <p>The actual code is:</p>
  
  <pre><code>IMp3FrameDecompressor decompressor = null;
  //...
  if (decompressor == null)
  {
  
      WaveFormat waveFormat = new Mp3WaveFormat(frame.SampleRate, frame.ChannelMode == ChannelMode.Mono ? 1 : 2, frame.FrameLength, frame.BitRate);
      //What does AcmMp3FrameDecompressor do?
      decompressor = new AcmMp3FrameDecompressor(waveFormat);
      this.bufferedWaveProvider = new BufferedWaveProvider(decompressor.OutputFormat);
  }
  int decompressed = decompressor.DecompressFrame(frame, buffer, 0);
  </code></pre>
  
  <p>I do have some knowledge about MP3, how does it look, about frames, etc. I just don't understand the process of mp3 frame decompression? Specifically:</p>
  
  <p>what for is AcmMp3FrameDecompressor class used? What does DecompressFrame method do?</p>
  
  <p>I can see the code from the class, but to understand it in depth I think I'll need much more knowledge about audio itself. And at the moment, as I said, I would appreciate just a description in general. </p>
  
  <p>Thank you for your time and help.</p>