gstreamer/docs/gst/tmpl/gstevent.sgml
David Schleef 1e4ad29e52 docs/gst/gstreamer-docs.sgml: I got tired of the reference manual being such complete crap, that I decided to do majo...
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:  I got tired of the reference
manual being such complete crap, that I decided to do major
hacking of it.  This checkin replaces any fine tuning that
may have been done previously, with the benefit of actually
being complete for much of the API that was changed since
0.6.  Further fine tuning will occur shortly.  (bug #134721)
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/GstBin.sgml:
* docs/gst/tmpl/GstBuffer.sgml:
* docs/gst/tmpl/GstCaps.sgml:
* docs/gst/tmpl/GstClock.sgml:
* docs/gst/tmpl/GstCompat.sgml:
* docs/gst/tmpl/GstData.sgml:
* docs/gst/tmpl/GstElement.sgml:
* docs/gst/tmpl/GstEvent.sgml:
* docs/gst/tmpl/GstIndex.sgml:
* docs/gst/tmpl/GstStructure.sgml:
* docs/gst/tmpl/GstTag.sgml:
* docs/gst/tmpl/cothreads.sgml:
* docs/gst/tmpl/cothreads_compat.sgml:
* docs/gst/tmpl/gettext.sgml:
* docs/gst/tmpl/grammar.tab.sgml:
* docs/gst/tmpl/gst-i18n-app.sgml:
* docs/gst/tmpl/gst-i18n-lib.sgml:
* docs/gst/tmpl/gst.sgml:
* docs/gst/tmpl/gst_private.sgml:
* docs/gst/tmpl/gstaggregator.sgml:
* docs/gst/tmpl/gstarch.sgml:
* docs/gst/tmpl/gstatomic.sgml:
* docs/gst/tmpl/gstatomic_impl.sgml:
* docs/gst/tmpl/gstbin.sgml:
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstbufferstore.sgml:
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstclock.sgml:
* docs/gst/tmpl/gstcompat.sgml:
* docs/gst/tmpl/gstconfig.sgml:
* docs/gst/tmpl/gstcpu.sgml:
* docs/gst/tmpl/gstdata.sgml:
* docs/gst/tmpl/gstdata_private.sgml:
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstenumtypes.sgml:
* docs/gst/tmpl/gsterror.sgml:
* docs/gst/tmpl/gstevent.sgml:
* docs/gst/tmpl/gstfakesink.sgml:
* docs/gst/tmpl/gstfakesrc.sgml:
* docs/gst/tmpl/gstfilesink.sgml:
* docs/gst/tmpl/gstfilter.sgml:
* docs/gst/tmpl/gstindex.sgml:
* docs/gst/tmpl/gstinfo.sgml:
* docs/gst/tmpl/gstinterface.sgml:
* docs/gst/tmpl/gstlog.sgml:
* docs/gst/tmpl/gstmacros.sgml:
* docs/gst/tmpl/gstmarshal.sgml:
* docs/gst/tmpl/gstmd5sink.sgml:
* docs/gst/tmpl/gstmultifilesrc.sgml:
* docs/gst/tmpl/gstobject.sgml:
* docs/gst/tmpl/gstpad.sgml:
* docs/gst/tmpl/gstparse.sgml:
* docs/gst/tmpl/gstpipeline.sgml:
* docs/gst/tmpl/gstplugin.sgml:
* docs/gst/tmpl/gstpluginfeature.sgml:
* docs/gst/tmpl/gstqueue.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstregistry.sgml:
* docs/gst/tmpl/gstregistrypool.sgml:
* docs/gst/tmpl/gstscheduler.sgml:
* docs/gst/tmpl/gstsearchfuncs.sgml:
* docs/gst/tmpl/gstshaper.sgml:
* docs/gst/tmpl/gstspider.sgml:
* docs/gst/tmpl/gstspideridentity.sgml:
* docs/gst/tmpl/gststructure.sgml:
* docs/gst/tmpl/gstsystemclock.sgml:
* docs/gst/tmpl/gsttag.sgml:
* docs/gst/tmpl/gsttaginterface.sgml:
* docs/gst/tmpl/gsttee.sgml:
* docs/gst/tmpl/gstthread.sgml:
* docs/gst/tmpl/gsttrace.sgml:
* docs/gst/tmpl/gsttrashstack.sgml:
* docs/gst/tmpl/gsttypefind.sgml:
* docs/gst/tmpl/gsttypes.sgml:
* docs/gst/tmpl/gsturi.sgml:
* docs/gst/tmpl/gsturitype.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstvalue.sgml:
* docs/gst/tmpl/gstversion.sgml:
* docs/gst/tmpl/gstxml.sgml:
* docs/gst/tmpl/gstxmlregistry.sgml:
* docs/gst/tmpl/gthread-cothreads.sgml:
* docs/gst/tmpl/types.sgml:
2004-03-25 04:20:33 +00:00

444 lines
8.5 KiB
Text

<!-- ##### SECTION Title ##### -->
GstEvent
<!-- ##### SECTION Short_Description ##### -->
Structure describing events that are passed up and down a pipeline
<!-- ##### SECTION Long_Description ##### -->
<para>
The event classes are used to construct and query events.
</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 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
needed parameters for a seek event.
</para>
<para>
gst_event_new_flush() creates a new flush event.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GstPad, #GstElement
</para>
<!-- ##### ENUM GstEventType ##### -->
<para>
The different major types of events.
</para>
@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:
<!-- ##### MACRO GST_EVENT_TRACE_NAME ##### -->
<para>
The name used for memory allocation tracing
</para>
<!-- ##### MACRO GST_EVENT_TYPE ##### -->
<para>
Get the event type.
</para>
@event: The event to query.
<!-- ##### MACRO GST_EVENT_TIMESTAMP ##### -->
<para>
Get the timestamp of the event.
</para>
@event: The event to query.
<!-- ##### MACRO GST_EVENT_SRC ##### -->
<para>
The source object that generated this event
</para>
@event: The event to query
<!-- ##### MACRO GST_EVENT_IS_INTERRUPT ##### -->
<para>
Check if the event is an interrupt event
</para>
@event: The event to check
<!-- ##### MACRO GST_SEEK_FORMAT_SHIFT ##### -->
<para>
Shift for the format in the GstSeekType
</para>
<!-- ##### MACRO GST_SEEK_METHOD_SHIFT ##### -->
<para>
Shift for the method in the GstSeekType
</para>
<!-- ##### MACRO GST_SEEK_FLAGS_SHIFT ##### -->
<para>
Shift for the flags in the GstSeekType
</para>
<!-- ##### MACRO GST_SEEK_FORMAT_MASK ##### -->
<para>
Mask for the format in the GstSeekType
</para>
<!-- ##### MACRO GST_SEEK_METHOD_MASK ##### -->
<para>
Mask for the method in the GstSeekType
</para>
<!-- ##### MACRO GST_SEEK_FLAGS_MASK ##### -->
<para>
Mask for the flags in the GstSeekType
</para>
<!-- ##### 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
<!-- ##### MACRO GST_EVENT_MASK_FUNCTION ##### -->
<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
<!-- ##### ENUM 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().
<informalexample>
Following example illustrates how to insert a seek event (1 second in the stream)
in a pipeline.
<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>
</informalexample>
</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 ##### -->
<para>
Get the seektype of the GST_EVENT_SEEK.
</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 ##### -->
<para>
Get the offset of the seek event.
</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
<!-- ##### MACRO GST_EVENT_SEEK_ACCURACY ##### -->
<para>
Indicates how accurate the event was performed.
</para>
@event: The event to query
<!-- ##### 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
<!-- ##### MACRO GST_EVENT_DISCONT_OFFSET ##### -->
<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.
<!-- ##### MACRO GST_EVENT_SIZE_FORMAT ##### -->
<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
<!-- ##### MACRO GST_EVENT_RATE_VALUE ##### -->
<para>
Get access to the rate vale field
</para>
@event: The event to query
<!-- ##### STRUCT GstEvent ##### -->
<para>
</para>
@data:
@type:
@timestamp:
@src:
<!-- ##### FUNCTION gst_event_new ##### -->
<para>
</para>
@type:
@Returns:
<!-- ##### MACRO gst_event_ref ##### -->
<para>
Increase the refcount of this event
</para>
@ev: The event to refcount
<!-- ##### MACRO gst_event_ref_by_count ##### -->
<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
<!-- ##### 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
<!-- ##### FUNCTION gst_event_masks_contains ##### -->
<para>
</para>
@masks:
@mask:
@Returns:
<!-- ##### FUNCTION gst_event_new_seek ##### -->
<para>
</para>
@type:
@offset:
@Returns:
<!-- ##### FUNCTION gst_event_new_segment_seek ##### -->
<para>
</para>
@type:
@start:
@stop:
@Returns:
<!-- ##### FUNCTION gst_event_new_size ##### -->
<para>
</para>
@format:
@value:
@Returns:
<!-- ##### FUNCTION gst_event_new_discontinuous ##### -->
<para>
</para>
@new_media:
@format1:
@Varargs:
@Returns:
<!-- ##### FUNCTION gst_event_new_discontinuous_valist ##### -->
<para>
</para>
@new_media:
@format1:
@var_args:
@Returns:
<!-- ##### FUNCTION gst_event_discont_get_value ##### -->
<para>
</para>
@event:
@format:
@value:
@Returns:
<!-- ##### MACRO gst_event_new_filler ##### -->
<para>
Create a new dummy event that should be ignored
</para>
<!-- ##### MACRO gst_event_new_flush ##### -->
<para>
Create a new flush event.
</para>