GstEvent
Event definitions.
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
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:
Get the event type.
@event: The event to query.
The source object that generated this event
@event: The event to query
Get the timestamp of the event.
@event: The event to query.
Event flags are used when querying for supported events
@GST_EVENT_FLAG_NONE: no value
@GST_RATE_FLAG_NEGATIVE: indicates negative rates are supported
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.
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 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
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.
Indicates how accurate the event was performed.
@event: The event to query
Mask for the flags in the GstSeekType
Shift for the flags in the GstSeekType
Mask for the format in the GstSeekType
Shift for the format in the GstSeekType
Mask for the method in the GstSeekType
Shift for the method in the GstSeekType
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 evetn 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.
Get access to the rate vale field
@event: The event to query
The event stop position for a segment seek
@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
Check if the event is an interrupt event
@event: The event to check
The name used for memory allocation tracing
The event structure
@data:
@type:
@timestamp:
@src:
@type:
@Returns:
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
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
@type:
@offset:
@Returns:
@type:
@start:
@stop:
@Returns:
@format:
@value:
@Returns:
@new_media:
@format1:
@Varargs:
@Returns:
@event:
@format:
@value:
@Returns:
Create a new dummy event that should be ignored
Create a new flush event.
@masks:
@mask:
@Returns:
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