protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(Width); stream.WriteBEUInt32(Height); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(ReferenceId); stream.WriteBEUInt32(Timescale); if (Version == 1) { stream.WriteBEUInt64(EarliestPresentationTime); stream.WriteBEUInt64(FirstOffset); } else // v0 { stream.WriteBEUInt32((uint)EarliestPresentationTime); stream.WriteBEUInt32((uint)FirstOffset); } stream.WriteBEUInt16(Reserved1); stream.WriteBEUInt16(ReferenceCount); for (int i = 0; i < Entries.Length; i++) { ref SegmentIndexEntry entry = ref Entries[i]; entry.WriteTo(stream); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); if (Version == 1) { stream.WriteBEUInt64(MovieHeaderBox.Convert1904Time(CreationTime)); stream.WriteBEUInt64(MovieHeaderBox.Convert1904Time(ModificationTime)); stream.WriteBEUInt32(TrackID); stream.WriteBEUInt32(_Reserved1); stream.WriteBEUInt64(Duration); } else // if (Version == 0) { stream.WriteBEUInt32((uint)MovieHeaderBox.Convert1904Time(CreationTime)); stream.WriteBEUInt32((uint)MovieHeaderBox.Convert1904Time(ModificationTime)); stream.WriteBEUInt32(TrackID); stream.WriteBEUInt32(_Reserved1); stream.WriteBEUInt32((uint)Duration); } for(int i=0; i<2; i++) stream.WriteBEUInt32(_Reserved2[i]); stream.WriteBEInt16(Layer); stream.WriteBEInt16(AlternateGroup); stream.WriteBEInt16(Volume); stream.WriteBEUInt16(_Reserved3); for (int i = 0; i < 9; i++) stream.WriteBEInt32(_Matrix[i]); stream.WriteBEUInt32(Width); stream.WriteBEUInt32(Height); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); if (Version == 1) { stream.WriteBEUInt64(MovieHeaderBox.Convert1904Time(CreationTime)); stream.WriteBEUInt64(MovieHeaderBox.Convert1904Time(ModificationTime)); stream.WriteBEUInt32(TrackID); stream.WriteBEUInt32(_Reserved1); stream.WriteBEUInt64(Duration); } else // if (Version == 0) { stream.WriteBEUInt32((uint)MovieHeaderBox.Convert1904Time(CreationTime)); stream.WriteBEUInt32((uint)MovieHeaderBox.Convert1904Time(ModificationTime)); stream.WriteBEUInt32(TrackID); stream.WriteBEUInt32(_Reserved1); stream.WriteBEUInt32((uint)Duration); } for (int i = 0; i < 2; i++) { stream.WriteBEUInt32(_Reserved2[i]); } stream.WriteBEInt16(Layer); stream.WriteBEInt16(AlternateGroup); stream.WriteBEInt16(Volume); stream.WriteBEUInt16(_Reserved3); for (int i = 0; i < 9; i++) { stream.WriteBEInt32(_Matrix[i]); } stream.WriteBEUInt32(Width); stream.WriteBEUInt32(Height); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(_Predefined); stream.WriteBEUInt32(HandlerType); for (int i = 0; i < _Reserved.Length; i++) stream.WriteBEUInt32(_Reserved[i]); if(Name != null) stream.WriteUTF8String(Name); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt16(MaxProtocolDataUnitSize); stream.WriteBEUInt16(AverageProtocolDataUnitSize); stream.WriteBEUInt32(MaxBitrate); stream.WriteBEUInt32(AverageBitrate); stream.WriteBEUInt32(_Reserved); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(TrackID); stream.WriteBEUInt32(DefaultSampleDescriptionIndex); stream.WriteBEUInt32(DefaultSampleDuration); stream.WriteBEUInt32(DefaultSampleSize); stream.WriteBEUInt32(DefaultSampleFlags._flags); }
protected override void SaveToStream(Stream stream) { TrackFragmentFlags newFlags = 0; if (BaseDataOffset.HasValue) { newFlags |= TrackFragmentFlags.BaseDataOffsetPresent; } if (SampleDescriptionIndex.HasValue) { newFlags |= TrackFragmentFlags.SampleDrescriptionIndexPresent; } if (DefaultSampleDuration.HasValue) { newFlags |= TrackFragmentFlags.DefaultSampleDurationPresent; } if (DefaultSampleSize.HasValue) { newFlags |= TrackFragmentFlags.DefaultSampleSizePresent; } if (DefaultSampleFlags != null) { newFlags |= TrackFragmentFlags.DefaultSampleFlagsPresent; } if (DurationIsEmpty) { newFlags |= TrackFragmentFlags.DurationIsEmpty; } Flags = newFlags; base.SaveToStream(stream); stream.WriteBEUInt32(TrackID); if (BaseDataOffset.HasValue) { stream.WriteBEUInt64(BaseDataOffset.Value); } if (SampleDescriptionIndex.HasValue) { stream.WriteBEUInt32(SampleDescriptionIndex.Value); } if (DefaultSampleDuration.HasValue) { stream.WriteBEUInt32(DefaultSampleDuration.Value); } if (DefaultSampleSize.HasValue) { stream.WriteBEUInt32(DefaultSampleSize.Value); } if (DefaultSampleFlags != null) { stream.WriteBEUInt32(DefaultSampleFlags._flags); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)_Entries.Count); foreach (ChunkOffsetEntry chunkOffsetEntry in _Entries) { stream.WriteBEUInt32(chunkOffsetEntry.ChunkOffset); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)_Entries.Count); foreach (SyncSampleEntry SyncSampleEntry in _Entries) { stream.WriteBEUInt32(SyncSampleEntry.SampleNumber); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)_Entries.Count); foreach (TimeToSampleEntry TimeToSampleEntry in _Entries) { stream.WriteBEUInt32(TimeToSampleEntry.SampleCount); stream.WriteBEUInt32(TimeToSampleEntry.SampleDelta); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)Entries.Length); for (int i = 0; i < Entries.Length; i++) { ref SyncSampleEntry entry = ref Entries[i]; stream.WriteBEUInt32(entry.SampleNumber); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(_Height); stream.WriteBEUInt32(_Width); stream.WriteBEUInt16(_NumberOfComponents); stream.WriteOneByte(BitsPerComponent); stream.WriteOneByte(_CompressionType); stream.WriteOneByte(_IsUnknownColorspace); stream.WriteOneByte(_IsIntellectualProperty); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)Entries.Length); for (int i = 0; i < Entries.Length; i++) { ref ChunkOffsetEntry entry = ref Entries[i]; stream.WriteBEUInt32(entry.ChunkOffset); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(SampleSize); stream.WriteBEUInt32(SampleCount); foreach (SampleSizeEntry SampleSizeEntry in _Entries) { stream.WriteBEUInt32(SampleSizeEntry.EntrySize); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)_Entries.Count); foreach (CompositionOffsetEntry CompositionOffsetEntry in _Entries) { stream.WriteBEUInt32(CompositionOffsetEntry.SampleCount); stream.WriteBEUInt32(CompositionOffsetEntry.SampleOffset); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)Entries.Length); for (var i = 0; i < Entries.Length; i++) { ref TimeToSampleEntry entry = ref Entries[i]; stream.WriteBEUInt32(entry.SampleCount); stream.WriteBEUInt32(entry.SampleDelta); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)_Entries.Count); foreach (SampleToChunkEntry SampleToChunkEntry in _Entries) { stream.WriteBEUInt32(SampleToChunkEntry.FirstChunk); stream.WriteBEUInt32(SampleToChunkEntry.SamplesPerChunk); stream.WriteBEUInt32(SampleToChunkEntry.SampleDescriptionIndex); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)Entries.Length); for (int i = 0; i < Entries.Length; i++) { ref SampleToChunkEntry entry = ref Entries[i]; stream.WriteBEUInt32(entry.FirstChunk); stream.WriteBEUInt32(entry.SamplesPerChunk); stream.WriteBEUInt32(entry.SampleDescriptionIndex); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(_Predefined); stream.WriteBEUInt32(HandlerType); for (int i = 0; i < _Reserved.Length; i++) { stream.WriteBEUInt32(_Reserved[i]); } if (Name != null) { stream.WriteUTF8String(Name); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt24(_Reserved); stream.WriteByte(FieldSize); stream.WriteBEUInt32((uint)_Entries.Count); if (FieldSize == 4) { for (int i = 0; i < _Entries.Count; i += 2) { byte twoFieldSizes = (byte)((_Entries[i].EntrySize & 0x00FF) << 4); if (i + 1 < _Entries.Count) { twoFieldSizes |= (byte)(_Entries[i].EntrySize & 0x00FF); } stream.WriteByte(twoFieldSizes); } } else { foreach (CompactSampleSizeEntry compactSampleSizeEntry in _Entries) { if (FieldSize == 8) { stream.WriteByte((byte)compactSampleSizeEntry.EntrySize); } else if (FieldSize == 16) { stream.WriteBEUInt16(compactSampleSizeEntry.EntrySize); } } } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteNullTerminatedUTF8String(Alias); stream.WriteBEUInt32(ResourceType); stream.WriteBEInt16(Id); }
protected override void SaveToStream(Stream stream) { if(FragmentDuration > UInt32.MaxValue) Version = 1; base.SaveToStream(stream); if (Version == 1) stream.WriteBEUInt64(FragmentDuration); else stream.WriteBEUInt32((uint)FragmentDuration); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBytes(MajorBrand.GetBytes()); stream.WriteBEUInt32(MinorVersion); foreach (FourCC compatibleBrand in CompatibleBrands) { stream.WriteBytes(compatibleBrand.GetBytes()); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBytes(MajorBrand.GetBytes()); stream.WriteBEUInt32(MinorVersion); foreach (FourCC compatibleBrand in _CompatibleBrands) { stream.WriteBytes(compatibleBrand.GetBytes()); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteOneByte((byte)SpecificationMethod); stream.WriteOneByte(Precedence); stream.WriteOneByte(ColorspaceApproximation); if (SpecificationMethod == SpecificationMethods.EnumeratedColorspace) stream.WriteBEUInt32((uint)EnumeratedColorspace); // TODO: Write Profile }
protected override void SaveToStream(Stream stream) { TrackFragmentFlags newFlags = 0; if (BaseDataOffset.HasValue) newFlags |= TrackFragmentFlags.BaseDataOffsetPresent; if (SampleDescriptionIndex.HasValue) newFlags |= TrackFragmentFlags.SampleDrescriptionIndexPresent; if (DefaultSampleDuration.HasValue) newFlags |= TrackFragmentFlags.DefaultSampleDurationPresent; if (DefaultSampleSize.HasValue) newFlags |= TrackFragmentFlags.DefaultSampleSizePresent; if (DefaultSampleFlags != null) newFlags |= TrackFragmentFlags.DefaultSampleFlagsPresent; if (DurationIsEmpty) newFlags |= TrackFragmentFlags.DurationIsEmpty; Flags = newFlags; base.SaveToStream(stream); stream.WriteBEUInt32(TrackID); if (BaseDataOffset.HasValue) stream.WriteBEUInt64(BaseDataOffset.Value); if (SampleDescriptionIndex.HasValue) stream.WriteBEUInt32(SampleDescriptionIndex.Value); if (DefaultSampleDuration.HasValue) stream.WriteBEUInt32(DefaultSampleDuration.Value); if (DefaultSampleSize.HasValue) stream.WriteBEUInt32(DefaultSampleSize.Value); if (DefaultSampleFlags!=null) stream.WriteBEUInt32(DefaultSampleFlags._flags); }
protected override void SaveToStream(Stream stream) { if (Version==0 && (_CreationTime > uint.MaxValue || _ModificationTime > uint.MaxValue || Duration > uint.MaxValue)) Version = 1; base.SaveToStream(stream); if (Version == 1) { stream.WriteBEUInt64(_CreationTime); stream.WriteBEUInt64(_ModificationTime); stream.WriteBEUInt32(TimeScale); stream.WriteBEUInt64(Duration); } else // if(Version == 0) { stream.WriteBEUInt32(checked((uint)_CreationTime)); stream.WriteBEUInt32(checked((uint)_ModificationTime)); stream.WriteBEUInt32(TimeScale); stream.WriteBEUInt32(checked((uint)Duration)); } stream.WriteBEInt32(_Rate); stream.WriteBEInt16(_Volume); stream.WriteBytes(Reserved); for (int i = 0; i < 9; i++) stream.WriteBEInt32(Matrix[i]); stream.WriteBytes(PreDefined); stream.WriteBEUInt32(NextTrackID); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); if (Version == 1) { stream.WriteBEUInt64(MovieHeaderBox.Convert1904Time(CreationTime)); stream.WriteBEUInt64(MovieHeaderBox.Convert1904Time(ModificationTime)); stream.WriteBEUInt32(TimeScale); stream.WriteBEUInt64(Duration); } else // if (Version == 0) { stream.WriteBEUInt32((uint)MovieHeaderBox.Convert1904Time(CreationTime)); stream.WriteBEUInt32((uint)MovieHeaderBox.Convert1904Time(ModificationTime)); stream.WriteBEUInt32(TimeScale); stream.WriteBEUInt32((uint)Duration); } stream.WriteBEUInt16(ConvertThreeLetterLanguageCode(Language)); stream.WriteBEUInt16(Predefined); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteOneByte((byte)SpecificationMethod); stream.WriteOneByte(Precedence); stream.WriteOneByte(ColorspaceApproximation); if (SpecificationMethod == SpecificationMethods.EnumeratedColorspace) { stream.WriteBEUInt32((uint)EnumeratedColorspace); } // TODO: Write Profile }
protected override void SaveToStream(Stream stream) { if (FragmentDuration > uint.MaxValue) { Version = 1; } base.SaveToStream(stream); if (Version == 1) { stream.WriteBEUInt64(FragmentDuration); } else { stream.WriteBEUInt32((uint)FragmentDuration); } }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEInt32(Entries.Length); for (int i = 0; i < Entries.Length; i++) { ref EditListEntry entry = ref Entries[i]; if (Version == 1) { stream.WriteBEUInt64(entry.SegmentDuration); stream.WriteBEInt64(entry.MediaTime); } else { stream.WriteBEUInt32((uint)entry.SegmentDuration); stream.WriteBEInt32((int)entry.MediaTime); } stream.WriteBEInt16(entry.MediaRateInteger); stream.WriteBEInt16(entry.MediaRateFraction); }
protected override void SaveToStream(Stream stream) { if (Version == 0 && (_CreationTime > uint.MaxValue || _ModificationTime > uint.MaxValue || Duration > uint.MaxValue)) { Version = 1; } base.SaveToStream(stream); if (Version == 1) { stream.WriteBEUInt64(_CreationTime); stream.WriteBEUInt64(_ModificationTime); stream.WriteBEUInt32(TimeScale); stream.WriteBEUInt64(Duration); } else // if(Version == 0) { stream.WriteBEUInt32(checked ((uint)_CreationTime)); stream.WriteBEUInt32(checked ((uint)_ModificationTime)); stream.WriteBEUInt32(TimeScale); stream.WriteBEUInt32(checked ((uint)Duration)); } stream.WriteBEInt32(_Rate); stream.WriteBEInt16(_Volume); stream.WriteBytes(Reserved); for (int i = 0; i < 9; i++) { stream.WriteBEInt32(Matrix[i]); } stream.WriteBytes(PreDefined); stream.WriteBEUInt32(NextTrackID); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(UncompressedSize); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(DataFormat); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32((uint)_Children.Count); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(SequenceNumber); }
protected override void SaveChildrenToStream(Stream stream) { base.SaveChildrenToStream(stream); stream.WriteBEUInt32(0); }
protected override void SaveToStream(Stream stream) { base.SaveToStream(stream); stream.WriteBEUInt32(MfraSize); }