public override void WriteInnerBody(Mp4Stream stream) { base.WriteInnerBody(stream); stream.WriteUInt16(this.QtVersion); stream.WriteUInt16(this.QtRevision); stream.WriteUInt32(this.QtVendor); stream.WriteUInt16(this.ChannelCount); stream.WriteUInt16(this.SampleSize); stream.WriteUInt16(this.QtCompressionId); stream.WriteUInt16(this.QtPacketSize); stream.WriteUInt32(this.SampleRate); if (this.QtVersion == 1) { stream.WriteUInt32(this.QtV1SamplesPerPacket); stream.WriteUInt32(this.QtV1BytesPerPacket); stream.WriteUInt32(this.QtV1BytesPerFrame); stream.WriteUInt32(this.QtV1BytesPerSample); } else if (this.QtVersion == 2) { stream.WriteUInt32(this.QtV2StructSize); stream.WriteDouble(this.QtV2SampleRate64); stream.WriteUInt32(this.QtV2ChannelCount); stream.WriteUInt32(this.QtV2Reserved); stream.WriteUInt32(this.QtV2BitsPerChannel); stream.WriteUInt32(this.QtV2FormatSpecificFlags); stream.WriteUInt32(this.QtV2BytesPerAudioPacket); stream.WriteUInt32(this.QtV2LPCMFramesPerAudioPacket); if (this.QtV2Extension != null) { stream.Write(this.QtV2Extension, this.QtV2Extension.Length); } } }