def meta_free_func(data, user_data): user_meta = pyds.glist_get_nvds_user_meta(data) srcmeta = pyds.glist_get_nvds_event_msg_meta(user_meta.user_meta_data) # pyds.free_buffer takes C address of a buffer and frees the memory # It's a NOP if the address is NULL pyds.free_buffer(srcmeta.ts) pyds.free_buffer(srcmeta.sensorStr) if (srcmeta.objSignature.size > 0): pyds.free_buffer(srcmeta.objSignature.signature) srcmeta.objSignature.size = 0 if (srcmeta.extMsgSize > 0): if (srcmeta.objType == pyds.NvDsObjectType.NVDS_OBJECT_TYPE_VEHICLE): obj = pyds.glist_get_nvds_vehicle_object(srcmeta.extMsg) pyds.free_buffer(obj.type) pyds.free_buffer(obj.color) pyds.free_buffer(obj.make) pyds.free_buffer(obj.model) pyds.free_buffer(obj.license) pyds.free_buffer(obj.region) if (srcmeta.objType == pyds.NvDsObjectType.NVDS_OBJECT_TYPE_PERSON): obj = pyds.glist_get_nvds_person_object(srcmeta.extMsg) pyds.free_buffer(obj.gender) pyds.free_buffer(obj.cap) pyds.free_buffer(obj.hair) pyds.free_buffer(obj.apparel) pyds.free_gbuffer(srcmeta.extMsg) srcmeta.extMsgSize = 0
def meta_free_func(data, user_data): logging.debug("meta_free_func: BEGIN") user_meta = pyds.NvDsUserMeta.cast(data) srcmeta = pyds.NvDsEventMsgMeta.cast(user_meta.user_meta_data) # pyds.free_buffer takes C address of a buffer and frees the memory # It's a NOP if the address is NULL pyds.free_buffer(srcmeta.ts) pyds.free_buffer(srcmeta.sensorStr) if srcmeta.objSignature.size > 0: pyds.free_buffer(srcmeta.objSignature.signature) srcmeta.objSignature.size = 0 if srcmeta.extMsgSize > 0: if srcmeta.objType == pyds.NvDsObjectType.NVDS_OBJECT_TYPE_VEHICLE: obj = pyds.NvDsVehicleObject.cast(srcmeta.extMsg) pyds.free_buffer(obj.type) pyds.free_buffer(obj.color) pyds.free_buffer(obj.make) pyds.free_buffer(obj.model) pyds.free_buffer(obj.license) pyds.free_buffer(obj.region) if srcmeta.objType == pyds.NvDsObjectType.NVDS_OBJECT_TYPE_PERSON: obj = pyds.NvDsPersonObject.cast(srcmeta.extMsg) pyds.free_buffer(obj.gender) pyds.free_buffer(obj.cap) pyds.free_buffer(obj.hair) pyds.free_buffer(obj.apparel) pyds.free_gbuffer(srcmeta.extMsg) srcmeta.extMsgSize = 0 logging.debug("meta_free_func: END")