problem in linking filesrc and video converter

nikit nikitbiraj at gmail.com
Mon Aug 26 05:41:08 PDT 2013


Hi,

I am working on encoding a raw file image to jpeg image in C

Below is working structure in comand line to encode image :

gst-launch filesrc location=/home/root/one.raw blocksize=608256 ! \

'video/x-raw-yuv,
format=(fourcc)I420,width=(int)704,height=(int)576,framerate=(fraction)0/1'

! ffmpegcolorspace !
'video/x-raw-yuv,format=(fourcc)I420,width=(int)704,height=(int)576,,framerate=(fraction)0/1'
! vpuenc codec = 12 ! \

 filesink location=/home/root/image.jpg

Below are pipeline structure :

 app->src = gst_element_factory_make("filesrc", "mysrc");

 app->encoder = gst_element_factory_make("vpuenc", "enc");

 app->video_convert  = gst_element_factory_make ("ffmpegcolorspace", 
"converter");

 app->imagesink = gst_element_factory_make("filesink", "myvsink");

 

have created all elements, objects.

g_object_set (app->src, "blocksize", BUFF_SIZE, NULL);

where BUFF_SIZE is 608256

 g_object_set (app->encoder, "codec", 12, NULL);

 gst_bin_add_many(GST_BIN(app->pipeline),
(GstElement*)app->src,app->video_convert,app->encoder,

                         app->imagesink, NULL);

filesrc location using : g_object_set(G_OBJECT(app->src),

                                "location", "/home/root/one.raw",NULL);

and,

filesink location using  : g_object_set(G_OBJECT(app->imagesink),

                                   "location", "/home/root/tr2.jpg",NULL);

I am getting link failed when I try to link app->src and app->video_convert,
and

app->video_convert and app->encoder

Below is C code for linking :

link_ok = gst_element_link_filtered (app->src, app->video_convert,

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

                                                        "format",
G_TYPE_STRING, "I420",

                                                        "width",G_TYPE_INT,
704,

                                                        "height",G_TYPE_INT,
576,

                                                       
//"framerate",GST_TYPE_FRACTION, 0,1,

                                                        NULL));

and

link_ok = gst_element_link_filtered (app->video_convert, app->encoder,

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

                                                              "format",
G_TYPE_STRING, "I420",

                                                             
"width",G_TYPE_INT, 704,

                                                             
"height",G_TYPE_INT, 576,

                                                             
"framerate",GST_TYPE_FRACTION, 1,1,

                                                          // 
"pixel-aspect-ratio",GST_TYPE_FRACTION,1,1,

                                                              NULL));

Surprisingly the same caps works in command line but if I link through C its
giving error.

What am I doing wrong?





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/problem-in-linking-filesrc-and-video-converter-tp4661730.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list