5 #include "av_device_base.h"
13 #define DEVICE_UNKNOWN "\\unknown" // Unknown device type.
16 #define DEVICE_VIDEO "\\video" // Video device type.
17 #define DEVICE_CAMERA "\\video\\camera" // Camera device type.
18 #define DEVICE_REMOTE_VIDEO "\\video\\remote_video" // The virtual remote video output device.
19 #define DEVICE_EXTERNAL_CAPTURE "\\video\\external_capture" //external capture device type.
21 #define DEVICE_LOCAL_SCREEN_VIDEO "\\video\\local_screen_video" //local screen video.
22 #define DEVICE_REMOTE_SCREEN_VIDEO "\\video\\remote_screen_video" //remote screen video.
25 #define DEVICE_AUDIO "\\audio" // Audio device type.
26 #define DEVICE_MIC "\\audio\\mic" // Mic device type.
27 #define DEVICE_PLAYER "\\audio\\player" // Sound player device type.
28 #define DEVICE_ACCOMPANY "\\audio\\accompany" // Audio Accompany device type.
29 #define DEVICE_REMOTE_AUDIO "\\audio\\remote_audio" // The virtual remote audio output device.
30 #define DEVICE_MIX "\\audio\\mix" // Mix device
31 #define DEVICE_MIX_INPUT "\\audio\\mix\\input" // Input mix device
32 #define DEVICE_MIX_OUTPUT "\\audio\\mix\\output" // Output mix device
39 #define MIN_AUDIO_DEVICE_VOLUME 0
42 #define MAX_AUDIO_DEVICE_VOLUME 100
45 #define DEFAULT_SCREEN_VIDEO_CAPTURE_FPS 10
48 #define MIN_SCREEN_VIDEO_CAPTURE_FPS 1
51 #define MAX_SCREEN_VIDEO_CAPTURE_FPS 10
77 virtual uint32 GetVolume() = 0;
90 virtual void SetVolume(uint32 value) = 0;
99 virtual uint32 GetDynamicVolume() = 0;
106 typedef void(*FrameDataCallback)(
AudioFrame* audio_frame,
void* custom_data);
112 virtual void SetFrameDataCallback(FrameDataCallback frame_callback,
void* custom_data = NULL) = 0;
117 virtual FrameDataCallback GetFrameDataCallback() = 0;
122 virtual void* GetFrameCustomData() = 0;
143 typedef void(*PreviewCallback)(
AudioFrame* audio_frame,
void* custom_data);
153 virtual void SetPreviewCallback(PreviewCallback frame_callback,
void* custom_data = NULL) = 0;
159 virtual PreviewCallback GetPreviewCallback() = 0;
165 virtual void* GetPreviewCustomData() = 0;
223 AV_ACCOMPANY_SOURCE_TYPE_NONE = 0,
224 AV_ACCOMPANY_SOURCE_TYPE_SYSTEM = 1,
225 ACCOMPANY_SOURCE_TYPE_PROCESS = 2,
243 virtual void SetSource(std::string player_path, std::string media_file_path, SourceType source_type) = 0;
250 virtual SourceType GetSourceType() = 0;
257 virtual std::string GetPlayerPath() = 0;
264 virtual std::string GetMediaFilePath() = 0;
281 typedef void(*FrameDataCallback)(
VideoFrame* video_frame,
void* custom_data);
286 virtual void SetFrameDataCallback(FrameDataCallback frame_callback,
void* custom_data = NULL) = 0;
291 virtual FrameDataCallback GetFrameDataCallback() = 0;
296 virtual void* GetFrameCustomData() = 0;
337 typedef void(*PreviewCallback)(
VideoFrame* video_frame,
void* custom_data);
347 virtual void SetPreviewCallback(PreviewCallback frame_callback,
void* custom_data = NULL) = 0;
359 virtual int SetPreviewParam(std::string
id, uint32 width, uint32 height,
ColorFormat color_format) = 0;
366 virtual int ClearPreviewParam() = 0;
372 virtual PreviewCallback GetPreviewCallback() = 0;
378 virtual void* GetPreviewCustomData() = 0;
389 typedef void(*PreTreatmentFun)(
VideoFrame* video_frame,
void* custom_data);
399 virtual void SetPreTreatmentFun(PreTreatmentFun pre_fun,
void* custom_data = NULL) = 0;
441 virtual void* GetPreviewLayer() = 0;
450 virtual void* GetCameraSession() = 0;
473 virtual int OnCaptureFrame(
VideoFrame &frame) = 0;
516 virtual void SetScreenCaptureParam(uint32 left = 0, uint32 top = 0, uint32 right = 0, uint32 bottom = 0, uint32 fps = DEFAULT_SCREEN_VIDEO_CAPTURE_FPS) = 0;
526 virtual void GetScreenCaptureParam(uint32 &left, uint32 &top, uint32 &right, uint32 &bottom, uint32 &fps) = 0;
537 virtual void EnableHDMode(
bool is_enable) = 0;
543 #endif // #ifndef AV_DEVICE_H_
Definition: av_audio_ctrl.h:6
远端视频设备的封装类。
Definition: av_device.h:409
视频预览能力的封装类。
Definition: av_device.h:314
VideoSrcType
视频源类型。
Definition: av_common.h:140
视频设备封装类的基类。
Definition: av_device.h:279
视频预览能力的封装类。
Definition: av_device.h:321
视频预处理能力的封装类。
Definition: av_device.h:387
ColorFormat
色彩格式。
Definition: av_common.h:119
音频数据帧。
Definition: av_common.h:98
远端音频设备的封装类。
Definition: av_device.h:175
视频帧。
Definition: av_common.h:207
uint32 height
预览期望图像像素高
Definition: av_device.h:324
SourceType
伴奏源类型。
Definition: av_device.h:222
ColorFormat color_format
预览期望图像像素宽
Definition: av_device.h:325
uint32 width
预览设备id
Definition: av_device.h:323
伴奏设备。
Definition: av_device.h:214
音频设备封装类的基类。
Definition: av_device.h:65
远端屏幕视频设备的封装类。
Definition: av_device.h:483
VideoSrcType src_type
预览期望图像格式
Definition: av_device.h:326
音视频设备封装类的基类。
Definition: av_device_base.h:18
外部视频捕获设备。
Definition: av_device.h:461
std::string device_id
Definition: av_device.h:322
摄像头的封装类。
Definition: av_device.h:423
音频预览能力的封装类。
Definition: av_device.h:133
本地屏幕视频设备的封装类。
Definition: av_device.h:500
麦克风的封装类。
Definition: av_device.h:189
音频播放设备的封装类。
Definition: av_device.h:202