Never re-allocate buffer pool if caps haven't changed.
When using vpudec inside an autoplugged pipeline (e.g. decodebin)
the negotiation is triggered multiple times and identical decoder
output buffers are allocated and freed multiple times.
There are cases where we can't fit 2x decoder buffers in memory at
the same time and decoding fails. This is especially true when the
pipeline also contains OpenGL elements that use the same CMA memory.
1 file changed