Index: media/video/capture/video_capture_device.h |
diff --git a/media/video/capture/video_capture_device.h b/media/video/capture/video_capture_device.h |
index afb4c3567ac3362a9a9cae08c14fada1b507067a..2f63139a3c65348001b3328907bd580bd7129846 100644 |
--- a/media/video/capture/video_capture_device.h |
+++ b/media/video/capture/video_capture_device.h |
@@ -38,9 +38,8 @@ class MEDIA_EXPORT VideoCaptureDevice { |
// VideoCaptureDevice::Create. |
class MEDIA_EXPORT Name { |
public: |
- Name() {} |
- Name(const std::string& name, const std::string& id) |
- : device_name_(name), unique_id_(id) {} |
+ Name(); |
+ Name(const std::string& name, const std::string& id); |
#if defined(OS_WIN) |
// Windows targets Capture Api type: it can only be set on construction. |
@@ -57,14 +56,24 @@ class MEDIA_EXPORT VideoCaptureDevice { |
QTKIT, |
API_TYPE_UNKNOWN |
}; |
+ // For AVFoundation Api, identify devices that are built-in or USB. |
+ enum TransportType { |
+ USB_OR_BUILT_IN, |
+ OTHER_TRANSPORT |
+ }; |
#endif |
#if defined(OS_WIN) || defined(OS_MACOSX) |
Name(const std::string& name, |
const std::string& id, |
- const CaptureApiType api_type) |
- : device_name_(name), unique_id_(id), capture_api_class_(api_type) {} |
+ const CaptureApiType api_type); |
+#endif |
+#if defined(OS_MACOSX) |
+ Name(const std::string& name, |
+ const std::string& id, |
+ const CaptureApiType api_type, |
+ const TransportType transport_type); |
#endif |
- ~Name() {} |
+ ~Name(); |
// Friendly name of a device |
const std::string& name() const { return device_name_; } |
@@ -95,6 +104,11 @@ class MEDIA_EXPORT VideoCaptureDevice { |
CaptureApiType capture_api_type() const { |
return capture_api_class_.capture_api_type(); |
} |
+#endif |
+#if defined(OS_MACOSX) |
+ TransportType transport_type() const { |
+ return transport_class_.transport_type(); |
+ } |
#endif // if defined(OS_WIN) |
private: |
@@ -118,6 +132,23 @@ class MEDIA_EXPORT VideoCaptureDevice { |
CaptureApiClass capture_api_class_; |
#endif |
+#if defined(OS_MACOSX) |
+ // This class wraps the TransportType to give it a by default value if not |
+ // initialized. |
+ class TransportClass { |
Robert Sesek
2014/07/01 14:16:07
Could you just use a struct instead? I guess that'
mcasas
2014/07/01 16:06:10
I was doubting about this one but your comment dec
|
+ public: |
+ TransportClass(): transport_type_(OTHER_TRANSPORT) {} |
+ TransportClass(const TransportType transport_type) |
+ : transport_type_(transport_type) {} |
+ TransportType transport_type() const { |
+ return transport_type_; |
+ } |
+ private: |
+ TransportType transport_type_; |
+ }; |
+ |
+ TransportClass transport_class_; |
+#endif |
// Allow generated copy constructor and assignment. |
}; |