Remove just first object
This commit is contained in:
parent
db2aa55a21
commit
4c925361a1
@ -444,7 +444,6 @@ GstPadProbeReturn NvOsdManager::osd_src_pad_buffer_metadata_probe(
|
|||||||
(void)txt_params;
|
(void)txt_params;
|
||||||
guint face_count = 0;
|
guint face_count = 0;
|
||||||
guint person_count = 0;
|
guint person_count = 0;
|
||||||
gboolean is_first_object = TRUE;
|
|
||||||
NvDsMetaList *l_frame, *l_obj;
|
NvDsMetaList *l_frame, *l_obj;
|
||||||
|
|
||||||
NvDsBatchMeta *batch_meta = gst_buffer_get_nvds_batch_meta(buf);
|
NvDsBatchMeta *batch_meta = gst_buffer_get_nvds_batch_meta(buf);
|
||||||
@ -462,8 +461,6 @@ GstPadProbeReturn NvOsdManager::osd_src_pad_buffer_metadata_probe(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
is_first_object = TRUE;
|
|
||||||
|
|
||||||
for (l_obj = frame_meta->obj_meta_list; l_obj; l_obj = l_obj->next) {
|
for (l_obj = frame_meta->obj_meta_list; l_obj; l_obj = l_obj->next) {
|
||||||
NvDsObjectMeta *obj_meta = (NvDsObjectMeta *)l_obj->data;
|
NvDsObjectMeta *obj_meta = (NvDsObjectMeta *)l_obj->data;
|
||||||
|
|
||||||
@ -527,9 +524,8 @@ GstPadProbeReturn NvOsdManager::osd_src_pad_buffer_metadata_probe(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_first_object &&
|
if (is_meta_type_NVOSD_embedding_vector == true) {
|
||||||
is_meta_type_NVOSD_embedding_vector == true) {
|
// is_first_object && !(frame_number % frame_interval) &&
|
||||||
//!(frame_number % frame_interval) &&
|
|
||||||
/* Frequency of messages to be send will be based on use case.
|
/* Frequency of messages to be send will be based on use case.
|
||||||
* Here message is being sent for first object every
|
* Here message is being sent for first object every
|
||||||
* frame_interval(default=30).
|
* frame_interval(default=30).
|
||||||
@ -561,7 +557,6 @@ GstPadProbeReturn NvOsdManager::osd_src_pad_buffer_metadata_probe(
|
|||||||
} else {
|
} else {
|
||||||
g_print("Error in attaching event meta to buffer\n");
|
g_print("Error in attaching event meta to buffer\n");
|
||||||
}
|
}
|
||||||
is_first_object = FALSE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -608,7 +603,6 @@ GstPadProbeReturn NvOsdManager::osd_src_pad_buffer_image_probe(
|
|||||||
(void)u_data;
|
(void)u_data;
|
||||||
GstBuffer *buf = (GstBuffer *)info->data;
|
GstBuffer *buf = (GstBuffer *)info->data;
|
||||||
NvDsFrameMeta *frame_meta = NULL;
|
NvDsFrameMeta *frame_meta = NULL;
|
||||||
gboolean is_first_object = TRUE;
|
|
||||||
NvDsMetaList *l_frame, *l_obj;
|
NvDsMetaList *l_frame, *l_obj;
|
||||||
gchar *encoded_data;
|
gchar *encoded_data;
|
||||||
gchar *message_data;
|
gchar *message_data;
|
||||||
@ -631,8 +625,6 @@ GstPadProbeReturn NvOsdManager::osd_src_pad_buffer_image_probe(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
is_first_object = TRUE;
|
|
||||||
|
|
||||||
for (l_obj = frame_meta->obj_meta_list; l_obj; l_obj = l_obj->next) {
|
for (l_obj = frame_meta->obj_meta_list; l_obj; l_obj = l_obj->next) {
|
||||||
NvDsObjectMeta *obj_meta = (NvDsObjectMeta *)l_obj->data;
|
NvDsObjectMeta *obj_meta = (NvDsObjectMeta *)l_obj->data;
|
||||||
|
|
||||||
@ -641,91 +633,84 @@ GstPadProbeReturn NvOsdManager::osd_src_pad_buffer_image_probe(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_first_object) {
|
//&& !(frame_number % frame_interval)
|
||||||
//&& !(frame_number % frame_interval)
|
/* Frequency of images to be send will be based on use case.
|
||||||
/* Frequency of images to be send will be based on use case.
|
* Here images is being sent for first object every
|
||||||
* Here images is being sent for first object every
|
* frame_interval(default=30).
|
||||||
* frame_interval(default=30).
|
*/
|
||||||
*/
|
NvDsUserMetaList *usrMetaList = obj_meta->obj_user_meta_list;
|
||||||
NvDsUserMetaList *usrMetaList = obj_meta->obj_user_meta_list;
|
while (usrMetaList != NULL) {
|
||||||
while (usrMetaList != NULL) {
|
NvDsUserMeta *user_event_meta_custom =
|
||||||
NvDsUserMeta *user_event_meta_custom =
|
nvds_acquire_user_meta_from_pool(batch_meta);
|
||||||
nvds_acquire_user_meta_from_pool(batch_meta);
|
NvDsCustomMsgInfo *msg_custom_meta =
|
||||||
NvDsCustomMsgInfo *msg_custom_meta =
|
(NvDsCustomMsgInfo *)g_malloc0(sizeof(NvDsCustomMsgInfo));
|
||||||
(NvDsCustomMsgInfo *)g_malloc0(
|
|
||||||
sizeof(NvDsCustomMsgInfo));
|
|
||||||
|
|
||||||
NvDsUserMeta *usrMetaData =
|
NvDsUserMeta *usrMetaData = (NvDsUserMeta *)usrMetaList->data;
|
||||||
(NvDsUserMeta *)usrMetaList->data;
|
if (usrMetaData->base_meta.meta_type == NVDS_CROP_IMAGE_META) {
|
||||||
if (usrMetaData->base_meta.meta_type ==
|
NvDsObjEncOutParams *enc_jpeg_image =
|
||||||
NVDS_CROP_IMAGE_META) {
|
(NvDsObjEncOutParams *)usrMetaData->user_meta_data;
|
||||||
NvDsObjEncOutParams *enc_jpeg_image =
|
START_PROFILE;
|
||||||
(NvDsObjEncOutParams *)usrMetaData->user_meta_data;
|
encoded_data = g_base64_encode(enc_jpeg_image->outBuffer,
|
||||||
START_PROFILE;
|
enc_jpeg_image->outLen);
|
||||||
encoded_data = g_base64_encode(
|
generate_ts_rfc3339(ts, MAX_TIME_STAMP_LEN);
|
||||||
enc_jpeg_image->outBuffer, enc_jpeg_image->outLen);
|
width = g_strdup_printf(
|
||||||
generate_ts_rfc3339(ts, MAX_TIME_STAMP_LEN);
|
"%f",
|
||||||
width = g_strdup_printf(
|
obj_meta->detector_bbox_info.org_bbox_coords.width);
|
||||||
"%f",
|
height = g_strdup_printf(
|
||||||
obj_meta->detector_bbox_info.org_bbox_coords.width);
|
"%f",
|
||||||
height =
|
obj_meta->detector_bbox_info.org_bbox_coords.height);
|
||||||
g_strdup_printf("%f", obj_meta->detector_bbox_info
|
/* Image message fields are separated by ";".
|
||||||
.org_bbox_coords.height);
|
* Specific Format:
|
||||||
/* Image message fields are separated by ";".
|
* "image;image_format;image_widthximage_height;time;encoded
|
||||||
* Specific Format:
|
* data;" For Example:
|
||||||
* "image;image_format;image_widthximage_height;time;encoded
|
* "image;jpg;640x480;2023-07-31T10:20:13;xxxxxxxxxxx"
|
||||||
* data;" For Example:
|
*/
|
||||||
* "image;jpg;640x480;2023-07-31T10:20:13;xxxxxxxxxxx"
|
message_data =
|
||||||
*/
|
g_strconcat("image;jpg;", width, "x", height, ";", ts,
|
||||||
message_data =
|
";", encoded_data, ";", NULL);
|
||||||
g_strconcat("image;jpg;", width, "x", height, ";",
|
STOP_PROFILE("Base64 Encode Time ");
|
||||||
ts, ";", encoded_data, ";", NULL);
|
msg_custom_meta->size = strlen(message_data);
|
||||||
STOP_PROFILE("Base64 Encode Time ");
|
msg_custom_meta->message = g_strdup(message_data);
|
||||||
msg_custom_meta->size = strlen(message_data);
|
if (user_event_meta_custom) {
|
||||||
msg_custom_meta->message = g_strdup(message_data);
|
user_event_meta_custom->user_meta_data =
|
||||||
if (user_event_meta_custom) {
|
(void *)msg_custom_meta;
|
||||||
user_event_meta_custom->user_meta_data =
|
user_event_meta_custom->base_meta.meta_type =
|
||||||
(void *)msg_custom_meta;
|
NVDS_CUSTOM_MSG_BLOB;
|
||||||
user_event_meta_custom->base_meta.meta_type =
|
user_event_meta_custom->base_meta.copy_func =
|
||||||
NVDS_CUSTOM_MSG_BLOB;
|
(NvDsMetaCopyFunc)meta_copy_func_custom;
|
||||||
user_event_meta_custom->base_meta.copy_func =
|
user_event_meta_custom->base_meta.release_func =
|
||||||
(NvDsMetaCopyFunc)meta_copy_func_custom;
|
(NvDsMetaReleaseFunc)meta_free_func_custom;
|
||||||
user_event_meta_custom->base_meta.release_func =
|
nvds_add_user_meta_to_frame(frame_meta,
|
||||||
(NvDsMetaReleaseFunc)meta_free_func_custom;
|
user_event_meta_custom);
|
||||||
nvds_add_user_meta_to_frame(frame_meta,
|
} else {
|
||||||
user_event_meta_custom);
|
g_print(
|
||||||
} else {
|
"Error in attaching event meta custom to "
|
||||||
g_print(
|
"buffer\n");
|
||||||
"Error in attaching event meta custom to "
|
}
|
||||||
"buffer\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef ENABLE_DUMP_FILE
|
#ifdef ENABLE_DUMP_FILE
|
||||||
gsize size = 0;
|
gsize size = 0;
|
||||||
snprintf(fileObjNameString, 1024, "%s_%d_%d_%s.jpg", ts,
|
snprintf(fileObjNameString, 1024, "%s_%d_%d_%s.jpg", ts,
|
||||||
frame_number, frame_meta->batch_id,
|
frame_number, frame_meta->batch_id,
|
||||||
obj_meta->obj_label);
|
obj_meta->obj_label);
|
||||||
guchar *decoded_data =
|
guchar *decoded_data = g_base64_decode(encoded_data, &size);
|
||||||
g_base64_decode(encoded_data, &size);
|
fp = fopen(fileObjNameString, "wb");
|
||||||
fp = fopen(fileObjNameString, "wb");
|
if (fp) {
|
||||||
if (fp) {
|
fwrite(decoded_data, size, 1, fp);
|
||||||
fwrite(decoded_data, size, 1, fp);
|
fclose(fp);
|
||||||
fclose(fp);
|
|
||||||
} else {
|
|
||||||
g_printerr("Could not open file!\n");
|
|
||||||
}
|
|
||||||
g_free(decoded_data);
|
|
||||||
#endif
|
|
||||||
g_free(encoded_data);
|
|
||||||
g_free(message_data);
|
|
||||||
g_free(width);
|
|
||||||
g_free(height);
|
|
||||||
usrMetaList = NULL;
|
|
||||||
} else {
|
} else {
|
||||||
usrMetaList = usrMetaList->next;
|
g_printerr("Could not open file!\n");
|
||||||
}
|
}
|
||||||
|
g_free(decoded_data);
|
||||||
|
#endif
|
||||||
|
g_free(encoded_data);
|
||||||
|
g_free(message_data);
|
||||||
|
g_free(width);
|
||||||
|
g_free(height);
|
||||||
|
usrMetaList = NULL;
|
||||||
|
} else {
|
||||||
|
usrMetaList = usrMetaList->next;
|
||||||
}
|
}
|
||||||
is_first_object = FALSE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user