mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-02 14:36:41 +00:00
validate: Properly advertise the wait action as ASYNC
And add some printing when executing the set-property action https://bugzilla.gnome.org/show_bug.cgi?id=743994
This commit is contained in:
parent
da31e3914f
commit
5f888fb5b6
1 changed files with 12 additions and 8 deletions
|
@ -1058,14 +1058,15 @@ get_position (GstValidateScenario * scenario)
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
stop_waiting (GstValidateScenario * scenario)
|
stop_waiting (GstValidateAction * action)
|
||||||
{
|
{
|
||||||
GstValidateScenarioPrivate *priv = scenario->priv;
|
GstValidateScenarioPrivate *priv = action->scenario->priv;
|
||||||
|
|
||||||
priv->wait_id = 0;
|
priv->wait_id = 0;
|
||||||
_add_get_position_source (scenario);
|
gst_validate_action_set_done (action);
|
||||||
|
_add_get_position_source (action->scenario);
|
||||||
|
|
||||||
gst_validate_printf (scenario, "Stop waiting\n");
|
gst_validate_printf (action->scenario, "Stop waiting\n");
|
||||||
|
|
||||||
return G_SOURCE_REMOVE;
|
return G_SOURCE_REMOVE;
|
||||||
}
|
}
|
||||||
|
@ -1092,14 +1093,15 @@ _execute_wait (GstValidateScenario * scenario, GstValidateAction * action)
|
||||||
|
|
||||||
if (wait_multiplier == 0) {
|
if (wait_multiplier == 0) {
|
||||||
GST_INFO_OBJECT (scenario, "I have been told not to wait...");
|
GST_INFO_OBJECT (scenario, "I have been told not to wait...");
|
||||||
return TRUE;
|
return GST_VALIDATE_EXECUTE_ACTION_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gst_validate_action_get_clocktime (scenario, action,
|
if (!gst_validate_action_get_clocktime (scenario, action,
|
||||||
"duration", &duration)) {
|
"duration", &duration)) {
|
||||||
GST_DEBUG_OBJECT (scenario, "Duration could not be parsed");
|
GST_DEBUG_OBJECT (scenario, "Duration could not be parsed");
|
||||||
return FALSE;
|
|
||||||
|
return GST_VALIDATE_EXECUTE_ACTION_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
duration *= wait_multiplier;
|
duration *= wait_multiplier;
|
||||||
|
@ -1113,9 +1115,9 @@ _execute_wait (GstValidateScenario * scenario, GstValidateAction * action)
|
||||||
}
|
}
|
||||||
|
|
||||||
priv->wait_id = g_timeout_add (duration / G_USEC_PER_SEC,
|
priv->wait_id = g_timeout_add (duration / G_USEC_PER_SEC,
|
||||||
(GSourceFunc) stop_waiting, scenario);
|
(GSourceFunc) stop_waiting, action);
|
||||||
|
|
||||||
return TRUE;
|
return GST_VALIDATE_EXECUTE_ACTION_ASYNC;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -1197,6 +1199,8 @@ _execute_set_property (GstValidateScenario * scenario,
|
||||||
property_value = gst_structure_get_value (action->structure,
|
property_value = gst_structure_get_value (action->structure,
|
||||||
"property-value");
|
"property-value");
|
||||||
|
|
||||||
|
gst_validate_printf (action, "Setting property %s to %s\n",
|
||||||
|
property, gst_value_serialize (property_value));
|
||||||
ret = _object_set_property (G_OBJECT (target), property, property_value);
|
ret = _object_set_property (G_OBJECT (target), property, property_value);
|
||||||
|
|
||||||
gst_object_unref (target);
|
gst_object_unref (target);
|
||||||
|
|
Loading…
Reference in a new issue