Table of Contents

Interface IGstElementCodecSettings

Namespace
VisioForge.Core.Types.X
Assembly
VisioForge.Core.dll

Settings of a video encoder or decoder implemented by a GStreamer element the settings class names itself, usually one from a plugin that ships outside the SDK.

public interface IGstElementCodecSettings

Remarks

The H.264, HEVC and AV1 encoder blocks (H264EncoderBlock, HEVCEncoderBlock, AV1EncoderBlock) and decoder blocks (H264DecoderBlock, HEVCDecoderBlock, AV1DecoderBlock) check for this interface before anything else. When the settings object implements it, the block creates the element named by VisioForge.Core.Types.X.IGstElementCodecSettings.ElementName, calls VisioForge.Core.Types.X.IGstElementCodecSettings.Configure(System.Action{System.String,GLib.Value}) once on it, and builds the rest of its chain (videoconvert, parser, queue) as it does for its built-in encoders and decoders. The encoder settings implement VisioForge.Core.Types.X.IGstElementEncoderSettings.

An encoder settings class also implements the codec's settings interface and reports CustomEncoder (H.264, HEVC) or Custom (AV1) from GetEncoderType(); a decoder settings class reports the decoder enum's Custom value from GetDecoderType().

Properties

ElementName

Gets the GStreamer element factory name, for example vfamah264enc.

string ElementName { get; }

Property Value

string

Methods

Configure(Action<string, Value>)

Writes the settings to the element the block created.

void Configure(Action<string, Value> set)

Parameters

set Action<string, Value>

The property writer the block supplies. It skips, with a warning, a property the element does not expose as writable, and it disposes the value it is given, so pass a new GLib.Value for every call and do not dispose it.