va: basedec: Create the other pool anyway.

Fix a bug in _create_other_pool(). The old way of checking the
base->other_pool make that other_pool never be changed until the
gst_va_base_dec_stop() to stop the current decoding context.
But in some stream, the resolution may change during the decoding
process, and we need to re-negotiate the buffer pool. Then, the
old other_pool can not be clean correctly and the new correct one
can not be created.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1692>
This commit is contained in:
He Junyan 2020-10-14 19:04:44 +08:00 committed by GStreamer Merge Bot
parent ee739003e8
commit 4af33eda76

View file

@ -181,8 +181,7 @@ _create_other_pool (GstVaBaseDec * base, GstAllocator * allocator,
GstBufferPool *pool;
GstStructure *config;
if (base->other_pool)
return;
gst_clear_object (&base->other_pool);
GST_DEBUG_OBJECT (base, "making new other pool for copy");