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 752156 - playsink: Require streamvolume interface for sink volumes for standardized behaviour
playsink: Require streamvolume interface for sink volumes for standardized be...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.5.2
Other Mac OS
: Normal normal
: 1.5.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-07-09 06:46 UTC by Alexandre Moreno
Modified: 2015-08-16 13:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Alexandre Moreno 2015-07-09 06:46:52 UTC
Setting "mute" property to TRUE, will change the "volume" property of playbin to 0.0.
Comment 1 Tim-Philipp Müller 2015-07-09 10:35:59 UTC
So you're saying this is a playbin problem, not an issue with the specific audio sink being used?
Comment 2 Tim-Philipp Müller 2015-07-09 10:37:45 UTC
osxaudiosink doesn't seem to have a "mute" property.
Comment 3 Alexandre Moreno 2015-07-09 14:09:48 UTC
thanks. I just didn't know which element causes the problem.
Comment 4 Tim-Philipp Müller 2015-07-09 14:15:38 UTC
But this is on Mac OS/X ?
Comment 5 Alexandre Moreno 2015-07-09 14:25:30 UTC
Yes, it is on Mac OS/X.
Comment 6 Sebastian Dröge (slomo) 2015-07-09 14:34:58 UTC
osxaudiosink does not implement the streamvolume interface, and only has a volume property and no mute property. And the volume property is only 0.0 to 1.0. Not sure if playsink is then using it, but if it is that would be the problem probably.

If playbin is not using it, then the problem is probably to be found in the volume element.
Comment 7 Sebastian Dröge (slomo) 2015-07-10 08:11:09 UTC
The problem is that playsink uses the volume property to emulate mute... but doesn't remember that it muted by setting the volume to 0 and didn't remember the old volume.
Comment 8 Sebastian Dröge (slomo) 2015-07-10 08:14:18 UTC
I think the fix here would be to let playsink only use the sink volume/mute properties if the sink implements GstStreamVolume. We don't know anything sensible about the volume/mute properties in other cases.

However in theory that's ABI breakage.
Comment 9 Sebastian Dröge (slomo) 2015-07-10 09:06:27 UTC
commit f99a24f8b3ab1d0fa0cc56432b766a5c1ae85fb4
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Fri Jul 10 11:53:24 2015 +0300

    playsink: Require the streamvolume interface on the sink when using the sink's volume/mute properties
    
    If the sink has properties named volume and mute, we have no idea about their
    meaning. The streamvolume interface standardizes the meaning.
    
    In the case of osxaudiosink for example, the current volume property has a
    range of 0.0 to 1.0, but we need 0.0 to 10.0 or similar. Also osxaudiosink
    has no mute property. As such, the volume element should be used here instead.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=752156