           break
         message.timestampDelta = (chunkMessageHeader[0] << 16) +
           (chunkMessageHeader[1] << 8) + chunkMessageHeader[2]
+
+        if message.timestampDelta is 0xffffff
+          message.extendedTimestampType = EXTENDED_TIMESTAMP_TYPE_DELTA
+        else
+          message.extendedTimestampType = EXTENDED_TIMESTAMP_TYPE_NOT_USED
+
         message.messageLength = (chunkMessageHeader[3] << 16) +
           (chunkMessageHeader[4] << 8) + chunkMessageHeader[5]
         message.messageTypeID = chunkMessageHeader[6]

        throw new Error "Unknown format type: #{formatType}"

      # 5.3.1.3. Extended Timestamp
      if message.formatType is 0
        if message.timestamp is 0xffffff
          if chunkBody.length < 4  # buffer is incomplete
            break
          message.timestamp = (chunkBody[0] * Math.pow(256, 3)) +
            (chunkBody[1] << 16) + (chunkBody[2] << 8) + chunkBody[3]
          chunkBody = chunkBody[4..]
          headerLen += 4
      else if message.timestampDelta is 0xffffff
        if chunkBody.length < 4  # buffer is incomplete
          break
        message.timestampDelta = (chunkBody[0] * Math.pow(256, 3)) +

          break
        message.timestampDelta = (chunkMessageHeader[0] << 16) +
        (chunkMessageHeader[1] << 8) + chunkMessageHeader[2]

        if message.timestampDelta is 0xffffff
          message.extendedTimestampType = EXTENDED_TIMESTAMP_TYPE_DELTA
        else
          message.extendedTimestampType = EXTENDED_TIMESTAMP_TYPE_NOT_USED

        previousChunk = @previousChunkMessage[message.chunkStreamID]
        if previousChunk?
          message.timestamp = previousChunk.timestamp
