예제 #1
0
 public override void ReadFields(Mp4Stream stream)
 {
     base.ReadFields(stream);
     this.QtVersion       = stream.ReadUInt16();
     this.QtRevision      = stream.ReadUInt16();
     this.QtVendor        = stream.ReadUInt32();
     this.ChannelCount    = stream.ReadUInt16();
     this.SampleSize      = stream.ReadUInt16();
     this.QtCompressionId = stream.ReadUInt16();
     this.QtPacketSize    = stream.ReadUInt16();
     this.SampleRate      = stream.ReadUInt32();
     if (this.QtVersion == 1)
     {
         this.QtV1SamplesPerPacket = stream.ReadUInt32();
         this.QtV1BytesPerPacket   = stream.ReadUInt32();
         this.QtV1BytesPerFrame    = stream.ReadUInt32();
         this.QtV1BytesPerSample   = stream.ReadUInt32();
     }
     else if (this.QtVersion == 2)
     {
         uint num2;
         uint num3;
         this.QtV2StructSize               = stream.ReadUInt32();
         this.QtV2SampleRate64             = stream.ReadDouble();
         this.QtV2ChannelCount             = stream.ReadUInt32();
         this.QtV2Reserved                 = stream.ReadUInt32();
         this.QtV2BitsPerChannel           = stream.ReadUInt32();
         this.QtV2FormatSpecificFlags      = stream.ReadUInt32();
         this.QtV2BytesPerAudioPacket      = stream.ReadUInt32();
         this.QtV2LPCMFramesPerAudioPacket = stream.ReadUInt32();
         if (this.QtV2StructSize > 0x48)
         {
             uint num = this.QtV2StructSize - 0x48;
             this.QtV2Extension = new byte[num];
             stream.Read(this.QtV2Extension, (int)num);
         }
         this.QtV1BytesPerSample   = num2 = 0;
         this.QtV1BytesPerFrame    = num3 = num2;
         this.QtV1SamplesPerPacket = this.QtV1BytesPerPacket = num3;
     }
     else
     {
         this.QtV1SamplesPerPacket         = 0;
         this.QtV1BytesPerPacket           = 0;
         this.QtV1BytesPerFrame            = 0;
         this.QtV1BytesPerSample           = 0;
         this.QtV2StructSize               = 0;
         this.QtV2SampleRate64             = 0.0;
         this.QtV2ChannelCount             = 0;
         this.QtV2Reserved                 = 0;
         this.QtV2BitsPerChannel           = 0;
         this.QtV2FormatSpecificFlags      = 0;
         this.QtV2BytesPerAudioPacket      = 0;
         this.QtV2LPCMFramesPerAudioPacket = 0;
     }
 }