GstEvent Structure describing events that are passed up and down a pipeline The event classes are used to construct and query events. 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 should be unreferenced with gst_event_unref(). gst_event_new_seek() is a usually used to create a seek event and it takes the needed parameters for a seek event. gst_event_new_flush() creates a new flush event. #GstPad, #GstElement @data: @type: @timestamp: @src: The different major types of events. @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_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: mainly used by _get based elements when they were interrupted while waiting for a buffer. @GST_EVENT_NAVIGATION: @GST_EVENT_TAG: The name used for memory allocation tracing Get the event type. @event: The event to query. Get the timestamp of the event. @event: The event to query. The source object that generated this event @event: The event to query Check if the event is an interrupt event @event: The event to check Shift for the format in the GstSeekType Shift for the method in the GstSeekType Shift for the flags in the GstSeekType Mask for the format in the GstSeekType Mask for the method in the GstSeekType Mask for the flags in the GstSeekType Event flags are used when querying for supported events @GST_EVENT_FLAG_NONE: no value @GST_RATE_FLAG_NEGATIVE: indicates negative rates are supported A convenience macro to create event mask functions @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 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. Insertion of a seek event into a pipeline 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"); } @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 accurately 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 The seekaccuracy gives more information of how the seek was performed, if the seek was accurate or fuzzy. @GST_SEEK_CERTAIN: The seek was exact @GST_SEEK_FUZZY: The seek was fuzzy, exact position can not be guaranteed Get the seektype of the GST_EVENT_SEEK. @event: The event to query. The format of the seek value @event: The event operate on The seek method to use as one of #GstSeekType @event: The event operate on The optional seek flags @event: The event operate on Get the offset of the seek event. @event: The event to query. The event stop position for a segment seek @event: The event to query Indicates how accurate the event was performed. @event: The event to query Flag that indicates the discont event was because of a new media type. @event: The event to operate on The offset of the discont event. A discont event can hold up to 8 different format/value pairs. @event: The event to query @i: The offset/value pair. Get the number of offset/value pairs this event has. @event: The event to query. The format of the size event. @event: The event to query The value of the size event @event: The event to query Get access to the rate vale field @event: The event to query @type: @Returns: Increase the refcount of this event @ev: The event to refcount Increase the refcount of the event with the given value @ev: The event to refcount @c: The value to add to the refcount Decrease the refcount of an event, freeing it if the refcount reaches 0 @ev: The event to unref Copy the event using the event specific copy function @ev: The event to copy @Returns: A new event that is a copy of the given input event @masks: @mask: @Returns: @type: @offset: @Returns: @type: @start: @stop: @Returns: @format: @value: @Returns: @new_media: @format1: @Varargs: @Returns: @new_media: @format1: @var_args: @Returns: @event: @format: @value: @Returns: Create a new dummy event that should be ignored Create a new flush event.