#include <gst/gst.h>

#include <fstream>
#include <iostream>

#include "gstnvdsmeta.h"

class NvOsdManager {
   private:
   public:
    GstElement *nvosd = NULL;
    NvOsdManager();
    bool create_nv_osd();
    ~NvOsdManager();
    static gint frame_number;
    void attach_probe_to_src_nvosd();
    static GstPadProbeReturn osd_src_pad_buffer_probe(GstPad *,
                                                      GstPadProbeInfo *,
                                                      gpointer);
    void attach_probe_to_sink_nvosd();
    static GstPadProbeReturn osd_sink_pad_buffer_probe(GstPad *,
                                                       GstPadProbeInfo *,
                                                       gpointer);
};