gst/rtpmanager/gstrtpjitterbuffer.c: When drop-on-latency is set but we have no laten...
authorWim Taymans <wim.taymans@gmail.com>
Tue, 21 Aug 2007 17:18:29 +0000 (17:18 +0000)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Tue, 11 Aug 2009 01:30:29 +0000 (02:30 +0100)
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_set_property):
When drop-on-latency is set but we have no latency configured, just push
the buffer as fast as possible.
Fix typo in comment.

gst/rtpmanager/gstrtpjitterbuffer.c

index e66613b..f81c632 100644 (file)
@@ -807,8 +807,10 @@ gst_rtp_jitter_buffer_chain (GstPad * pad, GstBuffer * buffer)
   }
 
   /* let's drop oldest packet if the queue is already full and drop-on-latency
-   * is set. */
-  if (priv->drop_on_latency) {
+   * is set. We can only do this when there actually is a latency. When no
+   * latency is set, we just pump it in the queue and let the other end push it
+   * out as fast as possible. */
+  if (priv->latency_ms && priv->drop_on_latency) {
     guint64 latency_ts;
 
     latency_ts =
@@ -1187,8 +1189,8 @@ gst_rtp_jitter_buffer_set_property (GObject * object,
 
       jitterbuffer->priv->latency_ms = new_latency;
 
-      /* post message if latency changed, this will infor the parent pipeline
-       * that a latency reconfiguration is possible. */
+      /* post message if latency changed, this will inform the parent pipeline
+       * that a latency reconfiguration is possible/needed. */
       if (new_latency != old_latency) {
         gst_element_post_message (GST_ELEMENT_CAST (jitterbuffer),
             gst_message_new_latency (GST_OBJECT_CAST (jitterbuffer)));