validate: Fix loading configs from a caps
authorThibault Saunier <tsaunier@igalia.com>
Tue, 26 May 2020 19:53:47 +0000 (15:53 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Tue, 26 May 2020 23:16:26 +0000 (19:16 -0400)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

validate/gst/validate/validate.c

index f74f3ae..2c56448 100644 (file)
@@ -194,6 +194,7 @@ create_config (const gchar * config, const gchar * suffix)
   GstStructure *local_vars;
   GList *structures = NULL, *result = NULL;
   gchar *config_file = NULL;
+  GFile *f;
 
   if (!suffix) {
     GST_WARNING ("suffix is NULL");
@@ -201,10 +202,11 @@ create_config (const gchar * config, const gchar * suffix)
   }
 
   local_vars = gst_structure_new_empty ("vars");
-  structures =
-      gst_validate_utils_structs_parse_from_filename (config, NULL,
-      &config_file);
-  if (!structures) {
+  f = g_file_new_for_path (config);
+  if (g_file_query_exists (f, NULL)) {
+    structures = gst_validate_utils_structs_parse_from_filename (config, NULL,
+        &config_file);
+  } else {
     GstCaps *confs = NULL;
 
     if (gst_structure_validate_name (config))
@@ -224,7 +226,7 @@ create_config (const gchar * config, const gchar * suffix)
       gst_caps_unref (confs);
     }
   }
-
+  g_object_unref (f);
   gst_validate_structure_set_variables_from_struct_file (local_vars,
       config_file);
   g_free (config_file);