GNOME Bugzilla – Bug 784657
aggregator: when live, don't wait for non-started pads.
Last modified: 2018-11-03 12:41:51 UTC
[API]: gst_aggregator_pad_is_started This allows adding new pads and letting them negotiate, before letting data flow through them.
Created attachment 355101 [details] [review] aggregator: when live, don't wait for non-started pads.
Review of attachment 355101 [details] [review]: I don't understand how this is different from checking if the queue is empty or not ? Which the subclasses already do? If we're live, we'll get a timeout if you add new pads that have no data yet, and since the timeout flag is set when the aggregate function is called, the pads with no data will be ignored.
The idea here is that we don't want to operate on the limit of the timeout, this makes any latency set on the aggregator to cope with uneven upstream data flow irrelevant. The use case is a situation where I request a new pad, connect it to let negotiation happen while blocking data flow, ensuring the pad is then ready to start providing data at a latter time, as "immediately" as possible.
Hmm, if we want to move aggregator to the core, then we need to settle this first, as otherwise it would be an API break. But this doesn't affect the latency for upstream data flow, if you have a problem, it means you dont have enough latency downstream..
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/243.