title: Gstreamer either getting high CPU or returning older frames
body: <p>I am trying to decode several video streams using GStreamer and Python. Here's my code:</p>
  <pre><code>self.video_capture = cv2.VideoCapture(self.pipeline, cv2.CAP_GSTREAMER)
  if self.video_capture.isOpened() is False:
      raise Error
  while True:
      status, image = self.video_capture.read()
      # do slow stuff
  </code></pre>
  <p>I am encountering the following issue:</p>
  <p><em>Option 1</em></p>
  <p>If I use the pipeline:</p>
  <pre><code>self.pipeline = f&quot;rtspsrc location={self.url} latency=10 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! appsink max-buffers=1 drop=true&quot;
  </code></pre>
  <p>I get extremely high CPU consumption. Also, I am probably decoding more frames than the number my application can actually consumes.</p>
  <p><em>Option 2</em></p>
  <p>If I use this pipeline</p>
  <pre><code>self.pipeline = f&quot;rtspsrc location={self.url} latency=10 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! appsink max-buffers=1 drop=false&quot;
  </code></pre>
  <p>After a few hours the application is returning me old frames. E.g. at 9am my application was receiving frames at nighttime (from the night before).</p>
  <p>Is this the expected behavior? How can I solve this problem?</p>
  <p>Thank you a lot</p>