Table of Contents

Class MP4SinkSettings

Namespace
VisioForge.Core.Types.X.Sinks
Assembly
VisioForge.Core.dll

MP4 sink settings.

public class MP4SinkSettings : IMediaBlockSettings

Inheritance

Derived

Implements

Inherited Members

Constructors

MP4SinkSettings(string)

Initializes a new instance of the VisioForge.Core.Types.X.Sinks.MP4SinkSettings class.

public MP4SinkSettings(string filename)

Parameters

filename string

The filename.

MP4SinkSettings(int)

Initializes a new instance of the VisioForge.Core.Types.X.Sinks.MP4SinkSettings class.

public MP4SinkSettings(int fileDescriptor)

Parameters

fileDescriptor int

The file descriptor.

MP4SinkSettings()

Initializes a new instance of the VisioForge.Core.Types.X.Sinks.MP4SinkSettings class.

public MP4SinkSettings()

Properties

FastStart

Gets or sets a value indicating whether fast start enabled.

public bool FastStart { get; set; }

Property Value

bool

FileDescriptor

Gets or sets the file descriptor. If set, the file will be written to this descriptor instead of a file.

public int? FileDescriptor { get; set; }

Property Value

int?

Filename

Gets or sets the filename (or pattern like "file%02d.mp4" if the split mode used).

public string Filename { get; set; }

Property Value

string

ForceChunks

Gets or sets a value indicating whether force multiple chunks to be created even for single-stream files.

public bool ForceChunks { get; set; }

Property Value

bool

ForceCreateTimecodeTrak

Gets or sets a value indicating whether create a timecode trak even in unsupported flavors.

public bool ForceCreateTimecodeTrak { get; set; }

Property Value

bool

FragmentDuration

Gets or sets the fragment durations (produce a fragmented file if > 0).

public TimeSpan FragmentDuration { get; set; }

Property Value

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'.

public MP4FragmentMode FragmentMode { get; set; }

Property Value

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.

public ulong InterleaveBytes { get; set; }

Property Value

ulong

InterleaveTime

Gets or sets the interleave between streams in nanoseconds.

public ulong InterleaveTime { get; set; }

Property Value

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).

public string MOOVRecoveryFile { get; set; }

Property Value

string

MaxRAWAudioDrift

Gets or sets the maximum allowed drift of raw audio samples vs.timestamps in nanoseconds.

public ulong MaxRAWAudioDrift { get; set; }

Property Value

ulong

MovieTimescale

Gets or sets the timescale to use in the movie (units per second, 0 == default).

public uint MovieTimescale { get; set; }

Property Value

uint

MuxOnly

Gets or sets a value indicating whether to mux only and send data to an output pad instead of a file.

public bool MuxOnly { get; set; }

Property Value

bool

PresentationTime

Gets or sets a value indicating whether calculate and include presentation/composition time (in addition to decoding time).

public bool PresentationTime { get; set; }

Property Value

bool

ReservedBytesPerSec

Gets or sets the multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track.

public uint ReservedBytesPerSec { get; set; }

Property Value

uint

ReservedMOOVUpdatePeriod

Gets or sets the when used with reserved-max-duration, periodically updates the index tables with information muxed so far.

public ulong ReservedMOOVUpdatePeriod { get; set; }

Property Value

ulong

ReservedMaxDuration

Gets or sets the when set to a value > 0, reserves space for index tables at the beginning of the file..

public ulong ReservedMaxDuration { get; set; }

Property Value

ulong

ReservedPrefill

Gets or sets a value indicating whether prefill samples table of reserved duration.

public bool ReservedPrefill { get; set; }

Property Value

bool

StartGapThreshold

Gets or sets the threshold for creating an edit list for gaps at the start in nanoseconds.

public ulong StartGapThreshold { get; set; }

Property Value

ulong

TrakTimescale

Gets or sets the timescale to use for the tracks (units per second, 0 is automatic).

public uint TrakTimescale { get; set; }

Property Value

uint

Methods

CreateBlock()

Creates the media block instance for MP4 sink.

public MediaBlock CreateBlock()

Returns

MediaBlock

A new instance of VisioForge.Core.MediaBlocks.Sinks.MP4SinkBlock configured with these settings.