Is it possible to put object metadata in user-metadata?

• Hardware Platform (Jetson / GPU) : jetson
• DeepStream Version : 5.1
• JetPack Version (valid for Jetson only) : 4.5
• TensorRT Version : 7.1.x

I have a three custom elements gstreamer in the pipeline, the first one is remove some object-metadata user-metadata and the second element is tracker and the last is get usermetadata and put them in the object metadata again,
My purpose is that I don’t want to tracker follows up some objects and for this I have to put those object metadata in user-metadata then remove them, So in the last element capture those metadata from user-metadata then put them in new object-metadata.

The main pipeline is like this:

… > first_element > tracker > last_element > …

First of all, I want to know is it possible to do this way?
snippet code for first element : I used from this repo.

            user_meta = pyds.nvds_acquire_user_meta_from_pool(batch_meta)
                user_meta.user_meta_data = obj_meta;
                user_meta.base_meta.meta_type = pyds.NvDsMetaType.NVDS_OBJ_META
                pyds.user_copyfunc(user_meta, meta_copy_func)
                pyds.user_releasefunc(user_meta, meta_free_func)
                pyds.nvds_add_user_meta_to_frame(frame_meta, user_meta)

if I put object metadata in user-metadata, like this :

user_event_meta.user_meta_data = obj_meta

Is it possible to receive all of properties of object-metadata like object_id,, rect_params.left, … from user-metadata in the last element?

There is already sample of deepstream-user-metadata-test for how to generate new type of user metadata. Please refer to the code.

Please make sure you are familiar with gstreamer basic knowledge and coding skills before you start with deepstream. Metadata