Influencing playbin2/decodebin2 auto-plugging

Tvrtko Ursulin tvrtko.ursulin at onelan.co.uk
Fri Aug 3 01:58:36 PDT 2012


On Thursday 02 August 2012 18:36:05 Tim-Philipp Müller wrote:
> On Thu, 2012-08-02 at 19:03 +0200, Stefan Sauer wrote:
> > On 08/02/2012 04:39 PM, Tvrtko Ursulin wrote:
> > > Is there a way to dynamically influence auto-plugging in
> > > playbin2/decodebin2, for example by upranking or deranking elements?
> > 
> > No. https://bugzilla.gnome.org/show_bug.cgi?id=649542
> 
> This is just convenience API, of course you can do such things
> dynamically.
> 
> You can manually set element ranks at runtime in your application by
> looking up the GstElementFactory/GstPluginFeature in the registry after
> gst_init() and setting the plugin rank via
> gst_plugin_feature_set_rank().
> 
> Then there are the "autoplug-{factories,sort,select}" signals on
> decodebin2/uridecodebin, which you can use to tweak the autoplugging.
> 
> You can use those in playbin2 as well, but you need to "somehow" find
> the uridecodebin element inside playbin2.

This sounds promising, if application can reject an element in the autoplug-
select signal this is exactly what we need.

I'll try this approach and report back - hopefully it is possible from Python. 
And I _think_ I already had a solution to find decodebin in playbin2.

> As for the vaapi stuff, I thought this should just work automagically
> these days (with latest releases) if the video-sink set supports it
> (like vaapi*sink or cluttersink). Perhaps it's only in git, don't
> remember. I'm sure someone will correct me if needed :)
> 
> What problem are you trying to solve exactly?

Let some videos be played on the GPU and some on the CPU - because together 
they can play more than only one on it's own.

Tvrtko



More information about the gstreamer-devel mailing list