Explorar o código

extMsg

Signed-off-by: monjha <monika.jhuria@gmail.com>
monjha %!s(int64=4) %!d(string=hai) anos
pai
achega
b1ef1121f1
Modificáronse 2 ficheiros con 7 adicións e 327 borrados
  1. 7 3
      deepstream_test5_app_main.c
  2. 0 324
      includes/nvdsmeta_schema.h

+ 7 - 3
deepstream_test5_app_main.c

@@ -175,7 +175,6 @@ GOptionEntry entries[] = {
     ,
 };
 
-
     static void
 generate_ts_rfc3339 (char *buf, int buf_size)
 {
@@ -266,8 +265,10 @@ meta_copy_func (gpointer data, gpointer user_data)
     NvDsUserMeta *user_meta = (NvDsUserMeta *) data;
     NvDsEventMsgMeta *srcMeta = (NvDsEventMsgMeta *) user_meta->user_meta_data;
     NvDsEventMsgMeta *dstMeta = NULL;
+   
+    dstMeta = (NvDsEventMsgMeta *)g_memdup ((gpointer)srcMeta, sizeof(NvDsEventMsgMeta));
+    dstMeta->extMsg = (gpointer)g_memdup(srcMeta->extMsg, sizeof(srcMeta->extMsgSize));
 
-    dstMeta = g_memdup (srcMeta, sizeof (NvDsEventMsgMeta));
 
     if (srcMeta->ts)
 	dstMeta->ts = g_strdup (srcMeta->ts);
@@ -282,7 +283,7 @@ meta_copy_func (gpointer data, gpointer user_data)
 	dstMeta->objectId = g_strdup (srcMeta->objectId);
     }
 
