launch: Make enabling validate opt-in
authorThibault Saunier <tsaunier@igalia.com>
Tue, 10 Aug 2021 21:10:43 +0000 (17:10 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Thu, 2 Sep 2021 22:34:09 +0000 (22:34 +0000)
Instead of opt-out.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/264>

tests/check/meson.build
tools/ges-launcher.c
tools/ges-validate.c
tools/utils.h

index 1a00e39..4b5c398 100644 (file)
@@ -112,7 +112,7 @@ if gstvalidate_dep.found()
     endif
 
   endforeach
-  test('simple_playback_test', ges_launch, env: env, args: ['+test-clip', 'blue', 'd=0.1', '--disable-validate', '--videosink=fakevideosink', '--audiosink=fakeaudiosink'])
+  test('simple_playback_test', ges_launch, env: env, args: ['+test-clip', 'blue', 'd=0.1', '--videosink=fakevideosink', '--audiosink=fakeaudiosink'])
 endif
 
 if build_gir
index aa0b711..a13238e 100644 (file)
@@ -1374,9 +1374,8 @@ ges_launcher_parse_options (GESLauncher * self,
           "scenarios, " "and --inspect-action-type.",
         "<scenario_name>"
     },
-    {"disable-validate", 'n', 0, G_OPTION_ARG_NONE, &opts->disable_validate,
-          "Do not run inside GstValidate.",
-        "<scenario_name>"
+    {"enable-validate", 0, 0, G_OPTION_ARG_NONE, &opts->enable_validate,
+          "Run inside GstValidate.", NULL,
     },
 #endif
     {
@@ -1386,6 +1385,7 @@ ges_launcher_parse_options (GESLauncher * self,
           G_OPTION_ARG_NONE,
           &opts->embed_nesteds,
           "Embed nested timelines when saving.",
+          NULL,
     },
     {"no-interactive", 0, G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE,
           &opts->interactive,
@@ -1437,6 +1437,9 @@ ges_launcher_parse_options (GESLauncher * self,
   if (err)
     g_propagate_error (error, err);
 
+  opts->enable_validate |= opts->testfile || opts->scenario
+      || g_getenv ("GST_VALIDATE_SCENARIO");
+
   if (owns_ctx) {
     g_option_context_free (ctx);
     /* sinks passed in the command line are preferred. */
index 5379bb9..5ea786e 100644 (file)
@@ -125,10 +125,7 @@ ges_validate_activate (GstPipeline * pipeline, GESLauncher * launcher,
   GstValidateRunner *runner = NULL;
   GstValidateMonitor *monitor = NULL;
 
-  if (opts->disable_validate) {
-    if (opts->scenario)
-      g_error ("Trying to run scenario: %s but validate is deactivated",
-          opts->scenario);
+  if (!opts->enable_validate) {
     opts->needs_set_state = TRUE;
     g_object_set_data (G_OBJECT (pipeline), "pposition-id",
         GUINT_TO_POINTER (g_timeout_add (200,
index c067424..09ba6f2 100644 (file)
@@ -47,7 +47,7 @@ typedef struct
   gchar *video_track_caps;
   gchar *audio_track_caps;
   gboolean embed_nesteds;
-  gboolean disable_validate;
+  gboolean enable_validate;
 
   gboolean ignore_eos;
   gboolean interactive;