Python: Trying to list all streams

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Python: Trying to list all streams

Rasmus Z Iversen
Hello, i am writing a small python script where i need to loop through a
list of audio streams from gstreamer (just like gnome-volume-control under
applications). I have tried to look through the source code of gnome-media
and gnome-volume-control to see how they do it, but i just really can't
see how i am supposed to do it in python.

As far as i can see they get the list of streams from here
control->priv->all_streams, where control is a GvcMixerControl object,
which i really don't know how gets into the picture, and i figured maybe
someone here would know, or at least be able to point me in the right
direction.

This is the C code which i have found which concerns my question:




--- gvc-mixer-dialog.c --


streams = gvc_mixer_control_get_streams (self->priv->mixer_control);
for (l = streams; l != NULL; l = l->next) {
           stream = l->data;
           add_stream (self, stream);
}
g_slist_free (streams);

cards = gvc_mixer_control_get_cards (self->priv->mixer_control);
for (l = cards; l != NULL; l = l->next) {
           card = l->data;
           add_card (self, card);
}
g_slist_free (cards);

--- gvc-mixer-control.c ---

GSList *
gvc_mixer_control_get_streams (GvcMixerControl *control)
{
           GSList *retval;

           g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);

           retval = NULL;
           g_hash_table_foreach (control->priv->all_streams,
                                 listify_hash_values_hfunc,
                                 &retval);
           return g_slist_sort (retval, (GCompareFunc) gvc_stream_collate);
}

--- gvc-mixer-control.c ---

GSList *
gvc_mixer_control_get_sinks (GvcMixerControl *control)
{
           GSList *retval;

           g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);

           retval = NULL;
           g_hash_table_foreach (control->priv->sinks,
                                 listify_hash_values_hfunc,
                                 &retval);
           return g_slist_sort (retval, (GCompareFunc) gvc_stream_collate);
}

---

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel