Class Encoder
A libvpx-based encoder.
Inheritance
System.Object
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>
Encoder
Implements
Inherited Members
Namespace: FM.LiveSwitch.Vpx
Assembly: FM.LiveSwitch.Vpx.dll
Syntax
public abstract class Encoder : VideoEncoder, 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
Constructors
Encoder(VideoFormat)
Initializes a new instance of the Encoder class.
Declaration
public Encoder(VideoFormat outputFormat)
Parameters
Type | Name | Description |
---|---|---|
VideoFormat | outputFormat | The output format. |
Properties
Codec
Gets the current codec.
Declaration
public abstract Codec Codec { get; }
Property Value
Type | Description |
---|---|
Codec |
CodecConfig
Gets the encoder configuration.
Declaration
public EncoderConfig CodecConfig { get; }
Property Value
Type | Description |
---|---|
EncoderConfig |
ForceKeyFrame
Gets or sets a value indicating whether a keyframe should be forced.
Declaration
public override bool ForceKeyFrame { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
Quality
Gets or sets the target output quality.
Declaration
public double Quality { get; set; }
Property Value
Type | Description |
---|---|
System.Double | The quality. |
Methods
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)
IsKeyFrame(DataBuffer)
Determines whether the [buffer] contains a Key Frame.
Declaration
protected abstract bool IsKeyFrame(DataBuffer buffer)
Parameters
Type | Name | Description |
---|---|---|
DataBuffer | buffer | The buffer. |
Returns
Type | Description |
---|---|
System.Boolean |
SetCodecConfig(EncoderConfig)
Sets the encoder configuration.
Declaration
public int SetCodecConfig(EncoderConfig config)
Parameters
Type | Name | Description |
---|---|---|
EncoderConfig | config |
Returns
Type | Description |
---|---|
System.Int32 | 0 on success, non-zero on failure. |