[gst-devel] How to predict which properties will be live-changeable ?

Florent fthiery at gmail.com
Sun Apr 5 20:11:08 CEST 2009


Hi

I have started developing an utility named gst-gengui [1], whose aim
is to help people test their plugins, or simply live-control pipelines
(think of ladspa elements for instance).

In other terms, when you put in ./gst-gengui audiotestsrc name=src !
ladspa-hard-gate name=filter ! audioconvert ! alsasink, you can
control some parameters right away.

What it does is basically look for specially named elements in a
pipeline (written in gst-launch-like syntax or from a separate config
file), inspect the elements (gets the elements' properties
caracteristics like type, min, max, ...) and create a GUI composed of
type-specific widgets. For instance, for gobject.TYPE_INT, it will
create a value changing widget whose callback is to call
element.set_property("property", new_value).

This works really nice for instance for elements like videobalance:
changing the brightness value is applied at once.

However, for other parameters like bitrate or filesrc locations,  the
pipeline needs restarting. Is there any way to predict/detect if an
element needs pipeline restarting for parameter changing ? I can of
course use some hard-coded info like a static array defining
properties that need restarting after value changes, but it could be
better to embed this kind of info in the plugins themselves.

Are there any plans for this kind of extension for the properties
object ? Maybe there already is something ? Should i systematically
restart pipelines on value change (a bit sad for live processing
though...) ?

Also, thanks for any feedback on this project.

Cheers

Florent


[1] http://code.google.com/p/gst-gengui/




More information about the gstreamer-devel mailing list