GNOME Bugzilla – Bug 752156
playsink: Require streamvolume interface for sink volumes for standardized behaviour
Last modified: 2015-08-16 13:38:50 UTC
Setting "mute" property to TRUE, will change the "volume" property of playbin to 0.0.
So you're saying this is a playbin problem, not an issue with the specific audio sink being used?
osxaudiosink doesn't seem to have a "mute" property.
thanks. I just didn't know which element causes the problem.
But this is on Mac OS/X ?
Yes, it is on Mac OS/X.
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.
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.
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.
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