public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); if (Version == 1) { writer.WriteUInt64(creationTime); writer.WriteUInt64(modificationTime); writer.WriteUInt32(TrackID); writer.WriteUInt32((uint)0); writer.WriteUInt64(Duration); } else { writer.WriteUInt32((uint)creationTime); writer.WriteUInt32((uint)modificationTime); writer.WriteUInt32(TrackID); writer.WriteUInt32((uint)0); writer.WriteUInt32((uint)Duration); } for (int x = 0; x < 2; x++) { writer.WriteUInt32((uint)0); } writer.Write(Layer); writer.Write(AlternateGroup); writer.Write(_volume); writer.Write((UInt16)0); this.Matrix.Write(writer); writer.Write(_width); writer.Write(_height); } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); writer.WriteUInt32(TrackId); if (EnumUtils.IsBitSet <TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags)base.Flags, TrackFragmentHeaderBoxFlags.BaseDataOffsetPresent)) { writer.WriteUInt64(BaseDataOffset); } if (EnumUtils.IsBitSet <TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags)base.Flags, TrackFragmentHeaderBoxFlags.SampleDescriptionIndexPresent)) { writer.WriteUInt32(SampleDescriptionIndex); } if (EnumUtils.IsBitSet <TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags)base.Flags, TrackFragmentHeaderBoxFlags.DefaultSampleDurationPresent)) { writer.WriteUInt32(DefaultSampleDuration); } if (EnumUtils.IsBitSet <TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags)base.Flags, TrackFragmentHeaderBoxFlags.DefaultSampleSizePresent)) { writer.WriteUInt32(DefaultSampleSize); } if (EnumUtils.IsBitSet <TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags)base.Flags, TrackFragmentHeaderBoxFlags.DefaultSampleFlagsPresent)) { writer.WriteUInt32(DefaultSampleFlags); } } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); if (Version == 1) writer.WriteUInt64(FragmentDuration); else writer.WriteUInt32((uint)FragmentDuration); } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); if (Version == 1) { writer.WriteUInt64(creationTime); writer.WriteUInt64(modificationTime); writer.WriteUInt32(TimeScale); writer.WriteUInt64(Duration); } else { writer.WriteUInt32((uint)creationTime); writer.WriteUInt32((uint)modificationTime); writer.WriteUInt32((uint)TimeScale); writer.WriteUInt32((uint)Duration); } writer.Write(rate[0]); writer.Write(rate[1]); writer.Write(volume, 0, 2); writer.Write((short)0); for (int x = 0; x < 2; x++) { writer.WriteUInt32((uint)0); } this.Matrix.Write(writer); for (int x = 0; x < 6; x++) { writer.WriteUInt32((uint)0); } writer.WriteUInt32(NextTrackID); } }
public virtual void Write(BoxWriter writer) { Common.Logger.Instance.Info("[Box::Write] writing a box of type [" + this.Type + ", " + this.GetType().Name + "], size [" + this.Size + "], offset [" + Offset + "], details: " + this.ToString()); if (this.expectedType == BoxTypes.Any) { return; } writer.WriteUInt32(this.size); writer.WriteBoxType(expectedType); if (this.size == 1) { writer.WriteUInt64(largeSize); } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); if (Version == 1) { writer.WriteUInt64(FragmentDuration); } else { writer.WriteUInt32((uint)FragmentDuration); } } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); if (Version == 1) { writer.WriteUInt64(creationTime); writer.WriteUInt64(modificationTime); writer.WriteUInt32(TimeScale); writer.WriteUInt64(Duration); } else { writer.WriteUInt32((uint)creationTime); writer.WriteUInt32((uint)modificationTime); writer.WriteUInt32(TimeScale); writer.WriteUInt32((uint)Duration); } writer.Write((Int16)language); writer.Write((Int16)0); } }
public void Write(BoxWriter writer, byte version, uint LengthSizeOfTrafNum, uint LengthSizeOfTrunNum, uint LengthSizeOfSampleNum) { if (version == 1) { ulong tmpTime = Time - BaseTime; writer.WriteUInt64(tmpTime); writer.WriteUInt64(MoofOffset); } else { writer.WriteUInt32((uint)Time); writer.WriteUInt32((uint)MoofOffset); } switch (((LengthSizeOfTrafNum + 1) * 8)) { case 0x18: //this.TrafNumber = reader.ReadUInt24(); writer.WriteUInt24(TrafNumber); break; case 0x20: //this.TrafNumber = reader.ReadUInt32(); writer.WriteUInt32(TrafNumber); break; case 8: //this.TrafNumber = reader.ReadByte(); writer.Write((byte)TrafNumber); break; case 0x10: //this.TrafNumber = reader.ReadUInt16(); writer.WriteUInt16((UInt16)TrafNumber); break; } switch (((LengthSizeOfTrunNum + 1) * 8)) { case 0x18: //this.TrunNumber = reader.ReadUInt24(); writer.WriteUInt24(TrunNumber); break; case 0x20: //this.TrunNumber = reader.ReadUInt32(); writer.WriteUInt32(TrunNumber); break; case 8: //this.TrunNumber = reader.ReadByte(); writer.Write((byte)TrunNumber); break; case 0x10: //this.TrunNumber = reader.ReadUInt16(); writer.WriteUInt16((UInt16)TrunNumber); break; } switch (((LengthSizeOfSampleNum + 1) * 8)) { case 8: //this.SampleNumber = reader.ReadByte(); writer.Write((byte)SampleNumber); return; case 0x10: //this.SampleNumber = reader.ReadUInt16(); writer.WriteUInt16((UInt16)SampleNumber); break; case 0x18: //this.SampleNumber = reader.ReadUInt24(); writer.WriteUInt24(SampleNumber); return; case 0x20: //this.SampleNumber = reader.ReadUInt32(); writer.WriteUInt32(SampleNumber); return; } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); writer.WriteUInt32(TrackId); if (EnumUtils.IsBitSet<TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags)base.Flags, TrackFragmentHeaderBoxFlags.BaseDataOffsetPresent)) { writer.WriteUInt64(BaseDataOffset); } if (EnumUtils.IsBitSet<TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags)base.Flags, TrackFragmentHeaderBoxFlags.SampleDescriptionIndexPresent)) { writer.WriteUInt32(SampleDescriptionIndex); } if (EnumUtils.IsBitSet<TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags) base.Flags, TrackFragmentHeaderBoxFlags.DefaultSampleDurationPresent)) { writer.WriteUInt32(DefaultSampleDuration); } if (EnumUtils.IsBitSet<TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags) base.Flags, TrackFragmentHeaderBoxFlags.DefaultSampleSizePresent)) { writer.WriteUInt32(DefaultSampleSize); } if (EnumUtils.IsBitSet<TrackFragmentHeaderBoxFlags>((TrackFragmentHeaderBoxFlags) base.Flags, TrackFragmentHeaderBoxFlags.DefaultSampleFlagsPresent)) { writer.WriteUInt32(DefaultSampleFlags); } } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); if (Version == 1) { writer.WriteUInt64(creationTime); writer.WriteUInt64(modificationTime); writer.WriteUInt32(TrackID); writer.WriteUInt32((uint)0); writer.WriteUInt64(Duration); } else { writer.WriteUInt32((uint)creationTime); writer.WriteUInt32((uint)modificationTime); writer.WriteUInt32(TrackID); writer.WriteUInt32((uint)0); writer.WriteUInt32((uint)Duration); } for (int x = 0; x < 2; x++) writer.WriteUInt32((uint)0); writer.Write(Layer); writer.Write(AlternateGroup); writer.Write(_volume); writer.Write((UInt16)0); this.Matrix.Write(writer); writer.Write(_width); writer.Write(_height); } }
public override void Write(BoxWriter writer) { using (new SizeCalculator(this, writer)) { base.Write(writer); if (Version == 1) { writer.WriteUInt64(creationTime); writer.WriteUInt64(modificationTime); writer.WriteUInt32(TimeScale); writer.WriteUInt64(Duration); } else { writer.WriteUInt32((uint)creationTime); writer.WriteUInt32((uint)modificationTime); writer.WriteUInt32((uint)TimeScale); writer.WriteUInt32((uint)Duration); } writer.Write(rate[0]); writer.Write(rate[1]); writer.Write(volume, 0, 2); writer.Write((short)0); for (int x = 0; x < 2; x++) writer.WriteUInt32((uint)0); this.Matrix.Write(writer); for (int x = 0; x < 6; x++) writer.WriteUInt32((uint)0); writer.WriteUInt32(NextTrackID); } }
public virtual void Write(BoxWriter writer) { Common.Logger.Instance.Info("[Box::Write] writing a box of type [" + this.Type + ", " + this.GetType().Name + "], size [" + this.Size + "], offset [" + Offset + "], details: " + this.ToString()); if (this.expectedType == BoxTypes.Any) return; writer.WriteUInt32(this.size); writer.WriteBoxType(expectedType); if (this.size == 1) { writer.WriteUInt64(largeSize); } }