<div dir="rtl"><div style="text-align:left" dir="ltr">This is a simplified version of the pipeline that I'm building:</div><div style="text-align:left">gst-launch-1.0 urisourcebin uri=rtsp://<a href="http://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov">wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov</a> ! tee name=t ! queue ! decodebin ! videoconvert ! autovideosink<br></div><div style="text-align:left"><br></div><div style="text-align:left"><br></div><div style="text-align:left" dir="ltr">As gst-inspect-1.0 says: </div><div style="text-align:left" dir="ltr">* urisourcebin has multiple "sometimes" pads (called src_%d).</div><div style="text-align:left" dir="ltr">* tee has single sink (called sink)</div><div style="text-align:left" dir="ltr"><br></div><div style="text-align:left" dir="ltr">How can I link both video and audio source pads to this single tee sink? </div><div style="text-align:left" dir="ltr">Do I have a special pad "ANY"?  If yes, how to do that? </div><div style="text-align:left" dir="ltr"><br></div><div style="text-align:left" dir="ltr">this is the pad_added callback:</div><div style="text-align:left" dir="ltr"><br></div><div style="text-align:left" dir="ltr"><div><font color="#000000">void urisourcebin_pad_added_handler(GstElement* src, GstPad* new_pad, CustomData* data) {</font></div><div>  <font color="#000000">GstPad* sink_pad = gst_element_get_static_pad(data->urisource_tee, "sink");</font></div><div>  <font color="#000000">GstCaps* new_pad_caps = NULL;</font></div><div>  <font color="#000000">GstStructure* new_pad_struct = NULL;</font></div><div>  <font color="#000000">const gchar* new_pad_type = NULL;</font></div><div>  <font color="#000000">GstPadLinkReturn ret;</font></div><font color="#000000"><br></font><div>  <font color="#000000">g_print("Received new pad '%s' from '%s':\n", GST_PAD_NAME(new_pad), GST_ELEMENT_NAME(src));</font></div><font color="#000000"><br></font><div><font color="#000000">  /* Check the new pad's type */</font></div><div>  <font color="#000000">new_pad_caps = gst_pad_get_current_caps(new_pad);</font></div><div>  <font color="#000000">new_pad_struct = gst_caps_get_structure(new_pad_caps, 0);</font></div><div>  <font color="#000000">new_pad_type = gst_structure_get_name(new_pad_struct);</font></div><font color="#000000"><br></font><div>  <font color="#000000">if (!g_str_has_prefix(new_pad_type, "ANY")) {</font></div><div>    <font color="#000000">g_print("It has type '%s' which is not 'any'. Ignoring.\n", new_pad_type);</font></div><div>    <font color="#000000">goto exit;</font></div><div><font color="#000000">  }</font></div><font color="#000000"><br></font><div><font color="#000000">  /* If our tee is already linked, we have nothing to do here */</font></div><div>  <font color="#000000">if (gst_pad_is_linked(sink_pad)) {</font></div><div>    <font color="#000000">g_print("We are already linked. Ignoring.\n");</font></div><div>    <font color="#000000">goto exit;</font></div><div><font color="#000000">  }</font></div><font color="#000000"><br></font><div><font color="#000000">  /* Attempt the link */</font></div><div>  <font color="#000000">ret = gst_pad_link(new_pad, sink_pad);</font></div><div>  <font color="#000000">if (GST_PAD_LINK_FAILED(ret)) {</font></div><div>    <font color="#000000">g_print("Linking urisourcebin to tee sink was failed.\n");</font></div><div><font color="#000000">  }</font></div><font color="#000000"><br></font><div><font color="#000000">exit:</font></div><div><font color="#000000">  /* Unreference the new pad's caps, if we got them */</font></div><div>  <font color="#000000">if (new_pad_caps != NULL)</font></div><div>    <font color="#000000">gst_caps_unref(new_pad_caps);</font></div><font color="#000000"><br></font><div><font color="#000000">  /* Unreference the sink pad */</font></div><div>  <font color="#000000">gst_object_unref(sink_pad);</font></div><div><font color="#000000">}</font></div></div><div style="text-align:left" dir="ltr"><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono",monospace,monospace,"Droid Sans Fallback";font-size:14px;line-height:19px;white-space:pre"></div></div><div style="text-align:left" dir="ltr"><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono",monospace,monospace,"Droid Sans Fallback";font-size:14px;line-height:19px;white-space:pre"></div></div></div>