<div dir="auto"><div>I am not sure, but can you try without having the queues? Can you please see how it works when link the pads with audioDepay and videoDepay directly?</div><div dir="auto"><br></div><div dir="auto">Tarun<br><div class="gmail_extra" dir="auto"><br><div class="gmail_quote">On 24-Jan-2017 4:31 PM, "rajvik" <<a href="mailto:kamdar.rajvi@gmail.com">kamdar.rajvi@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank you so much for the insights. I did incorporate what you asked me to,<br>
but still I am getting error:<br>
*0:00:00.602211533  2055   0x188380 WARN                 basesrc<br>
gstbasesrc.c:2933:gst_base_<wbr>src_loop:<udpsrc3> error: Internal data flow<br>
error.<br>
0:00:00.618291500  2055   0x188380 WARN                 basesrc<br>
gstbasesrc.c:2933:gst_base_<wbr>src_loop:<udpsrc3> error: streaming task paused,<br>
reason not-linked (-1)<br>
0:00:00.638866649  2055   0x188430 WARN                 basesrc<br>
gstbasesrc.c:2933:gst_base_<wbr>src_loop:<udpsrc0> error: Internal data flow<br>
error.<br>
0:00:00.655050073  2055   0x188430 WARN                 basesrc<br>
gstbasesrc.c:2933:gst_base_<wbr>src_loop:<udpsrc0> error: streaming task paused,<br>
reason not-linked (-1)*<br>
<br>
Please find the below code snippet:<br>
<br>
*Taken audioQueue and VideoQueue as global variables and find the below cb<br>
function: *<br>
<br>
static void onPadAdded(GstElement *element, GstPad *pad, gpointer data)<br>
{<br>
<br>
        GstCaps *caps;<br>
        const char *name;<br>
        char *capsName;<br>
        caps = gst_pad_get_current_caps(pad);<br>
        GstStructure *str = gst_caps_get_structure(caps, 0);<br>
        name = gst_structure_get_name(str);<br>
        g_debug("name of caps struct string: %s", name);<br>
        capsName = gst_caps_to_string(caps);<br>
        g_debug("name of caps string: %s", capsName);<br>
<br>
        if (g_str_has_prefix(capsName,"<wbr>audio"))<br>
        {<br>
                GstPad *dynamic_pad = gst_element_get_static_pad(<wbr>audioQueue,<br>
"sink");<br>
                gst_pad_link(pad, dynamic_pad);<br>
        }<br>
<br>
        else if (g_str_has_prefix(capsName, "video"))<br>
        {<br>
                GstPad *video_dynamic_pad =<br>
gst_element_get_static_pad(<wbr>videoQueue, "sink");<br>
                gst_pad_link(pad, video_dynamic_pad);<br>
        }<br>
        g_free(capsName);<br>
<br>
}<br>
<br>
*Following is the g_signal_connect operation:*<br>
<br>
        gst_bin_add(GST_BIN(pipeline), source);<br>
        gst_bin_add_many(GST_BIN(<wbr>pipeline),<br>
<div class="quoted-text">                        audioQueue, audioDepay, audioParse, audioDecode,<br>
audioConvert, audioResample, audioSink,<br>
</div><div class="quoted-text">                        videoQueue, videoDepay, videoParser, videoDecode,<br>
videoConvert, videoScale, videoSink, NULL);<br>
<br>
</div>        if (!gst_element_link_many(<wbr>audioQueue, audioDepay, NULL ))<br>
        {<br>
                g_printerr("Cannot link audioqueue  and audioDepay \n");<br>
                return 0;<br>
        }<br>
        if (!gst_element_link_many(<wbr>audioParse, audioDecode,NULL ))<br>
        {<br>
                g_printerr("Cannot link audioParse and audiodecode \n");<br>
                return 0;<br>
        }<br>
        if (!gst_element_link_many(<wbr>audioConvert, audioResample, audioSink,<br>
NULL ))<br>
        {<br>
                g_printerr("Cannot link audioConvert, audioParse, audioSink<br>
\n");<br>
                return 0;<br>
<div class="quoted-text">        }<br>
<br>
<br>
        /*Linking filter element to videoScale and videoSink */<br>
        link_ok = gst_element_link_filtered(<wbr>videoScale,videoSink,<br>
capsFilter);<br>
        gst_caps_unref (capsFilter);<br>
        if (!link_ok) {<br>
                g_warning ("Failed to link element1 and element2!");<br>
        }<br>
        /* Linking video elements internally */<br>
</div>        if (!gst_element_link_many(<wbr>videoQueue, videoDepay, NULL))<br>
        {<br>
                g_printerr("Cannot link videoQueue and videoDepay \n");<br>
                return 0;<br>
        }<br>
        if (!gst_element_link_many( videoParser, videoDecode, videoConvert,<br>
NULL))<br>
        {<br>
                g_printerr("Cannot link videoParser, videoDecode,<br>
videoConvert \n");<br>
                return 0;<br>
        }<br>
        g_signal_connect(source, "pad-added", G_CALLBACK(onPadAdded), NULL);<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/Gstreamer-RTSP-src-element-name-tp4681595p4681613.html" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.<wbr>n4.nabble.com/Gstreamer-RTSP-<wbr>src-element-name-<wbr>tp4681595p4681613.html</a><br>
<div class="elided-text">Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><br>
</div></blockquote></div><br></div></div></div>