#pragma once
#include <iostream>
#include <gst/gst.h>
#include <vector>
#include <memory>

using namespace std;

class DataSource
{
private:
public:
    DataSource(){};
    ~DataSource(){};
    int Id;
    int sourceId;
    std::string uri;
    std::string range;
    GstElement *source_bin = NULL;
    std::string Pid;
    bool Play = false;
    int AddrNum = 0;
};

class InferInfo{
public:
    InferInfo(){};
    ~InferInfo(){};
    static std::shared_ptr<InferInfo> CreateNew();

    bool Play = true;
    std::vector<DataSource> DataSources;
};