Blame view

src/FFNvDecoderManager.h 1007 Bytes
aac5773f   hucm   功能基本完成,接口待打磨
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  #include "FFNvDecoder.h"
  #include<iostream>
  #include<vector>
  #include<map>
  
  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<string, FFNvDecoder*> decoderMap;
  };