diff options
author | Thibault Saunier <tsaunier@igalia.com> | 2020-12-15 18:02:00 -0300 |
---|---|---|
committer | Thibault Saunier <tsaunier@igalia.com> | 2020-12-16 22:00:37 -0300 |
commit | 9dfb2016a261de7e8ff307aa54887161eb8c7f91 (patch) | |
tree | c8ffe47d817c033d0e499b4c8b1864ba9078568c | |
parent | b32debe06cc5c01266544f17f428754a92424da7 (diff) |
validate: scenario: Add a GstValidateScenario::action-done signal
Allowing application to know when a specific action is done.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
-rw-r--r-- | validate/gst/validate/gst-validate-scenario.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/validate/gst/validate/gst-validate-scenario.c b/validate/gst/validate/gst-validate-scenario.c index d262459..154b7a0 100644 --- a/validate/gst/validate/gst-validate-scenario.c +++ b/validate/gst/validate/gst-validate-scenario.c @@ -134,6 +134,7 @@ enum enum { DONE, + ACTION_DONE, LAST_SIGNAL }; @@ -4588,6 +4589,20 @@ gst_validate_scenario_class_init (GstValidateScenarioClass * klass) scenario_signals[DONE] = g_signal_new ("done", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0); + + /** + * GstValidateScenario::action-done: + * @scenario: The scenario running + * @action: The #GstValidateAction that is done running + * + * Emitted when an action is done. + * + * Since: 1.20 + */ + scenario_signals[ACTION_DONE] = + g_signal_new ("action-done", G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 1, + GST_TYPE_VALIDATE_ACTION); } static void @@ -5858,6 +5873,7 @@ _action_set_done (GstValidateAction * action) GST_TIME_ARGS (action->priv->execution_duration)); g_free (repeat_message); + g_signal_emit (scenario, scenario_signals[ACTION_DONE], 0, action); if (action->priv->state != GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING) /* We took the 'scenario' reference... unreffing it now */ gst_validate_action_unref (action); |