Class PublishingPointParameters
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Methods
Clone()
Creates a shallow copy of this PublishingPointParameters instance.
public PublishingPointParameters Clone()
Returns
- PublishingPointParameters
A new PublishingPointParameters instance with the same property values.