Class VideoSynchronizer
An video pipe for synchronizing playout with other streams.
Inheritance
System.Object
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>
VideoSynchronizer
Implements
Inherited Members
Namespace: FM.LiveSwitch
Assembly: FM.LiveSwitch.dll
Syntax
public class VideoSynchronizer : VideoPipe, IVideoInput, IMediaInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoOutput, IMediaOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoElement, IMediaElement, IElement, ISynchronizer
Constructors
VideoSynchronizer(VideoFormat)
Initializes a new instance of the VideoSynchronizer class.
Declaration
public VideoSynchronizer(VideoFormat format)
Parameters
Type | Name | Description |
---|---|---|
VideoFormat | format | The format. |
Properties
Active
Gets whether synchronization is active.
Declaration
public bool Active { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
HeadSystemTimestamp
Gets the system timestamp from the head of the queue.
Declaration
public long HeadSystemTimestamp { get; }
Property Value
Type | Description |
---|---|
System.Int64 |
Label
Gets a label that identifies this class.
Declaration
public override string Label { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.Label
Master
Gets whether this is the master.
Declaration
public bool Master { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
MasterSystemTimestamp
Gets or sets the master system timestamp.
Declaration
public long MasterSystemTimestamp { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
MaxData
Gets or sets the maximum amount of data to allow in the queue, in bytes.
Declaration
public long MaxData { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
MaxDelay
Gets or sets the maximum amount of delay to allow in the queue, in milliseconds.
Declaration
public int MaxDelay { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
QueueCount
Gets the number of pending frames.
Declaration
public int QueueCount { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Slaves
Gets the slaves.
Declaration
public ISynchronizer[] Slaves { get; }
Property Value
Type | Description |
---|---|
ISynchronizer[] |
Methods
Activate(Boolean, ISynchronizer[])
Activates synchronizing.
Declaration
public void Activate(bool master, ISynchronizer[] slaves)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | master | Whether this is a master. |
ISynchronizer[] | slaves | The slaves, if this is a master. |
DoDestroy()
Destroys this instance.
Declaration
protected override void DoDestroy()
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.DoDestroy()
DoProcessFrame(VideoFrame, VideoBuffer)
Processes a frame.
Declaration
protected override void DoProcessFrame(VideoFrame frame, VideoBuffer inputBuffer)
Parameters
Type | Name | Description |
---|---|---|
VideoFrame | frame | The frame. |
VideoBuffer | inputBuffer | The input buffer. |
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.DoProcessFrame(FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer)