After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 677346 - PulseAudio can't be "unmuted" correctly when Alsa is also enabled.
PulseAudio can't be "unmuted" correctly when Alsa is also enabled.
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: dont know
0.10.36
Other Linux
: Normal minor
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-06-02 18:04 UTC by Kao Dome
Modified: 2013-07-17 16:08 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kao Dome 2012-06-02 18:04:56 UTC
Hi, I was tracking what I thought was a bug in xfce4-volumed at first but it turned out to be GStreamer related, but the code in GStreamer was pretty complicated to understand not knowing much about it. xfce4-volumed is just a helper to bind multimedia keys to perform actions like mute or volume up and down in XFCE.

When the mute key is pressed, the output is muted via a call to gst_mixer_set_mute(). I was inspecting the relevant code in that application and it looks correct to me, so I used a little helper to check several properties of the available mixers in GStreamer.

There were a couple although the relevant ones were 2: an ALSA one an a PulseAudio one, both being outputs and having a "master" track.

Upon pressing the mute key and displaying the notification the volume was effectively muted and both mixers got the GST_MIXER_TRACK_MUTE flag active.

Pressing the mute key again to return the volume to where it was, "unmute", the ALSA mixer was unmuted (GST_MIXER_TRACK_MUTE flag was false) but the PulseAudio mixer had that flag still true, and effectively being muted. The only way to unmute it was through pavucontrol (PulseAudio volume control application).

After reading through the code and trying some things I decided to recompile Gstreamer -base and -base-plugins without ALSA support (--disable-alsa configure flag). When listing the mixers in GStreamer only PulseAudio ones where available (the output one and 2 input), and now the mute/unmute functionality works as expected.

There was a commit in Gstreamer -good related to PulseAudio recently which fixed something mute related too but I recon it doesn't matter in this bug: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=e7240413a7b678cc89c0b68cf15d68c7f14d921a
Comment 1 Tim-Philipp Müller 2012-09-29 11:49:04 UTC
> Upon pressing the mute key and displaying the notification the volume was
> effectively muted and both mixers got the GST_MIXER_TRACK_MUTE flag active.
> 
> Pressing the mute key again to return the volume to where it was, "unmute", the
> ALSA mixer was unmuted (GST_MIXER_TRACK_MUTE flag was false) but the PulseAudio
> mixer had that flag still true, and effectively being muted. The only way to
> unmute it was through pavucontrol (PulseAudio volume control application).

So which mixer object/element would actually be operated on for the "unmute" action? The pulseaudio mixer element or the alsa mixer element?

In any case, in 1.0 the GstMixer interface has been removed (without replacement), so this is somewhat obsolete, but if there's an easy fix for 0.10, that could of course still be committed.
Comment 2 Edward Hervey 2013-07-17 15:22:49 UTC
This only applies to 0.10. Shall we close it ?
Comment 3 Sebastian Dröge (slomo) 2013-07-17 16:08:04 UTC
Yes