Hi,

I’m developing a Gstreamer plugin for video decoder.

But when I try to create a complete pipeline by connecting with ffmpegcolorscale plugin it throws a error by saying that…

 

“pad returned caps ANY which are not a real subset of its template caps video/x-raw-yuv, format=(fourcc){ YV12, I420, Y42B }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(int)[ 1, 60 ]”

 

 

Template for sink is like as

 

static GstPadTemplate *src_templ (void)

{

    static GstPadTemplate *templ = NULL;

 

    if (!templ)

    {

        GstCaps *caps;

        GstStructure *structure;

        GValue list = { 0 } ,fmt = { 0};

        char *fmts[] = { "YV12", "I420", "Y42B", NULL };

        guint n;

 

        caps = gst_caps_new_simple ("video/x-raw-yuv",

                                    "format", GST_TYPE_FOURCC,

                                        GST_MAKE_FOURCC ('I', '4', '2', '0'),

                                    "width", GST_TYPE_INT_RANGE, 16, 4096,

                                    "height", GST_TYPE_INT_RANGE, 16, 4096,

                                    "framerate", GST_TYPE_INT_RANGE,  1, 60,

                                    NULL);

 

        structure = gst_caps_get_structure (caps, 0);

 

        g_value_init (&list, GST_TYPE_LIST);

        g_value_init (&fmt, GST_TYPE_FOURCC);

        for (n = 0; fmts[n] != NULL; n++)

        {

            gst_value_set_fourcc (&fmt, GST_STR_FOURCC (fmts[n]));

            gst_value_list_append_value (&list, &fmt);

        }

        gst_structure_set_value (structure, "format", &list);

        g_value_unset (&list);

        g_value_unset (&fmt);

 

        templ = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, caps);

    }

  return templ;

}

 

 

Please let me know where I am wrong.

 

Regards

Vikas

 




-
This message is subject to Imagination Technologies' e-mail terms: http://www.imgtec.com/e-mail.htm
-