Controlling parameters in pygst
Jille Timmermans
jille at quis.cx
Sat Nov 26 07:56:01 PST 2011
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.
Thanks in advance,
-- Jille
[1] https://github.com/Jille/MiXML
More information about the gstreamer-devel
mailing list