Custom Events API

group gstreamer_nvevent

Specifies GStreamer custom event functions, used to map events to individual sources which are batched together by Gst-nvstreammux.

Defines

FLAG(name)

Enums

enum GstNvEventType

Defines supported types of custom events.

Values:

enumerator GST_NVEVENT_PAD_ADDED

Specifies a custom event to indicate Pad Added.

enumerator GST_NVEVENT_PAD_DELETED

Specifies a custom event to indicate Pad Deleted.

enumerator GST_NVEVENT_STREAM_EOS

Specifies a custom event to indicate EOS of a particular stream in a batch.

enumerator GST_NVEVENT_STREAM_SEGMENT

Specifies a custom event to indicate a stream segment.

Functions

GstEvent *gst_nvevent_new_pad_added(guint source_id)

Creates a “custom pad added” event for the specified source.

Return

A pointer to the event corresponding to the request if successful, or NULL otherwise.

Parameters
  • [in] source_id: Source ID of the stream to be added to the pipeline; also the pad ID of the sinkpad of the Gst-nvstreammux plugin for which the source is configured.

GstEvent *gst_nvevent_new_pad_deleted(guint source_id)

Creates a “custom pad deleted” event for the specified source.

Return

A pointer to the event corresponding to the request if successful, or NULL otherwise.

Parameters
  • [in] source_id: Source ID of the stream to be removed from the pipeline; also the pad ID of the sinkpad of the Gst-nvstreammux plugin for which the source is configured.

GstEvent *gst_nvevent_new_stream_eos(guint source_id)

Creates a “custom EOS” event for the specified source.

Return

A pointer to the event corresponding to request if sucxessful, or NULL otherwise.

Parameters
  • [in] source_id: Source ID of the stream for which EOS is to be sent; also the pad ID of the sinkpad of the Gst-nvstreammux plugin for which the source is configured.

GstEvent *gst_nvevent_new_stream_segment(guint source_id, GstSegment *segment)

Creates a “custom segment” event for the specified source.

Return

A pointer to the event corresponding to the request if successful, or NULL otherwise.

Parameters
  • [in] source_id: Source ID of the stream for which a segment event is to be sent; also the pad ID of the sinkpad of the Gst-nvstreammux plugin for which the source is configured.

  • [in] segment: A pointer to a copy of the segment to be sent with the event; corresponds to the original segment for the specified source.

void gst_nvevent_parse_pad_added(GstEvent *event, guint *source_id)

Parses a “pad added” event received on the sinkpad.

Parameters
  • [in] event: A pointer to the event received on the sinkpad when the pad is added to Gst-nvstreammux.

  • [out] source_id: A pointer to the parsed source ID for the event.

void gst_nvevent_parse_pad_deleted(GstEvent *event, guint *source_id)

Parses a “pad deleted” event received on the sinkpad.

Parameters
  • [in] event: A pointer to the event received on the sinkpad when the pad is deleted from Gst-nvstreammux.

  • [out] source_id: A pointer to the parsed source ID for the event.

void gst_nvevent_parse_stream_eos(GstEvent *event, guint *source_id)

Parses a “stream EOS” event received on the sinkpad.

Parameters
  • [in] event: A pointer to the event received on the sinkpad when the source ID sends the EOS event.

  • [out] source_id: A pointer to the parsed source ID for the event.

void gst_nvevent_parse_stream_segment(GstEvent *event, guint *source_id, GstSegment **segment)

Parses a “stream segment” event received on the sinkpad.

Parameters
  • [in] event: The event received on the sinkpad when the source ID sends a segment event.

  • [out] source_id: A pointer to the parsed source ID for which the event is sent.

  • [out] segment: A double pointer to the parsed segment corresponding to source ID for the event.