identity: Use g_cond_signal() instead of g_cond_broadcast()

There can only be a single waiter: on the streaming thread.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/397>
This commit is contained in:
Sebastian Dröge 2020-03-09 21:31:48 +02:00 committed by GStreamer Merge Bot
parent 27e766137c
commit 90077c2f1d

View file

@ -464,7 +464,7 @@ gst_identity_sink_event (GstBaseTransform * trans, GstEvent * event)
if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_START) { if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_START) {
GST_OBJECT_LOCK (identity); GST_OBJECT_LOCK (identity);
identity->flushing = TRUE; identity->flushing = TRUE;
g_cond_broadcast (&identity->blocked_cond); g_cond_signal (&identity->blocked_cond);
if (identity->clock_id) { if (identity->clock_id) {
GST_DEBUG_OBJECT (identity, "unlock clock wait"); GST_DEBUG_OBJECT (identity, "unlock clock wait");
gst_clock_id_unschedule (identity->clock_id); gst_clock_id_unschedule (identity->clock_id);
@ -1013,7 +1013,7 @@ gst_identity_change_state (GstElement * element, GstStateChange transition)
case GST_STATE_CHANGE_PAUSED_TO_PLAYING: case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
GST_OBJECT_LOCK (identity); GST_OBJECT_LOCK (identity);
identity->blocked = FALSE; identity->blocked = FALSE;
g_cond_broadcast (&identity->blocked_cond); g_cond_signal (&identity->blocked_cond);
GST_OBJECT_UNLOCK (identity); GST_OBJECT_UNLOCK (identity);
break; break;
case GST_STATE_CHANGE_PAUSED_TO_READY: case GST_STATE_CHANGE_PAUSED_TO_READY:
@ -1024,7 +1024,7 @@ gst_identity_change_state (GstElement * element, GstStateChange transition)
gst_clock_id_unschedule (identity->clock_id); gst_clock_id_unschedule (identity->clock_id);
} }
identity->blocked = FALSE; identity->blocked = FALSE;
g_cond_broadcast (&identity->blocked_cond); g_cond_signal (&identity->blocked_cond);
GST_OBJECT_UNLOCK (identity); GST_OBJECT_UNLOCK (identity);
break; break;
default: default: