[gst-devel] How to register Gstreamer Plugin with Playbin so that playbin detect my plugins

Michael Smith msmith at xiph.org
Tue Feb 17 20:39:38 CET 2009


On Mon, Feb 16, 2009 at 11:37 PM, rakesh sharma
<rakesh2.sharma at aricent.com> wrote:
>
> i am getting this message
>
> ** Message: don't know how to handle video/mpeg, mpegversion=(int)4,
> systemstream=(boolean)false,
> codec_data=(buffer)000001b0f2000001b50ee040c0cf0000010000000120008440fa28a021e0a31f,
> width=(int)640, height=(int)480, framerate=(fraction)30/1
> ERROR: pipeline doesn't want to preroll.
> can any one please let me know what should be my caps...
> i tried using like this
> dec->sink_caps = gst_caps_from_string("video/mpeg, "
>                                           "mpegversion = (int) [0, MAX] , "
>                                           "systemstream = (boolean) [true,
> false] , "
>                                           "codec_data=(buffer), "
>                                           "width = (int) [ 0, MAX ], "
>                                           "height = (int) [ 0, MAX ], "
>                                           "framerate = (fraction) [ 1, MAX
> ]");
> but its not working.

You haven't provided enough context here - what do you use
dec->sink_caps for? These look more like template caps anyway, but
dec->sink_caps implies that you're setting them on an instance.

So maybe your template caps are wrong; you haven't shown those at all.
Your actual buffer/pad caps you haven't shown anywhere (unless this is
what you gave above, in which case it's very obviously wrong).

Additional points:
 -  "codec_data=(buffer), " - if this parses at all, I doubt it means
anything. It certainly won't do anything useful.
 - "mpegversion = (int) [0, MAX] , " - I doubt you mean to say that
your plugin supports every MPEG video codec, both current and future.
Maybe you wanted that to say "mpegversion = 4"

Mike




More information about the gstreamer-devel mailing list