Hi all,<br><br>I am writing an application for udp client to receive the rtp payloaded packets.<br><br>The pipeline I use is on client and server is as below:<br>******************************************************************************************************************************<br>
SERVER:<br>gst-launch filesrc location=~/Desktop/h264-aac/<div id=":12k" class="ii gt">alien.mp4 ! qtdemux name=d \<br>d. ! queue ! rtph264pay ! udpsink port=1234 host=224.0.0.1 \<br>
d. ! queue ! rtpmp4apay ! udpsink port=1233 host=224.0.0.1<br><br>CLIENT:<br>gst-launch udpsrc uri=udp://<a href="http://224.0.0.1:1234/" target="_blank">224.0.0.1:1234</a>
caps=&quot;application/x-rtp, media=(string)video,
encoding-name=(string)H264, payload=(int)96&quot;  ! queue ! rtph264depay !
ffdec_h264 ! ffmpegcolorspace ! xvimagesink\<br>
udpsrc uri=udp://<a href="http://224.0.0.1:1233/" target="_blank">224.0.0.1:1233</a> caps=&quot;application/x-rtp, media=(string)audio, clock-rate=(int)44100, encoding-name=(string)MP4A-LATM, payload=(int)96&quot; ! queue ! rtpmp4adepay ! faad ! audioconvert ! alsasink<br>
******************************************************************************************************************************<br><br>In my application I set the state of the pipeline to GST_STATE_PLAYING as below:<br><br>
===========================================================================<br>    sres = gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);<br>    if  (sres == GST_STATE_CHANGE_ASYNC) <br>    {<br>      gint timeout = 0;<br>
      while (timeout &lt; 5) {<br>        sres = gst_element_get_state (pipeline, &amp;new_state, &amp;pending_state, <br>                                      (1 * GST_SECOND));<br>        g_print(&quot;GET state pipeline : new_state = %s pending_state = %s\n&quot;,<br>
                gst_element_state_get_name (new_state), <br>                gst_element_state_get_name (pending_state));<br>        <br>        timeout++;<br>      }<br>    }<br>    else {<br>      g_print (&quot;Error changing pipeline state to PLAYING sres = %d\n&quot;, sres);<br>
      return -1;<br>    }<br>===========================================================================<br></div><br>But the state changes only to PAUSED and never to PLAYING. Could someone suggest me what could be done to change the pipeline state to PLAYING.<br>
<br>I had one more query about caps negotiation. How to dynamically set the caps on udpsrc element used on the CLIENT side?<br><br>Thanks in advance.<br>