private void decodeFrame() {
   if (!mp4.hasMoreFrames()) {
     buffer.close();
     return;
   }
   try {
     final AudioFrame frame = mp4.readNextFrame();
     if (frame == null) {
       buffer.close();
       return;
     }
     decoder.decodeFrame(frame.getData(), sampleBuffer);
   } catch (IOException e) {
     buffer.close();
     return;
   }
 }