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 595055 - [pulsesrc] Should implement GstStreamVolume interface
[pulsesrc] Should implement GstStreamVolume interface
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.30
Other Linux
: Normal enhancement
: 0.10.31
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-09-13 09:28 UTC by Sebastian Dröge (slomo)
Modified: 2012-02-18 20:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
pulsesrc: Implement GstStreamVolume interface (16.70 KB, patch)
2011-11-24 06:49 UTC, Arun Raghavan
none Details | Review
pulsesrc: Implement GstStreamVolume interface (16.78 KB, patch)
2011-11-25 06:04 UTC, Arun Raghavan
none Details | Review

Description Sebastian Dröge (slomo) 2009-09-13 09:28:39 UTC
pulsesrc should implement GstStreamVolume interface because it can control the stream volume or mute the stream.
Comment 1 Arun Raghavan 2011-02-01 09:57:12 UTC
If I understood the interface correctly, this is blocked until PulseAudio supports per-stream volumes for source outputs, right?
Comment 2 Sebastian Dröge (slomo) 2011-02-01 16:29:24 UTC
Yes
Comment 3 Sebastian Dröge (slomo) 2011-05-20 07:26:32 UTC
Seems that PA gets per-stream volumes for sources soon
Comment 4 Arun Raghavan 2011-11-24 06:49:23 UTC
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.
Comment 5 Sjoerd Simons 2011-11-24 10:21:37 UTC
(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
Comment 6 Arun Raghavan 2011-11-25 06:04:46 UTC
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)
Comment 7 Arun Raghavan 2011-11-25 17:18:51 UTC
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