using JT1078.FMp4.Interfaces;
using JT1078.FMp4.MessagePack;
using System;
using System.Collections.Generic;
using System.Text;
namespace JT1078.FMp4
{
///
/// stbl
///
public class SampleTableBox : Mp4Box, IFMp4MessagePackFormatter
{
///
/// stbl
///
public SampleTableBox() : base("stbl")
{
}
///
/// stsd
///
public SampleDescriptionBox SampleDescriptionBox { get; set; }
///
/// stts
///
public TimeToSampleBox TimeToSampleBox { get; set; }
///
/// ctts
///
public CompositionOffsetBox CompositionOffsetBox { get; set; }
///
/// stsc
///
public SampleToChunkBox SampleToChunkBox { get; set; }
///
/// stsz
///
public SampleSizeBox SampleSizeBox { get; set; }
//public CompactSampleSizeBox CompactSampleSizeBox { get; set; }
///
/// stco
///
public ChunkOffsetBox ChunkOffsetBox { get; set; }
//public ChunkLargeOffsetBox ChunkLargeOffsetBox { get; set; }
//public SyncSampleBox SyncSampleBox { get; set; }
//public ShadowSyncSampleBox ShadowSyncSampleBox { get; set; }
//public PaddingBitsBox PaddingBitsBox { get; set; }
//public DegradationPriorityBox DegradationPriorityBox { get; set; }
//public SampleDependencyTypeBox SampleDependencyTypeBox { get; set; }
//public SampleToGroupBox SampleToGroupBox { get; set; }
//public SampleGroupDescriptionBox SampleGroupDescriptionBox { get; set; }
//public SubSampleInformationBox SubSampleInformationBox { get; set; }
public void ToBuffer(ref FMp4MessagePackWriter writer)
{
Start(ref writer);
SampleDescriptionBox.ToBuffer(ref writer);
TimeToSampleBox.ToBuffer(ref writer);
if(CompositionOffsetBox!=null)
CompositionOffsetBox.ToBuffer(ref writer);
SampleToChunkBox.ToBuffer(ref writer);
if (SampleSizeBox != null)
SampleSizeBox.ToBuffer(ref writer);
ChunkOffsetBox.ToBuffer(ref writer);
End(ref writer);
}
}
}