From: Wim Taymans Date: Wed, 31 Jul 2013 14:59:58 +0000 (+0200) Subject: jitterbuffer: block output in paused or buffering X-Git-Tag: 1.19.3~509^2~5509 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=69c78f72d54fcb78d7db7d6f8a78a4fd976ae018;p=platform%2Fupstream%2Fgstreamer.git jitterbuffer: block output in paused or buffering --- 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);