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 567690 - Problems with OSS mixer code
Problems with OSS mixer code
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.x
Other All
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-01-13 23:57 UTC by Brian Cameron
Modified: 2011-10-29 15:48 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26



Description Brian Cameron 2009-01-13 23:57:44 UTC
I notice that the volume control using the OSSv3 mixer plugin in gst-plugins-good 
is using the SNDCTL_DSP_PLAYVOL.  That's *not* a good thing to do in a mixer 
application.  That ioctl is supposed to adjust the play volume associated with an 
application.  It affects that applications input into the audio mixer.  It does 
*not* adjust the system volume.

In OSS 3.x the better solution is to pick on one of the SOUND_MIXER_xxx ioctls 
--  probably SOUND_MIXER_READ_VOLME (and WRITE of course), _OGAIN, or _PCM 
(perhaps in that order). 

In other implementations of OSS, the SNDCTL_SET_PLAYVOL is probably implemented in terms of those other ioctls.
Comment 1 Sebastian Dröge (slomo) 2011-05-19 17:20:37 UTC
Is this still a problem and could you provide a patch?
Comment 2 Brian Cameron 2011-05-19 17:37:40 UTC
Just to give some history.  A while back Oracle hired some contractors to write the OSSv4 plugin currently in gst-plugins-good.  Garrett d'Amore, who integrated OSSv4 into the Solaris kernel, did some additional work on the OSSv4 plugin later to address some issues.  Garrett noticed this issue in the OSSv3 plugin and I 
filed this bug.  

Looking at gst-plugins-good 0.10.29 sys/oss/gstossmixer.c and 
sys/oss/gstossmixertrack.c files, I see this issue has been addressed.  There are 
no SNDCTL_DSP_PLAYVOL references and now SOUND_MIXER_foo ioctl are used.

I say its fixed, thanks.