using JT1078.FMp4.Interfaces;
using JT1078.FMp4.MessagePack;
using System;
using System.Collections.Generic;
using System.Text;
namespace JT1078.FMp4
{
///
/// traf
///
public class TrackFragmentBox : Mp4Box, IFMp4MessagePackFormatter
{
///
/// traf
///
public TrackFragmentBox() : base("traf")
{
}
///
/// tfhd
///
public TrackFragmentHeaderBox TrackFragmentHeaderBox { get; set; }
///
/// sdtp
///
public SampleDependencyTypeBox SampleDependencyTypeBox { get; set; }
///
/// trun
///
public TrackRunBox TrackRunBox { get; set; }
///
/// tfdt
///
public TrackFragmentBaseMediaDecodeTimeBox TrackFragmentBaseMediaDecodeTimeBox { get; set; }
///
/// sbgp
///
public SampleToGroupBox SampleToGroupBox { get; set; }
///
/// subs
///
public SubSampleInformationBox SubSampleInformationBox { get; set; }
public void ToBuffer(ref FMp4MessagePackWriter writer)
{
Start(ref writer);
if (TrackFragmentHeaderBox != null)
{
TrackFragmentHeaderBox.ToBuffer(ref writer);
}
if (SampleDependencyTypeBox != null)
{
SampleDependencyTypeBox.ToBuffer(ref writer);
}
if (TrackFragmentBaseMediaDecodeTimeBox != null)
{
TrackFragmentBaseMediaDecodeTimeBox.ToBuffer(ref writer);
}
if (TrackRunBox != null)
{
TrackRunBox.ToBuffer(ref writer);
}
if (SampleToGroupBox != null)
{
SampleToGroupBox.ToBuffer(ref writer);
}
if (SubSampleInformationBox != null)
{
SubSampleInformationBox.ToBuffer(ref writer);
}
End(ref writer);
}
}
}