OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_FACTORY_ANDROID_H_ | 5 #ifndef MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_FACTORY_ANDROID_H_ |
6 #define MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_FACTORY_ANDROID_H_ | 6 #define MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_FACTORY_ANDROID_H_ |
7 | 7 |
8 #include "media/video/capture/video_capture_device_factory.h" | 8 #include "media/video/capture/video_capture_device_factory.h" |
9 | 9 |
10 #include <jni.h> | 10 #include <jni.h> |
11 | 11 |
12 #include "base/android/scoped_java_ref.h" | 12 #include "base/android/scoped_java_ref.h" |
13 #include "media/video/capture/video_capture_device.h" | 13 #include "media/video/capture/video_capture_device.h" |
14 | 14 |
15 namespace media { | 15 namespace media { |
16 | 16 |
17 // VideoCaptureDeviceFactory on Android. This class implements the static | 17 // VideoCaptureDeviceFactory on Android. This class implements the static |
18 // VideoCapture methods and the factory of VideoCaptureAndroid. | 18 // VideoCapture methods and the factory of VideoCaptureAndroid. |
19 class MEDIA_EXPORT VideoCaptureDeviceFactoryAndroid : | 19 class MEDIA_EXPORT VideoCaptureDeviceFactoryAndroid : |
20 public VideoCaptureDeviceFactory { | 20 public VideoCaptureDeviceFactory { |
21 public: | 21 public: |
22 // Automatically generated enum to interface with Java world. | |
23 enum AndroidImageFormat { | |
24 #define DEFINE_ANDROID_IMAGEFORMAT(name, value) name = value, | |
25 #include "media/video/capture/android/imageformat_list.h" | |
26 #undef DEFINE_ANDROID_IMAGEFORMAT | |
27 }; | |
28 static bool RegisterVideoCaptureDeviceFactory(JNIEnv* env); | 22 static bool RegisterVideoCaptureDeviceFactory(JNIEnv* env); |
29 static base::android::ScopedJavaLocalRef<jobject> createVideoCaptureAndroid( | 23 static base::android::ScopedJavaLocalRef<jobject> createVideoCaptureAndroid( |
30 int id, | 24 int id, |
31 jlong nativeVideoCaptureDeviceAndroid); | 25 jlong nativeVideoCaptureDeviceAndroid); |
32 | 26 |
33 VideoCaptureDeviceFactoryAndroid() {} | 27 VideoCaptureDeviceFactoryAndroid() {} |
34 virtual ~VideoCaptureDeviceFactoryAndroid() {} | 28 virtual ~VideoCaptureDeviceFactoryAndroid() {} |
35 | 29 |
36 virtual scoped_ptr<VideoCaptureDevice> Create( | 30 virtual scoped_ptr<VideoCaptureDevice> Create( |
37 const VideoCaptureDevice::Name& device_name) override; | 31 const VideoCaptureDevice::Name& device_name) override; |
38 virtual void GetDeviceNames(VideoCaptureDevice::Names* device_names) override; | 32 virtual void GetDeviceNames(VideoCaptureDevice::Names* device_names) override; |
39 virtual void GetDeviceSupportedFormats( | 33 virtual void GetDeviceSupportedFormats( |
40 const VideoCaptureDevice::Name& device, | 34 const VideoCaptureDevice::Name& device, |
41 VideoCaptureFormats* supported_formats) override; | 35 VideoCaptureFormats* supported_formats) override; |
42 | 36 |
43 private: | 37 private: |
44 | 38 |
45 DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceFactoryAndroid);}; | 39 DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceFactoryAndroid);}; |
46 } // namespace media | 40 } // namespace media |
47 | 41 |
48 #endif // MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_FACTORY_ANDROID_H_ | 42 #endif // MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_FACTORY_ANDROID_H_ |
OLD | NEW |