All pastes #808279 Raw Edit

Swapnil

public text v1 · immutable
·published 2007-12-07 13:03 UTC
rendered paste body


cel->pipeline = gst_pipeline_new("pipeline");
        g_assert (cel->pipeline);
	
        cel->camera_src = gst_element_factory_make(VIDEO_SRC, "camera_src");
        g_assert(cel->camera_src);
             
        cel->tee = gst_element_factory_make("tee", "tee");
        g_assert(cel->tee);
       
        tee_pad = gst_element_get_request_pad (cel->tee, "src%d");
        g_print ("new pad %s\n", gst_pad_get_name (tee_pad));               

        cel->bin = gst_bin_new("bin");
        g_assert(cel->bin);

        cel->screen_queue = gst_element_factory_make("queue", "screen_queue");
        g_assert(cel->screen_queue);
        
        cel->csp_filter = gst_element_factory_make("ffmpegcolorspace", "csp_filter");
        g_assert(cel->csp_filter);
	
	cel->screen_sink = gst_element_factory_make(VIDEO_SINK, "screen_sink");
        g_assert(cel->screen_sink); 

        gst_bin_add_many (GST_BIN (cel->pipeline), cel->camera_src, cel->tee, NULL);
        gst_bin_add_many (GST_BIN (cel->bin), cel->screen_queue, cel->csp_filter,cel->screen_sink, NULL);
        
		  gst_bin_add (GST_BIN (cel->pipeline), cel->bin);
        
		  ret = gst_element_link_many (cel->screen_queue, cel->csp_filter,cel->screen_sink, NULL);
        ret = gst_element_link (cel->camera_src, cel->tee);  

        pad = gst_element_get_static_pad (cel->screen_queue, "sink"); 
        gst_element_add_pad (cel->bin, gst_ghost_pad_new ("sink", pad)); 

        ret = gst_pad_link (tee_pad, pad);        
         
        gst_object_unref (pad);

       	gst_element_set_state(cel->pipeline, GST_STATE_PLAYING);