diff options
Diffstat (limited to 'gst/gstmessage.c')
-rw-r--r-- | gst/gstmessage.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gst/gstmessage.c b/gst/gstmessage.c index 4bc185d6a7..c8f042b1c7 100644 --- a/gst/gstmessage.c +++ b/gst/gstmessage.c @@ -110,6 +110,7 @@ static GstMessageQuarks message_quarks[] = { {GST_MESSAGE_ASYNC_START, "async-start", 0}, {GST_MESSAGE_ASYNC_DONE, "async-done", 0}, {GST_MESSAGE_REQUEST_STATE, "request-state", 0}, + {GST_MESSAGE_STEP_START, "step-start", 0}, {0, NULL, 0} }; @@ -1723,3 +1724,28 @@ gst_message_parse_step_done (GstMessage * message, GstFormat * format, g_value_get_uint64 (gst_structure_id_get_value (message->structure, GST_QUARK (DURATION))); } + +GstMessage * +gst_message_new_step_start (GstObject * src, gboolean active) +{ + GstMessage *message; + GstStructure *structure; + + structure = gst_structure_id_new (GST_QUARK (MESSAGE_STEP_START), + GST_QUARK (ACTIVE), G_TYPE_BOOLEAN, active, NULL); + message = gst_message_new_custom (GST_MESSAGE_STEP_START, src, structure); + + return message; +} + +void +gst_message_parse_step_start (GstMessage * message, gboolean * active) +{ + g_return_if_fail (GST_IS_MESSAGE (message)); + g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STEP_START); + + if (active) + *active = + g_value_get_boolean (gst_structure_id_get_value (message->structure, + GST_QUARK (ACTIVE))); +} |