Top |
Functions
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] |
gst_audio_converter_free ()
void
gst_audio_converter_free (GstAudioConverter *convert
);
Free a previously allocated convert
instance.
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 |
||
flags |
extra GstAudioConverterFlags |
|
in |
input frames |
|
in_frames |
number of input frames |
|
out |
output frames |
|
out_frames |
number of output frames |
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 |
|
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] |
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.
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.
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
.
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 |
||
in_rate |
input rate |
|
out_rate |
output rate |
|
config |
a GstStructure or |
[transfer full][allow-none] |
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
.
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.
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()
Types and Values
enum GstAudioConverterFlags
Extra flags passed to gst_audio_converter_new()
and gst_audio_converter_samples()
.
Members
no flag |
||
the input sample arrays are writable and can be used as temporary storage during conversion. |
||
allow arbitrary rate updates with
|
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