Controller doesn't work with volume element.

Stefan Sauer ensonic at hora-obscura.de
Mon Mar 11 14:13:14 PDT 2013


On 11.03.2013 18:39, Nox Deleo wrote:
> Interesting. I'm using GStreamer 1.0.5 from the gstreamer-developers
> PPA in Ubuntu. Any chance this missed release somehow? Or am I doing
> something strange to cause it? The code used is literally just what I
> posted before.
I think the fix is only in HEAD.

Stefan
>
>
> On 10 March 2013 15:47, Stefan Sauer <ensonic at hora-obscura.de
> <mailto:ensonic at hora-obscura.de>> wrote:
>
>     On 08.03.2013 22:22, Nox Deleo wrote:
>>     If I set up a control binding to the 'volume' property of the
>>     volume element, it reports 'Failed to get values from controller'.
>     This is fixed in git since quite a while. The volume element
>     requests an array of volume factor values. This ensures smooth
>     volume ramping for cases where block sizes are big. This code path
>     had a bug.
>
>     Stefan
>>
>>     I'm using the following (Python) code.
>>
>>     self.volume_1 = Gst.ElementFactory.make('volume', 'volume_1')
>>     self.volume_2 = Gst.ElementFactory.make('volume', 'volume_2')
>>
>>     self.volume_1_cs = GstController.InterpolationControlSource.new()
>>     self.volume_2_cs = GstController.InterpolationControlSource.new()
>>     self.volume_1.add_control_binding(GstController.DirectControlBinding.new(self.volume_1,
>>     'volume', self.volume_1_cs))
>>     self.volume_2.add_control_binding(GstController.DirectControlBinding.new(self.volume_2,
>>     'volume', self.volume_2_cs))
>>     self.volume_1_cs.set_property('mode',
>>     GstController.InterpolationMode.CUBIC)
>>     self.volume_2_cs.set_property('mode',
>>     GstController.InterpolationMode.CUBIC)
>>
>>     Could this be related to this thread?:
>>     http://gstreamer-devel.966125.n4.nabble.com/1-0-controller-API-td4571962.html
>>
>>     I'm able to work around this using the audioamplify plugin for
>>     now, but it seems I'm still not getting the controller stuff to
>>     work. I don't think I'm grasping exactly how the whole controller
>>     thing works, despite taking a look at a design doc and a few code
>>     examples.
>>
>>     What I'm trying to do is implement a smooth crossfade between two
>>     audio sources a few seconds before the end of the currently
>>     playing one. So I've set up control sources as above (save for
>>     using linear interpolation with audioamplify instead), and I've
>>     been trying to get the volumes to change using code like this:
>>
>>     self.volume_1_cs.set(1 * Gst.SECOND, 1.0)
>>     ...and...
>>     successful, time = self.src_1.query_position(Gst.Format.TIME)
>>     self.volume_1_cs.set(time + (1 * Gst.SECOND), 0.0)
>>
>>     The functions return true, so they say they're doing things, but
>>     I can't hear any difference. I just can't get my head around how
>>     this all works. Apologies if I'm just being dense.
>>
>>
>>     _______________________________________________
>>     gstreamer-devel mailing list
>>     gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>>     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>     _______________________________________________
>     gstreamer-devel mailing list
>     gstreamer-devel at lists.freedesktop.org
>     <mailto:gstreamer-devel at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130311/e5d4c099/attachment.html>


More information about the gstreamer-devel mailing list