[gstreamer-bugs] [Bug 152864] [PATCH] GstAlsaMixer doesn't support signals

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Wed Jan 10 06:06:18 PST 2007


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=152864

  GStreamer | gst-plugins-base | Ver: HEAD CVS


Ronald Bultje changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rbultje at ronald.bitfreak.net




------- Comment #14 from Ronald Bultje  2007-01-10 14:04 UTC -------
You cannot just close this, you absolutely want mainloop integration and
notification, even if only for saving battery power and being a greenpeace
hippie. So for all of those, you need mainloop registration as a very first
thing. For alsa, I suppose it's snd_mixer_poll_descriptors() or so, but you'd
need to look at the docs. Pulse same thing, you need the fd to be notified. I
would personally go for a mainloop hook, but if you want to be really cool, a
thread would do also (and would provide more instant update notifications). I
don't know details about mainloop integration exactly, I looked at it at one
point and forgot.

Someone in the gst camp needs to sit on this for a few days and do it. Write a
testcase, possibly use the mixer as testcase and even provide patches for the
mixer-applet (yay!), and just make it work. The mixer applet (and
gnome-volume-control, eventually) would be a lot cleaner with this.

For the non-workers (oss, probably sunaudio, ...), you can do 2 things. Either
set a flag NO_SIGNALS on the mixer, because it can't do it without basically
querying everything, or (and?) write a helper function that the app can call
every once in a while that emits those signals automatically. In the mixer
applet and such, we should document that some of them are not actively updated
and use polling and that it's bad for your battery and will kill us all or
something. The second approach would be nicer.

When the applet is done, don't forget that gnome-volume-control has the exact
same code, but I guess the applet is currently more important because every
fedora, ubuntu etc. desktop ships with it. If you make a mixer-applet patch,
I'm sure I can come up with something for gnome-volume-control.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email




More information about the Gstreamer-bugs mailing list