Controller doesn't work with volume element.
Nox Deleo
noxdeleo at googlemail.com
Mon Mar 11 10:39:19 PDT 2013
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.
On 10 March 2013 15:47, Stefan Sauer <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 listgstreamer-devel at lists.freedesktop.orghttp://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/267d4858/attachment.html>
More information about the gstreamer-devel
mailing list