| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>GstEvent</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> |
| <link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual"> |
| <link rel="up" href="libgstreamer.html" title="GStreamer Core Library"> |
| <link rel="prev" href="gstreamer-GstGError.html" title="GstGError"> |
| <link rel="next" href="gstreamer-GstFormat.html" title="GstFormat"> |
| <meta name="generator" content="GTK-Doc V1.18 (XML mode)"> |
| <link rel="stylesheet" href="style.css" type="text/css"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> |
| <tr valign="middle"> |
| <td><a accesskey="p" href="gstreamer-GstGError.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> |
| <td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> |
| <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> |
| <th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th> |
| <td><a accesskey="n" href="gstreamer-GstFormat.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> |
| </tr> |
| <tr><td colspan="5" class="shortcuts"> |
| <a href="#gstreamer-GstEvent.synopsis" class="shortcut">Top</a> |
| | |
| <a href="#gstreamer-GstEvent.description" class="shortcut">Description</a> |
| </td></tr> |
| </table> |
| <div class="refentry"> |
| <a name="gstreamer-GstEvent"></a><div class="titlepage"></div> |
| <div class="refnamediv"><table width="100%"><tr> |
| <td valign="top"> |
| <h2><span class="refentrytitle"><a name="gstreamer-GstEvent.top_of_page"></a>GstEvent</span></h2> |
| <p>GstEvent — Structure describing events that are passed up and down |
| a pipeline</p> |
| </td> |
| <td valign="top" align="right"></td> |
| </tr></table></div> |
| <div class="refsynopsisdiv"> |
| <a name="gstreamer-GstEvent.synopsis"></a><h2>Synopsis</h2> |
| <pre class="synopsis"> |
| #include <gst/gst.h> |
| |
| struct <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent">GstEvent</a>; |
| enum <a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags">GstEventTypeFlags</a>; |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TYPE-BOTH:CAPS" title="GST_EVENT_TYPE_BOTH">GST_EVENT_TYPE_BOTH</a> |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-MAKE-TYPE:CAPS" title="GST_EVENT_MAKE_TYPE()">GST_EVENT_MAKE_TYPE</a> (num, |
| flags) |
| enum <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType">GstEventType</a>; |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TYPE:CAPS" title="GST_EVENT_TYPE()">GST_EVENT_TYPE</a> (event) |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TYPE-NAME:CAPS" title="GST_EVENT_TYPE_NAME()">GST_EVENT_TYPE_NAME</a> (event) |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TIMESTAMP:CAPS" title="GST_EVENT_TIMESTAMP()">GST_EVENT_TIMESTAMP</a> (event) |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-SEQNUM:CAPS" title="GST_EVENT_SEQNUM()">GST_EVENT_SEQNUM</a> (event) |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-IS-UPSTREAM:CAPS" title="GST_EVENT_IS_UPSTREAM()">GST_EVENT_IS_UPSTREAM</a> (ev) |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-IS-DOWNSTREAM:CAPS" title="GST_EVENT_IS_DOWNSTREAM()">GST_EVENT_IS_DOWNSTREAM</a> (ev) |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-IS-SERIALIZED:CAPS" title="GST_EVENT_IS_SERIALIZED()">GST_EVENT_IS_SERIALIZED</a> (ev) |
| #define <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-IS-STICKY:CAPS" title="GST_EVENT_IS_STICKY()">GST_EVENT_IS_STICKY</a> (ev) |
| <a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags"><span class="returnvalue">GstEventTypeFlags</span></a> <a class="link" href="gstreamer-GstEvent.html#gst-event-type-get-flags" title="gst_event_type_get_flags ()">gst_event_type_get_flags</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>); |
| const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-type-get-name" title="gst_event_type_get_name ()">gst_event_type_get_name</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>); |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> <a class="link" href="gstreamer-GstEvent.html#gst-event-type-to-quark" title="gst_event_type_to_quark ()">gst_event_type_to_quark</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-ref" title="gst_event_ref ()">gst_event_ref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-unref" title="gst_event_unref ()">gst_event_unref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>); |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstEvent.html#gst-event-replace" title="gst_event_replace ()">gst_event_replace</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> **old_event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *new_event</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-copy" title="gst_event_copy ()">gst_event_copy</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-steal" title="gst_event_steal ()">gst_event_steal</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> **old_event</code></em>); |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstEvent.html#gst-event-take" title="gst_event_take ()">gst_event_take</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> **old_event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *new_event</code></em>); |
| #define <a class="link" href="gstreamer-GstEvent.html#gst-event-is-writable" title="gst_event_is_writable()">gst_event_is_writable</a> (ev) |
| #define <a class="link" href="gstreamer-GstEvent.html#gst-event-make-writable" title="gst_event_make_writable()">gst_event_make_writable</a> (ev) |
| <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-writable-structure" title="gst_event_writable_structure ()">gst_event_writable_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-custom" title="gst_event_new_custom ()">gst_event_new_custom</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>); |
| const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-get-structure" title="gst_event_get_structure ()">gst_event_get_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>); |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstEvent.html#gst-event-has-name" title="gst_event_has_name ()">gst_event_has_name</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>); |
| <span class="returnvalue">guint32</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-get-seqnum" title="gst_event_get_seqnum ()">gst_event_get_seqnum</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-set-seqnum" title="gst_event_set_seqnum ()">gst_event_set_seqnum</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><span class="type">guint32</span> seqnum</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-flush-start" title="gst_event_new_flush_start ()">gst_event_new_flush_start</a> (<em class="parameter"><code><span class="type">void</span></code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-flush-stop" title="gst_event_new_flush_stop ()">gst_event_new_flush_stop</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> reset_time</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-flush-stop" title="gst_event_parse_flush_stop ()">gst_event_parse_flush_stop</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *reset_time</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-eos" title="gst_event_new_eos ()">gst_event_new_eos</a> (<em class="parameter"><code><span class="type">void</span></code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-gap" title="gst_event_new_gap ()">gst_event_new_gap</a> (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> duration</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-gap" title="gst_event_parse_gap ()">gst_event_parse_gap</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *duration</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-stream-start" title="gst_event_new_stream_start ()">gst_event_new_stream_start</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stream_id</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-stream-start" title="gst_event_parse_stream_start ()">gst_event_parse_stream_start</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **stream_id</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-segment" title="gst_event_new_segment ()">gst_event_new_segment</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-segment" title="gst_event_parse_segment ()">gst_event_parse_segment</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> **segment</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-copy-segment" title="gst_event_copy_segment ()">gst_event_copy_segment</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-tag" title="gst_event_new_tag ()">gst_event_new_tag</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *taglist</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-tag" title="gst_event_parse_tag ()">gst_event_parse_tag</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> **taglist</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-buffer-size" title="gst_event_new_buffer_size ()">gst_event_new_buffer_size</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> minsize</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> maxsize</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> async</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-buffer-size" title="gst_event_parse_buffer_size ()">gst_event_parse_buffer_size</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *minsize</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *maxsize</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *async</code></em>); |
| enum <a class="link" href="gstreamer-GstEvent.html#GstQOSType" title="enum GstQOSType">GstQOSType</a>; |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-qos" title="gst_event_new_qos ()">gst_event_new_qos</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstQOSType" title="enum GstQOSType"><span class="type">GstQOSType</span></a> type</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTimeDiff" title="GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-qos" title="gst_event_parse_qos ()">gst_event_parse_qos</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstQOSType" title="enum GstQOSType"><span class="type">GstQOSType</span></a> *type</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *proportion</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTimeDiff" title="GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *diff</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>); |
| enum <a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType">GstSeekType</a>; |
| enum <a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags">GstSeekFlags</a>; |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-seek" title="gst_event_new_seek ()">gst_event_new_seek</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags"><span class="type">GstSeekFlags</span></a> flags</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> start_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> start</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> stop_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> stop</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-seek" title="gst_event_parse_seek ()">gst_event_parse_seek</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags"><span class="type">GstSeekFlags</span></a> *flags</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> *start_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *start</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> *stop_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-navigation" title="gst_event_new_navigation ()">gst_event_new_navigation</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-latency" title="gst_event_new_latency ()">gst_event_new_latency</a> (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> latency</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-latency" title="gst_event_parse_latency ()">gst_event_parse_latency</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *latency</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-step" title="gst_event_new_step ()">gst_event_new_step</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><span class="type">guint64</span> amount</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flush</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> intermediate</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-step" title="gst_event_parse_step ()">gst_event_parse_step</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flush</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *intermediate</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-sink-message" title="gst_event_new_sink_message ()">gst_event_new_sink_message</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-sink-message" title="gst_event_parse_sink_message ()">gst_event_parse_sink_message</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> **msg</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-reconfigure" title="gst_event_new_reconfigure ()">gst_event_new_reconfigure</a> (<em class="parameter"><code><span class="type">void</span></code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-caps" title="gst_event_new_caps ()">gst_event_new_caps</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-caps" title="gst_event_parse_caps ()">gst_event_parse_caps</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-toc" title="gst_event_new_toc ()">gst_event_new_toc</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> updated</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-toc" title="gst_event_parse_toc ()">gst_event_parse_toc</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> **toc</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *updated</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-toc-select" title="gst_event_new_toc_select ()">gst_event_new_toc_select</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uid</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-toc-select" title="gst_event_parse_toc_select ()">gst_event_parse_toc_select</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **uid</code></em>); |
| <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gstreamer-GstEvent.html#gst-event-new-segment-done" title="gst_event_new_segment_done ()">gst_event_new_segment_done</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> position</code></em>); |
| <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstEvent.html#gst-event-parse-segment-done" title="gst_event_parse_segment_done ()">gst_event_parse_segment_done</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *position</code></em>); |
| </pre> |
| </div> |
| <div class="refsect1"> |
| <a name="gstreamer-GstEvent.description"></a><h2>Description</h2> |
| <p> |
| The event class provides factory methods to construct events for sending |
| and functions to query (parse) received events. |
| </p> |
| <p> |
| Events are usually created with gst_event_new_*() which takes event-type |
| specific parameters as arguments. |
| To send an event application will usually use <a class="link" href="GstElement.html#gst-element-send-event" title="gst_element_send_event ()"><code class="function">gst_element_send_event()</code></a> and |
| elements will use <a class="link" href="GstPad.html#gst-pad-send-event" title="gst_pad_send_event ()"><code class="function">gst_pad_send_event()</code></a> or <a class="link" href="GstPad.html#gst-pad-push-event" title="gst_pad_push_event ()"><code class="function">gst_pad_push_event()</code></a>. |
| The event should be unreffed with <a class="link" href="gstreamer-GstEvent.html#gst-event-unref" title="gst_event_unref ()"><code class="function">gst_event_unref()</code></a> if it has not been sent. |
| </p> |
| <p> |
| Events that have been received can be parsed with their respective |
| gst_event_parse_*() functions. It is valid to pass <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for unwanted details. |
| </p> |
| <p> |
| Events are passed between elements in parallel to the data stream. Some events |
| are serialized with buffers, others are not. Some events only travel downstream, |
| others only upstream. Some events can travel both upstream and downstream. |
| </p> |
| <p> |
| The events are used to signal special conditions in the datastream such as |
| EOS (end of stream) or the start of a new stream-segment. |
| Events are also used to flush the pipeline of any pending data. |
| </p> |
| <p> |
| Most of the event API is used inside plugins. Applications usually only |
| construct and use seek events. |
| To do that <a class="link" href="gstreamer-GstEvent.html#gst-event-new-seek" title="gst_event_new_seek ()"><code class="function">gst_event_new_seek()</code></a> is used to create a seek event. It takes |
| the needed parameters to specify seeking time and mode. |
| </p> |
| <div class="example"> |
| <a name="idp21558560"></a><p class="title"><b>Example 8. performing a seek on a pipeline</b></p> |
| <div class="example-contents"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15</pre></td> |
| <td class="listing_code"><pre class="programlisting">GstEvent <span class="gtkdoc opt">*</span>event<span class="gtkdoc opt">;</span> |
| gboolean result<span class="gtkdoc opt">;</span> |
| <span class="gtkdoc opt">...</span> |
| <span class="gtkdoc slc">// construct a seek event to play the media from second 2 to 5, flush</span> |
| <span class="gtkdoc slc">// the pipeline to decrease latency.</span> |
| event <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#gst-event-new-seek">gst_event_new_seek</a></span> <span class="gtkdoc opt">(</span><span class="number">1.0</span><span class="gtkdoc opt">,</span> |
| GST_FORMAT_TIME<span class="gtkdoc opt">,</span> |
| GST_SEEK_FLAG_FLUSH<span class="gtkdoc opt">,</span> |
| GST_SEEK_TYPE_SET<span class="gtkdoc opt">,</span> <span class="number">2</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">,</span> |
| GST_SEEK_TYPE_SET<span class="gtkdoc opt">,</span> <span class="number">5</span> <span class="gtkdoc opt">*</span> GST_SECOND<span class="gtkdoc opt">);</span> |
| <span class="gtkdoc opt">...</span> |
| result <span class="gtkdoc opt">=</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-send-event">gst_element_send_event</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> event<span class="gtkdoc opt">);</span> |
| <span class="keyword">if</span> <span class="gtkdoc opt">(!</span>result<span class="gtkdoc opt">)</span> |
| <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Message-Logging.html#g-warning">g_warning</a></span> <span class="gtkdoc opt">(</span><span class="string">"seek failed"</span><span class="gtkdoc opt">);</span> |
| <span class="gtkdoc opt">...</span></pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| </div> |
| <p><br class="example-break"> |
| </p> |
| <p> |
| Last reviewed on 2012-03-28 (0.11.3) |
| </p> |
| </div> |
| <div class="refsect1"> |
| <a name="gstreamer-GstEvent.details"></a><h2>Details</h2> |
| <div class="refsect2"> |
| <a name="GstEvent"></a><h3>struct GstEvent</h3> |
| <pre class="programlisting">struct GstEvent { |
| GstMiniObject mini_object; |
| |
| GstEventType type; |
| guint64 timestamp; |
| guint32 seqnum; |
| }; |
| </pre> |
| <p> |
| A <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstEvent.mini-object"></a>mini_object</code></em>;</span></p></td> |
| <td>the parent structure</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> <em class="structfield"><code><a name="GstEvent.type"></a>type</code></em>;</span></p></td> |
| <td>the <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> of the event</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GstEvent.timestamp"></a>timestamp</code></em>;</span></p></td> |
| <td>the timestamp of the event</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="GstEvent.seqnum"></a>seqnum</code></em>;</span></p></td> |
| <td>the sequence number of the event</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstEventTypeFlags"></a><h3>enum GstEventTypeFlags</h3> |
| <pre class="programlisting">typedef enum { |
| GST_EVENT_TYPE_UPSTREAM = 1 << 0, |
| GST_EVENT_TYPE_DOWNSTREAM = 1 << 1, |
| GST_EVENT_TYPE_SERIALIZED = 1 << 2, |
| GST_EVENT_TYPE_STICKY = 1 << 3, |
| GST_EVENT_TYPE_STICKY_MULTI = 1 << 4 |
| } GstEventTypeFlags; |
| </pre> |
| <p> |
| <a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags"><span class="type">GstEventTypeFlags</span></a> indicate the aspects of the different <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> |
| values. You can get the type flags of a <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> with the |
| <a class="link" href="gstreamer-GstEvent.html#gst-event-type-get-flags" title="gst_event_type_get_flags ()"><code class="function">gst_event_type_get_flags()</code></a> function. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><a name="GST-EVENT-TYPE-UPSTREAM:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TYPE_UPSTREAM</code></span></p></td> |
| <td>Set if the event can travel upstream. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-TYPE-DOWNSTREAM:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TYPE_DOWNSTREAM</code></span></p></td> |
| <td>Set if the event can travel downstream. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-TYPE-SERIALIZED:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TYPE_SERIALIZED</code></span></p></td> |
| <td>Set if the event should be serialized with data |
| flow. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-TYPE-STICKY:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TYPE_STICKY</code></span></p></td> |
| <td>Set if the event is sticky on the pads. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-TYPE-STICKY-MULTI:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TYPE_STICKY_MULTI</code></span></p></td> |
| <td>Multiple sticky events can be on a pad, each |
| identified by the event name. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-TYPE-BOTH:CAPS"></a><h3>GST_EVENT_TYPE_BOTH</h3> |
| <pre class="programlisting">#define GST_EVENT_TYPE_BOTH</pre> |
| <p> |
| The same thing as <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TYPE-UPSTREAM:CAPS"><span class="type">GST_EVENT_TYPE_UPSTREAM</span></a> | <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-TYPE-DOWNSTREAM:CAPS"><span class="type">GST_EVENT_TYPE_DOWNSTREAM</span></a>. |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-MAKE-TYPE:CAPS"></a><h3>GST_EVENT_MAKE_TYPE()</h3> |
| <pre class="programlisting">#define GST_EVENT_MAKE_TYPE(num,flags)</pre> |
| <p> |
| when making custom event types, use this macro with the num and |
| the given flags |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td> |
| <td>the event number to create</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> |
| <td>the event flags</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstEventType"></a><h3>enum GstEventType</h3> |
| <pre class="programlisting">typedef enum { |
| GST_EVENT_UNKNOWN = GST_EVENT_MAKE_TYPE (0, 0), |
| |
| /* bidirectional events */ |
| GST_EVENT_FLUSH_START = GST_EVENT_MAKE_TYPE (10, FLAG(BOTH)), |
| GST_EVENT_FLUSH_STOP = GST_EVENT_MAKE_TYPE (20, FLAG(BOTH) | FLAG(SERIALIZED)), |
| |
| /* downstream serialized events */ |
| GST_EVENT_STREAM_START = GST_EVENT_MAKE_TYPE (40, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)), |
| GST_EVENT_CAPS = GST_EVENT_MAKE_TYPE (50, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)), |
| GST_EVENT_SEGMENT = GST_EVENT_MAKE_TYPE (70, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)), |
| GST_EVENT_TAG = GST_EVENT_MAKE_TYPE (80, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)), |
| GST_EVENT_BUFFERSIZE = GST_EVENT_MAKE_TYPE (90, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)), |
| GST_EVENT_SINK_MESSAGE = GST_EVENT_MAKE_TYPE (100, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)), |
| GST_EVENT_EOS = GST_EVENT_MAKE_TYPE (110, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY)), |
| GST_EVENT_TOC = GST_EVENT_MAKE_TYPE (120, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)), |
| |
| /* non-sticky downstream serialized */ |
| GST_EVENT_SEGMENT_DONE = GST_EVENT_MAKE_TYPE (150, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), |
| GST_EVENT_GAP = GST_EVENT_MAKE_TYPE (160, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), |
| |
| /* upstream events */ |
| GST_EVENT_QOS = GST_EVENT_MAKE_TYPE (190, FLAG(UPSTREAM)), |
| GST_EVENT_SEEK = GST_EVENT_MAKE_TYPE (200, FLAG(UPSTREAM)), |
| GST_EVENT_NAVIGATION = GST_EVENT_MAKE_TYPE (210, FLAG(UPSTREAM)), |
| GST_EVENT_LATENCY = GST_EVENT_MAKE_TYPE (220, FLAG(UPSTREAM)), |
| GST_EVENT_STEP = GST_EVENT_MAKE_TYPE (230, FLAG(UPSTREAM)), |
| GST_EVENT_RECONFIGURE = GST_EVENT_MAKE_TYPE (240, FLAG(UPSTREAM)), |
| GST_EVENT_TOC_SELECT = GST_EVENT_MAKE_TYPE (250, FLAG(UPSTREAM)), |
| |
| /* custom events start here */ |
| GST_EVENT_CUSTOM_UPSTREAM = GST_EVENT_MAKE_TYPE (270, FLAG(UPSTREAM)), |
| GST_EVENT_CUSTOM_DOWNSTREAM = GST_EVENT_MAKE_TYPE (280, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), |
| GST_EVENT_CUSTOM_DOWNSTREAM_OOB = GST_EVENT_MAKE_TYPE (290, FLAG(DOWNSTREAM)), |
| GST_EVENT_CUSTOM_DOWNSTREAM_STICKY = GST_EVENT_MAKE_TYPE (300, FLAG(DOWNSTREAM) | FLAG(SERIALIZED) | FLAG(STICKY) | FLAG(STICKY_MULTI)), |
| GST_EVENT_CUSTOM_BOTH = GST_EVENT_MAKE_TYPE (310, FLAG(BOTH) | FLAG(SERIALIZED)), |
| GST_EVENT_CUSTOM_BOTH_OOB = GST_EVENT_MAKE_TYPE (320, FLAG(BOTH)) |
| } GstEventType; |
| </pre> |
| <p> |
| <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> lists the standard event types that can be sent in a pipeline. |
| </p> |
| <p> |
| The custom event types can be used for private messages between elements |
| that can't be expressed using normal |
| GStreamer buffer passing semantics. Custom events carry an arbitrary |
| <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a>. |
| Specific custom events are distinguished by the name of the structure. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><a name="GST-EVENT-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_EVENT_UNKNOWN</code></span></p></td> |
| <td>unknown event. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-FLUSH-START:CAPS"></a><span class="term"><code class="literal">GST_EVENT_FLUSH_START</code></span></p></td> |
| <td>Start a flush operation. This event clears all data |
| from the pipeline and unblock all streaming threads. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-FLUSH-STOP:CAPS"></a><span class="term"><code class="literal">GST_EVENT_FLUSH_STOP</code></span></p></td> |
| <td>Stop a flush operation. This event resets the |
| running-time of the pipeline. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-STREAM-START:CAPS"></a><span class="term"><code class="literal">GST_EVENT_STREAM_START</code></span></p></td> |
| <td>Event to mark the start of a new stream. Sent before any |
| other serialized event and only sent at the start of a new stream, |
| not after flushing seeks. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-CAPS"></a><span class="term"><code class="literal">GST_EVENT_CAPS</code></span></p></td> |
| <td> |
| <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> event. Notify the pad of a new media type. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-SEGMENT:CAPS"></a><span class="term"><code class="literal">GST_EVENT_SEGMENT</code></span></p></td> |
| <td>A new media segment follows in the dataflow. The |
| segment events contains information for clipping buffers and |
| converting buffer timestamps to running-time and |
| stream-time. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-TAG:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TAG</code></span></p></td> |
| <td>A new set of metadata tags has been found in the stream. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-BUFFERSIZE:CAPS"></a><span class="term"><code class="literal">GST_EVENT_BUFFERSIZE</code></span></p></td> |
| <td>Notification of buffering requirements. Currently not |
| used yet. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-SINK-MESSAGE:CAPS"></a><span class="term"><code class="literal">GST_EVENT_SINK_MESSAGE</code></span></p></td> |
| <td>An event that sinks turn into a message. Used to |
| send messages that should be emitted in sync with |
| rendering. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-EOS:CAPS"></a><span class="term"><code class="literal">GST_EVENT_EOS</code></span></p></td> |
| <td>End-Of-Stream. No more data is to be expected to follow |
| without a SEGMENT event. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-TOC:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TOC</code></span></p></td> |
| <td>An event which indicates that a new table of contents (TOC) |
| was found or updated. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-SEGMENT-DONE:CAPS"></a><span class="term"><code class="literal">GST_EVENT_SEGMENT_DONE</code></span></p></td> |
| <td>Marks the end of a segment playback. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-GAP:CAPS"></a><span class="term"><code class="literal">GST_EVENT_GAP</code></span></p></td> |
| <td>Marks a gap in the datastream. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-QOS:CAPS"></a><span class="term"><code class="literal">GST_EVENT_QOS</code></span></p></td> |
| <td>A quality message. Used to indicate to upstream elements |
| that the downstream elements should adjust their processing |
| rate. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-SEEK:CAPS"></a><span class="term"><code class="literal">GST_EVENT_SEEK</code></span></p></td> |
| <td>A request for a new playback position and rate. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-NAVIGATION:CAPS"></a><span class="term"><code class="literal">GST_EVENT_NAVIGATION</code></span></p></td> |
| <td>Navigation events are usually used for communicating |
| user requests, such as mouse or keyboard movements, |
| to upstream elements. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-LATENCY:CAPS"></a><span class="term"><code class="literal">GST_EVENT_LATENCY</code></span></p></td> |
| <td>Notification of new latency adjustment. Sinks will use |
| the latency information to adjust their synchronisation. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-STEP:CAPS"></a><span class="term"><code class="literal">GST_EVENT_STEP</code></span></p></td> |
| <td>A request for stepping through the media. Sinks will usually |
| execute the step operation. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-RECONFIGURE:CAPS"></a><span class="term"><code class="literal">GST_EVENT_RECONFIGURE</code></span></p></td> |
| <td>A request for upstream renegotiating caps and reconfiguring. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-TOC-SELECT:CAPS"></a><span class="term"><code class="literal">GST_EVENT_TOC_SELECT</code></span></p></td> |
| <td>A request for a new playback position based on TOC |
| entry's UID. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-CUSTOM-UPSTREAM:CAPS"></a><span class="term"><code class="literal">GST_EVENT_CUSTOM_UPSTREAM</code></span></p></td> |
| <td>Upstream custom event |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-CUSTOM-DOWNSTREAM:CAPS"></a><span class="term"><code class="literal">GST_EVENT_CUSTOM_DOWNSTREAM</code></span></p></td> |
| <td>Downstream custom event that travels in the |
| data flow. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-CUSTOM-DOWNSTREAM-OOB:CAPS"></a><span class="term"><code class="literal">GST_EVENT_CUSTOM_DOWNSTREAM_OOB</code></span></p></td> |
| <td>Custom out-of-band downstream event. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-CUSTOM-DOWNSTREAM-STICKY:CAPS"></a><span class="term"><code class="literal">GST_EVENT_CUSTOM_DOWNSTREAM_STICKY</code></span></p></td> |
| <td>Custom sticky downstream event. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-CUSTOM-BOTH:CAPS"></a><span class="term"><code class="literal">GST_EVENT_CUSTOM_BOTH</code></span></p></td> |
| <td>Custom upstream or downstream event. |
| In-band when travelling downstream. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-EVENT-CUSTOM-BOTH-OOB:CAPS"></a><span class="term"><code class="literal">GST_EVENT_CUSTOM_BOTH_OOB</code></span></p></td> |
| <td>Custom upstream or downstream out-of-band event. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-TYPE:CAPS"></a><h3>GST_EVENT_TYPE()</h3> |
| <pre class="programlisting">#define GST_EVENT_TYPE(event) (GST_EVENT_CAST(event)->type) |
| </pre> |
| <p> |
| Get the <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> of the event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-TYPE-NAME:CAPS"></a><h3>GST_EVENT_TYPE_NAME()</h3> |
| <pre class="programlisting">#define GST_EVENT_TYPE_NAME(event) (gst_event_type_get_name(GST_EVENT_TYPE(event))) |
| </pre> |
| <p> |
| Get a constant string representation of the <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> of the event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-TIMESTAMP:CAPS"></a><h3>GST_EVENT_TIMESTAMP()</h3> |
| <pre class="programlisting">#define GST_EVENT_TIMESTAMP(event) (GST_EVENT_CAST(event)->timestamp) |
| </pre> |
| <p> |
| Get the <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp of the event. This is the time when the event |
| was created. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-SEQNUM:CAPS"></a><h3>GST_EVENT_SEQNUM()</h3> |
| <pre class="programlisting">#define GST_EVENT_SEQNUM(event) (GST_EVENT_CAST(event)->seqnum) |
| </pre> |
| <p> |
| The sequence number of <em class="parameter"><code>event</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-IS-UPSTREAM:CAPS"></a><h3>GST_EVENT_IS_UPSTREAM()</h3> |
| <pre class="programlisting">#define GST_EVENT_IS_UPSTREAM(ev) !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_UPSTREAM) |
| </pre> |
| <p> |
| Check if an event can travel upstream. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-IS-DOWNSTREAM:CAPS"></a><h3>GST_EVENT_IS_DOWNSTREAM()</h3> |
| <pre class="programlisting">#define GST_EVENT_IS_DOWNSTREAM(ev) !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_DOWNSTREAM) |
| </pre> |
| <p> |
| Check if an event can travel downstream. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-IS-SERIALIZED:CAPS"></a><h3>GST_EVENT_IS_SERIALIZED()</h3> |
| <pre class="programlisting">#define GST_EVENT_IS_SERIALIZED(ev) !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_SERIALIZED) |
| </pre> |
| <p> |
| Check if an event is serialized with the data stream. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GST-EVENT-IS-STICKY:CAPS"></a><h3>GST_EVENT_IS_STICKY()</h3> |
| <pre class="programlisting">#define GST_EVENT_IS_STICKY(ev) !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_STICKY) |
| </pre> |
| <p> |
| Check if an event is sticky on the pads. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> |
| <td>the event to query</td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-type-get-flags"></a><h3>gst_event_type_get_flags ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags"><span class="returnvalue">GstEventTypeFlags</span></a> gst_event_type_get_flags (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>);</pre> |
| <p> |
| Gets the <a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags"><span class="type">GstEventTypeFlags</span></a> associated with <em class="parameter"><code>type</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> |
| <td>a <a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a <a class="link" href="gstreamer-GstEvent.html#GstEventTypeFlags" title="enum GstEventTypeFlags"><span class="type">GstEventTypeFlags</span></a>.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-type-get-name"></a><h3>gst_event_type_get_name ()</h3> |
| <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_event_type_get_name (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>);</pre> |
| <p> |
| Get a printable name for the given event type. Do not modify or free. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> |
| <td>the event type</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a reference to the static name of the event.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-type-to-quark"></a><h3>gst_event_type_to_quark ()</h3> |
| <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> gst_event_type_to_quark (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>);</pre> |
| <p> |
| Get the unique quark for the given event type. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> |
| <td>the event type</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the quark associated with the event type</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-ref"></a><h3>gst_event_ref ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_ref (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre> |
| <p> |
| Increase the refcount of this event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to refcount</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> |
| <em class="parameter"><code>event</code></em> (for convenience when doing assignments). <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-unref"></a><h3>gst_event_unref ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_unref (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre> |
| <p> |
| Decrease the refcount of an event, freeing it if the refcount reaches 0. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>the event to refcount. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-replace"></a><h3>gst_event_replace ()</h3> |
| <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_event_replace (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> **old_event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *new_event</code></em>);</pre> |
| <p> |
| Modifies a pointer to a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> to point to a different <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. The |
| modification is done atomically (so this is useful for ensuring thread safety |
| in some cases), and the reference counts are updated appropriately (the old |
| event is unreffed, the new one is reffed). |
| </p> |
| <p> |
| Either <em class="parameter"><code>new_event</code></em> or the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em> may be NULL. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>old_event</code></em> :</span></p></td> |
| <td>pointer to a pointer to a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> |
| to be replaced. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>new_event</code></em> :</span></p></td> |
| <td>pointer to a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> that will |
| replace the event pointed to by <em class="parameter"><code>old_event</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>TRUE if <em class="parameter"><code>new_event</code></em> was different from <em class="parameter"><code>old_event</code></em> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-copy"></a><h3>gst_event_copy ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_copy (<em class="parameter"><code>const <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre> |
| <p> |
| Copy the event using the event specific copy function. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to copy</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-steal"></a><h3>gst_event_steal ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_steal (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> **old_event</code></em>);</pre> |
| <p> |
| Atomically replace the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em> with NULL and |
| return the original event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>old_event</code></em> :</span></p></td> |
| <td>pointer to a pointer to a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> |
| to be stolen. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> that was in <em class="parameter"><code>old_event</code></em> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-take"></a><h3>gst_event_take ()</h3> |
| <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_event_take (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> **old_event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *new_event</code></em>);</pre> |
| <p> |
| Modifies a pointer to a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> to point to a different <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. This |
| function is similar to <a class="link" href="gstreamer-GstEvent.html#gst-event-replace" title="gst_event_replace ()"><code class="function">gst_event_replace()</code></a> except that it takes ownership of |
| <em class="parameter"><code>new_event</code></em>. |
| </p> |
| <p> |
| Either <em class="parameter"><code>new_event</code></em> or the <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> pointed to by <em class="parameter"><code>old_event</code></em> may be NULL. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>old_event</code></em> :</span></p></td> |
| <td>pointer to a pointer to a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> |
| to be stolen. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>new_event</code></em> :</span></p></td> |
| <td>pointer to a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> that will |
| replace the event pointed to by <em class="parameter"><code>old_event</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>TRUE if <em class="parameter"><code>new_event</code></em> was different from <em class="parameter"><code>old_event</code></em> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-is-writable"></a><h3>gst_event_is_writable()</h3> |
| <pre class="programlisting">#define gst_event_is_writable(ev) gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (ev)) |
| </pre> |
| <p> |
| Tests if you can safely write data into a event's structure or validly |
| modify the seqnum and timestamp field. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> |
| <td>a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-make-writable"></a><h3>gst_event_make_writable()</h3> |
| <pre class="programlisting">#define gst_event_make_writable(ev) GST_EVENT_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (ev))) |
| </pre> |
| <p> |
| Makes a writable event from the given event. If the source event is |
| already writable, this will simply return the same event. A copy will |
| otherwise be made using <a class="link" href="gstreamer-GstEvent.html#gst-event-copy" title="gst_event_copy ()"><code class="function">gst_event_copy()</code></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> |
| <td>a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a writable event which may or may not be the |
| same as <em class="parameter"><code>ev</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-writable-structure"></a><h3>gst_event_writable_structure ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_event_writable_structure (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre> |
| <p> |
| Get a writable version of the structure. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>The structure of the event. The structure is still |
| owned by the event, which means that you should not free it and |
| that the pointer becomes invalid when you free the event. |
| This function checks if <em class="parameter"><code>event</code></em> is writable and will never return NULL. |
| MT safe.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-custom"></a><h3>gst_event_new_custom ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_custom (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEventType" title="enum GstEventType"><span class="type">GstEventType</span></a> type</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre> |
| <p> |
| Create a new custom-typed event. This can be used for anything not |
| handled by other event-specific functions to pass an event to another |
| element. |
| </p> |
| <p> |
| Make sure to allocate an event type with the <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-MAKE-TYPE:CAPS" title="GST_EVENT_MAKE_TYPE()"><span class="type">GST_EVENT_MAKE_TYPE</span></a> macro, |
| assigning a free number and filling in the correct direction and |
| serialization flags. |
| </p> |
| <p> |
| New custom events can also be created by subclassing the event type if |
| needed. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> |
| <td>The type of the new event</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td> |
| <td>the structure for the event. The event will |
| take ownership of the structure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new custom event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-get-structure"></a><h3>gst_event_get_structure ()</h3> |
| <pre class="programlisting">const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_event_get_structure (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre> |
| <p> |
| Access the structure of the event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>The structure of the event. The structure is still |
| owned by the event, which means that you should not free it and |
| that the pointer becomes invalid when you free the event. |
| MT safe.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-has-name"></a><h3>gst_event_has_name ()</h3> |
| <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_event_has_name (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre> |
| <p> |
| Checks if <em class="parameter"><code>event</code></em> has the given <em class="parameter"><code>name</code></em>. This function is usually used to |
| check the name of a custom event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td> |
| <td>name to check</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td> |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>name</code></em> matches the name of the event structure.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-get-seqnum"></a><h3>gst_event_get_seqnum ()</h3> |
| <pre class="programlisting"><span class="returnvalue">guint32</span> gst_event_get_seqnum (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre> |
| <p> |
| Retrieve the sequence number of a event. |
| </p> |
| <p> |
| Events have ever-incrementing sequence numbers, which may also be set |
| explicitly via <a class="link" href="gstreamer-GstEvent.html#gst-event-set-seqnum" title="gst_event_set_seqnum ()"><code class="function">gst_event_set_seqnum()</code></a>. Sequence numbers are typically used to |
| indicate that a event corresponds to some other set of events or messages, |
| for example an EOS event corresponding to a SEEK event. It is considered good |
| practice to make this correspondence when possible, though it is not |
| required. |
| </p> |
| <p> |
| Note that events and messages share the same sequence number incrementor; |
| two events or messages will never have the same sequence number unless |
| that correspondence was made explicitly. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>A <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>The event's sequence number. |
| MT safe.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-set-seqnum"></a><h3>gst_event_set_seqnum ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_set_seqnum (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><span class="type">guint32</span> seqnum</code></em>);</pre> |
| <p> |
| Set the sequence number of a event. |
| </p> |
| <p> |
| This function might be called by the creator of a event to indicate that the |
| event relates to other events or messages. See <a class="link" href="gstreamer-GstEvent.html#gst-event-get-seqnum" title="gst_event_get_seqnum ()"><code class="function">gst_event_get_seqnum()</code></a> for |
| more information. |
| </p> |
| <p> |
| MT safe. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>A <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>seqnum</code></em> :</span></p></td> |
| <td>A sequence number.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-flush-start"></a><h3>gst_event_new_flush_start ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_flush_start (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> |
| <p> |
| Allocate a new flush start event. The flush start event can be sent |
| upstream and downstream and travels out-of-bounds with the dataflow. |
| </p> |
| <p> |
| It marks pads as being flushing and will make them return |
| <a class="link" href="GstPad.html#GST-FLOW-FLUSHING:CAPS"><span class="type">GST_FLOW_FLUSHING</span></a> when used for data flow with <a class="link" href="GstPad.html#gst-pad-push" title="gst_pad_push ()"><code class="function">gst_pad_push()</code></a>, |
| <a class="link" href="GstPad.html#gst-pad-chain" title="gst_pad_chain ()"><code class="function">gst_pad_chain()</code></a>, <a class="link" href="GstPad.html#gst-pad-get-range" title="gst_pad_get_range ()"><code class="function">gst_pad_get_range()</code></a> and <a class="link" href="GstPad.html#gst-pad-pull-range" title="gst_pad_pull_range ()"><code class="function">gst_pad_pull_range()</code></a>. |
| Any event (except a <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-FLUSH-STOP:CAPS"><span class="type">GST_EVENT_FLUSH_STOP</span></a>) received |
| on a flushing pad will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> immediately. |
| </p> |
| <p> |
| Elements should unlock any blocking functions and exit their streaming |
| functions as fast as possible when this event is received. |
| </p> |
| <p> |
| This event is typically generated after a seek to flush out all queued data |
| in the pipeline so that the new media is played as soon as possible. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new flush start event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-flush-stop"></a><h3>gst_event_new_flush_stop ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_flush_stop (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> reset_time</code></em>);</pre> |
| <p> |
| Allocate a new flush stop event. The flush stop event can be sent |
| upstream and downstream and travels serialized with the dataflow. |
| It is typically sent after sending a FLUSH_START event to make the |
| pads accept data again. |
| </p> |
| <p> |
| Elements can process this event synchronized with the dataflow since |
| the preceeding FLUSH_START event stopped the dataflow. |
| </p> |
| <p> |
| This event is typically generated to complete a seek and to resume |
| dataflow. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>reset_time</code></em> :</span></p></td> |
| <td>if time should be reset</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new flush stop event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-flush-stop"></a><h3>gst_event_parse_flush_stop ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_flush_stop (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *reset_time</code></em>);</pre> |
| <p> |
| Parse the FLUSH_STOP event and retrieve the <em class="parameter"><code>reset_time</code></em> member. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to parse</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>reset_time</code></em> :</span></p></td> |
| <td>if time should be reset. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-eos"></a><h3>gst_event_new_eos ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_eos (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> |
| <p> |
| Create a new EOS event. The eos event can only travel downstream |
| synchronized with the buffer flow. Elements that receive the EOS |
| event on a pad can return <a class="link" href="GstPad.html#GST-FLOW-EOS:CAPS"><span class="type">GST_FLOW_EOS</span></a> as a <a class="link" href="GstPad.html#GstFlowReturn" title="enum GstFlowReturn"><span class="type">GstFlowReturn</span></a> |
| when data after the EOS event arrives. |
| </p> |
| <p> |
| The EOS event will travel down to the sink elements in the pipeline |
| which will then post the <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-EOS:CAPS"><span class="type">GST_MESSAGE_EOS</span></a> on the bus after they have |
| finished playing any buffered data. |
| </p> |
| <p> |
| When all sinks have posted an EOS message, an EOS message is |
| forwarded to the application. |
| </p> |
| <p> |
| The EOS event itself will not cause any state transitions of the pipeline. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new EOS event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-gap"></a><h3>gst_event_new_gap ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_gap (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> duration</code></em>);</pre> |
| <p> |
| Create a new GAP event. A gap event can be thought of as conceptually |
| equivalent to a buffer to signal that there is no data for a certain |
| amount of time. This is useful to signal a gap to downstream elements |
| which may wait for data, such as muxers or mixers or overlays, especially |
| for sparse streams such as subtitle streams. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td> |
| <td>the start time (pts) of the gap</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td> |
| <td>the duration of the gap</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new GAP event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-gap"></a><h3>gst_event_parse_gap ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_gap (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *duration</code></em>);</pre> |
| <p> |
| Extract timestamp and duration from a new GAP event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>a <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> of type <a class="link" href="gstreamer-GstEvent.html#GST-EVENT-GAP:CAPS"><span class="type">GST_EVENT_GAP</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td> |
| <td>location where to store the |
| start time (pts) of the gap, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td> |
| <td>location where to store the duration of |
| the gap, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-stream-start"></a><h3>gst_event_new_stream_start ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_stream_start (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *stream_id</code></em>);</pre> |
| <p> |
| Create a new STREAM_START event. The stream start event can only |
| travel downstream synchronized with the buffer flow. It is expected |
| to be the first event that is sent for a new stream. |
| </p> |
| <p> |
| Source elements, demuxers and other elements that create new streams |
| are supposed to send this event as the first event of a new stream. It |
| should not be send after a flushing seek or in similar situations |
| and is used to mark the beginning of a new logical stream. Elements |
| combining multiple streams must ensure that this event is only forwarded |
| downstream once and not for every single input stream. |
| </p> |
| <p> |
| The <em class="parameter"><code>stream_id</code></em> should be a unique string that consists of the upstream |
| stream-id, / as separator and a unique stream-id for this specific |
| stream. A new stream-id should only be created for a stream if the upstream |
| stream is split into (potentially) multiple new streams, e.g. in a demuxer, |
| but not for every single element in the pipeline. |
| <a class="link" href="GstPad.html#gst-pad-create-stream-id" title="gst_pad_create_stream_id ()"><code class="function">gst_pad_create_stream_id()</code></a> or <a class="link" href="GstPad.html#gst-pad-create-stream-id-printf" title="gst_pad_create_stream_id_printf ()"><code class="function">gst_pad_create_stream_id_printf()</code></a> can be |
| used to create a stream-id. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td> |
| <td>Identifier for this stream</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new STREAM_START event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-stream-start"></a><h3>gst_event_parse_stream_start ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_stream_start (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **stream_id</code></em>);</pre> |
| <p> |
| Parse a stream-id <em class="parameter"><code>event</code></em> and store the result in the given <em class="parameter"><code>stream_id</code></em> |
| location. The string stored in <em class="parameter"><code>stream_id</code></em> must not be modified and will |
| remain valid only until <em class="parameter"><code>event</code></em> gets freed. Make a copy if you want to |
| modify it or store it for later use. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>a stream-start event.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream_id</code></em> :</span></p></td> |
| <td>pointer to store the stream-id. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-segment"></a><h3>gst_event_new_segment ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_segment (<em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>);</pre> |
| <p> |
| Create a new SEGMENT event for <em class="parameter"><code>segment</code></em>. The segment event can only travel |
| downstream synchronized with the buffer flow and contains timing information |
| and playback properties for the buffers that will follow. |
| </p> |
| <p> |
| The newsegment event marks the range of buffers to be processed. All |
| data not within the segment range is not to be processed. This can be |
| used intelligently by plugins to apply more efficient methods of skipping |
| unneeded data. The valid range is expressed with the <em class="parameter"><code>start</code></em> and <em class="parameter"><code>stop</code></em> |
| values. |
| </p> |
| <p> |
| The time value of the segment is used in conjunction with the start |
| value to convert the buffer timestamps into the stream time. This is |
| usually done in sinks to report the current stream_time. |
| <em class="parameter"><code>time</code></em> represents the stream_time of a buffer carrying a timestamp of |
| <em class="parameter"><code>start</code></em>. <em class="parameter"><code>time</code></em> cannot be -1. |
| </p> |
| <p> |
| <em class="parameter"><code>start</code></em> cannot be -1, <em class="parameter"><code>stop</code></em> can be -1. If there |
| is a valid <em class="parameter"><code>stop</code></em> given, it must be greater or equal the <em class="parameter"><code>start</code></em>, including |
| when the indicated playback <em class="parameter"><code>rate</code></em> is < 0. |
| </p> |
| <p> |
| The <em class="parameter"><code>applied_rate</code></em> value provides information about any rate adjustment that |
| has already been made to the timestamps and content on the buffers of the |
| stream. (<em class="parameter"><code>rate</code></em> * <em class="parameter"><code>applied_rate</code></em>) should always equal the rate that has been |
| requested for playback. For example, if an element has an input segment |
| with intended playback <em class="parameter"><code>rate</code></em> of 2.0 and applied_rate of 1.0, it can adjust |
| incoming timestamps and buffer content by half and output a newsegment event |
| with <em class="parameter"><code>rate</code></em> of 1.0 and <em class="parameter"><code>applied_rate</code></em> of 2.0 |
| </p> |
| <p> |
| After a newsegment event, the buffer stream time is calculated with: |
| </p> |
| <p> |
| time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate) |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td> |
| <td>a <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new SEGMENT event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-segment"></a><h3>gst_event_parse_segment ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_segment (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code>const <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> **segment</code></em>);</pre> |
| <p> |
| Parses a segment <em class="parameter"><code>event</code></em> and stores the result in the given <em class="parameter"><code>segment</code></em> location. |
| <em class="parameter"><code>segment</code></em> remains valid only until the <em class="parameter"><code>event</code></em> is freed. Don't modify the segment |
| and make a copy if you want to modify it or store it for later use. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to parse</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td> |
| <td>a pointer to a <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-copy-segment"></a><h3>gst_event_copy_segment ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_copy_segment (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> *segment</code></em>);</pre> |
| <p> |
| Parses a segment <em class="parameter"><code>event</code></em> and copies the <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> into the location |
| given by <em class="parameter"><code>segment</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to parse</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>segment</code></em> :</span></p></td> |
| <td>a pointer to a <a class="link" href="gstreamer-GstSegment.html#GstSegment" title="struct GstSegment"><span class="type">GstSegment</span></a> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-tag"></a><h3>gst_event_new_tag ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_tag (<em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> *taglist</code></em>);</pre> |
| <p> |
| Generates a metadata tag event from the given <em class="parameter"><code>taglist</code></em>. |
| </p> |
| <p> |
| The scope of the taglist specifies if the taglist applies to the |
| complete medium or only to this specific stream. As the tag event |
| is a sticky event, elements should merge tags received from |
| upstream with a given scope with their own tags with the same |
| scope and create a new tag event from it. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td> |
| <td>metadata list. The event will take ownership |
| of the taglist. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-tag"></a><h3>gst_event_parse_tag ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_tag (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="struct GstTagList"><span class="type">GstTagList</span></a> **taglist</code></em>);</pre> |
| <p> |
| Parses a tag <em class="parameter"><code>event</code></em> and stores the results in the given <em class="parameter"><code>taglist</code></em> location. |
| No reference to the taglist will be returned, it remains valid only until |
| the <em class="parameter"><code>event</code></em> is freed. Don't modify or free the taglist, make a copy if you |
| want to modify it or store it for later use. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>a tag event</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>taglist</code></em> :</span></p></td> |
| <td>pointer to metadata list. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-buffer-size"></a><h3>gst_event_new_buffer_size ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_buffer_size (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> minsize</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> maxsize</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> async</code></em>);</pre> |
| <p> |
| Create a new buffersize event. The event is sent downstream and notifies |
| elements that they should provide a buffer of the specified dimensions. |
| </p> |
| <p> |
| When the <em class="parameter"><code>async</code></em> flag is set, a thread boundary is preferred. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>buffer format</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>minsize</code></em> :</span></p></td> |
| <td>minimum buffer size</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>maxsize</code></em> :</span></p></td> |
| <td>maximum buffer size</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>async</code></em> :</span></p></td> |
| <td>thread behavior</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-buffer-size"></a><h3>gst_event_parse_buffer_size ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_buffer_size (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *minsize</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *maxsize</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *async</code></em>);</pre> |
| <p> |
| Get the format, minsize, maxsize and async-flag in the buffersize event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to query</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>A pointer to store the format in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>minsize</code></em> :</span></p></td> |
| <td>A pointer to store the minsize in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>maxsize</code></em> :</span></p></td> |
| <td>A pointer to store the maxsize in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>async</code></em> :</span></p></td> |
| <td>A pointer to store the async-flag in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstQOSType"></a><h3>enum GstQOSType</h3> |
| <pre class="programlisting">typedef enum { |
| GST_QOS_TYPE_OVERFLOW = 0, |
| GST_QOS_TYPE_UNDERFLOW = 1, |
| GST_QOS_TYPE_THROTTLE = 2 |
| } GstQOSType; |
| </pre> |
| <p> |
| The different types of QoS events that can be given to the |
| <a class="link" href="gstreamer-GstEvent.html#gst-event-new-qos" title="gst_event_new_qos ()"><code class="function">gst_event_new_qos()</code></a> method. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><a name="GST-QOS-TYPE-OVERFLOW:CAPS"></a><span class="term"><code class="literal">GST_QOS_TYPE_OVERFLOW</code></span></p></td> |
| <td>The QoS event type that is produced when downstream |
| elements are producing data too quickly and the element can't keep up |
| processing the data. Upstream should reduce their processing rate. This |
| type is also used when buffers arrive early or in time. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-QOS-TYPE-UNDERFLOW:CAPS"></a><span class="term"><code class="literal">GST_QOS_TYPE_UNDERFLOW</code></span></p></td> |
| <td>The QoS event type that is produced when downstream |
| elements are producing data too slowly and need to speed up their processing |
| rate. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-QOS-TYPE-THROTTLE:CAPS"></a><span class="term"><code class="literal">GST_QOS_TYPE_THROTTLE</code></span></p></td> |
| <td>The QoS event type that is produced when the |
| application enabled throttling to limit the datarate. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-qos"></a><h3>gst_event_new_qos ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_qos (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstQOSType" title="enum GstQOSType"><span class="type">GstQOSType</span></a> type</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTimeDiff" title="GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> diff</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>);</pre> |
| <p> |
| Allocate a new qos event with the given values. |
| The QOS event is generated in an element that wants an upstream |
| element to either reduce or increase its rate because of |
| high/low CPU load or other resource usage such as network performance or |
| throttling. Typically sinks generate these events for each buffer |
| they receive. |
| </p> |
| <p> |
| <em class="parameter"><code>type</code></em> indicates the reason for the QoS event. <a class="link" href="gstreamer-GstEvent.html#GST-QOS-TYPE-OVERFLOW:CAPS"><span class="type">GST_QOS_TYPE_OVERFLOW</span></a> is |
| used when a buffer arrived in time or when the sink cannot keep up with |
| the upstream datarate. <a class="link" href="gstreamer-GstEvent.html#GST-QOS-TYPE-UNDERFLOW:CAPS"><span class="type">GST_QOS_TYPE_UNDERFLOW</span></a> is when the sink is not |
| receiving buffers fast enough and thus has to drop late buffers. |
| <a class="link" href="gstreamer-GstEvent.html#GST-QOS-TYPE-THROTTLE:CAPS"><span class="type">GST_QOS_TYPE_THROTTLE</span></a> is used when the datarate is artificially limited |
| by the application, for example to reduce power consumption. |
| </p> |
| <p> |
| <em class="parameter"><code>proportion</code></em> indicates the real-time performance of the streaming in the |
| element that generated the QoS event (usually the sink). The value is |
| generally computed based on more long term statistics about the streams |
| timestamps compared to the clock. |
| A value < 1.0 indicates that the upstream element is producing data faster |
| than real-time. A value > 1.0 indicates that the upstream element is not |
| producing data fast enough. 1.0 is the ideal <em class="parameter"><code>proportion</code></em> value. The |
| proportion value can safely be used to lower or increase the quality of |
| the element. |
| </p> |
| <p> |
| <em class="parameter"><code>diff</code></em> is the difference against the clock in running time of the last |
| buffer that caused the element to generate the QOS event. A negative value |
| means that the buffer with <em class="parameter"><code>timestamp</code></em> arrived in time. A positive value |
| indicates how late the buffer with <em class="parameter"><code>timestamp</code></em> was. When throttling is |
| enabled, <em class="parameter"><code>diff</code></em> will be set to the requested throttling interval. |
| </p> |
| <p> |
| <em class="parameter"><code>timestamp</code></em> is the timestamp of the last buffer that cause the element |
| to generate the QOS event. It is expressed in running time and thus an ever |
| increasing value. |
| </p> |
| <p> |
| The upstream element can use the <em class="parameter"><code>diff</code></em> and <em class="parameter"><code>timestamp</code></em> values to decide |
| whether to process more buffers. For possitive <em class="parameter"><code>diff</code></em>, all buffers with |
| timestamp <= <em class="parameter"><code>timestamp</code></em> + <em class="parameter"><code>diff</code></em> will certainly arrive late in the sink |
| as well. A (negative) <em class="parameter"><code>diff</code></em> value so that <em class="parameter"><code>timestamp</code></em> + <em class="parameter"><code>diff</code></em> would yield a |
| result smaller than 0 is not allowed. |
| </p> |
| <p> |
| The application can use general event probes to intercept the QoS |
| event and implement custom application specific QoS handling. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> |
| <td>the QoS type</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>proportion</code></em> :</span></p></td> |
| <td>the proportion of the qos message</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>diff</code></em> :</span></p></td> |
| <td>The time difference of the last Clock sync</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td> |
| <td>The timestamp of the buffer</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new QOS event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-qos"></a><h3>gst_event_parse_qos ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_qos (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstQOSType" title="enum GstQOSType"><span class="type">GstQOSType</span></a> *type</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *proportion</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTimeDiff" title="GstClockTimeDiff"><span class="type">GstClockTimeDiff</span></a> *diff</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>);</pre> |
| <p> |
| Get the type, proportion, diff and timestamp in the qos event. See |
| <a class="link" href="gstreamer-GstEvent.html#gst-event-new-qos" title="gst_event_new_qos ()"><code class="function">gst_event_new_qos()</code></a> for more information about the different QoS values. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to query</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> |
| <td>A pointer to store the QoS type in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>proportion</code></em> :</span></p></td> |
| <td>A pointer to store the proportion in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>diff</code></em> :</span></p></td> |
| <td>A pointer to store the diff in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td> |
| <td>A pointer to store the timestamp in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstSeekType"></a><h3>enum GstSeekType</h3> |
| <pre class="programlisting">typedef enum { |
| /* one of these */ |
| GST_SEEK_TYPE_NONE = 0, |
| GST_SEEK_TYPE_SET = 1, |
| GST_SEEK_TYPE_END = 2 |
| } GstSeekType; |
| </pre> |
| <p> |
| The different types of seek events. When constructing a seek event with |
| <a class="link" href="gstreamer-GstEvent.html#gst-event-new-seek" title="gst_event_new_seek ()"><code class="function">gst_event_new_seek()</code></a> or when doing <a class="link" href="gstreamer-GstSegment.html#gst-segment-do-seek" title="gst_segment_do_seek ()"><code class="function">gst_segment_do_seek()</code></a>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><a name="GST-SEEK-TYPE-NONE:CAPS"></a><span class="term"><code class="literal">GST_SEEK_TYPE_NONE</code></span></p></td> |
| <td>no change in position is required |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-TYPE-SET:CAPS"></a><span class="term"><code class="literal">GST_SEEK_TYPE_SET</code></span></p></td> |
| <td>absolute position is requested |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-TYPE-END:CAPS"></a><span class="term"><code class="literal">GST_SEEK_TYPE_END</code></span></p></td> |
| <td>relative position to duration is requested |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstSeekFlags"></a><h3>enum GstSeekFlags</h3> |
| <pre class="programlisting">typedef enum { |
| GST_SEEK_FLAG_NONE = 0, |
| GST_SEEK_FLAG_FLUSH = (1 << 0), |
| GST_SEEK_FLAG_ACCURATE = (1 << 1), |
| GST_SEEK_FLAG_KEY_UNIT = (1 << 2), |
| GST_SEEK_FLAG_SEGMENT = (1 << 3), |
| GST_SEEK_FLAG_SKIP = (1 << 4), |
| GST_SEEK_FLAG_SNAP_BEFORE = (1 << 5), |
| GST_SEEK_FLAG_SNAP_AFTER = (1 << 6), |
| GST_SEEK_FLAG_SNAP_NEAREST = GST_SEEK_FLAG_SNAP_BEFORE | GST_SEEK_FLAG_SNAP_AFTER, |
| /* Careful to restart next flag with 1<<7 here */ |
| } GstSeekFlags; |
| </pre> |
| <p> |
| Flags to be used with <a class="link" href="GstElement.html#gst-element-seek" title="gst_element_seek ()"><code class="function">gst_element_seek()</code></a> or <a class="link" href="gstreamer-GstEvent.html#gst-event-new-seek" title="gst_event_new_seek ()"><code class="function">gst_event_new_seek()</code></a>. All flags |
| can be used together. |
| </p> |
| <p> |
| A non flushing seek might take some time to perform as the currently |
| playing data in the pipeline will not be cleared. |
| </p> |
| <p> |
| An accurate seek might be slower for formats that don't have any indexes |
| or timestamp markers in the stream. Specifying this flag might require a |
| complete scan of the file in those cases. |
| </p> |
| <p> |
| When performing a segment seek: after the playback of the segment completes, |
| no EOS will be emmited by the element that performed the seek, but a |
| <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-SEGMENT-DONE:CAPS"><span class="type">GST_MESSAGE_SEGMENT_DONE</span></a> message will be posted on the bus by the element. |
| When this message is posted, it is possible to send a new seek event to |
| continue playback. With this seek method it is possible to perform seamless |
| looping or simple linear editing. |
| </p> |
| <p> |
| When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode |
| playback, the <em class="parameter"><code>GST_SEEK_FLAG_SKIP</code></em> flag can be used to instruct decoders |
| and demuxers to adjust the playback rate by skipping frames. This can improve |
| performance and decrease CPU usage because not all frames need to be decoded. |
| </p> |
| <p> |
| The <em class="parameter"><code>GST_SEEK_FLAG_SNAP_BEFORE</code></em> flag can be used to snap to the previous |
| relevant location, and the <em class="parameter"><code>GST_SEEK_FLAG_SNAP_AFTER</code></em> flag can be used to |
| select the next relevant location. If KEY_UNIT is specified, the relevant |
| location is a keyframe. If both flags are specified, the nearest of these |
| locations will be selected. If none are specified, the implementation is |
| free to select whichever it wants. |
| The before and after here are in running time, so when playing backwards, |
| the next location refers to the one that will played in next, and not the |
| one that is located after in the actual source stream. |
| </p> |
| <p> |
| Also see part-seeking.txt in the GStreamer design documentation for more |
| details on the meaning of these flags and the behaviour expected of |
| elements that handle them. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_NONE</code></span></p></td> |
| <td>no flag |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-FLUSH:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_FLUSH</code></span></p></td> |
| <td>flush pipeline |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-ACCURATE:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_ACCURATE</code></span></p></td> |
| <td>accurate position is requested, this might |
| be considerably slower for some formats. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-KEY-UNIT:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_KEY_UNIT</code></span></p></td> |
| <td>seek to the nearest keyframe. This might be |
| faster but less accurate. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-SEGMENT:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_SEGMENT</code></span></p></td> |
| <td>perform a segment seek. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-SKIP:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_SKIP</code></span></p></td> |
| <td>when doing fast foward or fast reverse playback, allow |
| elements to skip frames instead of generating all |
| frames. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-SNAP-BEFORE:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_SNAP_BEFORE</code></span></p></td> |
| <td>go to a location before the requested position, |
| if KEY_UNIT this means the keyframe at or before the |
| requested position the one at or before the seek target. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-SNAP-AFTER:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_SNAP_AFTER</code></span></p></td> |
| <td>go to a location after the requested position, |
| if KEY_UNIT this means the keyframe at of after the |
| requested position. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-SEEK-FLAG-SNAP-NEAREST:CAPS"></a><span class="term"><code class="literal">GST_SEEK_FLAG_SNAP_NEAREST</code></span></p></td> |
| <td>go to a position near the requested position, |
| if KEY_UNIT this means the keyframe closest to the |
| requested position, if both keyframes are at an equal |
| distance, behaves like SNAP_BEFORE. |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-seek"></a><h3>gst_event_new_seek ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_seek (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags"><span class="type">GstSeekFlags</span></a> flags</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> start_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> start</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> stop_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> stop</code></em>);</pre> |
| <p> |
| Allocate a new seek event with the given parameters. |
| </p> |
| <p> |
| The seek event configures playback of the pipeline between <em class="parameter"><code>start</code></em> to <em class="parameter"><code>stop</code></em> |
| at the speed given in <em class="parameter"><code>rate</code></em>, also called a playback segment. |
| The <em class="parameter"><code>start</code></em> and <em class="parameter"><code>stop</code></em> values are expressed in <em class="parameter"><code>format</code></em>. |
| </p> |
| <p> |
| A <em class="parameter"><code>rate</code></em> of 1.0 means normal playback rate, 2.0 means double speed. |
| Negatives values means backwards playback. A value of 0.0 for the |
| rate is not allowed and should be accomplished instead by PAUSING the |
| pipeline. |
| </p> |
| <p> |
| A pipeline has a default playback segment configured with a start |
| position of 0, a stop position of -1 and a rate of 1.0. The currently |
| configured playback segment can be queried with <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-SEGMENT:CAPS"><span class="type">GST_QUERY_SEGMENT</span></a>. |
| </p> |
| <p> |
| <em class="parameter"><code>start_type</code></em> and <em class="parameter"><code>stop_type</code></em> specify how to adjust the currently configured |
| start and stop fields in playback segment. Adjustments can be made relative |
| or absolute to the last configured values. A type of <a class="link" href="gstreamer-GstEvent.html#GST-SEEK-TYPE-NONE:CAPS"><span class="type">GST_SEEK_TYPE_NONE</span></a> |
| means that the position should not be updated. |
| </p> |
| <p> |
| When the rate is positive and <em class="parameter"><code>start</code></em> has been updated, playback will start |
| from the newly configured start position. |
| </p> |
| <p> |
| For negative rates, playback will start from the newly configured stop |
| position (if any). If the stop position is updated, it must be different from |
| -1 (<a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><span class="type">GST_CLOCK_TIME_NONE</span></a>) for negative rates. |
| </p> |
| <p> |
| It is not possible to seek relative to the current playback position, to do |
| this, PAUSE the pipeline, query the current playback position with |
| <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-POSITION:CAPS"><span class="type">GST_QUERY_POSITION</span></a> and update the playback segment current position with a |
| <a class="link" href="gstreamer-GstEvent.html#GST-SEEK-TYPE-SET:CAPS"><span class="type">GST_SEEK_TYPE_SET</span></a> to the desired position. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td> |
| <td>The new playback rate</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>The format of the seek values</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> |
| <td>The optional seek flags</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>start_type</code></em> :</span></p></td> |
| <td>The type and flags for the new start position</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td> |
| <td>The value of the new start position</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stop_type</code></em> :</span></p></td> |
| <td>The type and flags for the new stop position</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stop</code></em> :</span></p></td> |
| <td>The value of the new stop position</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new seek event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-seek"></a><h3>gst_event_parse_seek ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_seek (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags"><span class="type">GstSeekFlags</span></a> *flags</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> *start_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *start</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> *stop_type</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>);</pre> |
| <p> |
| Parses a seek <em class="parameter"><code>event</code></em> and stores the results in the given result locations. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>a seek event</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td> |
| <td>result location for the rate. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>result location for the stream format. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> |
| <td>result location for the <a class="link" href="gstreamer-GstEvent.html#GstSeekFlags" title="enum GstSeekFlags"><span class="type">GstSeekFlags</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>start_type</code></em> :</span></p></td> |
| <td>result location for the <a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> of the start position. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td> |
| <td>result location for the start postion expressed in <em class="parameter"><code>format</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stop_type</code></em> :</span></p></td> |
| <td>result location for the <a class="link" href="gstreamer-GstEvent.html#GstSeekType" title="enum GstSeekType"><span class="type">GstSeekType</span></a> of the stop position. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stop</code></em> :</span></p></td> |
| <td>result location for the stop postion expressed in <em class="parameter"><code>format</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-navigation"></a><h3>gst_event_new_navigation ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_navigation (<em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre> |
| <p> |
| Create a new navigation event from the given description. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td> |
| <td>description of the event. The event will take |
| ownership of the structure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-latency"></a><h3>gst_event_new_latency ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_latency (<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> latency</code></em>);</pre> |
| <p> |
| Create a new latency event. The event is sent upstream from the sinks and |
| notifies elements that they should add an additional <em class="parameter"><code>latency</code></em> to the |
| running time before synchronising against the clock. |
| </p> |
| <p> |
| The latency is mostly used in live sinks and is always expressed in |
| the time format. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>latency</code></em> :</span></p></td> |
| <td>the new latency value</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-latency"></a><h3>gst_event_parse_latency ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_latency (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *latency</code></em>);</pre> |
| <p> |
| Get the latency in the latency event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to query</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>latency</code></em> :</span></p></td> |
| <td>A pointer to store the latency in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-step"></a><h3>gst_event_new_step ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_step (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><span class="type">guint64</span> amount</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flush</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> intermediate</code></em>);</pre> |
| <p> |
| Create a new step event. The purpose of the step event is to instruct a sink |
| to skip <em class="parameter"><code>amount</code></em> (expressed in <em class="parameter"><code>format</code></em>) of media. It can be used to implement |
| stepping through the video frame by frame or for doing fast trick modes. |
| </p> |
| <p> |
| A rate of <= 0.0 is not allowed. Pause the pipeline, for the effect of rate |
| = 0.0 or first reverse the direction of playback using a seek event to get |
| the same effect as rate < 0.0. |
| </p> |
| <p> |
| The <em class="parameter"><code>flush</code></em> flag will clear any pending data in the pipeline before starting |
| the step operation. |
| </p> |
| <p> |
| The <em class="parameter"><code>intermediate</code></em> flag instructs the pipeline that this step operation is |
| part of a larger step operation. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>the format of <em class="parameter"><code>amount</code></em> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>amount</code></em> :</span></p></td> |
| <td>the amount of data to step</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td> |
| <td>the step rate</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>flush</code></em> :</span></p></td> |
| <td>flushing steps</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>intermediate</code></em> :</span></p></td> |
| <td>intermediate steps</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-step"></a><h3>gst_event_parse_step ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_step (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flush</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *intermediate</code></em>);</pre> |
| <p> |
| Parse the step event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to query</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>a pointer to store the format in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>amount</code></em> :</span></p></td> |
| <td>a pointer to store the amount in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td> |
| <td>a pointer to store the rate in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>flush</code></em> :</span></p></td> |
| <td>a pointer to store the flush boolean in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>intermediate</code></em> :</span></p></td> |
| <td>a pointer to store the intermediate |
| boolean in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-sink-message"></a><h3>gst_event_new_sink_message ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_sink_message (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);</pre> |
| <p> |
| Create a new sink-message event. The purpose of the sink-message event is |
| to instruct a sink to post the message contained in the event synchronized |
| with the stream. |
| </p> |
| <p> |
| <em class="parameter"><code>name</code></em> is used to store multiple sticky events on one pad. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td> |
| <td>a name for the event</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td> |
| <td>the <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> to be posted. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-sink-message"></a><h3>gst_event_parse_sink_message ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_sink_message (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> **msg</code></em>);</pre> |
| <p> |
| Parse the sink-message event. Unref <em class="parameter"><code>msg</code></em> after usage. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to query</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td> |
| <td>a pointer to store the <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> in. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-reconfigure"></a><h3>gst_event_new_reconfigure ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_reconfigure (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> |
| <p> |
| Create a new reconfigure event. The purpose of the reconfingure event is |
| to travel upstream and make elements renegotiate their caps or reconfigure |
| their buffer pools. This is useful when changing properties on elements |
| or changing the topology of the pipeline. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody><tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-caps"></a><h3>gst_event_new_caps ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_caps (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre> |
| <p> |
| Create a new CAPS event for <em class="parameter"><code>caps</code></em>. The caps event can only travel downstream |
| synchronized with the buffer flow and contains the format of the buffers |
| that will follow after the event. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> |
| <td>a <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>the new CAPS event. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-caps"></a><h3>gst_event_parse_caps ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_caps (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>);</pre> |
| <p> |
| Get the caps from <em class="parameter"><code>event</code></em>. The caps remains valid as long as <em class="parameter"><code>event</code></em> remains |
| valid. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>The event to parse</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> |
| <td>A pointer to the caps. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-toc"></a><h3>gst_event_new_toc ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_toc (<em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> updated</code></em>);</pre> |
| <p> |
| Generate a TOC event from the given <em class="parameter"><code>toc</code></em>. The purpose of the TOC event is to |
| inform elements that some kind of the TOC was found. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td> |
| <td> |
| <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>updated</code></em> :</span></p></td> |
| <td>whether <em class="parameter"><code>toc</code></em> was updated or not.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-toc"></a><h3>gst_event_parse_toc ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_toc (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> **toc</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *updated</code></em>);</pre> |
| <p> |
| Parse a TOC <em class="parameter"><code>event</code></em> and store the results in the given <em class="parameter"><code>toc</code></em> and <em class="parameter"><code>updated</code></em> locations. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>a TOC event.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td> |
| <td>pointer to <a class="link" href="gstreamer-GstToc.html#GstToc" title="GstToc"><span class="type">GstToc</span></a> structure. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>updated</code></em> :</span></p></td> |
| <td>pointer to store TOC updated flag. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-toc-select"></a><h3>gst_event_new_toc_select ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_toc_select (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uid</code></em>);</pre> |
| <p> |
| Generate a TOC select event with the given <em class="parameter"><code>uid</code></em>. The purpose of the |
| TOC select event is to start playback based on the TOC's entry with the |
| given <em class="parameter"><code>uid</code></em>. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td> |
| <td>UID in the TOC to start playback from.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-toc-select"></a><h3>gst_event_parse_toc_select ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_toc_select (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **uid</code></em>);</pre> |
| <p> |
| Parse a TOC select <em class="parameter"><code>event</code></em> and store the results in the given <em class="parameter"><code>uid</code></em> location. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>a TOC select event.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td> |
| <td>storage for the selection UID. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-new-segment-done"></a><h3>gst_event_new_segment_done ()</h3> |
| <pre class="programlisting"><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_event_new_segment_done (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> position</code></em>);</pre> |
| <p> |
| Create a new segment-done event. This event is sent by elements that |
| finish playback of a segment as a result of a segment seek. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>The format of the position being done</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td> |
| <td>The position of the segment being done</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a new <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="gst-event-parse-segment-done"></a><h3>gst_event_parse_segment_done ()</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> gst_event_parse_segment_done (<em class="parameter"><code><a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> *event</code></em>, |
| <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, |
| <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);</pre> |
| <p> |
| Extracts the position and format from the segment done message. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td> |
| <td>A valid <a class="link" href="gstreamer-GstEvent.html#GstEvent" title="struct GstEvent"><span class="type">GstEvent</span></a> of type GST_EVENT_SEGMENT_DONE.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> |
| <td>Result location for the format, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td> |
| <td>Result location for the position, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| </div> |
| <div class="refsect1"> |
| <a name="gstreamer-GstEvent.see-also"></a><h2>See Also</h2> |
| <a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a>, <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> |
| </div> |
| </div> |
| <div class="footer"> |
| <hr> |
| Generated by GTK-Doc V1.18</div> |
| </body> |
| </html> |