Race condition without this patch: - srcpad task is being stopped in gst_aggregator_stop_srcpad_task() - at that moment, in pre-queue event handler, gst_pad_get_task_state() returned GST_TASK_PAUSED - then in srcpad task got stopped in gst_aggregator_stop_srcpad_task() - finally srcpad task got resumed in pre-queue event handler To address it, checks "running" flag in pre-queue event handler. Both pre-queue stream-start event handler and "running" flag are protected by SRC_LOCK already. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4847>