manpagez: man pages & more
html files: gst-plugins-base-libs-1.0
Home | html | info | man

GstAudioConverter

GstAudioConverter

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.

Parameters

flags

extra GstAudioConverterFlags

 

in_info

a source GstAudioInfo

 

out_info

a destination GstAudioInfo

 

config

a GstStructure with configuration options.

[transfer full][nullable]

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_convert ()

gboolean
gst_audio_converter_convert (GstAudioConverter *convert,
                             GstAudioConverterFlags flags,
                             gpointer in,
                             gsize in_size,
                             gpointer *out,
                             gsize *out_size);

Convenience wrapper around gst_audio_converter_samples(), which will perform allocation of the output buffer based on the result from gst_audio_converter_get_out_frames().

Parameters

flags

extra GstAudioConverterFlags

 

in

input data.

[array length=in_size][element-type guint8]

in_size

size of in

 

out

a pointer where the output data will be written.

[out][array length=out_size][element-type guint8]

out_size

a pointer where the size of out will be written.

[out]

Returns

TRUE is the conversion could be performed.

Since: 1.14


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_update_config ()

gboolean
gst_audio_converter_update_config (GstAudioConverter *convert,
                                   gint in_rate,
                                   gint out_rate,
                                   GstStructure *config);

Set in_rate , out_rate and config as extra configuration for convert .

in_rate and out_rate specify the new sample rates of input and output formats. A value of 0 leaves the sample rate unchanged.

config can be NULL, in which case, the current configuration is not changed.

If the parameters in config can not be set exactly, this function returns FALSE and will try to update as much state as possible. The new state can then be retrieved and refined with gst_audio_converter_get_config().

Look at the GST_AUDIO_CONVERTER_OPT_* fields to check valid configuration option and values.

Parameters

convert

a GstAudioConverter

 

in_rate

input rate

 

out_rate

output rate

 

config

a GstStructure or NULL.

[transfer full][allow-none]

Returns

TRUE when the new parameters could be set


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.


gst_audio_converter_reset ()

void
gst_audio_converter_reset (GstAudioConverter *convert);

Reset convert to the state it was when it was first created, clearing any history it might currently have.

Parameters

convert

a GstAudioConverter

 

gst_audio_converter_supports_inplace ()

gboolean
gst_audio_converter_supports_inplace (GstAudioConverter *convert);

Returns whether the audio converter can perform the conversion in-place. The return value would be typically input to gst_base_transform_set_in_place()

Parameters

convert

a GstAudioConverter

 

Returns

TRUE when the conversion can be done in place.

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

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.