Hi all,
I use tee element for dual video output and my pipeline like this :
/ [ queue1 | v4l2sink1] branch 1
tee
\ [ queue2 | v4l2sink2] branch 2
//
....
blockpad = gst_element_get_static_pad(queue1,NULL);
gst_pad_add_probe (blockpad , (GstPadProbeType)GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM , pad_probe_cb, user_data, NULL);
gst_pad_remove_probe (blockpad , GST_PAD_PROBE_INFO_ID (info));
And then, in the callback pad_probe_cb() ,
sinkpad = gst_element_get_static_pad (v4l2sink1, "sink");
gst_pad_send_event (sinkpad, gst_event_new_eos ());
gst_pad_remove_probe (sinkpad, GST_PAD_PROBE_INFO_ID (info));
gst_element_set_state (v4l2sink1, GST_STATE_NULL);
gst_bin_remove (GST_BIN (pipeline),v4l2sink1);
Problems has occured that neither branch1 nor branch2 has no videos on screen with the pipeline is playing and the audio output is ok.
It seems that the videostreams was block by adding a probe . At the same time , the branch2 seems receive block message too.
Pls tell me how to fix this problem .Any reply is appreciated .
Solved! Go to Solution.
maybe your pipeline go to PAUSE state, I send the document for dynamic pipelines, hope helpful for you
maybe your pipeline go to PAUSE state, I send the document for dynamic pipelines, hope helpful for you
Thanks for your reply .I have removed/added elements frome a pipeline successfully.