Class AptXEncoderBlock
- Assembly
- VisioForge.Core.dll
MediaBlock that encodes raw audio into AptX format for Bluetooth audio applications. AptX is a psychoacoustic audio codec algorithm that provides CD-like audio quality with low latency, making it ideal for wireless audio transmission over Bluetooth. The codec uses a 4:1 compression ratio and supports stereo audio only. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.
public class AptXEncoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternalsInheritance
Implements
Inherited Members
Extension Methods
Constructors
AptXEncoderBlock(AptXEncoderSettings)
Initializes a new instance of the VisioForge.Core.MediaBlocks.AudioEncoders.AptXEncoderBlock class with the specified encoding settings.
public AptXEncoderBlock(AptXEncoderSettings settings)Parameters
settingsAptXEncoderSettings-
The AptX encoder settings that define encoding parameters and behavior.
Properties
Input
Gets the single audio input pad for this encoder block.
public override MediaBlockPad Input { get; }Property Value
Inputs
Gets all input pads for this encoder block.
public override MediaBlockPad[] Inputs { get; }Property Value
Output
Gets the single audio output pad for this encoder block.
public override MediaBlockPad Output { get; }Property Value
Outputs
Gets all output pads for this encoder block.
public override MediaBlockPad[] Outputs { get; }Property Value
Settings
Gets the encoder settings for this AptX encoder block.
public AptXEncoderSettings Settings { get; }Property Value
Type
Gets the MediaBlock type identifier for this encoder.
public override MediaBlockType Type { get; }Property Value
Methods
Build()
Constructs and initializes the AptX encoder and its associated GStreamer elements. This method creates the encoder with the specified settings, establishes input and output pads, and prepares the block for high-quality Bluetooth audio encoding.
public override bool Build()Returns
- bool
-
trueif the encoder was successfully built and configured;falseif initialization failed.
CleanUp()
Releases all resources and performs cleanup operations for this AptX encoder block. This method disposes of GStreamer elements, releases memory, and ensures proper shutdown of the block. Called automatically during pipeline teardown.
public void CleanUp()Dispose(bool)
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Properly disposes of the GStreamer AptX encoder element and associated resources.
protected override void Dispose(bool disposing)Parameters
disposingbool-
trueto release both managed and unmanaged resources;falseto release only unmanaged resources.
GetCore()
Gets the core BaseElement wrapper that provides additional functionality around the GStreamer AptX encoder element.
public BaseElement GetCore()Returns
- BaseElement
-
The BaseElement wrapper instance that encapsulates the GStreamer AptX encoder.
GetElement()
Gets the underlying GStreamer element that performs the AptX audio encoding.
public Element GetElement()Returns
- Element
-
The GStreamer Element instance representing the AptX encoder.
IsAvailable(AptXEncoderSettings)
Determines whether AptX encoding is available with the specified settings. Checks for the presence of the GStreamer openaptxenc plugin.
public static bool IsAvailable(AptXEncoderSettings settings)Parameters
settingsAptXEncoderSettings-
The AptX encoder settings to validate.
Returns
- bool
-
trueif AptX encoding is available; otherwise,false.
SetContext(MediaBlocksPipeline)
Associates this AptX encoder block with a pipeline and initializes its internal context. This method is called internally when the block is added to a pipeline.
public void SetContext(MediaBlocksPipeline pipeline)Parameters
pipelineMediaBlocksPipeline-
The MediaBlocksPipeline instance that will manage this block.