GstEvent
<!-- ##### SECTION Short_Description ##### -->
-Event definitions.
+Structure describing events that are passed up and down a pipeline
<!-- ##### SECTION Long_Description ##### -->
<para>
<para>
Events are usually created with gst_event_new() which takes the event type as an argument.
properties specific to the event can be set afterwards with the provided macros.
-The event is freed with gst_event_free().
+The event should be unreferenced with gst_event_unref().
</para>
<para>
gst_event_new_seek() is a usually used to create a seek event and it takes the
<!-- ##### SECTION See_Also ##### -->
<para>
-#GstPad
+#GstPad, #GstElement
</para>
-<!-- ##### ENUM GstEventType ##### -->
-<para>
-The different major types of events.
-</para>
+<!-- ##### SECTION Stability_Level ##### -->
-@GST_EVENT_UNKNOWN: unknown event.
-@GST_EVENT_EOS: an end-of-stream event.
-@GST_EVENT_FLUSH: a flush event.
-@GST_EVENT_EMPTY: an empty event.
-@GST_EVENT_DISCONTINUOUS: a discontinuous event to indicate the stream has a discontinuity.
-@GST_EVENT_NEW_MEDIA: a new media stream is started
-@GST_EVENT_QOS: a quality of service event
-@GST_EVENT_SEEK: a seek event.
-@GST_EVENT_FILLER: a dummy element that should be ignored by plugins
-<!-- ##### MACRO GST_EVENT_TYPE ##### -->
+<!-- ##### STRUCT GstEvent ##### -->
<para>
-Get the event type.
-</para>
-@event: The event to query.
+</para>
+@mini_object:
+@type:
+@timestamp:
+@src:
+@structure:
-<!-- ##### MACRO GST_EVENT_SRC ##### -->
+<!-- ##### ENUM GstEventType ##### -->
<para>
-The source object that generated this event
-</para>
-@event: The event to query
+</para>
+@GST_EVENT_UNKNOWN:
+@GST_EVENT_FLUSH_START:
+@GST_EVENT_FLUSH_STOP:
+@GST_EVENT_EOS:
+@GST_EVENT_NEWSEGMENT:
+@GST_EVENT_TAG:
+@GST_EVENT_FILLER:
+@GST_EVENT_QOS:
+@GST_EVENT_SEEK:
+@GST_EVENT_NAVIGATION:
+@GST_EVENT_CUSTOM_UP:
+@GST_EVENT_CUSTOM_DS:
+@GST_EVENT_CUSTOM_DS_OOB:
+@GST_EVENT_CUSTOM_BOTH:
+@GST_EVENT_CUSTOM_BOTH_OOB:
-<!-- ##### MACRO GST_EVENT_TIMESTAMP ##### -->
+<!-- ##### MACRO GST_EVENT_TRACE_NAME ##### -->
<para>
-Get the timestamp of the event.
+The name used for memory allocation tracing
</para>
-@event: The event to query.
-<!-- ##### ENUM GstSeekType ##### -->
+<!-- ##### MACRO GST_EVENT_TYPE ##### -->
<para>
-The different types of seek events.
+Get the event type.
</para>
-@GST_SEEK_METHOD_CUR: Seek to an relative position
-@GST_SEEK_METHOD_SET: Seek to an absolute position
-@GST_SEEK_METHOD_END: Seek relative to the end of the stream
-@GST_SEEK_FLAG_FLUSH: Flush any pending data while seeking
-@GST_SEEK_FLAG_ACCURATE: Seek as accuratly as possible
-@GST_SEEK_FLAG_KEY_UNIT: Seek to a nearby key unit
-
-<!-- ##### ENUM GstSeekAccuracy ##### -->
-<para>
-The seekaccuracy gives more information of how the seek was performed,
-if the seek was accurate or fuzzy.
-</para>
+@event: The event to query.
-@GST_SEEK_CERTAIN:
-@GST_SEEK_FUZZY:
-<!-- ##### MACRO GST_EVENT_SEEK_TYPE ##### -->
+<!-- ##### MACRO GST_EVENT_TIMESTAMP ##### -->
<para>
-Get the seektype of the GST_EVENT_SEEK.
+Get the timestamp of the event.
</para>
@event: The event to query.
-<!-- ##### MACRO GST_EVENT_SEEK_FORMAT ##### -->
+<!-- ##### MACRO GST_EVENT_SRC ##### -->
<para>
-The format of the seek value
+The source object that generated this event
</para>
-@event: The event operate on
+@event: The event to query
-<!-- ##### MACRO GST_EVENT_SEEK_METHOD ##### -->
+<!-- ##### ENUM GstSeekType ##### -->
<para>
-The seek method to use as one of #GstSeekType
-</para>
+The different types of seek events. When constructing a seek event a format,
+a seek method and optional flags are OR-ed together. The seek event is then
+inserted into the graph with #gst_pad_send_event() or #gst_element_send_event().
-@event: The event operate on
+Following example illustrates how to insert a seek event (1 second in the stream)
+in a pipeline.
+<example>
+<title>Insertion of a seek event into a pipeline</title>
+ <programlisting>
+ gboolean res;
+ GstEvent *event;
+ event = gst_event_new_seek (
+ GST_FORMAT_TIME | /* seek on time */
+ GST_SEEK_METHOD_SET | /* set the absolute position */
+ GST_SEEK_FLAG_FLUSH, /* flush any pending data */
+ 1 * GST_SECOND); /* the seek offset (1 second) */
-<!-- ##### MACRO GST_EVENT_SEEK_FLAGS ##### -->
-<para>
-The optional seek flags
+ res = gst_element_send_event (GST_ELEMENT (osssink), event);
+ if (!res) {
+ g_warning ("seek failed");
+ }
+ </programlisting>
+</example>
</para>
-@event: The event operate on
-
+@GST_SEEK_TYPE_NONE:
+@GST_SEEK_TYPE_CUR:
+@GST_SEEK_TYPE_SET:
+@GST_SEEK_TYPE_END:
-<!-- ##### MACRO GST_EVENT_SEEK_OFFSET ##### -->
+<!-- ##### MACRO gst_event_ref ##### -->
<para>
-Get the offset of the seek event.
+Increase the refcount of this event
</para>
-@event: The event to query.
+@ev: The event to refcount
-<!-- ##### MACRO GST_EVENT_SEEK_ACCURACY ##### -->
+<!-- ##### MACRO gst_event_unref ##### -->
<para>
-Indicates how accurate the event was performed.
+Decrease the refcount of an event, freeing it if the refcount reaches 0
</para>
-@event: The event to query
+@ev: The event to unref
-<!-- ##### MACRO GST_SEEK_FLAGS_MASK ##### -->
+<!-- ##### MACRO gst_event_copy ##### -->
<para>
-
+Copy the event using the event specific copy function
</para>
+@ev: The event to copy
+@Returns: A new event that is a copy of the given input event
-<!-- ##### MACRO GST_SEEK_FLAGS_SHIFT ##### -->
+<!-- ##### FUNCTION gst_event_new_custom ##### -->
<para>
</para>
+@type:
+@structure:
+@Returns:
-<!-- ##### MACRO GST_SEEK_FORMAT_MASK ##### -->
+<!-- ##### FUNCTION gst_event_get_structure ##### -->
<para>
</para>
+@event:
+@Returns:
-<!-- ##### MACRO GST_SEEK_FORMAT_SHIFT ##### -->
+<!-- ##### FUNCTION gst_event_new_flush_start ##### -->
<para>
</para>
+@Returns:
-<!-- ##### MACRO GST_SEEK_METHOD_MASK ##### -->
+<!-- ##### FUNCTION gst_event_new_flush_stop ##### -->
<para>
</para>
+@Returns:
-<!-- ##### MACRO GST_SEEK_METHOD_SHIFT ##### -->
+<!-- ##### FUNCTION gst_event_new_eos ##### -->
<para>
</para>
+@Returns:
-<!-- ##### MACRO GST_EVENT_DISCONT_NEW_MEDIA ##### -->
+<!-- ##### FUNCTION gst_event_new_newsegment ##### -->
<para>
-Flag that indicates the discont event was because of a new media
-type.
+
</para>
-@event: The event to operate on
+@rate:
+@format:
+@start_value:
+@stop_value:
+@base:
+@Returns:
-<!-- ##### MACRO GST_EVENT_DISCONT_OFFSET ##### -->
+<!-- ##### FUNCTION gst_event_parse_newsegment ##### -->
<para>
-The offset of the discont event. A discont evetn can hold up to 8 different
-format/value pairs.
+
</para>
-@event: The event to query
-@i: The offset/value pair.
+@event:
+@rate:
+@format:
+@start_value:
+@end_value:
+@base:
-<!-- ##### MACRO GST_EVENT_DISCONT_OFFSET_LEN ##### -->
+<!-- ##### FUNCTION gst_event_new_tag ##### -->
<para>
-Get the number of offset/value pairs this event has.
+
</para>
-@event: The event to query.
+@taglist:
+@Returns:
-<!-- ##### STRUCT GstEvent ##### -->
+<!-- ##### FUNCTION gst_event_parse_tag ##### -->
<para>
-The event data structure.
+
</para>
-@data: The parent data type.
-@type: The event type.
-@timestamp: The event timestamp.
-@src: The object that generated the event
+@event:
+@taglist:
-<!-- ##### FUNCTION gst_event_new ##### -->
-<para>
+<!-- ##### FUNCTION gst_event_new_filler ##### -->
+<para>
+Create a new dummy event that should be ignored
</para>
-@type:
@Returns:
-<!-- ##### FUNCTION gst_event_copy ##### -->
+<!-- ##### FUNCTION gst_event_new_qos ##### -->
<para>
</para>
-@event:
+@proportion:
+@diff:
+@timestamp:
@Returns:
-<!-- ##### FUNCTION gst_event_free ##### -->
+<!-- ##### FUNCTION gst_event_parse_qos ##### -->
<para>
</para>
@event:
+@proportion:
+@diff:
+@timestamp:
<!-- ##### FUNCTION gst_event_new_seek ##### -->
</para>
+@rate:
+@format:
+@flags:
+@cur_type:
+@cur:
+@stop_type:
+@stop:
+@Returns:
+<!-- # Unused Parameters # -->
@type:
@offset:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_event_new_discontinuous ##### -->
-<para>
-
-</para>
-
-@new_media:
-@format1:
-@Varargs:
-@Returns:
-<!-- ##### FUNCTION gst_event_discont_get_value ##### -->
+<!-- ##### FUNCTION gst_event_parse_seek ##### -->
<para>
</para>
@event:
+@rate:
@format:
-@value:
-@Returns:
+@flags:
+@cur_type:
+@cur:
+@stop_type:
+@stop:
-<!-- ##### MACRO gst_event_new_filler ##### -->
+<!-- ##### FUNCTION gst_event_new_navigation ##### -->
<para>
-Create a new dummy event that should be ignored
-</para>
-
-
-<!-- ##### MACRO gst_event_new_flush ##### -->
-<para>
-Create a new flush event.
</para>
+@structure:
+@Returns: