unrank a plugin?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

unrank a plugin?

Albert Costa
Hi,
when I create a pipeline to read a video, I use decodebin element. But I have seen that for a specific type of file (using -v flag in command line), it uses a plugin that causes errors in my application. Is it possible to tell gstreamer not to use a specific decoder ? If yes, how can this be done?
Basically, I have
gst-launch filesrc location=myvideo ! decodebin ! ... ! directdrawsink -v
->uses mpegtsdemux ! mpegvideoparse ! ffdec_mpegvideo , but this reads erroneous data (framerate for ex is not the one embedded in file)
If I create following pipeline:
gst-launch filesrc location=myvideo ! mpegtsdemux ! ffdec_mpegvideo ! ... ! directdrawsink -v, then this is OK
Is it possible to tell gstreamer to avoid using mpegvideoparse plugin with decodebin ?

Regards,
Al


------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: unrank a plugin?

Tim-Philipp Müller-2
On Tue, 2010-04-06 at 15:48 +0000, Albert Costa wrote:

Hi,

> when I create a pipeline to read a video, I use decodebin element. But
> I have seen that for a specific type of file (using -v flag in command
> line), it uses a plugin that causes errors in my application. Is it
> possible to tell gstreamer not to use a specific decoder ? If yes, how
> can this be done?
> Basically, I have
> gst-launch filesrc location=myvideo ! decodebin ! ... ! directdrawsink
> -v
> ->uses mpegtsdemux ! mpegvideoparse ! ffdec_mpegvideo , but this reads
> erroneous data (framerate for ex is not the one embedded in file)
> If I create following pipeline:
> gst-launch filesrc location=myvideo ! mpegtsdemux !
> ffdec_mpegvideo ! ... ! directdrawsink -v, then this is OK
> Is it possible to tell gstreamer to avoid using mpegvideoparse plugin
> with decodebin ?

It sounds like there's a serious bug somewhere that we should fix, have
you filed a bug in bugzilla yet?

Something like this may do the trick:

feature = gst_default_registry_find_feature ("mpegvideoparse",
    GST_TYPE_ELEMENT_FACTORY);

gst_plugin_feature_set_rank (feature, GST_RANK_NONE);

but generally it's not a good idea to mess with the ranks like that.

 Cheers
  -Tim



------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: unrank a plugin?

wl2776
Administrator
In reply to this post by Albert Costa
I'd like to widen a question.
DirectShow has a callback system (forgot its name, but I've used it to avoid using some decoders in a graphbuilder in my application).
The point is. You set up a callback function, and every time the graph builder finds a suitable filter for the graph, it calls this callback with the guid of the found filter. The function must return true or false. If it returns true, the graphbuilder uses the chosen filter, otherwise it drops it and seeks for another one.

I think, it would be useful to implement similar idea in the GStreamer.
Reply | Threaded
Open this post in threaded view
|

Re: unrank a plugin?

Tim-Philipp Müller-2
On Wed, 2010-04-07 at 11:49 -0800, wl2776 wrote:

> I'd like to widen a question.
> DirectShow has a callback system (forgot its name, but I've used it to avoid
> using some decoders in a graphbuilder in my application).
> The point is. You set up a callback function, and every time the graph
> builder finds a suitable filter for the graph, it calls this callback with
> the guid of the found filter. The function must return true or false. If it
> returns true, the graphbuilder uses the chosen filter, otherwise it drops it
> and seeks for another one.
>
> I think, it would be useful to implement similar idea in the GStreamer.

Like

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-select

you mean?

(not exposed in playbin* though).

Cheers
 -Tim



------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: unrank a plugin?

wl2776
Administrator
Tim-Philipp Müller-2 wrote
> DirectShow has a callback system (forgot its name, but I've used it to avoid > using some decoders in a graphbuilder in my application). Like http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-uridecodebin.html#GstURIDecodeBin-autoplug-select you mean? (not exposed in playbin* though).
Yes. One more fruitful thing, which I am missing in the playbin2, is the semi-automatic building. That is, I cannot add some elements to the playbin and make it do the rest. I either have to build everything from scratch, without using playbin2, or trust the playbin2 in all details.
Reply | Threaded
Open this post in threaded view
|

Re : unrank a plugin?

Albert Costa
In reply to this post by Tim-Philipp Müller-2
Ok thanks for the answer,
I've created Bug 615160 with details for how to reproduce the problem.
Regards, 
Al


De : Tim-Philipp Müller <[hidden email]>
À : [hidden email]
Envoyé le : Mar 6 avril 2010, 22 h 48 min 49 s
Objet : Re: [gst-devel] unrank a plugin?

On Tue, 2010-04-06 at 15:48 +0000, Albert Costa wrote:

Hi,

> when I create a pipeline to read a video, I use decodebin element. But
> I have seen that for a specific type of file (using -v flag in command
> line), it uses a plugin that causes errors in my application. Is it
> possible to tell gstreamer not to use a specific decoder ? If yes, how
> can this be done?
> Basically, I have
> gst-launch filesrc location=myvideo ! decodebin ! ... ! directdrawsink
> -v
> ->uses mpegtsdemux ! mpegvideoparse ! ffdec_mpegvideo , but this reads
> erroneous data (framerate for ex is not the one embedded in file)
> If I create following pipeline:
> gst-launch filesrc location=myvideo ! mpegtsdemux !
> ffdec_mpegvideo ! ... ! directdrawsink -v, then this is OK
> Is it possible to tell gstreamer to avoid using mpegvideoparse plugin
> with decodebin ?

It sounds like there's a serious bug somewhere that we should fix, have
you filed a bug in bugzilla yet?

Something like this may do the trick:

feature = gst_default_registry_find_feature ("mpegvideoparse",
    GST_TYPE_ELEMENT_FACTORY);

gst_plugin_feature_set_rank (feature, GST_RANK_NONE);

but generally it's not a good idea to mess with the ranks like that.

Cheers
  -Tim



------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel