[Bug 776931] aggregator: add caps handling

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Jan 6 20:45:53 UTC 2017


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

--- Comment #3 from Olivier CrĂȘte <olivier.crete at ocrete.ca> ---
Review of attachment 343000:
 --> (https://bugzilla.gnome.org/review?bug=776931&attachment=343000)

Somewhat related to this, I had also written patches to delay processing of
serialized events (like caps) to the output thread, to simplify locking, etc.

https://git.collabora.com/cgit/user/tester/gst-plugins-bad.git/log/?h=agg-neg-2

The rest of your patch feels like it's in the right direction.

::: gst-libs/gst/base/gstaggregator.c
@@ +830,3 @@
+  GstFlowReturn ret = GST_FLOW_OK;
+
+  downstream_caps = gst_pad_get_allowed_caps (self->srcpad);

I'm a bit concerned about using this without a filter, it may produce huge
caps. By this point, we may already have information about what we receive from
upstream, like for audio*. We'll already know the upstream format.

@@ +844,3 @@
+  }
+
+  peercaps = gst_pad_peer_query_caps (self->srcpad, NULL);

This is redundant with the gst_pad_get_allowed_caps () call? And again no
filter.. I think we somehow need to let the subclass do a bit more.

-- 
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