GstAudioConverter

GstAudioConverter

Functions

Types and Values

Includes

#include <gst/audio/audio.h>

Description

Functions

gst_audio_converter_new ()

GstAudioConverter *
gst_audio_converter_new (GstAudioConverterFlags flags,
                         GstAudioInfo *in_info,
                         GstAudioInfo *out_info,
                         GstStructure *config);

Create a new GstAudioConverter that is able to convert between in and out audio formats.

config contains extra configuration options, see GST_VIDEO_CONVERTER_OPT_* parameters for details about the options and values.

[skip]

Parameters

flags

extra GstAudioConverterFlags

 

in_info

a source GstAudioInfo

 

out_info

a destination GstAudioInfo

 

config

a GstStructure with configuration options.

[transfer full]

Returns

a GstAudioConverter or NULL if conversion is not possible.


gst_audio_converter_free ()

void
gst_audio_converter_free (GstAudioConverter *convert);

Free a previously allocated convert instance.

Parameters

convert

a GstAudioConverter

 

gst_audio_converter_samples ()

gboolean
gst_audio_converter_samples (GstAudioConverter *convert,
                             GstAudioConverterFlags flags,
                             gpointer in[],
                             gsize in_frames,
                             gpointer out[],
                             gsize out_frames);

Perform the conversion with in_frames in in to out_frames in out using convert .

In case the samples are interleaved, in and out must point to an array with a single element pointing to a block of interleaved samples.

If non-interleaved samples are used, in and out must point to an array with pointers to memory blocks, one for each channel.

in may be NULL, in which case in_frames of silence samples are processed by the converter.

This function always produces out_frames of output and consumes in_frames of input. Use gst_audio_converter_get_out_frames() and gst_audio_converter_get_in_frames() to make sure in_frames and out_frames are matching and in and out point to enough memory.

Parameters

convert

a GstAudioConverter

 

flags

extra GstAudioConverterFlags

 

in

input frames

 

in_frames

number of input frames

 

out

output frames

 

out_frames

number of output frames

 

Returns

TRUE is the conversion could be performed.


gst_audio_converter_get_in_frames ()

gsize
gst_audio_converter_get_in_frames (GstAudioConverter *convert,
                                   gsize out_frames);

Calculate how many input frames are currently needed by convert to produce out_frames of output frames.

Parameters

convert

a GstAudioConverter

 

out_frames

number of output frames

 

Returns

the number of input frames


gst_audio_converter_get_max_latency ()

gsize
gst_audio_converter_get_max_latency (GstAudioConverter *convert);

Get the maximum number of input frames that the converter would need before producing output.

Parameters

convert

a GstAudioConverter

 

Returns

the latency of convert as expressed in the number of frames.


gst_audio_converter_get_out_frames ()

gsize
gst_audio_converter_get_out_frames (GstAudioConverter *convert,
                                    gsize in_frames);

Calculate how many output frames can be produced when in_frames input frames are given to convert .

Parameters

convert

a GstAudioConverter

 

in_frames

number of input frames

 

Returns

the number of output frames


gst_audio_converter_get_config ()

const GstStructure *
gst_audio_converter_get_config (GstAudioConverter *convert,
                                gint *in_rate,
                                gint *out_rate);

Get the current configuration of convert .

Parameters

convert

a GstAudioConverter

 

in_rate

result input rate

 

out_rate

result output rate

 

Returns

a GstStructure that remains valid for as long as convert is valid or until gst_audio_converter_update_config() is called.

Types and Values

GstAudioConverter

typedef struct _GstAudioConverter GstAudioConverter;

enum GstAudioConverterFlags

Extra flags passed to gst_audio_converter_new() and gst_audio_converter_samples().

Members

GST_AUDIO_CONVERTER_FLAG_NONE

no flag

 

GST_AUDIO_CONVERTER_FLAG_IN_WRITABLE

the input sample arrays are writable and can be used as temporary storage during conversion.

 

GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE

allow arbitrary rate updates with gst_audio_converter_update_config().

 

GST_AUDIO_CONVERTER_OPT_DITHER_METHOD

#define GST_AUDIO_CONVERTER_OPT_DITHER_METHOD   "GstAudioConverter.dither-method"

GST_TYPE_AUDIO_DITHER_METHOD, The dither method to use when changing bit depth. Default is GST_AUDIO_DITHER_NONE.


GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD

#define GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD   "GstAudioConverter.noise-shaping-method"

GST_TYPE_AUDIO_NOISE_SHAPING_METHOD, The noise shaping method to use to mask noise from quantization errors. Default is GST_AUDIO_NOISE_SHAPING_NONE.


GST_AUDIO_CONVERTER_OPT_QUANTIZATION

#define GST_AUDIO_CONVERTER_OPT_QUANTIZATION   "GstAudioConverter.quantization"

G_TYPE_UINT, The quantization amount. Components will be quantized to multiples of this value. Default is 1