Top |
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]
flags |
extra GstAudioConverterFlags |
|
in_info |
a source GstAudioInfo |
|
out_info |
a destination GstAudioInfo |
|
config |
a GstStructure with configuration options. |
[transfer full] |
void
gst_audio_converter_free (GstAudioConverter *convert
);
Free a previously allocated convert
instance.
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.
convert |
||
flags |
extra GstAudioConverterFlags |
|
in |
input frames |
|
in_frames |
number of input frames |
|
out |
output frames |
|
out_frames |
number of output 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.
gsize
gst_audio_converter_get_max_latency (GstAudioConverter *convert
);
Get the maximum number of input frames that the converter would need before producing output.
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
.
const GstStructure * gst_audio_converter_get_config (GstAudioConverter *convert
,gint *in_rate
,gint *out_rate
);
Get the current configuration of convert
.
a GstStructure that remains valid for as long as convert
is valid
or until gst_audio_converter_update_config()
is called.
Extra flags passed to gst_audio_converter_new()
and gst_audio_converter_samples()
.
no flag |
||
the input sample arrays are writable and can be used as temporary storage during conversion. |
||
allow arbitrary rate updates with
|
#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.
#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.
#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