#include #include #include #include "config_manager.hpp" #include "gstnvdsinfer.h" #include "gstnvdsmeta.h" #include "nvds_version.h" #include "nvdsinfer_custom_impl.h" class NvInferServerManager { private: public: GstElement *primary_detector = NULL; int pgie_batch_size; static unsigned int PGIE_NET_WIDTH; static unsigned int PGIE_NET_HEIGHT; static unsigned int MUXER_OUTPUT_WIDTH; static unsigned int MUXER_OUTPUT_HEIGHT; static gint frame_number; static guint use_device_mem; std::string inferserver_pgie_config_file; NvInferServerManager(); bool create_nv_infer_server(int); ~NvInferServerManager(); static GstPadProbeReturn osd_sink_pad_buffer_probe(GstPad *, GstPadProbeInfo *, gpointer); void attach_probe_to_element(GstElement *); static GstPadProbeReturn pgie_pad_buffer_probe(GstPad *, GstPadProbeInfo *, gpointer); static GstPadProbeReturn osd_sink_pad_buffer_probe_new(GstPad *, GstPadProbeInfo *, gpointer); };