vaapipluginbase: Update the pool if there was no pool in the downstream reply

Fix regression introduced by bd866479, the query after decide_allocation()
always needs a pool in the first slot.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=748559
This commit is contained in:
Olivier Crete 2015-04-27 19:21:12 -04:00 committed by Víctor Manuel Jáquez Leal
parent be37f45998
commit d70a2e8d13

View file

@ -607,7 +607,7 @@ gst_vaapi_plugin_base_decide_allocation (GstVaapiPluginBase * plugin,
GstStructure *config;
GstVideoInfo vi;
guint size, min, max;
gboolean need_pool, update_pool;
gboolean need_pool, update_pool = FALSE;
gboolean has_video_meta = FALSE;
gboolean has_video_alignment = FALSE;
#if (USE_GLX || USE_EGL)
@ -670,9 +670,9 @@ gst_vaapi_plugin_base_decide_allocation (GstVaapiPluginBase * plugin,
if (gst_query_get_n_allocation_pools (query) > 0) {
gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max);
update_pool = (pool != NULL);
if (pool) {
size = MAX (size, vi.size);
update_pool = TRUE;
/* Check whether downstream element proposed a bufferpool but did
not provide a correct propose_allocation() implementation */
@ -683,7 +683,6 @@ gst_vaapi_plugin_base_decide_allocation (GstVaapiPluginBase * plugin,
pool = NULL;
size = vi.size;
min = max = 0;
update_pool = FALSE;
}
/* GstVaapiVideoMeta is mandatory, and this implies VA surface memory */