From: Thibault Saunier Date: Tue, 15 Dec 2020 21:02:00 +0000 (-0300) Subject: validate: scenario: Add a GstValidateScenario::action-done signal X-Git-Tag: 1.19.3~491^2~31 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9dfb2016a261de7e8ff307aa54887161eb8c7f91;p=platform%2Fupstream%2Fgstreamer.git validate: scenario: Add a GstValidateScenario::action-done signal Allowing application to know when a specific action is done. Part-of: --- 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);