## gstaudiomixerutils

gstaudiomixerutils — utility functions to find available audio mixers from the plugin registry

## Synopsis

    #include <gst/audio/mixerutils.h>

    gboolean            (*GstAudioMixerFilterFunc)          (GstMixer *mixer,
                                                             gpointer user_data);
    GList *             gst_audio_default_registry_mixer_filter
                                                            (GstAudioMixerFilterFunc filter_func,
                                                             gboolean first,
                                                             gpointer user_data);

## Description

Provides some utility functions to detect available audio mixers on the system.

## Details

### GstAudioMixerFilterFunc ()

    gboolean            (*GstAudioMixerFilterFunc)          (GstMixer *mixer,
                                                             gpointer user_data);

Function that will be called by `gst_audio_default_registry_mixer_filter()` so the caller can decide which mixer elements should be kept and returned. When the mixer element is passed to the callback function, it is opened and in READY state. If you decide to keep the element, you need to set it back to NULL state yourself (unless you want to keep it opened of course).

`mixer` : | a GstElement implementing the GstMixer interface
`user_data` : | user data
Returns : | TRUE if the element should be kept, FALSE otherwise.

### gst_audio_default_registry_mixer_filter ()

    GList *             gst_audio_default_registry_mixer_filter
                                                            (GstAudioMixerFilterFunc filter_func,
                                                             gboolean first,
                                                             gpointer user_data);

Utility function to find audio mixer elements.

Will traverse the default plugin registry in order of plugin rank and find usable audio mixer elements. The caller may optionally fine-tune the selection by specifying a filter function.

`filter_func` : | filter function, or NULL
`first` : | set to TRUE if you only want the first suitable mixer element
`user_data` : | user data to pass to the filter function
Returns : | a GList of audio mixer GstElements. You must free each element in the list by setting it to NULL state and calling `gst_object_unref()`. After that the list itself should be freed using `g_list_free()`.

Since 0.10.2