GstEvent
<!-- ##### SECTION Short_Description ##### -->
-Event definitions.
+Structure describing events that are passed up and down a pipeline
<!-- ##### SECTION Long_Description ##### -->
<para>
<!-- ##### 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_SEEK_SEGMENT: a segment seek with start and stop position
-@GST_EVENT_SEGMENT_DONE: the event that will be emited when the segment seek has ended
-@GST_EVENT_SIZE: a size suggestion for a peer element
-@GST_EVENT_RATE: adjust the output rate of an element
-@GST_EVENT_FILLER: a dummy event that should be ignored by plugins
-@GST_EVENT_TS_OFFSET: an event to set the time offset on buffers
-@GST_EVENT_INTERRUPT:
-<!-- ##### MACRO GST_EVENT_TYPE ##### -->
+<!-- ##### STRUCT GstEvent ##### -->
<para>
-Get the event type.
-</para>
-
-@event: The event to query.
-
-<!-- ##### MACRO GST_EVENT_SRC ##### -->
-<para>
-The source object that generated this event
</para>
-@event: The event to query
-
+@mini_object:
+@type:
+@timestamp:
+@src:
+@structure:
-<!-- ##### MACRO GST_EVENT_TIMESTAMP ##### -->
+<!-- ##### ENUM GstEventType ##### -->
<para>
-Get the timestamp of the event.
-</para>
-
-@event: The event to query.
-
-<!-- ##### ENUM GstEventFlag ##### -->
-<para>
-Event flags are used when querying for supported events
</para>
-@GST_EVENT_FLAG_NONE: no value
-@GST_RATE_FLAG_NEGATIVE: indicates negative rates are supported
+@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:
-<!-- ##### ENUM GstSeekType ##### -->
+<!-- ##### MACRO GST_EVENT_TRACE_NAME ##### -->
<para>
-The different types of seek events.
+The name used for memory allocation tracing
</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
-@GST_SEEK_FLAG_SEGMENT_LOOP: Loop between start and stop in a segmented seek
-
-<!-- ##### ENUM GstSeekAccuracy ##### -->
-<para>
-The seekaccuracy gives more information of how the seek was performed,
-if the seek was accurate or fuzzy.
-</para>
-@GST_SEEK_CERTAIN: The seek was exact
-@GST_SEEK_FUZZY: The seek was fuzzy, exact position can not be guaranteed
-<!-- ##### MACRO GST_EVENT_SEEK_TYPE ##### -->
+<!-- ##### MACRO GST_EVENT_TYPE ##### -->
<para>
-Get the seektype of the GST_EVENT_SEEK.
+Get the event type.
</para>
@event: The event to query.
-<!-- ##### MACRO GST_EVENT_SEEK_FORMAT ##### -->
-<para>
-The format of the seek value
-</para>
-
-@event: The event operate on
-
-
-<!-- ##### MACRO GST_EVENT_SEEK_METHOD ##### -->
-<para>
-The seek method to use as one of #GstSeekType
-</para>
-
-@event: The event operate on
-
-
-<!-- ##### MACRO GST_EVENT_SEEK_FLAGS ##### -->
-<para>
-The optional seek flags
-</para>
-
-@event: The event operate on
-
-
-<!-- ##### MACRO GST_EVENT_SEEK_OFFSET ##### -->
+<!-- ##### MACRO GST_EVENT_TIMESTAMP ##### -->
<para>
-Get the offset of the seek event.
+Get the timestamp of the event.
</para>
@event: The event to query.
-<!-- ##### MACRO GST_EVENT_SEEK_ACCURACY ##### -->
+<!-- ##### MACRO GST_EVENT_SRC ##### -->
<para>
-Indicates how accurate the event was performed.
+The source object that generated this event
</para>
@event: The event to query
-<!-- ##### MACRO GST_SEEK_FLAGS_MASK ##### -->
-<para>
-Mask for the flags in the GstSeekType
-</para>
-
-
-
-<!-- ##### MACRO GST_SEEK_FLAGS_SHIFT ##### -->
+<!-- ##### ENUM GstSeekType ##### -->
<para>
-Shift for the flags in the 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().
+
+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) */
+
+ res = gst_element_send_event (GST_ELEMENT (osssink), event);
+ if (!res) {
+ g_warning ("seek failed");
+ }
+ </programlisting>
+</example>
+</para>
+
+@GST_SEEK_TYPE_NONE:
+@GST_SEEK_TYPE_CUR:
+@GST_SEEK_TYPE_SET:
+@GST_SEEK_TYPE_END:
-<!-- ##### MACRO GST_SEEK_FORMAT_MASK ##### -->
+<!-- ##### MACRO gst_event_ref ##### -->
<para>
-Mask for the format in the GstSeekType
+Increase the refcount of this event
</para>
+@ev: The event to refcount
-<!-- ##### MACRO GST_SEEK_FORMAT_SHIFT ##### -->
+<!-- ##### MACRO gst_event_unref ##### -->
<para>
-Shift for the format in the GstSeekType
+Decrease the refcount of an event, freeing it if the refcount reaches 0
</para>
+@ev: The event to unref
-<!-- ##### MACRO GST_SEEK_METHOD_MASK ##### -->
+<!-- ##### MACRO gst_event_copy ##### -->
<para>
-Mask for the method in the GstSeekType
+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_METHOD_SHIFT ##### -->
+<!-- ##### FUNCTION gst_event_new_custom ##### -->
<para>
-Shift for the method in the GstSeekType
-</para>
-
-
-<!-- ##### MACRO GST_EVENT_DISCONT_NEW_MEDIA ##### -->
-<para>
-Flag that indicates the discont event was because of a new media
-type.
</para>
-@event: The event to operate on
+@type:
+@structure:
+@Returns:
-<!-- ##### MACRO GST_EVENT_DISCONT_OFFSET ##### -->
+<!-- ##### FUNCTION gst_event_get_structure ##### -->
<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.
-
-<!-- ##### MACRO GST_EVENT_DISCONT_OFFSET_LEN ##### -->
-<para>
-Get the number of offset/value pairs this event has.
</para>
-@event: The event to query.
+@event:
+@Returns:
-<!-- ##### MACRO GST_EVENT_RATE_VALUE ##### -->
+<!-- ##### FUNCTION gst_event_new_flush_start ##### -->
<para>
-Get access to the rate vale field
-</para>
-@event: The event to query
-
-
-<!-- ##### MACRO GST_EVENT_SEEK_ENDOFFSET ##### -->
-<para>
-The event stop position for a segment seek
</para>
-@event: The event to query
+@Returns:
-<!-- ##### MACRO GST_EVENT_SIZE_FORMAT ##### -->
+<!-- ##### FUNCTION gst_event_new_flush_stop ##### -->
<para>
-The format of the size event.
-</para>
-
-@event: The event to query
-
-<!-- ##### MACRO GST_EVENT_SIZE_VALUE ##### -->
-<para>
-The value of the size event
</para>
-@event: The event to query
-
-
-<!-- ##### STRUCT GstEvent ##### -->
-<para>
-The event structure
-</para>
+@Returns:
-@data:
-@type:
-@timestamp:
-@src:
-<!-- ##### FUNCTION gst_event_new ##### -->
+<!-- ##### FUNCTION gst_event_new_eos ##### -->
<para>
</para>
-@type:
@Returns:
-<!-- ##### MACRO gst_event_copy ##### -->
+<!-- ##### FUNCTION gst_event_new_newsegment ##### -->
<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_event_ref ##### -->
-<para>
-Increase the refcount of this event
</para>
-@ev: The event to refcount
+@rate:
+@format:
+@start_value:
+@stop_value:
+@base:
+@Returns:
-<!-- ##### MACRO gst_event_ref_by_count ##### -->
+<!-- ##### FUNCTION gst_event_parse_newsegment ##### -->
<para>
-Increase the refcount of the event with the given value
-</para>
-
-@ev: The event to refcount
-@c: The value to add to the refcount
-
-<!-- ##### MACRO gst_event_unref ##### -->
-<para>
-Decrease the refcount of an event, freeing it if the refcount reaches 0
</para>
-@ev: The event to unref
+@event:
+@rate:
+@format:
+@start_value:
+@end_value:
+@base:
-<!-- ##### FUNCTION gst_event_new_seek ##### -->
+<!-- ##### FUNCTION gst_event_new_tag ##### -->
<para>
</para>
-@type:
-@offset:
+@taglist:
@Returns:
-<!-- ##### FUNCTION gst_event_new_segment_seek ##### -->
+<!-- ##### FUNCTION gst_event_parse_tag ##### -->
<para>
</para>
-@type:
-@start:
-@stop:
-@Returns:
+@event:
+@taglist:
-<!-- ##### FUNCTION gst_event_new_size ##### -->
+<!-- ##### FUNCTION gst_event_new_filler ##### -->
<para>
-
+Create a new dummy event that should be ignored
</para>
-@format:
-@value:
@Returns:
-<!-- ##### FUNCTION gst_event_new_discontinuous ##### -->
+<!-- ##### FUNCTION gst_event_new_qos ##### -->
<para>
</para>
-@new_media:
-@format1:
-@Varargs:
+@proportion:
+@diff:
+@timestamp:
@Returns:
-<!-- ##### FUNCTION gst_event_discont_get_value ##### -->
+<!-- ##### FUNCTION gst_event_parse_qos ##### -->
<para>
</para>
@event:
-@format:
-@value:
-@Returns:
+@proportion:
+@diff:
+@timestamp:
-<!-- ##### MACRO gst_event_new_filler ##### -->
+<!-- ##### FUNCTION gst_event_new_seek ##### -->
<para>
-Create a new dummy event that should be ignored
-</para>
-
-
-<!-- ##### MACRO gst_event_new_flush ##### -->
-<para>
-Create a new flush event.
</para>
+@rate:
+@format:
+@flags:
+@cur_type:
+@cur:
+@stop_type:
+@stop:
+@Returns:
+<!-- # Unused Parameters # -->
+@type:
+@offset:
-<!-- ##### FUNCTION gst_event_print_stats ##### -->
+<!-- ##### FUNCTION gst_event_parse_seek ##### -->
<para>
</para>
+@event:
+@rate:
+@format:
+@flags:
+@cur_type:
+@cur:
+@stop_type:
+@stop:
-<!-- ##### MACRO GST_EVENT_MASK_FUNCTION ##### -->
+<!-- ##### FUNCTION gst_event_new_navigation ##### -->
<para>
-A convenience macro to create event mask functions
+
</para>
-@type: The type of the first argument of the function
-@functionname: the name of the function
-@...: event masks, the last element is marked with 0
+@structure:
+@Returns: