Table of Contents

Class PublishingPointParameters

Namespace
VAST.Network
Assembly
VAST.Network.dll

Provides configuration parameters for creating and managing a PublishingPoint.

public class PublishingPointParameters
Inheritance
PublishingPointParameters
Inherited Members

Constructors

PublishingPointParameters()

public PublishingPointParameters()

Properties

AllowedProtocols

Gets or sets streaming protocols allowed for sinks of this publishing point.

public StreamingProtocol AllowedProtocols { get; set; }

Property Value

StreamingProtocol

BufferDuration

Gets or sets buffer duration if buffering is enabled. Only makes sense when BufferingType is Memory, Disk or Gop, otherwise ignored.

public TimeSpan? BufferDuration { get; set; }

Property Value

TimeSpan?

BufferingType

Gets or sets buffering type. Buffering can be used to introduce delay to a live source stream or to make receiving of live source samples smoother. It can also be used to keep last GOP in memory cache and push it to a newly created sink for a very quick start. Default value is None, i.e. no buffering whatsoever.

public PublishingPoint.BufferingType BufferingType { get; set; }

Property Value

PublishingPoint.BufferingType

DeleteFileOnClose

Gets or sets whether to delete source file when closing the source. Makes sense for publishing point with file source only.

public bool DeleteFileOnClose { get; set; }

Property Value

bool

EndPositionAlignment

Gets or sets alignment of the end file position to the nearest keyframe. Used only for files with non-default end position (i.e. end position is less than file duration). Makes sense for VOD publishing point only, otherwise ignored.

public KeyframeAlignment EndPositionAlignment { get; set; }

Property Value

KeyframeAlignment

ExpirationTimeout

Gets or sets timeout after which publishing point expires and deletes itself. By default publishing point never expires (ExpirationTimeout equals to null).

public TimeSpan? ExpirationTimeout { get; set; }

Property Value

TimeSpan?

InactivityTimeout

Gets or sets inactivity timeout after which publishing point expires and deletes itself. Make sense only for publishing points created via API. By default there is no inactivity timeout (InactivityTimeout equals to null).

public TimeSpan? InactivityTimeout { get; set; }

Property Value

TimeSpan?

IsTemporary

Gets or sets whether this publishing point is a temporary VOD publishing point created specifically for one customer. It'll be deleted automatically as soon as customer disconnects. Makes sense for VOD publishing point only, otherwise ignored.

public bool IsTemporary { get; set; }

Property Value

bool

Loop

Gets or sets whether publishing point source should run in endless loop. Only makes sense for live publishing point with file source. Default value is false.

public bool Loop { get; set; }

Property Value

bool

MaxVideoFramerate

Gets or sets maximum framerate of a video sink should be pushing to clients. Applied only to sinks supporting transcoding and ignored otherwise. Default value null means no limit.

public Rational MaxVideoFramerate { get; set; }

Property Value

Rational

MaxVideoHeight

Gets or sets maximum height of a video sink should be pushing to clients. Applied only to sinks supporting transcoding and ignored otherwise. Default value 0 means no limit.

public int MaxVideoHeight { get; set; }

Property Value

int

MaxVideoWidth

Gets or sets maximum width of a video sink should be pushing to clients. Applied only to sinks supporting transcoding and ignored otherwise. Default value 0 means no limit.

public int MaxVideoWidth { get; set; }

Property Value

int

NoClientsTimeout

Gets or sets timeout after which publishing point expires and deletes itself if there are no connected clients. By default this timeout is disabled (NoClientsTimeout equals to null).

public TimeSpan? NoClientsTimeout { get; set; }

Property Value

TimeSpan?

OpeningTimeout

Gets or sets timeout after which publishing point deletes itself if there was no media data received from the source. By default this timeout never occurs (OpeningTimeout equals to null).

public TimeSpan? OpeningTimeout { get; set; }

Property Value

TimeSpan?

StartPositionAlignment

Gets or sets alignment of the start file position to the nearest keyframe. Used only for files with non-default start position (i.e. start position is more than 0). Makes sense for VOD publishing point only, otherwise ignored.

public KeyframeAlignment StartPositionAlignment { get; set; }

Property Value

KeyframeAlignment

StartSuspended

Gets or sets whether publishing point should start suspended, keep buffering received media samples but prevent pushing them to sinks until user calls PublishingPoint.Resume() method. Parameter can be used to ensure that sinks created by user receive all source samples from the very first one. Default value is false.

public bool StartSuspended { get; set; }

Property Value

bool

StreamMap

Gets or sets mapping between source and sink stream indices. It can be used to re-order source streams or discard source streams from forwarding to sinks. Output stream indices must form a consecutive sequence starting from 0, without overlapping. In order to discard input stream output index should be -1. By default property is not specified, i.e. source streams mapped to sink streams 1:1. Examples: {{0,0},{1,1}} mapping of input streams to the same output streams {{0,1},{1,0}} swap input streams {{0,-1},{1,0}} discard first input stream and map second input stream to a first output stream

public Dictionary<int, int> StreamMap { get; set; }

Property Value

Dictionary<int, int>

StreamMapper

Gets or sets a user function to be called as soon as source media types are completely detected. It can be used to create stream mapping, eg change stream order, discard streams. This property should be used instead of the StreamMap property when stream media types are unknown at the time user creates a publishing point.

public PublishingPointParameters.StreamMapperDelegate StreamMapper { get; set; }

Property Value

PublishingPointParameters.StreamMapperDelegate

Title

Gets or sets title of the publishing point. Can be used to set human readable description of the publishing point.

public string Title { get; set; }

Property Value

string

UpdateIntervalSec

Gets or sets monitored file update interval in seconds. 0 means use default update interval. Makes sense for publishing point with file source in monitor mode only.

public int UpdateIntervalSec { get; set; }

Property Value

int

UserData

Gets or sets user data. Can be used to attach user specific data to a publishing point.

public object UserData { get; set; }

Property Value

object

Methods

Clone()

Creates a shallow copy of this PublishingPointParameters instance.

public PublishingPointParameters Clone()

Returns

PublishingPointParameters

A new PublishingPointParameters instance with the same property values.