From ec364858b1ef8ea229a947361794db0f2cb4d6dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Mon, 21 Nov 2016 18:27:00 +0100 Subject: [PATCH] plugins: first validate the out caps When calling _set_caps() first validate the out caps before doing anything else. --- gst/vaapi/gstvaapipluginbase.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gst/vaapi/gstvaapipluginbase.c b/gst/vaapi/gstvaapipluginbase.c index 036533b027..a8508a58c0 100644 --- a/gst/vaapi/gstvaapipluginbase.c +++ b/gst/vaapi/gstvaapipluginbase.c @@ -740,19 +740,19 @@ gst_vaapi_plugin_base_set_caps (GstVaapiPluginBase * plugin, GstCaps * incaps, GstCaps * outcaps) { if (incaps && incaps != plugin->sinkpad_caps) { - g_clear_object (&plugin->sinkpad_allocator); - gst_caps_replace (&plugin->sinkpad_caps, incaps); if (!gst_video_info_from_caps (&plugin->sinkpad_info, incaps)) return FALSE; + g_clear_object (&plugin->sinkpad_allocator); + gst_caps_replace (&plugin->sinkpad_caps, incaps); plugin->sinkpad_caps_is_raw = !gst_caps_has_vaapi_surface (incaps); } if (outcaps && outcaps != plugin->srcpad_caps) { + if (!gst_video_info_from_caps (&plugin->srcpad_info, outcaps)) + return FALSE; g_clear_object (&plugin->srcpad_allocator); gst_caps_replace (&plugin->srcpad_caps, outcaps); plugin_reset_texture_map (plugin); - if (!gst_video_info_from_caps (&plugin->srcpad_info, outcaps)) - return FALSE; } if (!ensure_sinkpad_buffer_pool (plugin, plugin->sinkpad_caps))