Skip to content

aggregator: Resume srcpad task on stream-start only when running

Seungha Yang requested to merge seungha.yang/gstreamer:agg-ss-fix into main

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.

Merge request reports