音视频通讯SDK API参考手册  iOS 1.4.0
av_video_ctrl.h
1 #ifndef AV_VIDEO_CTRL_H_
2 #define AV_VIDEO_CTRL_H_
3 
4 #include "av_common.h"
5 
6 #if defined(ANDROID)
7 #include <jni.h>
8 #endif
9 
10 namespace tencent {
11 namespace av {
12 
15 };
16 
17 struct CameraInfo {
18  std::string device_id; //摄像头vidpid
19  uint32 width;
20  uint32 height;
21  uint32 fps;
22 };
23 
24 class AV_EXPORT AVVideoCtrl {
25  public:
26  virtual ~AVVideoCtrl() {}
27 
33  virtual std::string GetQualityTips() = 0;
34 
42  virtual bool SetExternalCapAbility(CameraInfo* pinfo) = 0;
43 
44 #if defined(ANDROID) || defined(TARGET_OS_IPHONE)
45  //摄像头设备相关
46  typedef void (*EnableCameraCompleteCallback)(bool is_enable, int ret_code, void* custom_data);
47  typedef void (*SwitchCameraCompleteCallback)(int camera_id, int ret_code, void* custom_data);
48 
62  virtual int EnableCamera(int camera_id, bool is_enable, EnableCameraCompleteCallback callback, void* custom_data) = 0;
63 
77  virtual int SwitchCamera(int camera_id, SwitchCameraCompleteCallback callback, void* custom_data) = 0;
78 
87  virtual int GetCameraNum() = 0;
88 
97  virtual void SetRotation(int rotation) = 0;
98 
99 #if defined(ANDROID)
100  virtual void SetCameraPara(jobject cameraPara) = 0;
101 
102  virtual jobject GetCameraPara() = 0;
103 #endif
104 
105  //远端视频设备相关
106  typedef void (*RemoteVideoPreviewCallback)(VideoFrame* video_frame, void* custom_data);
107  typedef void (*RemoteVideoRenderFrameCallback)(const std::string& identifer, void* custom_data);
108 
124  virtual bool SetRemoteVideoPreviewCallback(RemoteVideoPreviewCallback callback, void *custom_data) = 0;
125 
139  virtual bool SetRemoteVideoRenderFrameCallback(RemoteVideoRenderFrameCallback callback, void *custom_data) = 0;
140 
141 
142  //外部视频捕获设备相关
143  typedef void (*EnableExternalCaptureCompleteCallback)(bool, int, void*);
144 
154  virtual int EnableExternalCapture(bool is_enable, EnableExternalCaptureCompleteCallback callback, void* custom_data) = 0;
155 
168  virtual int FillExternalCaptureFrame(VideoFrame &frame) = 0;
169 
170 #endif
171 };
172 
173 } // namespace av
174 } // namespace tencent
175 
176 #endif // #ifndef AV_VIDEO_CTRL_H_
Definition: av_audio_ctrl.h:6
VideoCodecType
Definition: av_video_ctrl.h:13
Definition: av_video_ctrl.h:14
uint32 height
采集画面宽度
Definition: av_video_ctrl.h:20
virtual ~AVVideoCtrl()
Definition: av_video_ctrl.h:26
视频帧。
Definition: av_common.h:157
Definition: av_video_ctrl.h:24
std::string device_id
Definition: av_video_ctrl.h:18
Definition: av_video_ctrl.h:17
uint32 width
Definition: av_video_ctrl.h:19
uint32 fps
采集画面高度
Definition: av_video_ctrl.h:21