#include "FFNvDecoder.h" #include #include #include using namespace std; class FFNvDecoderManager{ public: static FFNvDecoderManager* getInstance(){ static FFNvDecoderManager* singleton = nullptr; if (singleton == nullptr){ singleton = new FFNvDecoderManager(); } return singleton; } ~FFNvDecoderManager() { closeAllDecoder(); } FFNvDecoder* createDecoder(const char * uri, POST_DECODE_CALLBACK post_decoded_cbk, string name = ""); void setUserPtr(string name, const void * userPtr); FFNvDecoder* getDecoderByName(const string name); void startDecode(FFNvDecoder*); void startAllDecode(); bool startDecodeByName(string name); bool closeDecoderByName(string name); void closeAllDecoder(); bool pauseDecoder(string name); bool resumeDecoder(string name); bool isSurport(const char* uri); int count(); private: FFNvDecoderManager(){} private: map decoderMap; };