1 #ifndef WEBRTC_MODULES_BROWSER_CAPTURE_MAIN_SOURCE_BROWSER_CAPTURE_IMPL_H_ 2 #define WEBRTC_MODULES_BROWSER_CAPTURE_MAIN_SOURCE_BROWSER_CAPTURE_IMPL_H_ 3 4 #include "webrtc/modules/video_capture/video_capture.h" 5 6 using namespace webrtc::videocapturemodule; 7 8 namespace webrtc { 9 10 class BrowserDeviceInfoImpl : public VideoCaptureModule::DeviceInfo { 11 public: NumberOfDevices()12 virtual uint32_t NumberOfDevices() { return 1; } 13 Refresh()14 virtual int32_t Refresh() { return 0; } 15 16 virtual int32_t GetDeviceName(uint32_t deviceNumber, 17 char* deviceNameUTF8, 18 uint32_t deviceNameLength, 19 char* deviceUniqueIdUTF8, 20 uint32_t deviceUniqueIdUTF8Length, 21 char* productUniqueIdUTF8 = NULL, 22 uint32_t productUniqueIdUTF8Length = 0, 23 pid_t* pid = 0) { 24 deviceNameUTF8 = const_cast<char*>(kDeviceName); 25 deviceUniqueIdUTF8 = const_cast<char*>(kUniqueDeviceName); 26 productUniqueIdUTF8 = const_cast<char*>(kProductUniqueId); 27 return 1; 28 }; 29 30 NumberOfCapabilities(const char * deviceUniqueIdUTF8)31 virtual int32_t NumberOfCapabilities(const char* deviceUniqueIdUTF8) { 32 return 0; 33 } 34 GetCapability(const char * deviceUniqueIdUTF8,const uint32_t deviceCapabilityNumber,VideoCaptureCapability & capability)35 virtual int32_t GetCapability(const char* deviceUniqueIdUTF8, 36 const uint32_t deviceCapabilityNumber, 37 VideoCaptureCapability& capability) { return 0;}; 38 GetOrientation(const char * deviceUniqueIdUTF8,VideoRotation & orientation)39 virtual int32_t GetOrientation(const char* deviceUniqueIdUTF8, 40 VideoRotation& orientation) { return 0; } 41 GetBestMatchedCapability(const char * deviceUniqueIdUTF8,const VideoCaptureCapability & requested,VideoCaptureCapability & resulting)42 virtual int32_t GetBestMatchedCapability(const char* deviceUniqueIdUTF8, 43 const VideoCaptureCapability& requested, 44 VideoCaptureCapability& resulting) { return 0;} 45 DisplayCaptureSettingsDialogBox(const char * deviceUniqueIdUTF8,const char * dialogTitleUTF8,void * parentWindow,uint32_t positionX,uint32_t positionY)46 virtual int32_t DisplayCaptureSettingsDialogBox(const char* deviceUniqueIdUTF8, 47 const char* dialogTitleUTF8, 48 void* parentWindow, 49 uint32_t positionX, 50 uint32_t positionY) { return 0; } 51 BrowserDeviceInfoImpl()52 BrowserDeviceInfoImpl() : kDeviceName("browser"), kUniqueDeviceName("browser"), kProductUniqueId("browser") {} 53 CreateDeviceInfo()54 static BrowserDeviceInfoImpl* CreateDeviceInfo() { 55 return new BrowserDeviceInfoImpl(); 56 } ~BrowserDeviceInfoImpl()57 virtual ~BrowserDeviceInfoImpl() {} 58 59 private: 60 const char* kDeviceName; 61 const char* kUniqueDeviceName; 62 const char* kProductUniqueId; 63 64 }; 65 } 66 #endif 67