libs: postproc: fix a memory leak point.
authorHe Junyan <junyan.he@hotmail.com>
Tue, 27 Aug 2019 10:12:45 +0000 (18:12 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Tue, 27 Aug 2019 16:33:34 +0000 (16:33 +0000)
filter_ops and filter_formats should already have valid value when
the function gst_vaapipostproc_ensure_filter_caps re-enter

gst/vaapi/gstvaapipostproc.c

index b852e89..b1750d0 100644 (file)
@@ -246,13 +246,17 @@ gst_vaapipostproc_ensure_filter_caps (GstVaapiPostproc * postproc)
   if (!gst_vaapipostproc_ensure_filter (postproc))
     return FALSE;
 
-  postproc->filter_ops = gst_vaapi_filter_get_operations (postproc->filter);
-  if (!postproc->filter_ops)
-    return FALSE;
+  if (!postproc->filter_ops) {
+    postproc->filter_ops = gst_vaapi_filter_get_operations (postproc->filter);
+    if (!postproc->filter_ops)
+      return FALSE;
+  }
 
-  postproc->filter_formats = gst_vaapi_filter_get_formats (postproc->filter);
-  if (!postproc->filter_formats)
-    return FALSE;
+  if (!postproc->filter_formats) {
+    postproc->filter_formats = gst_vaapi_filter_get_formats (postproc->filter);
+    if (!postproc->filter_formats)
+      return FALSE;
+  }
   return TRUE;
 }