Class NullVideoSource
A video source that raises nothing.
Inheritance
Implements
Inherited Members
Namespace: FM.LiveSwitch
Assembly: FM.LiveSwitch.dll
Syntax
public class NullVideoSource : VideoSource, IVideoOutput, IMediaOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoElement, IMediaElement, IElement
Constructors
NullVideoSource(VideoFormat)
Initializes a new NullVideoSource.
Declaration
public NullVideoSource(VideoFormat outputFormat)
Parameters
Type | Name | Description |
---|---|---|
VideoFormat | outputFormat | The output format. |
NullVideoSource(VideoFormat, VideoConfig)
Initializes a new NullVideoSource.
Declaration
public NullVideoSource(VideoFormat outputFormat, VideoConfig config)
Parameters
Type | Name | Description |
---|---|---|
VideoFormat | outputFormat | The output format. |
VideoConfig | config | The configuration. |
Properties
CanChangeBitrate
Gets whether this source can change the output bitrate.
Declaration
protected override bool CanChangeBitrate { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
CanPauseBitrate
Gets whether this source can pause the output bitrate.
Declaration
protected override bool CanPauseBitrate { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
Config
Gets or sets the current config. A value of null indicates unset (pass-through).
Declaration
public VideoConfig Config { get; protected set; }
Property Value
Type | Description |
---|---|
VideoConfig |
FrameRate
Gets or sets the current frame-rate, in fps. A value of -1 indicates unset, and will default to the target frame-rate.
Declaration
public virtual double FrameRate { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
InputRtpStreamId
Gets or sets the input RTP stream identifier.
Declaration
public virtual string InputRtpStreamId { get; set; }
Property Value
Type | Description |
---|---|
System.String |
InputSynchronizationSource
Gets or sets the input synchronization source.
Declaration
public virtual long InputSynchronizationSource { get; set; }
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
MaxFrameRate
Gets or sets the maximum output frame-rate, in fps. A value of -1 indicates unset (no maximum).
Declaration
public virtual double MaxFrameRate { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
MaxOutputFrameRate
Gets or sets the maximum allowed output frame-rate, in fps. A value of -1 indicates unset (no maximum).
Declaration
public override double MaxOutputFrameRate { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
Overrides
MaxOutputSize
Gets or sets the maximum allowed output size. A value of null indicates unset (no maximum).
Declaration
public override Size MaxOutputSize { get; protected set; }
Property Value
Type | Description |
---|---|
Size |
Overrides
MaxSize
Gets or sets the maximum output size. A value of null indicates unset (no maximum).
Declaration
public virtual Size MaxSize { get; set; }
Property Value
Type | Description |
---|---|
Size |
MaxSupportedFrameRate
Gets the maximum supported frame-rate, in fps. A value of -1 indicates unset (no maximum).
Declaration
public virtual double MaxSupportedFrameRate { get; }
Property Value
Type | Description |
---|---|
System.Double |
MaxSupportedSize
Gets the maximum supported size. A value of null indicates unset (no maximum).
Declaration
public virtual Size MaxSupportedSize { get; }
Property Value
Type | Description |
---|---|
Size |
MinFrameRate
Gets or sets the minimum frame-rate, in fps. A value of -1 indicates unset (no minimum).
Declaration
public virtual double MinFrameRate { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
MinOutputFrameRate
Gets or sets the minimum allowed output frame-rate, in fps. A value of -1 indicates unset (no minimum).
Declaration
public override double MinOutputFrameRate { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
Overrides
MinOutputSize
Gets or sets the minimum allowed output size. A value of null indicates unset (no minimum).
Declaration
public override Size MinOutputSize { get; protected set; }
Property Value
Type | Description |
---|---|
Size |
Overrides
MinSize
Gets or sets the minimum size. A value of null indicates unset (no minimum).
Declaration
public virtual Size MinSize { get; set; }
Property Value
Type | Description |
---|---|
Size |
MinSupportedFrameRate
Gets the minimum supported frame-rate, in fps. A value of -1 indicates unset (no minimum).
Declaration
public virtual double MinSupportedFrameRate { get; }
Property Value
Type | Description |
---|---|
System.Double |
MinSupportedSize
Gets the minimum supported size. A value of null indicates unset (no minimum).
Declaration
public virtual Size MinSupportedSize { get; }
Property Value
Type | Description |
---|---|
Size |
Size
Gets or sets the current size. A value of null indicates unset, and will default to the target size.
Declaration
public virtual Size Size { get; protected set; }
Property Value
Type | Description |
---|---|
Size |
StaticOutputFrameRate
Gets or sets whether MinOutputFrameRate and MaxOutputFrameRate should return MinSupportedFrameRate and MaxSupportedFrameRate, respectively, or response to changes in MinFrameRate and MaxFrameRate.
Declaration
public bool StaticOutputFrameRate { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
StaticOutputSize
Gets or sets whether MinOutputSize and MaxOutputSize should return MinSupportedSize and MaxSupportedSize, respectively, or response to changes in MinSize and MaxSize.
Declaration
public bool StaticOutputSize { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
TargetConfig
Gets or sets the target config. A value of null indicates unset (no target).
Declaration
public VideoConfig TargetConfig { get; set; }
Property Value
Type | Description |
---|---|
VideoConfig |
TargetFrameRate
Gets or sets the target frame-rate, in fps.
Declaration
public virtual double TargetFrameRate { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
TargetOutputFrameRate
Gets or sets the target output frame-rate, in fps.
Declaration
public override double TargetOutputFrameRate { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
Overrides
TargetOutputSize
Gets or sets the target output size.
Declaration
public override Size TargetOutputSize { get; protected set; }
Property Value
Type | Description |
---|---|
Size |
Overrides
TargetSize
Gets or sets the target size.
Declaration
public virtual Size TargetSize { get; set; }
Property Value
Type | Description |
---|---|
Size |
Methods
DoDestroy()
Destroys this instance.
Declaration
protected override void DoDestroy()
Overrides
DoStart()
Starts the source.
Declaration
protected override Future<object> DoStart()
Returns
Type | Description |
---|---|
Future<System.Object> |
Overrides
DoStop()
Stops the source.
Declaration
protected override Future<object> DoStop()
Returns
Type | Description |
---|---|
Future<System.Object> |
Overrides
GenerateAndProcessRawFrame()
Generates and processes a raw frame.
Declaration
public virtual void GenerateAndProcessRawFrame()
ProcessControlFrameResponse(MediaControlFrame)
Processes a control frame response by raising it.
Declaration
public virtual void ProcessControlFrameResponse(MediaControlFrame controlFrameResponse)
Parameters
Type | Name | Description |
---|---|---|
MediaControlFrame | controlFrameResponse | The control frame response. |
ProcessControlFrameResponses(MediaControlFrame[])
Processes control frame responses by raising them.
Declaration
public virtual void ProcessControlFrameResponses(MediaControlFrame[] controlFrameResponses)
Parameters
Type | Name | Description |
---|---|---|
MediaControlFrame[] | controlFrameResponses | The control frame responses. |
ProcessFrame(VideoFrame)
Processes a frame by raising it.
Declaration
public virtual void ProcessFrame(VideoFrame frame)
Parameters
Type | Name | Description |
---|---|---|
VideoFrame | frame | The frame. |
UpdateCanChangeBitrate(Boolean)
Sets whether this source can change the output bitrate.
Declaration
public void UpdateCanChangeBitrate(bool canChangeBitrate)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | canChangeBitrate | Whether this source can change the output bitrate. |
UpdateCanPauseBitrate(Boolean)
Sets whether this source can pause the output bitrate.
Declaration
public void UpdateCanPauseBitrate(bool canPauseBitrate)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | canPauseBitrate | Whether this source can pause the output bitrate. |
UpdateMaxOutputBitrate(Int32)
Sets the maximum allowed output bitrate, in kbps. A value of -1 indicates unset (no maximum).
Declaration
public virtual void UpdateMaxOutputBitrate(int maxOutputBitrate)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | maxOutputBitrate | The maximum allowed output bitrate, in kbps. |
UpdateMaxOutputEncoding(EncodingInfo)
Sets the maximum allowed output encoding. A value of null indicates unset (no maximum).
Declaration
public virtual void UpdateMaxOutputEncoding(EncodingInfo maxOutputEncoding)
Parameters
Type | Name | Description |
---|---|---|
EncodingInfo | maxOutputEncoding | The maximum allowed output encoding. |
UpdateMaxOutputFrameRate(Double)
Sets the maximum allowed output frame-rate. A value of -1 indicates unset (no maximum).
Declaration
public virtual void UpdateMaxOutputFrameRate(double maxOutputFrameRate)
Parameters
Type | Name | Description |
---|---|---|
System.Double | maxOutputFrameRate | The maximum allowed output frame-rate. |
UpdateMaxOutputScale(Double)
Sets the maximum allowed output scale. A value of -1 indicates unset (no maximum).
Declaration
public virtual void UpdateMaxOutputScale(double maxOutputScale)
Parameters
Type | Name | Description |
---|---|---|
System.Double | maxOutputScale | The maximum allowed output scale. |
UpdateMaxOutputSize(Size)
Sets the maximum allowed output size. A value of -1 indicates unset (no maximum).
Declaration
public virtual void UpdateMaxOutputSize(Size maxOutputSize)
Parameters
Type | Name | Description |
---|---|---|
Size | maxOutputSize | The maximum allowed output size. |
UpdateMinOutputBitrate(Int32)
Sets the minimum allowed output bitrate, in kbps. A value of -1 indicates unset (no minimum).
Declaration
public virtual void UpdateMinOutputBitrate(int minOutputBitrate)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | minOutputBitrate | The minimum allowed output bitrate, in kbps. |
UpdateMinOutputEncoding(EncodingInfo)
Sets the minimum allowed output encoding. A value of null indicates unset (no minimum).
Declaration
public virtual void UpdateMinOutputEncoding(EncodingInfo minOutputEncoding)
Parameters
Type | Name | Description |
---|---|---|
EncodingInfo | minOutputEncoding | The minimum allowed output encoding. |
UpdateMinOutputFrameRate(Double)
Sets the minimum allowed output frame-rate. A value of -1 indicates unset (no minimum).
Declaration
public virtual void UpdateMinOutputFrameRate(double minOutputFrameRate)
Parameters
Type | Name | Description |
---|---|---|
System.Double | minOutputFrameRate | The minimum allowed output frame-rate. |
UpdateMinOutputScale(Double)
Sets the minimum allowed output scale. A value of -1 indicates unset (no minimum).
Declaration
public virtual void UpdateMinOutputScale(double minOutputScale)
Parameters
Type | Name | Description |
---|---|---|
System.Double | minOutputScale | The minimum allowed output scale. |
UpdateMinOutputSize(Size)
Sets the minimum allowed output size. A value of -1 indicates unset (no minimum).
Declaration
public virtual void UpdateMinOutputSize(Size minOutputSize)
Parameters
Type | Name | Description |
---|---|---|
Size | minOutputSize | The minimum allowed output size. |
UpdateOutputSynchronizable(Boolean)
Sets whether output is synchronizable.
Declaration
public virtual void UpdateOutputSynchronizable(bool outputSynchronizable)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | outputSynchronizable | Whether output is synchronizable. |
UpdateSystemDelay(Int64)
Sets the system delay in ticks.
Declaration
public virtual void UpdateSystemDelay(long systemDelay)
Parameters
Type | Name | Description |
---|---|---|
System.Int64 | systemDelay | The system delay. |
UpdateTargetOutputBitrate(Int32)
Sets the target output bitrate, in kbps. A value of -1 indicates unset (no target).
Declaration
public virtual void UpdateTargetOutputBitrate(int targetOutputBitrate)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | targetOutputBitrate | The target output bitrate, in kbps. |
UpdateTargetOutputEncoding(EncodingInfo)
Sets the target output encoding. A value of null indicates unset (no target).
Declaration
public virtual void UpdateTargetOutputEncoding(EncodingInfo targetOutputEncoding)
Parameters
Type | Name | Description |
---|---|---|
EncodingInfo | targetOutputEncoding | The target output encoding. |
UpdateTargetOutputFrameRate(Double)
Sets the target output frame-rate. A value of -1 indicates unset (no target).
Declaration
public virtual void UpdateTargetOutputFrameRate(double targetOutputFrameRate)
Parameters
Type | Name | Description |
---|---|---|
System.Double | targetOutputFrameRate | The target output frame-rate. |
UpdateTargetOutputScale(Double)
Sets the target output scale. A value of -1 indicates unset (no target).
Declaration
public virtual void UpdateTargetOutputScale(double targetOutputScale)
Parameters
Type | Name | Description |
---|---|---|
System.Double | targetOutputScale | The target output scale. |
UpdateTargetOutputSize(Size)
Sets the target output size. A value of -1 indicates unset (no target).
Declaration
public virtual void UpdateTargetOutputSize(Size targetOutputSize)
Parameters
Type | Name | Description |
---|---|---|
Size | targetOutputSize | The target output size. |
UpdateVideoType(VideoType)
Sets the video type.
Declaration
public void UpdateVideoType(VideoType videoType)
Parameters
Type | Name | Description |
---|---|---|
VideoType | videoType | The video type. |