From ececbda2b2f95f75f208e9afb6ff6d6db81401fa Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 10 Jan 2007 10:21:47 +0000 Subject: [PATCH] gst/gstevent.*: Reserve LATENCY event. Original commit message from CVS: * gst/gstevent.c: * gst/gstevent.h: Reserve LATENCY event. --- ChangeLog | 6 ++++++ gst/gstevent.c | 11 ++++++----- gst/gstevent.h | 30 ++++++++++++++++-------------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index c1629dbe82..b9b071e420 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-01-10 Wim Taymans + + * gst/gstevent.c: + * gst/gstevent.h: + Reserve LATENCY event. + 2007-01-09 Wim Taymans * docs/design/draft-latency.txt: diff --git a/gst/gstevent.c b/gst/gstevent.c index 6aefbde5ea..3c1c00e84b 100644 --- a/gst/gstevent.c +++ b/gst/gstevent.c @@ -115,6 +115,7 @@ static GstEventQuarks event_quarks[] = { {GST_EVENT_QOS, "qos", 0}, {GST_EVENT_SEEK, "seek", 0}, {GST_EVENT_NAVIGATION, "navigation", 0}, + {GST_EVENT_SET_LATENCY, "set-latency", 0}, {GST_EVENT_CUSTOM_UPSTREAM, "custom-upstream", 0}, {GST_EVENT_CUSTOM_DOWNSTREAM, "custom-downstream", 0}, {GST_EVENT_CUSTOM_DOWNSTREAM_OOB, "custom-downstream-oob", 0}, @@ -359,11 +360,11 @@ gst_event_get_structure (GstEvent * event) * gst_pad_pull_range(). Any event (except a #GST_EVENT_FLUSH_STOP) received * on a flushing pad will return %FALSE immediatly. * - * Elements unlock and blocking functions and exit their streaming functions - * as fast as possible. + * Elements should unlock any blocking functions and exit their streaming + * functions as fast as possible when this event is received. * - * This event is typically generated after a seek to minimize the latency - * after the seek. + * This event is typically generated after a seek to flush out all queued data + * in the pipeline so that the new media is played as soon as possible. * * Returns: A new flush start event. */ @@ -407,7 +408,7 @@ gst_event_new_flush_stop (void) * which will then post the #GST_MESSAGE_EOS on the bus after they have * finished playing any buffered data. * - * When all sinks have posted an EOS message, the EOS message is + * When all sinks have posted an EOS message, an EOS message is * forwarded to the application. * * Returns: The new EOS event. diff --git a/gst/gstevent.h b/gst/gstevent.h index 75fc8699b1..d772e5dff5 100644 --- a/gst/gstevent.h +++ b/gst/gstevent.h @@ -91,6 +91,7 @@ typedef enum { * @GST_EVENT_NAVIGATION: Navigation events are usually used for communicating * user requests, such as mouse or keyboard movements, * to upstream elements. + * @GST_EVENT_SET_LATENCY: A request for a new latency adjustment. Since: 0.10.12 * @GST_EVENT_CUSTOM_UPSTREAM: Upstream custom event * @GST_EVENT_CUSTOM_DOWNSTREAM: Downstream custom event that travels in the * data flow. @@ -109,26 +110,27 @@ typedef enum { */ /* NOTE: keep in sync with quark registration in gstevent.c */ typedef enum { - GST_EVENT_UNKNOWN = GST_EVENT_MAKE_TYPE (0, 0), + GST_EVENT_UNKNOWN = GST_EVENT_MAKE_TYPE (0, 0), /* bidirectional events */ - GST_EVENT_FLUSH_START = GST_EVENT_MAKE_TYPE (1, FLAG(BOTH)), - GST_EVENT_FLUSH_STOP = GST_EVENT_MAKE_TYPE (2, FLAG(BOTH) | FLAG(SERIALIZED)), + GST_EVENT_FLUSH_START = GST_EVENT_MAKE_TYPE (1, FLAG(BOTH)), + GST_EVENT_FLUSH_STOP = GST_EVENT_MAKE_TYPE (2, FLAG(BOTH) | FLAG(SERIALIZED)), /* downstream serialized events */ - GST_EVENT_EOS = GST_EVENT_MAKE_TYPE (5, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), - GST_EVENT_NEWSEGMENT = GST_EVENT_MAKE_TYPE (6, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), - GST_EVENT_TAG = GST_EVENT_MAKE_TYPE (7, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), - GST_EVENT_BUFFERSIZE = GST_EVENT_MAKE_TYPE (8, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), + GST_EVENT_EOS = GST_EVENT_MAKE_TYPE (5, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), + GST_EVENT_NEWSEGMENT = GST_EVENT_MAKE_TYPE (6, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), + GST_EVENT_TAG = GST_EVENT_MAKE_TYPE (7, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), + GST_EVENT_BUFFERSIZE = GST_EVENT_MAKE_TYPE (8, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), /* upstream events */ - GST_EVENT_QOS = GST_EVENT_MAKE_TYPE (15, FLAG(UPSTREAM)), - GST_EVENT_SEEK = GST_EVENT_MAKE_TYPE (16, FLAG(UPSTREAM)), - GST_EVENT_NAVIGATION = GST_EVENT_MAKE_TYPE (17, FLAG(UPSTREAM)), + GST_EVENT_QOS = GST_EVENT_MAKE_TYPE (15, FLAG(UPSTREAM)), + GST_EVENT_SEEK = GST_EVENT_MAKE_TYPE (16, FLAG(UPSTREAM)), + GST_EVENT_NAVIGATION = GST_EVENT_MAKE_TYPE (17, FLAG(UPSTREAM)), + GST_EVENT_SET_LATENCY = GST_EVENT_MAKE_TYPE (18, FLAG(UPSTREAM)), /* custom events start here */ - GST_EVENT_CUSTOM_UPSTREAM = GST_EVENT_MAKE_TYPE (32, FLAG(UPSTREAM)), - GST_EVENT_CUSTOM_DOWNSTREAM = GST_EVENT_MAKE_TYPE (32, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), + GST_EVENT_CUSTOM_UPSTREAM = GST_EVENT_MAKE_TYPE (32, FLAG(UPSTREAM)), + GST_EVENT_CUSTOM_DOWNSTREAM = GST_EVENT_MAKE_TYPE (32, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), GST_EVENT_CUSTOM_DOWNSTREAM_OOB = GST_EVENT_MAKE_TYPE (32, FLAG(DOWNSTREAM)), - GST_EVENT_CUSTOM_BOTH = GST_EVENT_MAKE_TYPE (32, FLAG(BOTH) | FLAG(SERIALIZED)), - GST_EVENT_CUSTOM_BOTH_OOB = GST_EVENT_MAKE_TYPE (32, FLAG(BOTH)) + GST_EVENT_CUSTOM_BOTH = GST_EVENT_MAKE_TYPE (32, FLAG(BOTH) | FLAG(SERIALIZED)), + GST_EVENT_CUSTOM_BOTH_OOB = GST_EVENT_MAKE_TYPE (32, FLAG(BOTH)) } GstEventType; #undef FLAG