GstEvent: GStreamer 1.0 Core Reference Manual

## GstEvent GstEvent |

## Functions

#define | GST_EVENT_MAKE_TYPE()
#define | GST_EVENT_TYPE()
#define | GST_EVENT_TYPE_NAME()
#define | GST_EVENT_TIMESTAMP()
#define | GST_EVENT_SEQNUM()
#define | GST_EVENT_IS_UPSTREAM()
#define | GST_EVENT_IS_DOWNSTREAM()
#define | GST_EVENT_IS_SERIALIZED()
#define | GST_EVENT_IS_STICKY()
GstEventTypeFlags | gst_event_type_get_flags ()
const gchar * | gst_event_type_get_name ()
GQuark | gst_event_type_to_quark ()
GstEvent * | gst_event_ref ()
void | gst_event_unref ()
gboolean | gst_event_replace ()
GstEvent * | gst_event_copy ()
GstEvent * | gst_event_steal ()
gboolean | gst_event_take ()
#define | gst_event_is_writable()
#define | gst_event_make_writable()
GstStructure * | gst_event_writable_structure ()
GstEvent * | gst_event_new_custom ()
const GstStructure * | gst_event_get_structure ()
gboolean | gst_event_has_name ()
guint32 | gst_event_get_seqnum ()
void | gst_event_set_seqnum ()
gint64 | gst_event_get_running_time_offset ()
void | gst_event_set_running_time_offset ()
GstEvent * | gst_event_new_flush_start ()
GstEvent * | gst_event_new_flush_stop ()
void | gst_event_parse_flush_stop ()
GstEvent * | gst_event_new_eos ()
GstEvent * | gst_event_new_gap ()
void | gst_event_parse_gap ()
GstEvent * | gst_event_new_stream_start ()
void | gst_event_parse_stream_start ()
void | gst_event_set_stream_flags ()
void | gst_event_parse_stream_flags ()
void | gst_event_set_group_id ()
gboolean | gst_event_parse_group_id ()
void | gst_event_set_stream ()
void | gst_event_parse_stream ()
GstEvent * | gst_event_new_segment ()
void | gst_event_parse_segment ()
void | gst_event_copy_segment ()
GstEvent * | gst_event_new_tag ()
void | gst_event_parse_tag ()
GstEvent * | gst_event_new_buffer_size ()
void | gst_event_parse_buffer_size ()
GstEvent * | gst_event_new_qos ()
void | gst_event_parse_qos ()
GstEvent * | gst_event_new_seek ()
void | gst_event_parse_seek ()
GstEvent * | gst_event_new_navigation ()
GstEvent * | gst_event_new_latency ()
void | gst_event_parse_latency ()
GstEvent * | gst_event_new_step ()
void | gst_event_parse_step ()
GstEvent * | gst_event_new_sink_message ()
void | gst_event_parse_sink_message ()
GstEvent * | gst_event_new_reconfigure ()
GstEvent * | gst_event_new_caps ()
void | gst_event_parse_caps ()
GstEvent * | gst_event_new_toc ()
void | gst_event_parse_toc ()
GstEvent * | gst_event_new_toc_select ()
void | gst_event_parse_toc_select ()
GstEvent * | gst_event_new_segment_done ()
void | gst_event_parse_segment_done ()
GstEvent * | gst_event_new_protection ()
void | gst_event_parse_protection ()
GstEvent * | gst_event_new_select_streams ()
void | gst_event_parse_select_streams ()
GstEvent * | gst_event_new_stream_collection ()
void | gst_event_parse_stream_collection ()

## Types and Values

struct | GstEvent
enum | GstEventTypeFlags
#define | GST_EVENT_TYPE_BOTH
enum | GstEventType
enum | GstStreamFlags
enum | GstQOSType
enum | GstSeekType
enum | GstSeekFlags

## Object Hierarchy

        GBoxed
        ╰── GstEvent

## Includes

    #include <gst/gst.h>

## Description

## Functions

### GST_EVENT_MAKE_TYPE()

    #define             GST_EVENT_MAKE_TYPE(num,flags)

### GST_EVENT_TYPE()

    #define GST_EVENT_TYPE(event)           (GST_EVENT_CAST(event)->type)

### GST_EVENT_TYPE_NAME()

    #define GST_EVENT_TYPE_NAME(event)      (gst_event_type_get_name(GST_EVENT_TYPE(event)))

### GST_EVENT_TIMESTAMP()

    #define GST_EVENT_TIMESTAMP(event)      (GST_EVENT_CAST(event)->timestamp)

### GST_EVENT_SEQNUM()

    #define GST_EVENT_SEQNUM(event)         (GST_EVENT_CAST(event)->seqnum)

### GST_EVENT_IS_UPSTREAM()

    #define GST_EVENT_IS_UPSTREAM(ev)       !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_UPSTREAM)

### GST_EVENT_IS_DOWNSTREAM()

    #define GST_EVENT_IS_DOWNSTREAM(ev)     !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_DOWNSTREAM)

### GST_EVENT_IS_SERIALIZED()

    #define GST_EVENT_IS_SERIALIZED(ev)     !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_SERIALIZED)

### GST_EVENT_IS_STICKY()

    #define GST_EVENT_IS_STICKY(ev)     !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_STICKY)

### gst_event_type_get_flags ()

    GstEventTypeFlags
    gst_event_type_get_flags (GstEventType type);

### gst_event_type_get_name ()

    const gchar *
    gst_event_type_get_name (GstEventType type);

### gst_event_type_to_quark ()

    GQuark
    gst_event_type_to_quark (GstEventType type);

### gst_event_ref ()

    GstEvent *
    gst_event_ref (GstEvent *event);

### gst_event_unref ()

    void
    gst_event_unref (GstEvent *event);

### gst_event_replace ()

    gboolean
    gst_event_replace (GstEvent **old_event,
                       GstEvent *new_event);

### gst_event_copy ()

    GstEvent *
    gst_event_copy (const GstEvent *event);

### gst_event_steal ()

    GstEvent *
    gst_event_steal (GstEvent **old_event);

### gst_event_take ()

    gboolean
    gst_event_take (GstEvent **old_event,
                    GstEvent *new_event);

### gst_event_is_writable()

    #define         gst_event_is_writable(ev)     gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (ev))

### gst_event_make_writable()

    #define         gst_event_make_writable(ev)   GST_EVENT_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (ev)))

### gst_event_writable_structure ()

    GstStructure *
    gst_event_writable_structure (GstEvent *event);

### gst_event_new_custom ()

    GstEvent *
    gst_event_new_custom (GstEventType type,
                          GstStructure *structure);

### gst_event_get_structure ()

    const GstStructure *
    gst_event_get_structure (GstEvent *event);

### gst_event_has_name ()

    gboolean
    gst_event_has_name (GstEvent *event,
                        const gchar *name);

### gst_event_get_seqnum ()

    guint32
    gst_event_get_seqnum (GstEvent *event);

### gst_event_set_seqnum ()

    void
    gst_event_set_seqnum (GstEvent *event,
                          guint32 seqnum);

### gst_event_get_running_time_offset ()

    gint64
    gst_event_get_running_time_offset (GstEvent *event);

### gst_event_set_running_time_offset ()

    void
    gst_event_set_running_time_offset (GstEvent *event,
                                       gint64 offset);

### gst_event_new_flush_start ()

    GstEvent *
    gst_event_new_flush_start (void);

### gst_event_new_flush_stop ()

    GstEvent *
    gst_event_new_flush_stop (gboolean reset_time);

### gst_event_parse_flush_stop ()

    void
    gst_event_parse_flush_stop (GstEvent *event,
                                gboolean *reset_time);

### gst_event_new_eos ()

    GstEvent *
    gst_event_new_eos (void);

### gst_event_new_gap ()

    GstEvent *
    gst_event_new_gap (GstClockTime timestamp,
                       GstClockTime duration);

### gst_event_parse_gap ()

    void
    gst_event_parse_gap (GstEvent *event,
                         GstClockTime *timestamp,
                         GstClockTime *duration);

### gst_event_new_stream_start ()

    GstEvent *
    gst_event_new_stream_start (const gchar *stream_id);

### gst_event_parse_stream_start ()

    void
    gst_event_parse_stream_start (GstEvent *event,
                                  const gchar **stream_id);

### gst_event_set_stream_flags ()

    void
    gst_event_set_stream_flags (GstEvent *event,
                                GstStreamFlags flags);

### gst_event_parse_stream_flags ()

    void
    gst_event_parse_stream_flags (GstEvent *event,
                                  GstStreamFlags *flags);

### gst_event_set_group_id ()

    void
    gst_event_set_group_id (GstEvent *event,
                            guint group_id);

### gst_event_parse_group_id ()

    gboolean
    gst_event_parse_group_id (GstEvent *event,
                              guint *group_id);

