mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
rtpjitterbuffer: pause timer when PAUSED
Also pause the timer when we go to the PAUSED state. It is possible that we don't have a clock or base-time in PAUSED to perform the timeouts.
This commit is contained in:
parent
4a31aec513
commit
03d520eb69
1 changed files with 3 additions and 1 deletions
|
@ -1199,6 +1199,7 @@ gst_rtp_jitter_buffer_change_state (GstElement * element,
|
|||
/* unblock to allow streaming in PLAYING */
|
||||
priv->blocked = FALSE;
|
||||
JBUF_SIGNAL_EVENT (priv);
|
||||
JBUF_SIGNAL_TIMER (priv);
|
||||
JBUF_UNLOCK (priv);
|
||||
break;
|
||||
default:
|
||||
|
@ -1218,6 +1219,7 @@ gst_rtp_jitter_buffer_change_state (GstElement * element,
|
|||
JBUF_LOCK (priv);
|
||||
/* block to stop streaming when PAUSED */
|
||||
priv->blocked = TRUE;
|
||||
unschedule_current_timer (jitterbuffer);
|
||||
JBUF_UNLOCK (priv);
|
||||
if (ret != GST_STATE_CHANGE_FAILURE)
|
||||
ret = GST_STATE_CHANGE_NO_PREROLL;
|
||||
|
@ -2640,7 +2642,7 @@ wait_next_timeout (GstRtpJitterBuffer * jitterbuffer)
|
|||
timer_timeout = test_timeout;
|
||||
}
|
||||
}
|
||||
if (timer) {
|
||||
if (timer && !priv->blocked) {
|
||||
GstClock *clock;
|
||||
GstClockTime sync_time;
|
||||
GstClockID id;
|
||||
|
|
Loading…
Reference in a new issue