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 :mixer the GstMixer (a GstElement) to get the tracks from. the GstMixer (a GstElement) to get the tracks from. GstMixerGstMixerGstElementGstElementReturns :Returns A GList consisting of zero or more GstMixerTracks. A GList consisting of zero or more GstMixerTracks. GListGListGstMixerTracksGstMixerTracks
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);

mixer :mixer track :track volumes :volumes
mixer :
track :
volumes :

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 :mixer The GstMixer (a GstElement) that owns the track. The GstMixer (a GstElement) that owns the track. GstMixerGstMixerGstElementGstElementtrack :track The GstMixerTrack to set the volume on. The GstMixerTrack to set the volume on. GstMixerTrackGstMixerTrackvolumes :volumes an array of integers (of size track->num_channels) that gives the wanted volume for each channel in this track. an array of integers (of size track->num_channels) that gives the wanted volume for each channel in this track.
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 :mixer the GstMixer (a GstElement) that owns the track. the GstMixer (a GstElement) that owns the track. GstMixerGstMixerGstElementGstElementtrack :track the GstMixerTrack to operate on. the GstMixerTrack to operate on. GstMixerTrackGstMixerTrackmute :mute a boolean value indicating whether to turn on or off muting. a boolean value indicating whether to turn on or off muting.
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 :mixer The GstMixer (a GstElement) that owns the track. The GstMixer (a GstElement) that owns the track. GstMixerGstMixerGstElementGstElementtrack :track the GstMixerTrack to operate on. the GstMixerTrack to operate on. GstMixerTrackGstMixerTrackrecord :record a boolean value that indicates whether to turn on or off recording. a boolean value that indicates whether to turn on or off recording.
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 :mixer The GstMixer (a GstElement) that owns the optionlist. The GstMixer (a GstElement) that owns the optionlist. GstMixerGstMixerGstElementGstElementopts :opts The GstMixerOptions that we operate on. The GstMixerOptions that we operate on. GstMixerOptionsGstMixerOptionsvalue :value The requested new option value. The requested new option 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 :mixer track :track mute :mute
mixer :
track :
mute :

gst_mixer_record_toggled ()

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

mixer :mixer track :track record :record
mixer :
track :
record :

gst_mixer_volume_changed ()

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

mixer :mixer track :track volumes :volumes
mixer :
track :
volumes :

gst_mixer_option_changed ()

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

mixer :mixer opts :opts value :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 :mixer The GstMixer (a GstElement) that owns the optionlist. The GstMixer (a GstElement) that owns the optionlist. GstMixerGstMixerGstElementGstElementopts :opts The GstMixerOptions that we operate on. The GstMixerOptions that we operate on. GstMixerOptionsGstMixerOptionsReturns :Returns current value of the name/value option. current value of the name/value option.
mixer : The GstMixer (a GstElement) that owns the optionlist.
opts : The GstMixerOptions that we operate on.
Returns : current value of the name/value option.