Class VideoSink
A video sink.
Inheritance
Implements
Inherited Members
Namespace: FM.LiveSwitch
Assembly: FM.LiveSwitch.dll
Syntax
public abstract class VideoSink : MediaSink<IVideoOutput, IVideoOutputCollection, IVideoInput, VideoSink, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoInput, IMediaInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoElement, IMediaElement, IElement
Constructors
VideoSink()
Initializes a new instance of the VideoSink class.
Declaration
public VideoSink()
VideoSink(VideoFormat)
Initializes a new instance of the VideoSink class.
Declaration
public VideoSink(VideoFormat inputFormat)
Parameters
Type | Name | Description |
---|---|---|
VideoFormat | inputFormat | The input format. |
Properties
Content
Gets the content descriptor.
Declaration
public override string Content { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
MaxInputEncoding
Gets or sets the maximum allowed input encoding.
Declaration
public override EncodingInfo MaxInputEncoding { get; protected set; }
Property Value
Type | Description |
---|---|
EncodingInfo |
Overrides
MaxInputFrameRate
Gets or sets the maximum allowed input frame-rate, in fps. A value of -1 indicates unset (no maximum).
Declaration
public virtual double MaxInputFrameRate { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
MaxInputHeight
Gets the maximum allowed input height. A value of -1 indicates unset (no minimum).
Declaration
public virtual int MaxInputHeight { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
MaxInputScale
Gets or sets the maximum allowed input scale. A value of -1 indicates unset (no maximum).
Declaration
public virtual double MaxInputScale { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
MaxInputSize
Gets or sets the maximum allowed input size. A value of null indicates unset (no maximum).
Declaration
public virtual Size MaxInputSize { get; protected set; }
Property Value
Type | Description |
---|---|
Size |
MaxInputWidth
Gets the maximum allowed input width. A value of -1 indicates unset (no minimum).
Declaration
public virtual int MaxInputWidth { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
MinInputEncoding
Gets or sets the minimum allowed input encoding.
Declaration
public override EncodingInfo MinInputEncoding { get; protected set; }
Property Value
Type | Description |
---|---|
EncodingInfo |
Overrides
MinInputFrameRate
Gets or sets the minimum allowed input frame-rate, in fps. A value of -1 indicates unset (no minimum).
Declaration
public virtual double MinInputFrameRate { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
MinInputHeight
Gets the minimum allowed input height. A value of -1 indicates unset (no minimum).
Declaration
public virtual int MinInputHeight { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
MinInputScale
Gets or sets the minimum allowed input scale. A value of -1 indicates unset (no minimum).
Declaration
public virtual double MinInputScale { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
MinInputSize
Gets or sets the minimum allowed input size. A value of null indicates unset (no minimum).
Declaration
public virtual Size MinInputSize { get; protected set; }
Property Value
Type | Description |
---|---|
Size |
MinInputWidth
Gets the minimum allowed input width. A value of -1 indicates unset (no minimum).
Declaration
public virtual int MinInputWidth { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
OverConstrainedFrameRate
Gets whether the sink frame-rate is over-constrained. A sink frame-rate is over-constrained if the input frame-rate is over-constrained.
Declaration
public virtual bool OverConstrainedFrameRate { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedHeight
Gets whether the sink height is over-constrained. A sink height is over-constrained if the input height is over-constrained.
Declaration
public virtual bool OverConstrainedHeight { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedInput
Gets whether the input is over-contrained. An input is over-constrained if it's input bitrate, input scale, input frame-rate, input size is over-contrained.
Declaration
public override bool OverConstrainedInput { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
OverConstrainedInputFrameRate
Gets whether the minimum allowed input frame-rate exceeds the maximum allowed input frame-rate.
Declaration
public bool OverConstrainedInputFrameRate { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedInputHeight
Gets whether the minimum allowed input height exceeds the maximum allowed input height.
Declaration
public bool OverConstrainedInputHeight { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedInputScale
Gets whether the minimum allowed input scale exceeds the maximum allowed input scale.
Declaration
public bool OverConstrainedInputScale { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedInputSize
Gets whether the minimum allowed input size exceeds the maximum allowed input size.
Declaration
public bool OverConstrainedInputSize { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedInputWidth
Gets whether the minimum allowed input width exceeds the maximum allowed input width.
Declaration
public bool OverConstrainedInputWidth { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedScale
Gets whether the sink scale is over-constrained. A sink scale is over-constrained if the input scale is over-constrained.
Declaration
public virtual bool OverConstrainedScale { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedSize
Gets whether the sink size is over-constrained. A sink size is over-constrained if the input size is over-constrained.
Declaration
public virtual bool OverConstrainedSize { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
OverConstrainedWidth
Gets whether the sink width is over-constrained. A sink width is over-constrained if the input width is over-constrained.
Declaration
public virtual bool OverConstrainedWidth { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
VideoType
Gets or sets the video type.
Declaration
public virtual VideoType VideoType { get; protected set; }
Property Value
Type | Description |
---|---|
VideoType |
Methods
CreateOutputCollection(IVideoInput)
Creates an output collection.
Declaration
protected override IVideoOutputCollection CreateOutputCollection(IVideoInput input)
Parameters
Type | Name | Description |
---|---|---|
IVideoInput | input | The input. |
Returns
Type | Description |
---|---|
IVideoOutputCollection |
Overrides
DoPreProcessFrame(VideoFrame, VideoBuffer)
Pre-processes a frame.
Declaration
protected override void DoPreProcessFrame(VideoFrame frame, VideoBuffer inputBuffer)
Parameters
Type | Name | Description |
---|---|---|
VideoFrame | frame | The frame. |
VideoBuffer | inputBuffer | The input buffer. |
Overrides
Events
OnProcessSizeChange
Raised when a frame is about to be processed with a size that does not match the prior frame.
Declaration
public event Action1<Size> OnProcessSizeChange
Event Type
Type | Description |
---|---|
Action1<Size> |