Bug 305501

Summary: Quick get/set on tracks result in different results
Product: [Fedora] Fedora Reporter: Bastien Nocera <bnocera>
Component: alsa-libAssignee: Martin Stransky <stransky>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 8CC: triage
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: bzcl34nup
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-06 07:25:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Bastien Nocera 2007-09-25 16:57:56 UTC
1. Launch gnome-volume-control
2. Check that the master track's channels are locked
3. Change the volume quickly, the 2 channels will become unlocked (the 2 tracks
end up with different volumes)

I debugged this in gst-plugins-base's gstalsamixer.c:
A quick succession of snd_mixer_selem_set_playback_volume and
snd_mixer_selem_get_playback_volume will result in 2 slightly different results.

I add those lines in gst_alsa_mixer_get_volume():
      if (track->num_channels == 2 && volumes[0] != volumes[1])•
↦             printf ("volumes[0]: %d volumes[1]: %d\n",•
↦             ↦       volumes[0], volumes[1]);•
And saw this after dragging the sliders for a while:
volumes[0]: 31 volumes[1]: 21

Comment 1 Martin Stransky 2007-10-15 13:44:14 UTC
Yes, I can reproduce it.

But if the volume is locked why don't you use
snd_mixer_selem_set_playback_volume_all instead of

Comment 2 Bastien Nocera 2007-10-15 14:04:42 UTC
Because we don't know that they're locked, it's a UI feature, which the backend
(in this case the API used by the GStreamer mixer interface) doesn't know about.

Comment 3 Bastien Nocera 2007-10-15 14:08:02 UTC
We could check whether all the volumes are the same in
gst_alsa_mixer_set_volume() and use snd_mixer_selem_set_playback_volume_all() if

Comment 4 Bastien Nocera 2007-10-15 14:24:05 UTC
Filed and attached a patch for GStreamer at:

Comment 5 Bug Zapper 2008-04-04 13:54:50 UTC
Based on the date this bug was created, it appears to have been reported
during the development of Fedora 8. In order to refocus our efforts as
a project we are changing the version of this bug to '8'.

If this bug still exists in rawhide, please change the version back to
(If you're unable to change the bug's version, add a comment to the bug
and someone will change it for you.)

Thanks for your help and we apologize for the interruption.

The process we're following is outlined here:

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

Comment 6 Martin Stransky 2008-05-06 07:25:55 UTC
Closing as WONTFIX.