gstmixer

gstmixer — Interface for elements that provide mixer operations

Synopsis


#include <gst/interfaces/mixer.h>


            GstMixer;
enum        GstMixerType;
const GList* gst_mixer_list_tracks          (GstMixer *mixer);
void        gst_mixer_get_volume            (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gint *volumes);
void        gst_mixer_set_volume            (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gint *volumes);
void        gst_mixer_set_mute              (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean mute);
void        gst_mixer_set_record            (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean record);
void        gst_mixer_set_option            (GstMixer *mixer,
                                             GstMixerOptions *opts,
                                             gchar *value);
void        gst_mixer_mute_toggled          (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean mute);
void        gst_mixer_record_toggled        (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean record);
void        gst_mixer_volume_changed        (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gint *volumes);
void        gst_mixer_option_changed        (GstMixer *mixer,
                                             GstMixerOptions *opts,
                                             gchar *value);
const gchar* gst_mixer_get_option           (GstMixer *mixer,
                                             GstMixerOptions *opts);

Object Hierarchy


  GInterface
   +----GstMixer

Prerequisites

GstMixer requires GstImplementsInterface and GstElement.

Description

Details

GstMixer

typedef struct _GstMixer GstMixer;


enum GstMixerType

typedef enum
{
  GST_MIXER_HARDWARE,
  GST_MIXER_SOFTWARE
} GstMixerType;


gst_mixer_list_tracks ()

const GList* gst_mixer_list_tracks          (GstMixer *mixer);

Returns a list of available tracks for this mixer/element. Note that it is allowed for sink (output) elements to only provide the output tracks in this list. Likewise, for sources (inputs), it is allowed to only provide input elements in this list.

mixer : the GstMixer (a GstElement) to get the tracks from.
Returns : A GList consisting of zero or more GstMixerTracks.

gst_mixer_get_volume ()

void        gst_mixer_get_volume            (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gint *volumes);

Get the current volume(s) on the given track.

mixer : the GstMixer (a GstElement) that owns the track
track : the GstMixerTrack to get the volume from.
volumes : a pre-allocated array of integers (of size track->num_channels) to store the current volume of each channel in the given track in.

gst_mixer_set_volume ()

void        gst_mixer_set_volume            (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gint *volumes);

Sets the volume on each channel in a track. Short note about naming: a track is defined as one separate stream owned by the mixer/element, such as 'Line-in' or 'Microphone'. A channel is said to be a mono-stream inside this track. A stereo track thus contains two channels.

mixer : The GstMixer (a GstElement) that owns the track.
track : The GstMixerTrack to set the volume on.
volumes : an array of integers (of size track->num_channels) that gives the wanted volume for each channel in this track.

gst_mixer_set_mute ()

void        gst_mixer_set_mute              (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean mute);

Mutes or unmutes the given channel. To find out whether a track is currently muted, use GST_MIXER_TRACK_HAS_FLAG().

mixer : the GstMixer (a GstElement) that owns the track.
track : the GstMixerTrack to operate on.
mute : a boolean value indicating whether to turn on or off muting.

gst_mixer_set_record ()

void        gst_mixer_set_record            (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean record);

Enables or disables recording on the given track. Note that this is only possible on input tracks, not on output tracks (see GST_MIXER_TRACK_HAS_FLAG() and the GST_MIXER_TRACK_INPUT flag).

mixer : The GstMixer (a GstElement) that owns the track.
track : the GstMixerTrack to operate on.
record : a boolean value that indicates whether to turn on or off recording.

gst_mixer_set_option ()

void        gst_mixer_set_option            (GstMixer *mixer,
                                             GstMixerOptions *opts,
                                             gchar *value);

Sets a name/value option in the mixer to the requested value.

mixer : The GstMixer (a GstElement) that owns the optionlist.
opts : The GstMixerOptions that we operate on.
value : The requested new option value.

gst_mixer_mute_toggled ()

void        gst_mixer_mute_toggled          (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean mute);

mixer :
track :
mute :

gst_mixer_record_toggled ()

void        gst_mixer_record_toggled        (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gboolean record);

mixer :
track :
record :

gst_mixer_volume_changed ()

void        gst_mixer_volume_changed        (GstMixer *mixer,
                                             GstMixerTrack *track,
                                             gint *volumes);

mixer :
track :
volumes :

gst_mixer_option_changed ()

void        gst_mixer_option_changed        (GstMixer *mixer,
                                             GstMixerOptions *opts,
                                             gchar *value);

mixer :
opts :
value :

gst_mixer_get_option ()

const gchar* gst_mixer_get_option           (GstMixer *mixer,
                                             GstMixerOptions *opts);

Get the current value of a name/value option in the mixer.

mixer : The GstMixer (a GstElement) that owns the optionlist.
opts : The GstMixerOptions that we operate on.
Returns : current value of the name/value option.