Class MP4SinkSettings
MP4 sink settings.
Implements
Inherited Members
Namespace: VisioForge.Core.Types.X.Sinks
Assembly: VisioForge.Core.dll
Syntax
public class MP4SinkSettings : IMediaBlockSettings
Constructors
MP4SinkSettings()
Initializes a new instance of the MP4SinkSettings class.
Declaration
public MP4SinkSettings()
MP4SinkSettings(int)
Initializes a new instance of the MP4SinkSettings class.
Declaration
public MP4SinkSettings(int fileDescriptor)
Parameters
Type | Name | Description |
---|---|---|
int | fileDescriptor | The file descriptor. |
MP4SinkSettings(string)
Initializes a new instance of the MP4SinkSettings class.
Declaration
public MP4SinkSettings(string filename)
Parameters
Type | Name | Description |
---|---|---|
string | filename | The filename. |
Properties
FastStart
Gets or sets a value indicating whether fast start enabled.
Declaration
public bool FastStart { get; set; }
Property Value
Type | Description |
---|---|
bool |
FileDescriptor
Gets or sets the file descriptor. If set, the file will be written to this descriptor instead of a file.
Declaration
public int? FileDescriptor { get; set; }
Property Value
Type | Description |
---|---|
int? | The file descriptor. |
Filename
Gets or sets the filename (or pattern like "file%02d.mp4" if the split mode used).
Declaration
public string Filename { get; set; }
Property Value
Type | Description |
---|---|
string |
ForceChunks
Gets or sets a value indicating whether force multiple chunks to be created even for single-stream files.
Declaration
public bool ForceChunks { get; set; }
Property Value
Type | Description |
---|---|
bool |
ForceCreateTimecodeTrak
Gets or sets a value indicating whether create a timecode trak even in unsupported flavors.
Declaration
public bool ForceCreateTimecodeTrak { get; set; }
Property Value
Type | Description |
---|---|
bool |
FragmentDuration
Gets or sets the fragment durations (produce a fragmented file if > 0).
Declaration
public TimeSpan FragmentDuration { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan |
FragmentMode
Gets or sets the influence how fragmented files are produces. Only has any affect when the the 'FragmentDuration' property is set to a value greater than '0'.
Declaration
public MP4FragmentMode FragmentMode { get; set; }
Property Value
Type | Description |
---|---|
MP4FragmentMode |
Remarks
Currently, two options exist:
"dash-or-mss": for the original fragmented mode that supports dash or mocrosoft smoothstreaming with a single input stream
"first-moov-then-finalise" is a fragmented mode that will start with a self-contained 'moov' atom fo the first fragment,
then produce fragments.When the file is finalised, the initial 'moov' is invalidated and a new 'moov' is written covering the entire file.
InterleaveBytes
Gets or sets the interleave between streams in bytes.
Declaration
public ulong InterleaveBytes { get; set; }
Property Value
Type | Description |
---|---|
ulong |
InterleaveTime
Gets or sets the interleave between streams in nanoseconds.
Declaration
public ulong InterleaveTime { get; set; }
Property Value
Type | Description |
---|---|
ulong |
MOOVRecoveryFile
Gets or sets the file to be used to store data for moov atom making movie file recovery possible in case of a crash during muxing. Null for disabled. (Experimental).
Declaration
public string MOOVRecoveryFile { get; set; }
Property Value
Type | Description |
---|---|
string |
MaxRAWAudioDrift
Gets or sets the maximum allowed drift of raw audio samples vs.timestamps in nanoseconds.
Declaration
public ulong MaxRAWAudioDrift { get; set; }
Property Value
Type | Description |
---|---|
ulong |
MovieTimescale
Gets or sets the timescale to use in the movie (units per second, 0 == default).
Declaration
public uint MovieTimescale { get; set; }
Property Value
Type | Description |
---|---|
uint |
MuxOnly
Gets or sets a value indicating whether to mux only and send data to an output pad instead of a file.
Declaration
public bool MuxOnly { get; set; }
Property Value
Type | Description |
---|---|
bool |
|
PresentationTime
Gets or sets a value indicating whether calculate and include presentation/composition time (in addition to decoding time).
Declaration
public bool PresentationTime { get; set; }
Property Value
Type | Description |
---|---|
bool |
ReservedBytesPerSec
Gets or sets the multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track.
Declaration
public uint ReservedBytesPerSec { get; set; }
Property Value
Type | Description |
---|---|
uint |
ReservedMOOVUpdatePeriod
Gets or sets the when used with reserved-max-duration, periodically updates the index tables with information muxed so far.
Declaration
public ulong ReservedMOOVUpdatePeriod { get; set; }
Property Value
Type | Description |
---|---|
ulong |
ReservedMaxDuration
Gets or sets the when set to a value > 0, reserves space for index tables at the beginning of the file..
Declaration
public ulong ReservedMaxDuration { get; set; }
Property Value
Type | Description |
---|---|
ulong |
ReservedPrefill
Gets or sets a value indicating whether prefill samples table of reserved duration.
Declaration
public bool ReservedPrefill { get; set; }
Property Value
Type | Description |
---|---|
bool |
StartGapThreshold
Gets or sets the threshold for creating an edit list for gaps at the start in nanoseconds.
Declaration
public ulong StartGapThreshold { get; set; }
Property Value
Type | Description |
---|---|
ulong |
TrakTimescale
Gets or sets the timescale to use for the tracks (units per second, 0 is automatic).
Declaration
public uint TrakTimescale { get; set; }
Property Value
Type | Description |
---|---|
uint |
Methods
CreateBlock()
Creates the block.
Declaration
public MediaBlock CreateBlock()
Returns
Type | Description |
---|---|
MediaBlock | MediaBlock. |