gst_message_new_async_start
gst_message_parse_async_start
gst_message_new_async_done
+gst_message_new_step_start
+gst_message_parse_step_start
GstStructureChangeType
gst_message_new_structure_change
{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}
};
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)));
+}
* @GST_MESSAGE_REQUEST_STATE: Posted by elements when they want the pipeline to
* change state. This message is a suggestion to the application which can
* decide to perform the state change on (part of) the pipeline. Since: 0.10.23.
+ * @GST_MESSAGE_STEP_START: A stepping operation was started.
* @GST_MESSAGE_ANY: mask for all of the above messages.
*
* The different message types that are available.
GST_MESSAGE_ASYNC_START = (1 << 20),
GST_MESSAGE_ASYNC_DONE = (1 << 21),
GST_MESSAGE_REQUEST_STATE = (1 << 22),
+ GST_MESSAGE_STEP_START = (1 << 23),
GST_MESSAGE_ANY = ~0
} GstMessageType;
GstMessage * gst_message_new_request_state (GstObject * src, GstState state);
void gst_message_parse_request_state (GstMessage * message, GstState *state);
+/* STEP_START */
+GstMessage * gst_message_new_step_start (GstObject * src, gboolean active);
+void gst_message_parse_step_start (GstMessage * message, gboolean *active);
+
/* custom messages */
GstMessage * gst_message_new_custom (GstMessageType type,
GstObject * src,
"GstQueryPosition", "GstQueryDuration", "GstQueryLatency", "GstQueryConvert",
"GstQuerySegment", "GstQuerySeeking", "GstQueryFormats", "GstQueryBuffering",
"GstQueryURI", "GstEventStep", "GstMessageStepDone", "amount", "flush",
- "intermediate"
+ "intermediate", "GstMessageStepStart", "active"
};
GQuark _priv_gst_quark_table[GST_QUARK_MAX];
GST_QUARK_AMOUNT = 85,
GST_QUARK_FLUSH = 86,
GST_QUARK_INTERMEDIATE = 87,
+ GST_QUARK_MESSAGE_STEP_START = 88,
+ GST_QUARK_ACTIVE = 89,
- GST_QUARK_MAX = 88
+ GST_QUARK_MAX = 90
} GstQuarkId;
extern GQuark _priv_gst_quark_table[GST_QUARK_MAX];
gst_message_new_state_changed
gst_message_new_state_dirty
gst_message_new_step_done
+ gst_message_new_step_start
gst_message_new_stream_status
gst_message_new_structure_change
gst_message_new_tag
gst_message_parse_segment_start
gst_message_parse_state_changed
gst_message_parse_step_done
+ gst_message_parse_step_start
gst_message_parse_stream_status
gst_message_parse_structure_change
gst_message_parse_tag