The purpose of a deep buffer copy is to be able to release the source buffer and all its dependencies. Attaching the parent buffer meta to the newly created deep copy needlessly keeps holding a reference to the parent buffer. The issue this solves is the fact you need to allocate more buffers, as you have free buffers being held for no reason. In the good cases it will use more memory, in the bad case it will stall your pipeline (since codecs often need a minimum number of buffers to actually work). Fixes #283 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
Base classes ------------ GstBaseSink FIXME: not much point making it operate in pull mode as a generic base class I guess...