title: Does the client have to query the server for each new piece of data in RTSP communication?
body: <p>I'm trying to figure out how RTSP works, when the handshake is complete.
  Does the client have to query the server for each new piece of data? Or the server sends data all the time and doesn't care how the client receives the data?</p>
  <p>The reason why I ask this is my Gstreamer pipeline receiving RTSP stream from IP camera:</p>
  <pre><code>uridecodebin -&gt; nvstreammux -&gt; queue1 -&gt; nvinfer -&gt; queue2 -&gt; fakesink
  </code></pre>
  <p>The IP camera has 30FPS but the <strong>nvinfer</strong> element can process only 10FPS. So I assumed that pending frames are stored in <strong>queue1</strong> element waiting to be processed. However the <strong>current number of buffers</strong> of the <strong>queue1</strong> is 1 all the time.</p>
  <p>So one possible answer is that frames or packets are queued in one of the elements of <strong>uridecodebin</strong> element, but I did not find any such element there. Next it can mean that the IP camera was informed by uridecodebin to decrease FPS. Or if the uridecodebin element has to ask for each new piece of data, it just means that it asks for new data only when all frames are processed in the pipeline.</p>
  <p>Do you have any idea?</p>