OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license | |
5 * that can be found in the LICENSE file in the root of the source | |
6 * tree. An additional intellectual property rights grant can be found | |
7 * in the file PATENTS. All contributing project authors may | |
8 * be found in the AUTHORS file in the root of the source tree. | |
9 */ | |
10 | |
11 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_I
NFO_H_ | |
12 #define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_I
NFO_H_ | |
13 | |
14 #include "webrtc/modules/video_capture/device_info_impl.h" | |
15 #include "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_utility.h" | |
16 #include "webrtc/modules/video_capture/video_capture_impl.h" | |
17 | |
18 | |
19 @class VideoCaptureMacQTKitInfoObjC; | |
20 | |
21 namespace webrtc | |
22 { | |
23 namespace videocapturemodule | |
24 { | |
25 | |
26 class VideoCaptureMacQTKitInfo: public DeviceInfoImpl | |
27 { | |
28 public: | |
29 | |
30 VideoCaptureMacQTKitInfo(const int32_t id); | |
31 virtual ~VideoCaptureMacQTKitInfo(); | |
32 | |
33 int32_t Init(); | |
34 | |
35 virtual uint32_t NumberOfDevices(); | |
36 | |
37 /* | |
38 * Returns the available capture devices. | |
39 * deviceNumber -[in] index of capture device | |
40 * deviceNameUTF8 - friendly name of the capture device | |
41 * deviceUniqueIdUTF8 - unique name of the capture device if it exist. | |
42 * Otherwise same as deviceNameUTF8 | |
43 * productUniqueIdUTF8 - unique product id if it exist. Null terminated | |
44 * otherwise. | |
45 */ | |
46 virtual int32_t GetDeviceName( | |
47 uint32_t deviceNumber, char* deviceNameUTF8, | |
48 uint32_t deviceNameLength, char* deviceUniqueIdUTF8, | |
49 uint32_t deviceUniqueIdUTF8Length, | |
50 char* productUniqueIdUTF8 = 0, | |
51 uint32_t productUniqueIdUTF8Length = 0); | |
52 | |
53 /* | |
54 * Returns the number of capabilities for this device | |
55 */ | |
56 virtual int32_t NumberOfCapabilities( | |
57 const char* deviceUniqueIdUTF8); | |
58 | |
59 /* | |
60 * Gets the capabilities of the named device | |
61 */ | |
62 virtual int32_t GetCapability( | |
63 const char* deviceUniqueIdUTF8, | |
64 const uint32_t deviceCapabilityNumber, | |
65 VideoCaptureCapability& capability); | |
66 | |
67 /* | |
68 * Gets the capability that best matches the requested width, height and fr
ame rate. | |
69 * Returns the deviceCapabilityNumber on success. | |
70 */ | |
71 virtual int32_t GetBestMatchedCapability( | |
72 const char* deviceUniqueIdUTF8, | |
73 const VideoCaptureCapability& requested, | |
74 VideoCaptureCapability& resulting); | |
75 | |
76 /* | |
77 * Display OS /capture device specific settings dialog | |
78 */ | |
79 virtual int32_t DisplayCaptureSettingsDialogBox( | |
80 const char* deviceUniqueIdUTF8, | |
81 const char* dialogTitleUTF8, void* parentWindow, | |
82 uint32_t positionX, uint32_t positionY); | |
83 | |
84 protected: | |
85 virtual int32_t CreateCapabilityMap( | |
86 const char* deviceUniqueIdUTF8); | |
87 | |
88 VideoCaptureMacQTKitInfoObjC* _captureInfo; | |
89 }; | |
90 } // namespace videocapturemodule | |
91 } // namespace webrtc | |
92 | |
93 #endif // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKI
T_INFO_H_ | |
OLD | NEW |