basetransform: Allow going passthrough inside decide_allocation
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 12 Dec 2017 01:58:16 +0000 (20:58 -0500)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Sun, 17 Dec 2017 20:39:51 +0000 (15:39 -0500)
commit443221c6619395c2f1cc5584ed9d0c321ef68ff5
treeb86483cb2e951a220531ef41aa94f85cc188659c
parentf85e93d0040955166bcf51ece0dfcdd57035d1d4
basetransform: Allow going passthrough inside decide_allocation

Sub-class may want to decide to go passthrough/in-place by inspecting
the support meta APIs. This patch duplicates the check for this mode,
so we still don't do uneeded allocation query while we allow sub-classes
to switch the behaviour during it's own decide_allocation call.

Notice that such sub-class need to reset the class to non-passthrough in
set_caps() in order for decide_allocation to be called again. This is
needed otherwise we'd be doing an allocation query in element in which
it make no sense (notably capsfilter).

https://bugzilla.gnome.org/show_bug.cgi?id=791453
libs/gst/base/gstbasetransform.c