### gst_event_set_stream ()

    void
    gst_event_set_stream (GstEvent *event,
                          GstStream *stream);

### gst_event_parse_stream ()

    void
    gst_event_parse_stream (GstEvent *event,
                            GstStream **stream);

### gst_event_new_segment ()

    GstEvent *
    gst_event_new_segment (const GstSegment *segment);

### gst_event_parse_segment ()

    void
    gst_event_parse_segment (GstEvent *event,
                             const GstSegment **segment);

### gst_event_copy_segment ()

    void
    gst_event_copy_segment (GstEvent *event,
                            GstSegment *segment);

### gst_event_new_tag ()

    GstEvent *
    gst_event_new_tag (GstTagList *taglist);

### gst_event_parse_tag ()

    void
    gst_event_parse_tag (GstEvent *event,
                         GstTagList **taglist);

### gst_event_new_buffer_size ()

    GstEvent *
    gst_event_new_buffer_size (GstFormat format,
                               gint64 minsize,
                               gint64 maxsize,
                               gboolean async);

### gst_event_parse_buffer_size ()

    void
    gst_event_parse_buffer_size (GstEvent *event,
                                 GstFormat *format,
                                 gint64 *minsize,
                                 gint64 *maxsize,
                                 gboolean *async);

### gst_event_new_qos ()

    GstEvent *
    gst_event_new_qos (GstQOSType type,
                       gdouble proportion,
                       GstClockTimeDiff diff,
                       GstClockTime timestamp);

### gst_event_parse_qos ()

    void
    gst_event_parse_qos (GstEvent *event,
                         GstQOSType *type,
                         gdouble *proportion,
                         GstClockTimeDiff *diff,
                         GstClockTime *timestamp);

### gst_event_new_seek ()

    GstEvent *
    gst_event_new_seek (gdouble rate,
                        GstFormat format,
                        GstSeekFlags flags,
                        GstSeekType start_type,
                        gint64 start,
                        GstSeekType stop_type,
                        gint64 stop);

### gst_event_parse_seek ()

    void
    gst_event_parse_seek (GstEvent *event,
                          gdouble *rate,
                          GstFormat *format,
                          GstSeekFlags *flags,
                          GstSeekType *start_type,
                          gint64 *start,
                          GstSeekType *stop_type,
                          gint64 *stop);

### gst_event_new_navigation ()

    GstEvent *
    gst_event_new_navigation (GstStructure *structure);

### gst_event_new_latency ()

    GstEvent *
    gst_event_new_latency (GstClockTime latency);

### gst_event_parse_latency ()

    void
    gst_event_parse_latency (GstEvent *event,
                             GstClockTime *latency);

### gst_event_new_step ()

    GstEvent *
    gst_event_new_step (GstFormat format,
                        guint64 amount,
                        gdouble rate,
                        gboolean flush,
                        gboolean intermediate);

### gst_event_parse_step ()

    void
    gst_event_parse_step (GstEvent *event,
                          GstFormat *format,
                          guint64 *amount,
                          gdouble *rate,
                          gboolean *flush,
                          gboolean *intermediate);

### gst_event_new_sink_message ()

    GstEvent *
    gst_event_new_sink_message (const gchar *name,
                                GstMessage *msg);

### gst_event_parse_sink_message ()

    void
    gst_event_parse_sink_message (GstEvent *event,
                                  GstMessage **msg);

### gst_event_new_reconfigure ()

    GstEvent *
    gst_event_new_reconfigure (void);

### gst_event_new_caps ()

    GstEvent *
    gst_event_new_caps (GstCaps *caps);

### gst_event_parse_caps ()

    void
    gst_event_parse_caps (GstEvent *event,
                          GstCaps **caps);

### gst_event_new_toc ()

    GstEvent *
    gst_event_new_toc (GstToc *toc,
                       gboolean updated);

### gst_event_parse_toc ()

    void
    gst_event_parse_toc (GstEvent *event,
                         GstToc **toc,
                         gboolean *updated);

### gst_event_new_toc_select ()

    GstEvent *
    gst_event_new_toc_select (const gchar *uid);

### gst_event_parse_toc_select ()

    void
    gst_event_parse_toc_select (GstEvent *event,
                                gchar **uid);

### gst_event_new_segment_done ()

    GstEvent *
    gst_event_new_segment_done (GstFormat format,
                                gint64 position);

### gst_event_parse_segment_done ()

    void
    gst_event_parse_segment_done (GstEvent *event,
                                  GstFormat *format,
                                  gint64 *position);

### gst_event_new_protection ()

    GstEvent *
    gst_event_new_protection (const gchar *system_id,
                              GstBuffer *data,
                              const gchar *origin);

### gst_event_parse_protection ()

    void
    gst_event_parse_protection (GstEvent *event,
                                const gchar **system_id,
                                GstBuffer **data,
                                const gchar **origin);

### gst_event_new_select_streams ()

    GstEvent *
    gst_event_new_select_streams (GList *streams);

### gst_event_parse_select_streams ()

    void
    gst_event_parse_select_streams (GstEvent *event,
                                    GList **streams);

### gst_event_new_stream_collection ()

    GstEvent *
    gst_event_new_stream_collection (GstStreamCollection *collection);

### gst_event_parse_stream_collection ()

    void
    gst_event_parse_stream_collection (GstEvent *event,
                                       GstStreamCollection **collection);

## Types and Values

### struct GstEvent

    struct GstEvent {
      GstMiniObject mini_object;

      GstEventType  type;
      guint64       timestamp;
      guint32       seqnum;
    };

### enum GstEventTypeFlags

#### Members

GST_EVENT_TYPE_UPSTREAM |  |
GST_EVENT_TYPE_DOWNSTREAM |  |
GST_EVENT_TYPE_SERIALIZED |  |
GST_EVENT_TYPE_STICKY |  |
GST_EVENT_TYPE_STICKY_MULTI |  |

### GST_EVENT_TYPE_BOTH

    #define             GST_EVENT_TYPE_BOTH

### enum GstEventType

#### Members

GST_EVENT_UNKNOWN |  |
GST_EVENT_FLUSH_START |  |
GST_EVENT_FLUSH_STOP |  |
GST_EVENT_STREAM_START |  |
GST_EVENT_CAPS |  |
GST_EVENT_SEGMENT |  |
GST_EVENT_STREAM_COLLECTION |  |
GST_EVENT_TAG |  |
GST_EVENT_BUFFERSIZE |  |
GST_EVENT_SINK_MESSAGE |  |
GST_EVENT_EOS |  |
GST_EVENT_TOC |  |
GST_EVENT_PROTECTION |  |
GST_EVENT_SEGMENT_DONE |  |
GST_EVENT_GAP |  |
GST_EVENT_QOS |  |
GST_EVENT_SEEK |  |
GST_EVENT_NAVIGATION |  |
GST_EVENT_LATENCY |  |
GST_EVENT_STEP |  |
GST_EVENT_RECONFIGURE |  |
GST_EVENT_TOC_SELECT |  |
GST_EVENT_SELECT_STREAMS |  |
GST_EVENT_CUSTOM_UPSTREAM |  |
GST_EVENT_CUSTOM_DOWNSTREAM |  |
GST_EVENT_CUSTOM_DOWNSTREAM_OOB |  |
GST_EVENT_CUSTOM_DOWNSTREAM_STICKY |  |
GST_EVENT_CUSTOM_BOTH |  |
GST_EVENT_CUSTOM_BOTH_OOB |  |

### enum GstStreamFlags

#### Members

GST_STREAM_FLAG_NONE |  |
GST_STREAM_FLAG_SPARSE |  |
GST_STREAM_FLAG_SELECT |  |
GST_STREAM_FLAG_UNSELECT |  |

### enum GstQOSType

#### Members

GST_QOS_TYPE_OVERFLOW |  |
GST_QOS_TYPE_UNDERFLOW |  |
GST_QOS_TYPE_THROTTLE |  |

### enum GstSeekType

#### Members

GST_SEEK_TYPE_NONE |  |
GST_SEEK_TYPE_SET |  |
GST_SEEK_TYPE_END |  |

### enum GstSeekFlags

#### Members

GST_SEEK_FLAG_NONE |  |
GST_SEEK_FLAG_FLUSH |  |
GST_SEEK_FLAG_ACCURATE |  |
GST_SEEK_FLAG_KEY_UNIT |  |
GST_SEEK_FLAG_SEGMENT |  |
GST_SEEK_FLAG_TRICKMODE |  |
GST_SEEK_FLAG_SKIP |  |
GST_SEEK_FLAG_SNAP_BEFORE |  |
GST_SEEK_FLAG_SNAP_AFTER |  |
GST_SEEK_FLAG_SNAP_NEAREST |  |
GST_SEEK_FLAG_TRICKMODE_KEY_UNITS |  |
GST_SEEK_FLAG_TRICKMODE_NO_AUDIO |  |