             when 8  # Audio Message (incoming)
               audioData = parseAudioMessage @stream, rtmpMessage.body
               if audioData.adtsFrame?
+
+                fileHeader = new Buffer(4 * 4)
+                
+                fileHeader.writeUInt32LE(8, 0)
+                fileHeader.writeUInt32LE(rtmpMessage.timestamp, 4)
+                fileHeader.writeUInt32LE(audioData.adtsFrame.length, 8)
+                fileHeader.writeUInt32LE(0, 12)
+
+                @stream.dump.write fileHeader
+
+                @stream.dump.write audioData.adtsFrame
                 if not @isFirstAudioReceived
                   @emit 'audio_start', @stream
                   @isFirstAudioReceived = true

  teardown: ->
    if (@streamPublisher)
      @streamPublisher = false
      @emit "stream_unpublished", @stream
    if @isTearedDown
      console.log "[rtmp] already teared down"

# RTMP specification is available at:
# http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/rtmp/pdf/rtmp_specification_1.0.pdf

fs            = require 'fs'
net           = require 'net'
crypto        = require 'crypto'
Sequent       = require 'sequent'
