Hi all, <br>I am implementing the demuxer which will divide the input stream into multiple.<br>I wrote a function for request_new_pad which creates a new srcpad new_from_template, now this one is associated with my element by &quot;gst_element_add_pad&quot;. And after that I keep a pointers to alll such newly created srcpads. 
<br><br>I&#39;m using default handlers for event passing ( which apparently passes the down-stream events to all srcpads in that element) <br><br>In my chain function: When I try to push data to first srcpad that fails..... it never returns and the next element never gets a pushed buffer.. may be its waiting for some events tobe passed down ? 
<br>Could it be a PreRolling issue ?<br><br>thanks in advance, <br>--vinayak <br><br>Here is snappet of my code : <br>_request_new_pad() <br>{<br>&nbsp; MySplit *split= .....;<br>&nbsp; splitpad = gst_pad_new_from_template(templ, padname);
<br>&nbsp; GST_PAD_ELEMENT_PRIVATE (splitpad) = split;<br>&nbsp; gst_pad_use_fixed_caps (splitpad);<br>&nbsp; gst_pad_set_event_function(splitpad, gst_src_event);<br>&nbsp; .<br>&nbsp; .<br>&nbsp; gst_element_add_pad(element, splitpad);<br>&nbsp; srcpads[index++] = splitpad;
<br>}<br><br>_chain_func(GstPad *pad, GstBuffer *buffer)<br>{<br><br>&nbsp; for(i=0; i &lt; n_srcpads; i++) {<br>&nbsp;&nbsp; if(somecondition) { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outbuf = gst_buffer_new();<br>&nbsp;&nbsp; } <br>&nbsp;&nbsp; .<br>&nbsp;&nbsp; .<br>&nbsp; (!GST_PAD_PEER (srcpads[i]))
<br>&nbsp;&nbsp;&nbsp;&nbsp; return;<br><br>&nbsp;&nbsp; gst_pad_push (srcpads[i], outbuf);<br>}<br><br>