Commit cdbf62ac authored by Håvard Graff's avatar Håvard Graff

rtpjitterbuffer: move sending RTX events from timer-thread to task

parent c62f5f5b
Pipeline #128029 failed with stages
in 26 minutes and 23 seconds
......@@ -3522,9 +3522,12 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint seqnum)
GST_DEBUG_OBJECT (jitterbuffer, "%sPushing event %" GST_PTR_FORMAT
", seqnum %d", do_push ? "" : "NOT ", outevent, seqnum);
if (do_push)
gst_pad_push_event (priv->srcpad, outevent);
else if (outevent)
if (do_push) {
if (GST_EVENT_IS_DOWNSTREAM (outevent))
gst_pad_push_event (priv->srcpad, outevent);
else
gst_pad_push_event (priv->sinkpad, outevent);
} else if (outevent)
gst_event_unref (outevent);
result = GST_FLOW_OK;
......@@ -3841,9 +3844,8 @@ do_expected_timeout (GstRtpJitterBuffer * jitterbuffer, RtpTimer * timer,
rtp_timer_queue_update_timer (priv->timers, timer, timer->seqnum,
timer->rtx_base + timer->rtx_retry, timer->rtx_delay, offset, FALSE);
JBUF_UNLOCK (priv);
gst_pad_push_event (priv->sinkpad, event);
JBUF_LOCK (priv);
rtp_jitter_buffer_prepend_event (priv->jbuf, event);
JBUF_SIGNAL_EVENT (priv);
return FALSE;
}
......@@ -3997,11 +3999,6 @@ wait_next_timeout (GstRtpJitterBuffer * jitterbuffer)
/* execute the remaining timers */
while ((timer = (RtpTimer *) g_queue_pop_head_link (&timers)))
do_timeout (jitterbuffer, timer, now);
/* do_expected_timeout(), called by do_timeout will drop the
* JBUF_LOCK, so we need to check if we are still running */
if (!priv->timer_running)
goto stopping;
}
timer = rtp_timer_queue_peek_earliest (priv->timers);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment