DeepStream Metadata Extension

group gstreamer_metagroup_api

Defines an API for managing GStreamer DeepStream metadata.

DeepStream Metadata is attached to a buffer with gst_buffer_add_nvds_meta(). Its metadata type is set to NVDS_BATCH_GST_META.

Multiple groups of metadata may be attached by different elements. gst_buffer_get_nvds_meta() gets the last added NvDsMeta.

The NvDsMeta::meta_data structure member must be cast to a meaningful structure pointer based on the meta_type. For example, for meta_type = NVDS_BATCH_GST_META, meta_data must be cast as (NvDsBatchMeta *).

Defines

NVDS_META_API_TYPE
NVDS_META_INFO
NVDS_META_STRING

Typedefs

typedef struct _NvDsMeta NvDsMeta

Holds DeepSteam metadata.

Enums

enum GstNvDsMetaType

Defines the type of metadata.

NVIDIA-defined GstNvDsMetaType values are in the range from NVDS_BATCH_GST_META to NVDS_START_USER_META.

Values:

enumerator NVDS_GST_INVALID_META
enumerator NVDS_BATCH_GST_META
enumerator NVDS_DECODER_GST_META
enumerator NVDS_DEWARPER_GST_META
enumerator NVDS_RESERVED_GST_META
enumerator NVDS_GST_META_FORCE32

Functions

GType nvds_meta_api_get_type(void)
const GstMetaInfo *nvds_meta_get_info(void)
NvDsMeta *gst_buffer_add_nvds_meta(GstBuffer *buffer, gpointer meta_data, gpointer user_data, NvDsMetaCopyFunc copy_func, NvDsMetaReleaseFunc release_func)

Adds GstMeta of type NvDsMeta to the GstBuffer and sets the meta_data member of NvDsMeta.

Return

A pointer to the attached NvDsMeta structure if successful, or NULL otherwise.

Parameters
  • [in] buffer: A pointer to a GstBuffer to which the function adds metadata.

  • [in] meta_data: A pointer at which the function sets the meta_data member of NvDsMeta.

  • [in] user_data: A pointer to the user-specific data.

  • [in] copy_func: The callback to be called when NvDsMeta is to be copied. The function is called with meta_data and user_data as parameters.

  • [in] release_func: The callback to be called when NvDsMeta is to be destroyed. The function is called with meta_data and user_data as parameters.

NvDsMeta *gst_buffer_get_nvds_meta(GstBuffer *buffer)

Gets the NvDsMeta last added to a GstBuffer.

Return

A pointer to the last added NvDsMeta structure, or NULL if no NvDsMeta was attached.

Parameters
  • [in] buffer: A pointer to the GstBuffer.

NvDsBatchMeta *gst_buffer_get_nvds_batch_meta(GstBuffer *buffer)

Gets the NvDsBatchMeta added to a GstBuffer.

Return

A pointer to the NvDsBatchMeta structure, or NULL if no NvDsMeta was attached.

Parameters
  • [in] buffer: A pointer to the GstBuffer.

struct _NvDsMeta
#include <gstnvdsmeta.h>

Holds DeepSteam metadata.