OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ | 11 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ |
12 #define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ | 12 #define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ |
13 | 13 |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #include "webrtc/modules/video_capture/video_capture.h" | 16 #include "webrtc/modules/video_capture/video_capture.h" |
17 #include "webrtc/modules/video_capture/video_capture_delay.h" | 17 #include "webrtc/modules/video_capture/video_capture_delay.h" |
18 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h" | 18 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h" |
19 | 19 |
20 namespace webrtc | 20 namespace webrtc |
21 { | 21 { |
22 namespace videocapturemodule | 22 namespace videocapturemodule |
23 { | 23 { |
24 class DeviceInfoImpl: public VideoCaptureModule::DeviceInfo | 24 class DeviceInfoImpl: public VideoCaptureModule::DeviceInfo |
25 { | 25 { |
26 public: | 26 public: |
27 DeviceInfoImpl(const int32_t id); | 27 DeviceInfoImpl(); |
28 virtual ~DeviceInfoImpl(void); | 28 virtual ~DeviceInfoImpl(void); |
29 virtual int32_t NumberOfCapabilities(const char* deviceUniqueIdUTF8); | 29 virtual int32_t NumberOfCapabilities(const char* deviceUniqueIdUTF8); |
30 virtual int32_t GetCapability( | 30 virtual int32_t GetCapability( |
31 const char* deviceUniqueIdUTF8, | 31 const char* deviceUniqueIdUTF8, |
32 const uint32_t deviceCapabilityNumber, | 32 const uint32_t deviceCapabilityNumber, |
33 VideoCaptureCapability& capability); | 33 VideoCaptureCapability& capability); |
34 | 34 |
35 virtual int32_t GetBestMatchedCapability( | 35 virtual int32_t GetBestMatchedCapability( |
36 const char* deviceUniqueIdUTF8, | 36 const char* deviceUniqueIdUTF8, |
37 const VideoCaptureCapability& requested, | 37 const VideoCaptureCapability& requested, |
(...skipping 11 matching lines...) Expand all Loading... |
49 virtual int32_t CreateCapabilityMap(const char* deviceUniqueIdUTF8)=0; | 49 virtual int32_t CreateCapabilityMap(const char* deviceUniqueIdUTF8)=0; |
50 | 50 |
51 /* Returns the expected Capture delay*/ | 51 /* Returns the expected Capture delay*/ |
52 int32_t GetExpectedCaptureDelay(const DelayValues delayValues[], | 52 int32_t GetExpectedCaptureDelay(const DelayValues delayValues[], |
53 const uint32_t sizeOfDelayValues, | 53 const uint32_t sizeOfDelayValues, |
54 const char* productId, | 54 const char* productId, |
55 const uint32_t width, | 55 const uint32_t width, |
56 const uint32_t height); | 56 const uint32_t height); |
57 protected: | 57 protected: |
58 // Data members | 58 // Data members |
59 int32_t _id; | |
60 typedef std::vector<VideoCaptureCapability> VideoCaptureCapabilities; | 59 typedef std::vector<VideoCaptureCapability> VideoCaptureCapabilities; |
61 VideoCaptureCapabilities _captureCapabilities; | 60 VideoCaptureCapabilities _captureCapabilities; |
62 RWLockWrapper& _apiLock; | 61 RWLockWrapper& _apiLock; |
63 char* _lastUsedDeviceName; | 62 char* _lastUsedDeviceName; |
64 uint32_t _lastUsedDeviceNameLength; | 63 uint32_t _lastUsedDeviceNameLength; |
65 }; | 64 }; |
66 } // namespace videocapturemodule | 65 } // namespace videocapturemodule |
67 } // namespace webrtc | 66 } // namespace webrtc |
68 #endif // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ | 67 #endif // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_ |
OLD | NEW |