From 69c78f72d54fcb78d7db7d6f8a78a4fd976ae018 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 31 Jul 2013 16:59:58 +0200 Subject: [PATCH] jitterbuffer: block output in paused or buffering --- gst/rtpmanager/gstrtpjitterbuffer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index 74c0682..7bbea0a 100644 --- a/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/gst/rtpmanager/gstrtpjitterbuffer.c @@ -2068,7 +2068,13 @@ gst_rtp_jitter_buffer_loop (GstRtpJitterBuffer * jitterbuffer) while (TRUE) { GST_DEBUG_OBJECT (jitterbuffer, "Peeking item"); - result = handle_next_buffer (jitterbuffer); + /* only push buffers when PLAYING and active and not buffering */ + if (!priv->blocked && priv->active && + !rtp_jitter_buffer_is_buffering (priv->jbuf)) + result = handle_next_buffer (jitterbuffer); + else + result = GST_FLOW_WAIT; + if (result == GST_FLOW_WAIT) { /* now wait for the next event */ result = wait_next_timeout (jitterbuffer); -- 2.7.4