Class AptXDecoderBlock
- Assembly
- VisioForge.Core.dll
MediaBlock that decodes AptX compressed audio streams into raw PCM audio. AptX is a psychoacoustic audio codec algorithm that provides CD-like audio quality with low latency, making it ideal for wireless audio reception over Bluetooth. This decoder handles AptX bitstreams and outputs high-quality stereo PCM audio. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.
public class AptXDecoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternalsInheritance
Implements
Inherited Members
Extension Methods
Constructors
AptXDecoderBlock(AptXDecoderSettings)
Initializes a new instance of the VisioForge.Core.MediaBlocks.AudioEncoders.AptXDecoderBlock class with the specified decoding settings.
public AptXDecoderBlock(AptXDecoderSettings settings)Parameters
settingsAptXDecoderSettings-
The AptX decoder settings that define decoding parameters and behavior.
Properties
Input
Gets the single audio input pad for this decoder block.
public override MediaBlockPad Input { get; }Property Value
Inputs
Gets all input pads for this decoder block.
public override MediaBlockPad[] Inputs { get; }Property Value
Output
Gets the single audio output pad for this decoder block.
public override MediaBlockPad Output { get; }Property Value
Outputs
Gets all output pads for this decoder block.
public override MediaBlockPad[] Outputs { get; }Property Value
Settings
Gets the decoder settings for this AptX decoder block.
public AptXDecoderSettings Settings { get; }Property Value
Type
Gets the MediaBlock type identifier for this decoder.
public override MediaBlockType Type { get; }Property Value
Methods
Build()
Constructs and initializes the AptX decoder and its associated GStreamer elements. This method creates the decoder with the specified settings, establishes input and output pads, and prepares the block for high-quality Bluetooth audio decoding.
public override bool Build()Returns
- bool
-
trueif the decoder was successfully built and configured;falseif initialization failed.
CleanUp()
Releases all resources and performs cleanup operations for this AptX decoder 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 decoder 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 decoder element.
public BaseElement GetCore()Returns
- BaseElement
-
The BaseElement wrapper instance that encapsulates the GStreamer AptX decoder.
GetElement()
Gets the underlying GStreamer element that performs the AptX audio decoding.
public Element GetElement()Returns
- Element
-
The GStreamer Element instance representing the AptX decoder.
IsAvailable(AptXDecoderSettings)
Determines whether AptX decoding is available with the specified settings. Checks for the presence of the GStreamer openaptxdec plugin.
public static bool IsAvailable(AptXDecoderSettings settings)Parameters
settingsAptXDecoderSettings-
The AptX decoder settings to validate.
Returns
- bool
-
trueif AptX decoding is available; otherwise,false.
SetContext(MediaBlocksPipeline)
Associates this AptX decoder 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.