My understanding is that the MsgConv plugin only processes a single NvDsEventMsgMeta object, and sends the constructed JSON to the Broker plugin, to be sent via AMQP or other protocol. Is this correct?
→ it’s correct for NVDS_PAYLOAD_DEEPSTREAM
is there a way I can construct a single message in the MsgConv plugin from all the NvDsEventMsgMeta objects in a single frame?
→ in case you want to implement based on type NVDS_PAYLOAD_CUSTOM, you can refer to how NVDS_PAYLOAD_DEEPSTREAM_MINIMAL in sources/gst-plugins/gst-nvmsgconv/gstnvmsgconv.c::gst_nvmsgconv_transform_ip implemented. it read all object metadata in one frame into one list, which will get processed by sources/libs/nvmsgconv/nvmsgconv.cp::generate_deepstream_message_minimal, it should meet your requirements.