GNOME Bugzilla – Bug 595055
[pulsesrc] Should implement GstStreamVolume interface
Last modified: 2012-02-18 20:06:22 UTC
pulsesrc should implement GstStreamVolume interface because it can control the stream volume or mute the stream.
If I understood the interface correctly, this is blocked until PulseAudio supports per-stream volumes for source outputs, right?
Yes
Seems that PA gets per-stream volumes for sources soon
Created attachment 202044 [details] [review] pulsesrc: Implement GstStreamVolume interface PulseAudio 1.0 supports per-source-output volumes, and this exposes the functionality via the GstStreamVolume interface. When compiled against pre-1.0 PulseAudio, the interface is not implemented, and using the "volume" or "mute" property is a no-op. This bit of ugliness will go away when we can depend on PulseAudio 1.0 or greater.
(In reply to comment #4) > Created an attachment (id=202044) [details] [review] > pulsesrc: Implement GstStreamVolume interface > > PulseAudio 1.0 supports per-source-output volumes, and this exposes the > functionality via the GstStreamVolume interface. > > When compiled against pre-1.0 PulseAudio, the interface is not > implemented, and using the "volume" or "mute" property is a no-op. This > bit of ugliness will go away when we can depend on PulseAudio 1.0 or > greater. Code looks good to me. I was wondering whether instead of expose no-op properties instead pulsesrc should not expose the property if compiled with older pulseaudio. As any good application would check for the property/interface at run-time anyway to nicely support both older and newer gst-plugins-good
Created attachment 202112 [details] [review] pulsesrc: Implement GstStreamVolume interface Minor update to the previous patch that handles getting the volume on stream creation. (thanks to Sjoerd for pointing this out)
commit 1f4bb687940f87a05a43cac1fcb074afac9cd7f8 Author: Arun Raghavan <arun.raghavan@collabora.co.uk> Date: Thu Nov 24 12:05:33 2011 +0530 pulsesrc: Implement GstStreamVolume interface PulseAudio 1.0 supports per-source-output volumes, and this exposes the functionality via the GstStreamVolume interface. When compiled against pre-1.0 PulseAudio, the interface is not implemented, and the "volume" or "mute" properties are not available. This bit of ugliness will go away when we can depend on PulseAudio 1.0 or greater. https://bugzilla.gnome.org/show_bug.cgi?id=595055