[gst-devel] Create a mixer software
chuck berry
kirkhammet2005 at gmail.com
Wed Nov 26 16:44:19 CET 2008
Hi, I'm developing a little mp3 player and I'm trying to implement a
control volume by GstMixer
>From internet I've found this code:
static gboolean _ctrl_set_mixer(GstMixer *mixer, gpointer user_data)
{
const GList *tracks;
tracks = gst_mixer_list_tracks (mixer);
while (tracks != NULL) {
GstMixerTrack *track = GST_MIXER_TRACK (tracks->data);
if (GST_MIXER_TRACK_HAS_FLAG (track, GST_MIXER_TRACK_MASTER)) {
CtrlVolume *self;
self = CTRL_VOLUME (user_data);
self->_priv->mixer = mixer;
self->_priv->track = track;
/* no need to ref the mixer element */
g_object_ref (self->_priv->track);
return TRUE;
}
tracks = tracks->next;
}
return FALSE;
}
static gboolean ctrl_volume_open (CtrlVolume *vol){
CtrlVolume *self = (CtrlVolume *) vol;
GList *mixer_list;
if (self->_priv == NULL)
return FALSE;
mixer_list = gst_audio_default_registry_mixer_filter
(_ctrl_set_mixer,TRUE,self);
if (mixer_list == NULL){
g_print("non ho trovato mixer \n");
return FALSE;
}
/* do not unref the mixer as we keep the ref for self->priv->mixer */
g_list_free (mixer_list);
return TRUE;
}
With these 2 function I can implement an hardware mixer but I want a
software mixer. What can I do that?
Thanks
Bye
More information about the gstreamer-devel
mailing list