summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@coaxion.net>2020-06-10 13:56:22 +0000
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-06-10 16:31:06 +0000
commitf8196e06d53b7831c333f9da296a3a7d7ad75f38 (patch)
tree063dbce6426f274b278e1d9a62e0b9e4d93a648f
parent4419f79aafa4bdd25fa5949541e52247a8846931 (diff)
Revert "rtpjitterbuffer: Avoid deadlock on flush"
This reverts commit 54810bf44f27d9c180730f58f16f6e172c7b0bc8 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/620>
-rw-r--r--gst/rtpmanager/gstrtpjitterbuffer.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c
index f39b6ce55e..f1c432717b 100644
--- a/gst/rtpmanager/gstrtpjitterbuffer.c
+++ b/gst/rtpmanager/gstrtpjitterbuffer.c
@@ -1577,7 +1577,6 @@ gst_rtp_jitter_buffer_flush_start (GstRtpJitterBuffer * jitterbuffer)
JBUF_SIGNAL_EVENT (priv);
JBUF_SIGNAL_QUERY (priv, FALSE);
JBUF_SIGNAL_QUEUE (priv);
- JBUF_SIGNAL_TIMER (priv);
JBUF_UNLOCK (priv);
}
@@ -3503,8 +3502,6 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint seqnum)
/* Stopping timers */
unschedule_current_timer (jitterbuffer);
JBUF_WAIT_TIMER (priv);
- if (G_UNLIKELY (priv->srcresult != GST_FLOW_OK))
- goto early_out;
}
}
@@ -3527,7 +3524,7 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint seqnum)
GST_BUFFER_DTS (outbuf) = GST_CLOCK_TIME_NONE;
result = gst_pad_push (priv->srcpad, outbuf);
- JBUF_LOCK_CHECK (priv, early_out);
+ JBUF_LOCK_CHECK (priv, out_flushing);
break;
case ITEM_TYPE_LOST:
case ITEM_TYPE_EVENT:
@@ -3549,7 +3546,7 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint seqnum)
result = GST_FLOW_OK;
- JBUF_LOCK_CHECK (priv, early_out);
+ JBUF_LOCK_CHECK (priv, out_flushing);
break;
case ITEM_TYPE_QUERY:
{
@@ -3557,7 +3554,7 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint seqnum)
res = gst_pad_peer_query (priv->srcpad, outquery);
- JBUF_LOCK_CHECK (priv, early_out);
+ JBUF_LOCK_CHECK (priv, out_flushing);
result = GST_FLOW_OK;
GST_LOG_OBJECT (jitterbuffer, "did query %p, return %d", outquery, res);
JBUF_SIGNAL_QUERY (priv, res);
@@ -3567,7 +3564,7 @@ pop_and_push_next (GstRtpJitterBuffer * jitterbuffer, guint seqnum)
return result;
/* ERRORS */
-early_out:
+out_flushing:
{
return priv->srcresult;
}