From 33da5f0d5de0c45a0657c41f0f463619ac92cb00 Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Fri, 25 Oct 2024 17:00:48 +0200 Subject: [PATCH] appsink: fix initial pile-up of caps events appsink was queuing the caps event both in its GstBaseSinkClass.set_caps() and its GstBaseSinkClass.sink_event() implementation, but only signaling new_event from `sink_event`. This caused `new_event` callbacks to start lagging by one. Part-of: --- subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c b/subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c index 0fb90fc7d4..281af072cd 100644 --- a/subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c +++ b/subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c @@ -868,9 +868,6 @@ gst_app_sink_setcaps (GstBaseSink * sink, GstCaps * caps) g_mutex_lock (&priv->mutex); GST_DEBUG_OBJECT (appsink, "receiving CAPS"); - gst_vec_deque_push_tail (priv->queue, gst_event_new_caps (caps)); - gst_queue_status_info_push_event (&priv->queue_status_info); - if (!priv->preroll_buffer) gst_caps_replace (&priv->preroll_caps, caps); g_mutex_unlock (&priv->mutex);