[gstreamer-bugs] [Bug 506928] New: Gstreamer needs to Add PCM as master fall back for cards that do not have 'Master' mixer

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Wed Jan 2 13:22:43 PST 2008


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=506928

  GStreamer | gst-plugins-base | Ver: HEAD CVS
           Summary: Gstreamer needs to Add PCM as master fall back for cards
                    that do not have 'Master' mixer
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: jerone at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


This issue here is that many new laptops are having sound cards that no longer
include a hardware "Master" mixer. For there the "PCM" is actually the master
mixer. This is displayed with the Lenovo Thinkpad T61 & X61 who both use the
AD1984 sound card. 

For applications like the gnome volume control. Gstreamer is telling it to use
the Microphone as the master control volume. This is wrong! The master find
function needs to add PCM as a fallback if it cannot find 'Master' or 'Front'
mixers.

I have a patch attached to fix this issue below:



This patch fixes issue with ALSA drivers that enable sound cards that do not
have a hardware 'Master' mixer. Instead on these cards there is only PCM as
the master. This patch adds PCM as a fall back if 'Master' nor 'Front' mixers
are found.


The problem being caused is that tools such as gnome-volume-control
& gnome-control-center are looking for a master they identify the microphone
and not PCM. This is demonstrated on the Lenovo Thinkad T61 & X61 using AD1984
chipset (using Intel HDA driver ALSA driver). This problem has also
been seen a Sony Vaio S4XP.

I've tested this patch on my Thinkpad T61 and it works perfect.

Bugzillas reporting this issue are:

https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/174292
https://bugzilla.redhat.com/show_bug.cgi?id=344911


Signed-off-by: Jerone Young <jerone at gmail.com>

diff -r 52cc0d2f47c2 ext/alsa/gstalsamixer.c
--- a/ext/alsa/gstalsamixer.c   Wed Dec 26 16:02:08 2007 -0600
+++ b/ext/alsa/gstalsamixer.c   Wed Dec 26 16:05:21 2007 -0600
@@ -154,6 +154,16 @@ gst_alsa_mixer_find_master_mixer (GstAls
    element = snd_mixer_elem_next (element);
  }

+  /*  If not, check if we have a playback mixer labelled as 'PCM' */
+  element = snd_mixer_first_elem (handle);
+  for (i = 0; i < count; i++) {
+    if (snd_mixer_selem_has_playback_volume (element) &&
+        strcmp (snd_mixer_selem_get_name (element), "PCM") == 0) {
+      return element;
+    }
+    element = snd_mixer_elem_next (element);
+  }
+
  /* If not, check if we have a playback mixer with both volume and switch */
  element = snd_mixer_first_elem (handle);
  for (i = 0; i < count; i++) {


-- 
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=506928.




More information about the Gstreamer-bugs mailing list