Controlling parameters in pygst
Stefan Sauer
ensonic at hora-obscura.de
Sat Nov 26 12:22:36 PST 2011
On 11/26/2011 04:56 PM, Jille Timmermans wrote:
> Hello,
>
> I'm looking for a way to, let's say, change the equalizer-settings at
> a specified point in time with GStreamer in Python. I've read the
> manual and found the Controller-class.
>
> Some snippets:
> [..]
> eq = gst.element_factory_make('equalizer-3bands')
> [..]
> control = gst.Controller(eq, 'band0', 'band1', 'band2')
> control.set_interpolation_mode('band0', gst.INTERPOLATE_NONE)
> [..]
> control.set("band0", 8 * gst.SECOND, 12.0)
> control.set("band0", 12 * gst.SECOND, -12.0)
> [..]
>
> My code is playing the MP3 I want, but doesn't do anything with the
> equalizer-settings.
>
> If I change the state of the pipeline to STATE_PLAYING and sleep for
> some time and call
> eq.set_property('band0', -12.0)
> it actually works, but I want a more exact timing.
>
> Some background:
> The projects[1] goal is to make a transition between two songs
> described in an XML-file. It specifies at which time the second song
> should start playing, can specify changes in pitch, equalizer-settings
> etc.
>
> I would really love some hint whether the Controller is the right way
> to go. I've also read something about DParams but I can't find the
> calls in pygst so I assume they are not (yet) implemented.
You are using the right api. I think you run into a short comming of how
the 3-band and 10-band eq work. On the equalizer-nbands the api probably
works. I'll have a look into that and try to get it fixed before the
code-freeze.
Stefan
>
>
> Thanks in advance,
> -- Jille
> [1] https://github.com/Jille/MiXML
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list