validate: scenario: Reset the pipeline on expected ERROR messages while executing actions

Otherwise the scenario gets into an inconsistent state and users won't
be able to properly recover.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>
This commit is contained in:
Thibault Saunier 2024-12-10 23:42:56 -03:00 committed by GStreamer Marge Bot
parent 6ddaa9f56a
commit 7e1fd3b069

View file

@ -5222,7 +5222,13 @@ handle_bus_message (MessageData * d)
GST_VALIDATE_REPORT_ACTION (scenario, act, GST_VALIDATE_REPORT_ACTION (scenario, act,
SCENARIO_ACTION_EXECUTION_ERROR, SCENARIO_ACTION_EXECUTION_ERROR,
"Error message happened while executing action"); "Error message happened while executing action");
if (scenario->priv->changing_state) {
gst_element_set_state (pipeline, GST_STATE_NULL);
}
act->priv->state = GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED;
gst_validate_action_set_done (act); gst_validate_action_set_done (act);
gst_bus_set_flushing (scenario->priv->bus, TRUE);
gst_bus_set_flushing (scenario->priv->bus, FALSE);
gst_validate_action_unref (act); gst_validate_action_unref (act);
} }