[Bug 791979] aggregator: only process one event/query at a time

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Dec 27 19:37:19 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=791979

--- Comment #4 from Stefan Sauer (gstreamer, gtkdoc dev) <ensonic at sonicpulse.de> ---
gst_aggregator_aggregate_func() does:

while (priv->send_eos && priv->running) {
  ...
  gst_element_foreach_sink_pad (GST_ELEMENT_CAST (self),
        gst_aggregator_do_events_and_queries, NULL);
  ...
}

gst_aggregator_do_events_and_queries() will call klass->sink_event() (or
klass->sink_query). There is no way for sink_event() to tell
gst_aggregator_do_events_and_queries() to stop looping or to not pop an element
off the queue.

Conceptionally I would need to make sure that the last sink_event() call sees
that all pads had a segment_done, before any sink_event() will see a
segment_start().

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list