I have spent the last few days investigating this. I migrated to Deepstream6.4, which has the new pyds bindings that, in fact, modify the copy and release functions of NvDsEventMsgMeta in bindschema.cpp.
So, if I understand correctly (correct me if I’m wrong) now there is no way to avoid modifying the pybind11 event_message_copy and release functions & rebuilding the pyds bindings?
How is this an improvement compared to the previous release (user defined copy_func and release_func) in terms of flexibility to define custom user structures?
If that is the case, it is now even more complicated than before to pass custom information to the extMsg field of NvDsEventMsgMeta.
I have also investigated eventmsg_payload.cpp and dsmeta_payload.cpp which are called in nvmsgconv.cpp depending on new-api property.
I don’t understand what is the benefit of using nvmsgconv when having custom json information. I read this topic and this topic from 2021, but it seems that during 3 years releases up to 6.4 there haven’t been any positive developments to support these functionalities in Python Deepstream.
What do you propose as the best (easiest and most reliable) solution to process and send custom metadata to kafka?
Thank you for your help!