From a56ac3bffe707af5a22172097a69ba19f34a8539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Fri, 17 Jan 2020 13:18:28 +0100 Subject: [PATCH] vaapih264enc: common fail for gst_vaapiencode_h264_set_config() Add a common fail code path for gst_vaapiencode_h264_set_config(). --- gst/vaapi/gstvaapiencode_h264.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gst/vaapi/gstvaapiencode_h264.c b/gst/vaapi/gstvaapiencode_h264.c index f623f67b40..2ef1cae3a1 100644 --- a/gst/vaapi/gstvaapiencode_h264.c +++ b/gst/vaapi/gstvaapiencode_h264.c @@ -261,9 +261,7 @@ gst_vaapiencode_h264_set_config (GstVaapiEncode * base_encode) encode->is_avc = FALSE; } else if (gst_caps_is_empty (allowed_caps)) { GST_INFO_OBJECT (encode, "downstream has EMPTY caps"); - gst_caps_unref (template_caps); - gst_caps_unref (allowed_caps); - return FALSE; + goto fail; } else { const char *stream_format = NULL; GstStructure *structure; @@ -272,11 +270,9 @@ gst_vaapiencode_h264_set_config (GstVaapiEncode * base_encode) GstCaps *available_caps; available_caps = get_available_caps (encode); - if (!available_caps) { - gst_caps_unref (template_caps); - gst_caps_unref (allowed_caps); - return FALSE; - } + if (!available_caps) + goto fail; + if (!gst_caps_can_intersect (allowed_caps, available_caps)) { GST_INFO_OBJECT (encode, "downstream requested an unsupported profile, " "but encoder will try to output a compatible one"); @@ -319,6 +315,13 @@ gst_vaapiencode_h264_set_config (GstVaapiEncode * base_encode) base_encode->need_codec_data = encode->is_avc; return ret; + +fail: + { + gst_caps_unref (template_caps); + gst_caps_unref (allowed_caps); + return FALSE; + } } static void