summaryrefslogtreecommitdiff
path: root/gst/gstmessage.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2005-10-18 16:25:38 +0000
committerWim Taymans <wim.taymans@gmail.com>2005-10-18 16:25:38 +0000
commit0176d5a0cf5e3f87afbb8b73c27f81af3288f5a9 (patch)
treeb0f4aaf3b630c70970f504f660e35d33f580e8c2 /gst/gstmessage.h
parent2c61a2f4d5c8738861d0a83e5cd1878d80edefc3 (diff)
Seriously, this is better than a previous commit as we only need to notify the fact that an element changed state in ...
Original commit message from CVS: * check/gst/gstbin.c: (GST_START_TEST): * check/gst/gstmessage.c: (GST_START_TEST): * check/gst/gstpipeline.c: (GST_START_TEST), (message_received): * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func), (bin_bus_handler): * gst/gstelement.c: (gst_element_abort_state), (gst_element_commit_state), (gst_element_lost_state): * gst/gstmessage.c: (gst_message_new_state_changed), (gst_message_new_state_dirty), (gst_message_new_segment_start), (gst_message_new_segment_done), (gst_message_new_duration), (gst_message_parse_state_changed), (gst_message_parse_segment_start), (gst_message_parse_segment_done), (gst_message_parse_duration): * gst/gstmessage.h: * tools/gst-launch.c: (event_loop): Seriously, this is better than a previous commit as we only need to notify the fact that an element changed state in a streaming thread, marking the state of the parents dirty, hence the STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE message.
Diffstat (limited to 'gst/gstmessage.h')
-rw-r--r--gst/gstmessage.h28
1 files changed, 15 insertions, 13 deletions
diff --git a/gst/gstmessage.h b/gst/gstmessage.h
index 2a1fcab7d..b95d0415c 100644
--- a/gst/gstmessage.h
+++ b/gst/gstmessage.h
@@ -67,17 +67,18 @@ typedef enum
GST_MESSAGE_TAG = (1 << 4),
GST_MESSAGE_BUFFERING = (1 << 5),
GST_MESSAGE_STATE_CHANGED = (1 << 6),
- GST_MESSAGE_STEP_DONE = (1 << 7),
- GST_MESSAGE_CLOCK_PROVIDE = (1 << 8),
- GST_MESSAGE_CLOCK_LOST = (1 << 9),
- GST_MESSAGE_NEW_CLOCK = (1 << 10),
- GST_MESSAGE_STRUCTURE_CHANGE = (1 << 11),
- GST_MESSAGE_STREAM_STATUS = (1 << 12),
- GST_MESSAGE_APPLICATION = (1 << 13),
- GST_MESSAGE_ELEMENT = (1 << 14),
- GST_MESSAGE_SEGMENT_START = (1 << 15),
- GST_MESSAGE_SEGMENT_DONE = (1 << 16),
- GST_MESSAGE_DURATION = (1 << 17),
+ GST_MESSAGE_STATE_DIRTY = (1 << 7),
+ GST_MESSAGE_STEP_DONE = (1 << 8),
+ GST_MESSAGE_CLOCK_PROVIDE = (1 << 9),
+ GST_MESSAGE_CLOCK_LOST = (1 << 10),
+ GST_MESSAGE_NEW_CLOCK = (1 << 11),
+ GST_MESSAGE_STRUCTURE_CHANGE = (1 << 12),
+ GST_MESSAGE_STREAM_STATUS = (1 << 13),
+ GST_MESSAGE_APPLICATION = (1 << 14),
+ GST_MESSAGE_ELEMENT = (1 << 15),
+ GST_MESSAGE_SEGMENT_START = (1 << 16),
+ GST_MESSAGE_SEGMENT_DONE = (1 << 17),
+ GST_MESSAGE_DURATION = (1 << 18),
GST_MESSAGE_ANY = 0xffffffff
} GstMessageType;
@@ -190,8 +191,9 @@ GstMessage * gst_message_new_eos (GstObject * src);
GstMessage * gst_message_new_error (GstObject * src, GError * error, gchar * debug);
GstMessage * gst_message_new_warning (GstObject * src, GError * error, gchar * debug);
GstMessage * gst_message_new_tag (GstObject * src, GstTagList * tag_list);
-GstMessage * gst_message_new_state_changed (GstObject * src, gboolean async, GstState oldstate,
+GstMessage * gst_message_new_state_changed (GstObject * src, GstState oldstate,
GstState newstate, GstState pending);
+GstMessage * gst_message_new_state_dirty (GstObject * src);
GstMessage * gst_message_new_clock_provide (GstObject * src, GstClock *clock, gboolean ready);
GstMessage * gst_message_new_clock_lost (GstObject * src, GstClock *clock);
GstMessage * gst_message_new_new_clock (GstObject * src, GstClock *clock);
@@ -207,7 +209,7 @@ GstMessage * gst_message_new_custom (GstMessageType type,
void gst_message_parse_error (GstMessage *message, GError **gerror, gchar **debug);
void gst_message_parse_warning (GstMessage *message, GError **gerror, gchar **debug);
void gst_message_parse_tag (GstMessage *message, GstTagList **tag_list);
-void gst_message_parse_state_changed (GstMessage *message, gboolean *async, GstState *oldstate,
+void gst_message_parse_state_changed (GstMessage *message, GstState *oldstate,
GstState *newstate, GstState *pending);
void gst_message_parse_clock_provide (GstMessage *message, GstClock **clock, gboolean *ready);
void gst_message_parse_clock_lost (GstMessage *message, GstClock **clock);