-    /*
+   /*
        if (srcMeta->sensorStr) {
        dstMeta->sensorStr = g_strdup (srcMeta->sensorStr);
        }
@@ -310,6 +311,8 @@ meta_copy_func (gpointer data, gpointer user_data)
 	}
     }
 
+       g_print(" %s %d source id: %d, Enter: %d, Exit: %d\n",__func__,__LINE__, dstMeta->source_id, dstMeta->lccum_cnt_entry, dstMeta->lccum_cnt_exit);
+
     return dstMeta;
 }
 
@@ -320,6 +323,7 @@ meta_free_func (gpointer data, gpointer user_data)
     NvDsEventMsgMeta *srcMeta = (NvDsEventMsgMeta *) user_meta->user_meta_data;
     user_meta->user_meta_data = NULL;
 
+
     if (srcMeta->ts) {
 	g_free (srcMeta->ts);
     }

+ 0 - 324
includes/nvdsmeta_schema.h

@@ -1,324 +0,0 @@
-/*
- * Copyright (c) 2018-2021, NVIDIA CORPORATION.  All rights reserved.
- *
- * NVIDIA Corporation and its licensors retain all intellectual property
- * and proprietary rights in and to this software, related documentation
- * and any modifications thereto.  Any use, reproduction, disclosure or
- * distribution of this software and related documentation without an express
- * license agreement from NVIDIA Corporation is strictly prohibited.
- *
- */
-
-/**
- * @file
- * <b>NVIDIA DeepStream: Metadata Extension Structures</b>
- *
- * @b Description: This file defines the NVIDIA DeepStream metadata structures
- * used to describe metadata objects.
- */
-
-/**
- * @defgroup  metadata_extensions  Metadata Extension Structures
- *
- * Defines metadata structures used to describe metadata objects.
- *
- * @ingroup NvDsMetaApi
- * @{
- */
-
-#ifndef NVDSMETA_H_
-#define NVDSMETA_H_
-
-#include <glib.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/**
- * Defines event type flags.
- */
-typedef enum NvDsEventType {
-  NVDS_EVENT_ENTRY,
-  NVDS_EVENT_EXIT,
-  NVDS_EVENT_MOVING,
-  NVDS_EVENT_STOPPED,
-  NVDS_EVENT_EMPTY,
-  NVDS_EVENT_PARKED,
-  NVDS_EVENT_RESET,
-
-  /** Reserved for future use. Custom events must be assigned values
-   greater than this. */
-  NVDS_EVENT_RESERVED = 0x100,
-  /** Specifies a custom event. */
-  NVDS_EVENT_CUSTOM = 0x101,
-  NVDS_EVENT_FORCE32 = 0x7FFFFFFF
-} NvDsEventType;
-
-/**
- * Defines object type flags.
- */
-typedef enum NvDsObjectType {
-  NVDS_OBJECT_TYPE_VEHICLE,
-  NVDS_OBJECT_TYPE_PERSON,
-  NVDS_OBJECT_TYPE_FACE,
-  NVDS_OBJECT_TYPE_BAG,
-  NVDS_OBJECT_TYPE_BICYCLE,
-  NVDS_OBJECT_TYPE_ROADSIGN,
-  NVDS_OBJECT_TYPE_VEHICLE_EXT,
-  NVDS_OBJECT_TYPE_PERSON_EXT,
-  NVDS_OBJECT_TYPE_FACE_EXT,
-  /** Reserved for future use. Custom objects must be assigned values
-   greater than this. */
-  NVDS_OBJECT_TYPE_RESERVED = 0x100,
-  /** Specifies a custom object. */
-  NVDS_OBJECT_TYPE_CUSTOM = 0x101,
-  /** "object" key will be missing in the schema */
-  NVDS_OBJECT_TYPE_UNKNOWN = 0x102,
-  NVDS_OBEJCT_TYPE_FORCE32 = 0x7FFFFFFF
-} NvDsObjectType;
-
-/**
- * Defines payload type flags.
- */
-typedef enum NvDsPayloadType {
-  NVDS_PAYLOAD_DEEPSTREAM,
-  NVDS_PAYLOAD_DEEPSTREAM_MINIMAL,
-  /** Reserved for future use. Custom payloads must be assigned values
-   greater than this. */
-  NVDS_PAYLOAD_RESERVED = 0x100,
-  /** Specifies a custom payload. You must implement the nvds_msg2p_*
-   interface. */
-  NVDS_PAYLOAD_CUSTOM = 0x101,
-  NVDS_PAYLOAD_FORCE32 = 0x7FFFFFFF
-} NvDsPayloadType;
-
-/**
- * Holds a rectangle's position and size.
- */
-typedef struct NvDsRect {
-  float top;     /**< Holds the position of rectangle's top in pixels. */
-  float left;    /**< Holds the position of rectangle's left side in pixels. */
-  float width;   /**< Holds the rectangle's width in pixels. */
-  float height;  /**< Holds the rectangle's height in pixels. */
-} NvDsRect;
-
-/**
- * Holds geolocation parameters.
- */
-typedef struct NvDsGeoLocation {
-  gdouble lat;      /**< Holds the location's latitude. */
-  gdouble lon;      /**< Holds the location's longitude. */
-  gdouble alt;      /**< Holds the location's altitude. */
-} NvDsGeoLocation;
-
-/**
- * Hold a coordinate's position.
- */
-typedef struct NvDsCoordinate {
-  gdouble x;        /**< Holds the coordinate's X position. */
-  gdouble y;        /**< Holds the coordinate's Y position. */
-  gdouble z;        /**< Holds the coordinate's Z position. */
-} NvDsCoordinate;
-
-/**
- * Holds an object's signature.
- */
-typedef struct NvDsObjectSignature {
-  /** Holds a pointer to an array of signature values. */
-  gdouble *signature;
-  /** Holds the number of signature values in @a signature. */
-  guint size;
-} NvDsObjectSignature;
-
-/**
- * Holds a vehicle object's parameters.
- */
-typedef struct NvDsVehicleObject {
-  gchar *type;      /**< Holds a pointer to the type of the vehicle. */
-  gchar *make;      /**< Holds a pointer to the make of the vehicle. */
-  gchar *model;     /**< Holds a pointer to the model of the vehicle. */
-  gchar *color;     /**< Holds a pointer to the color of the vehicle. */
-  gchar *region;    /**< Holds a pointer to the region of the vehicle. */
-  gchar *license;   /**< Holds a pointer to the license number of the vehicle.*/
-} NvDsVehicleObject;
-
-/**
- * Holds a person object's parameters.
- */
-typedef struct NvDsPersonObject {
-  gchar *gender;    /**< Holds a pointer to the person's gender. */
-  gchar *hair;      /**< Holds a pointer to the person's hair color. */
-  gchar *cap;       /**< Holds a pointer to the type of cap the person is
-                     wearing, if any. */
-  gchar *apparel;   /**< Holds a pointer to a description of the person's
-                     apparel. */
-  guint age;        /**< Holds the person's age. */
-} NvDsPersonObject;
-
-/**
- * Holds a face object's parameters.
- */
-typedef struct NvDsFaceObject {
-  gchar *gender;    /**< Holds a pointer to the person's gender. */
-  gchar *hair;      /**< Holds a pointer to the person's hair color. */
-  gchar *cap;       /**< Holds a pointer to the type of cap the person
-                     is wearing, if any. */
-  gchar *glasses;   /**< Holds a pointer to the type of glasses the person
-                     is wearing, if any. */
-  gchar *facialhair;/**< Holds a pointer to the person's facial hair color. */
-  gchar *name;      /**< Holds a pointer to the person's name. */
-  gchar *eyecolor;  /**< Holds a pointer to the person's eye color. */
-  guint age;        /**< Holds the person's age. */
-} NvDsFaceObject;
-
-/**
- * Holds a vehicle object's parameters.
- */
-typedef struct NvDsVehicleObjectExt {
-  gchar *type;      /**< Holds a pointer to the type of the vehicle. */
-  gchar *make;      /**< Holds a pointer to the make of the vehicle. */
-  gchar *model;     /**< Holds a pointer to the model of the vehicle. */
-  gchar *color;     /**< Holds a pointer to the color of the vehicle. */
-  gchar *region;    /**< Holds a pointer to the region of the vehicle. */
-  gchar *license;   /**< Holds a pointer to the license number of the vehicle.*/
-
-  GList *mask;      /**< Holds a list of polygons for vehicle mask. */
-} NvDsVehicleObjectExt;
-
-/**
- * Holds a person object's parameters.
- */
-typedef struct NvDsPersonObjectExt {
-  gchar *gender;    /**< Holds a pointer to the person's gender. */
-  gchar *hair;      /**< Holds a pointer to the person's hair color. */
-  gchar *cap;       /**< Holds a pointer to the type of cap the person is
-                     wearing, if any. */
-  gchar *apparel;   /**< Holds a pointer to a description of the person's
-                     apparel. */
-  guint age;        /**< Holds the person's age. */
-
-  GList *mask;      /**< Holds a list of polygons for person mask. */
-} NvDsPersonObjectExt;
-
-/**
- * Holds a face object's parameters.
- */
-typedef struct NvDsFaceObjectWithExt {
-  gchar *gender;    /**< Holds a pointer to the person's gender. */
-  gchar *hair;      /**< Holds a pointer to the person's hair color. */
-  gchar *cap;       /**< Holds a pointer to the type of cap the person
-                     is wearing, if any. */
-  gchar *glasses;   /**< Holds a pointer to the type of glasses the person
-                     is wearing, if any. */
-  gchar *facialhair;/**< Holds a pointer to the person's facial hair color. */
-  gchar *name;      /**< Holds a pointer to the person's name. */
-  gchar *eyecolor;  /**< Holds a pointer to the person's eye color. */
-  guint age;        /**< Holds the person's age. */
-
-  GList *mask;      /**< Holds a list of polygons for face mask. */
-} NvDsFaceObjectExt;
-
-/**
- * Holds event message meta data.
- *
- * You can attach various types of objects (vehicle, person, face, etc.)
- * to an event by setting a pointer to the object in @a extMsg.
- *
- * Similarly, you can attach a custom object to an event by setting a pointer to the object in @a extMsg.
- * A custom object must be handled by the metadata parsing module accordingly.
- */
-typedef struct NvDsEventMsgMeta {
-  /** Holds the event's type. */
-  NvDsEventType type;
-  /** Holds the object's type. */
-  NvDsObjectType objType;
-  /** Holds the object's bounding box. */
-  NvDsRect bbox;
-  /** Holds the object's geolocation. */
-  NvDsGeoLocation location;
-  /** Holds the object's coordinates. */
-  NvDsCoordinate coordinate;
-  /** Holds the object's signature. */
-  NvDsObjectSignature objSignature;
-  /** Holds the object's class ID. */
-  gint objClassId;
-  /** Holds the ID of the sensor that generated the event. */
-  gint sensorId;
-  /** Holds the ID of the analytics module that generated the event. */
-  gint moduleId;
-  /** Holds the ID of the place related to the object. */
-  gint placeId;
-  /** Holds the ID of the component (plugin) that generated this event. */
-  gint componentId;
-  /** Holds the video frame ID of this event. */
-  gint frameId;
-  /** Holds the confidence level of the inference. */
-  gdouble confidence;
-  /** Holds the object's tracking ID. */
-  guint64 trackingId;
-  /** Holds a pointer to the generated event's timestamp. */
-  gchar *ts;
-  /** Holds a pointer to the detected or inferred object's ID. */
-  gchar *objectId;
-
-  /** Holds a pointer to a string containing the sensor's identity. */
-  gchar *sensorStr;
-  /** Holds a pointer to a string containing other attributes associated with
-   the object. */
-  gchar *otherAttrs;
-  /** Holds a pointer to the name of the video file. */
-  gchar *videoPath;
-  guint occupancy;
-  guint source_id;
-  guint lccum_cnt_entry;
-  guint lccum_cnt_exit;
-
-  /** Holds a pointer to event message meta data. This can be used to hold
-   data that can't be accommodated in the existing fields, or an associated
-   object (representing a vehicle, person, face, etc.). */
-  gpointer extMsg;
-  /** Holds the size of the custom object at @a extMsg. */
-  guint extMsgSize;
-} NvDsEventMsgMeta;
-
-/**
- * Holds event information.
- */
-typedef struct _NvDsEvent {
-  /** Holds the type of event. */
-  NvDsEventType eventType;
-  /** Holds a pointer to event metadata. */
-  NvDsEventMsgMeta *metadata;
-} NvDsEvent;
-
-/**
- * Holds data for any user defined custom message to be attached to the payload
- * message : custom message to be attached
- * size    : size of the custom message
- */
-typedef struct _NvDsCustomMsgInfo {
-  void *message;
-  guint size;
-}NvDsCustomMsgInfo;
-
-/**
- * Holds payload metadata.
- */
-typedef struct NvDsPayload {
-  /** Holds a pointer to the payload. */
-  gpointer payload;
-  /** Holds the size of the payload. */
-  guint payloadSize;
-  /** Holds the ID of the component (plugin) which attached the payload
-   (optional). */
-  guint componentId;
-} NvDsPayload;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* NVDSMETA_H_ */
-
-/** @} */