[Bug 739011] [PLUGIN MOVE] Move GstVideoAggregator to gst-plugins-base

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Feb 28 15:52:29 UTC 2018


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

--- Comment #18 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Ok I looked at all this again, the following needs to be done before moving
IMHO. Let's target that for 1.16 :)

1) Make the API more similar with the GstAudioAggregator. vfunc names, function
names, what vfuncs are there, when are they called

Go through the API one by one and match

2) Conversion should probably be done the same way as in audioaggregator: a new
pad subclass that does conversion, and the current videoaggregatorpad does not
do any conversion at all. This should come with vfuncs as needed so that there
is no magic negotiation happening in the videoaggregator/videoaggregatorpad
base classes.

This should also already solve the special alpha handling and special caps
negotiation that is currently there. It would be handled in the converter pad
subclass, not generically. because generically all pad caps would have to
match. GL mixer could then implement its own code for this, as it makes sense.

Note that there is no conversion on the srcpad happening in videoaggregator,
and it does not have to.

3) Merge the videoaggregatorpad.h into the main header. There's no need for it
to be separate.

4) The pad ignore-eos property should probably be renamed. What it does is that
the last frame is going to be used forever instead of stopping at
timestamp+duration. It does not really ignore EOS.

See also comment 13, which was confused by that (it is raw video specific!)

5) Don't implement childproxy interface in the base class but let subclasses
decide about that, just like with audioaggregator. Subclasses might not
actually want this implementation but a different one.

6) Buffer pool configuration validation, see comment 14 (also API for getting
the buffer pool, decide/propose_allocation, etc like in audioaggregator)


After that I'm fine with moving it. Generally looks all good to me!

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