[gstreamer-bugs] [Bug 473841] [playbin] use mixer interface when setting volume

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Wed Sep 5 03:18:07 PDT 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=473841

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

Tim-Philipp Müller changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #94978|none                        |needs-work
               Flag|                            |
            Summary|Use mixer interface in      |[playbin] use mixer
                   |playbin when setting volume |interface when setting
                   |                            |volume




------- Comment #2 from Tim-Philipp Müller  2007-09-05 10:18 UTC -------
I believe the current setup is intentional and the desired use case for most
desktop applications, as changing the mixer setting (and thus the volume of all
applications usually) is regarded to be confusing for the user.

Other use cases could probably be catered for if, but IMHO that should be done
by adding additional API instead of changing the behaviour of the current API.


I also see some practical issues with this patch, some of which stem from the
awkward GstImplementsInterface API that GstMixer implements:

 - setting the same volume for each track doesn't really seem
   right, but in any case you probably want to skip non-playback
   tracks and also take into account track->min_volume. I am not
   sure if setting the volume on all mixer tracks would be an
   acceptable thing to do even for new API - we'd need a smarter
   solution for that, I think.

 - one would probably need to keep track of changes in the mixer
   volume too, so that get_volume() on playbin returns the actual
   value of the mixer volume control, and not just value last set
   via playbin (which the user might have changed through another
   application since then)

 - keep in mind that whether the mixer interface is implemented
   by an element depends on its state too (the device must be
   open for this); this means if the application tries to change
   the volume while the mixer is in the 'wrong' state, you'll
   modify the setting of the 'volume' element instead, which
   will persist when the sink changes state again later and
   lead to an aggregated volume that's too low, if I'm not
   mistaken.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=473841.




More information about the Gstreamer-bugs mailing list