C++SDK  1.0.0
screenrecorder.h
浏览该文件的文档.
1 #ifndef RT_AVDScreenRecorder_H_
2 #define RT_AVDScreenRecorder_H_
3 
4 #include "api/defines.h"
5 #include "api/common.h"
6 namespace tee3 {
7  namespace avd {
8 
16  public:
17 
18  struct IMG {
19 
20  };
21  struct ScreenImgType {
24  };
25  typedef std::vector<ScreenImgType> ScreensImgType;
26 
27  static IAVDScreenRecorder* create();
28  static void destroy(IAVDScreenRecorder* recorder);
29  //Listener
31  public:
33 
45  virtual void videoEncodedOut(VideoCodec format, uint64 timestamp_ns, unsigned int width, unsigned int height, bool isKeyFrame, const uint8 *data, unsigned int len) = 0;
46 
62  virtual void videoYUVOut(uint64 timestamp_ns,
63  const uint8_t* dataY,
64  const uint8_t* dataU,
65  const uint8_t* dataV,
66  int width,
67  int height,
68  int strideY,
69  int strideU,
70  int strideV,
71  int rotation) = 0;
72  };
74  public:
85  virtual void audioPCMOut(uint64 timestamp_ns, int sampleRate, int channels, const uint8 *data, unsigned int len) = 0;
86 
87  };
88 
89  virtual Result setVideoListener(IVideoListener* listener) = 0;
90  virtual Result setAudioListener(IAudioListener* listener) = 0;
91 
92  //Setting interface
93  virtual Result setRecorderFile(std::string filePath) = 0;
94 
95  // Not implement interface
96  virtual Result setVideoFrameRate(uint8 frameRate) {
97  //UNREFERENCED_PARAMETER(frameRate);
98  return Err_Not_Implemented;
99  }
100  virtual Result setAudioInfo(uint32 frameRate, uint8 channel, uint8 bitPerSample) {
101  //UNREFERENCED_PARAMETER(frameRate); UNREFERENCED_PARAMETER(channel); UNREFERENCED_PARAMETER(bitPerSample);
102  return Err_Not_Implemented;
103  }
105  //UNREFERENCED_PARAMETER(format);
106  return Err_Not_Implemented;
107  }
109  //UNREFERENCED_PARAMETER(format);
110  return Err_Not_Implemented;
111  }
112 
113  virtual Result setVideoFps(uint8 fps) = 0;
114  virtual Result setVideoBitRate(uint32 bitRate) = 0;
115  virtual Result setVideoResolution(uint32 width, uint32 height) = 0;
116  virtual Result setRecordedAudio(AudioRecordedType recordedAudio) = 0;
117  virtual Result setRecordedScreen(const ScreenWindow& screen) = 0;
118  //Control interface
119  virtual Result getScreenWindows(ScreensType& wnds) = 0;
120  virtual Result getScreenWindows(ScreensImgType& wnds) = 0;
121  virtual Result startScreenRecord() = 0;
122  virtual Result stopScreenRecord() = 0;
123  virtual Result pauseScreenRecord() = 0;
124  virtual Result restoreScreenRecord() = 0;
125  protected:
126  virtual ~IAVDScreenRecorder() {}
127  };
128  }
129 }
130 
131 #endif//RT_AVDScreenRecorder_H_
Definition: screenrecorder.h:18
Definition: screenrecorder.h:73
virtual ~IAVDScreenRecorder()
Definition: screenrecorder.h:126
int Result
Definition: combase.h:13
#define Err_Not_Implemented
Definition: errorcode.h:20
#define RT_API_EXPORT
Definition: defines.h:188
unsigned int uint32
Definition: defines.h:393
VideoCodec
Definition: combase.h:174
ScreensType screen
Definition: screenrecorder.h:22
Definition: screenrecorder.h:21
unsigned long long uint64
Definition: defines.h:382
virtual Result setVideoFrameRate(uint8 frameRate)
Definition: screenrecorder.h:96
IMG img
Definition: screenrecorder.h:23
virtual Result setAudioEncodedType(AudioCodec format)
Definition: screenrecorder.h:108
Definition: common.h:302
Definition: screenrecorder.h:30
unsigned char uint8
Definition: defines.h:397
Definition: screenrecorder.h:15
AudioRecordedType
Definition: combase.h:693
std::vector< ScreenImgType > ScreensImgType
Definition: screenrecorder.h:25
virtual Result setAudioInfo(uint32 frameRate, uint8 channel, uint8 bitPerSample)
Definition: screenrecorder.h:100
AudioCodec
Definition: combase.h:684
virtual Result setVideoEncodedType(VideoCodec format)
Definition: screenrecorder.h:104
Definition: audiocapture.h:5
std::vector< ScreenWindow > ScreensType
Definition: common.h:310