Deepstream deepcopy metadata

Hello, I’m trying to deep copy the frame meta so that it doesn’t get overwritten when a new buffer arrives while another thread is processing it. A segmentation error occurs when I use the nvds_copy_frame_meta function to copy the frame meta. You can reproduce the code by iterating through frames and attempting to deep copy frame meta in deepstream test 3.

What may be the cause of that?
ThankYou,
Chaki

NVIDIA RTX2070• Hardware Platform (Jetson / GPU)**
6.1• DeepStream Version**
8.2.5.1• TensorRT Version**

here is a sample:
NvDsFrameMeta *holder = nvds_acquire_frame_meta_from_pool(frame_meta);
nvds_copy_frame_meta(frame_meta, holder );

When I deep copy the frame meta and try to use obj meta list inside it in another thread, I still get a segmentation error.


I’d like to extract the data contained within the metadata in order to generate JSON data. When I try to pass obj meta list in a struct and process it in another threat with data from the queue, I get a segmentation error when I try to access its values. When I iterate through its values in the main thread, this does not happen.

This one works without any problem. But it’s slow.

When I transfer the generateJsonData part to the other processing function it gives segmentation error when I try to access the data inside it.


h

please use nvds_copy_frame_meta_list
/**

  • \brief Makes a deep copy of a source frame meta list to the frame meta list
  • in a specified batch meta.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.