gst_audio_converter_get_config
gst_audio_converter_reset
gst_audio_converter_supports_inplace
+gst_audio_converter_is_passthrough
<SUBSECTION Standard>
gst_audio_converter_flags_get_type
GST_TYPE_AUDIO_CONVERTER_FLAGS
gboolean in_place; /* the conversion can be done in place; returned by gst_audio_converter_supports_inplace() */
+ gboolean passthrough;
+
/* unpack */
gboolean in_default;
gboolean unpack_ip;
convert->convert = converter_generic;
convert->in_place = FALSE;
+ convert->passthrough = FALSE;
/* optimize */
if (convert->mix_passthrough) {
"passthrough mixing -> passthrough");
convert->convert = converter_passthrough;
convert->in_place = TRUE;
+ convert->passthrough = TRUE;
}
} else {
if (is_intermediate_format (in_info->finfo->format)) {
{
return convert->in_place;
}
+
+/**
+ * gst_audio_converter_is_passthrough:
+ *
+ * Returns whether the audio converter will operate in passthrough mode.
+ * The return value would be typically input to gst_base_transform_set_passthrough()
+ *
+ * Returns: %TRUE when no conversion will actually occur.
+ *
+ * Since: 1.16
+ */
+gboolean
+gst_audio_converter_is_passthrough (GstAudioConverter * convert)
+{
+ return convert->passthrough;
+}
gboolean gst_audio_converter_supports_inplace (GstAudioConverter *convert);
GST_AUDIO_API
+gboolean gst_audio_converter_is_passthrough (GstAudioConverter *convert);
+
+GST_AUDIO_API
gboolean gst_audio_converter_convert (GstAudioConverter * convert,
GstAudioConverterFlags flags,
gpointer in, gsize in_size,
in_place = gst_audio_converter_supports_inplace (this->convert);
gst_base_transform_set_in_place (base, in_place);
+ gst_base_transform_set_passthrough (base,
+ gst_audio_converter_is_passthrough (this->convert));
+
this->in_info = in_info;
this->out_info = out_info;