Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: media/video/capture/android/video_capture_device_android.h

Issue 23903032: Move NV21 colorspace treatment from VideoCapture java to C++ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added ImageFormat.java automatic generation to android_webview/Android.mk, missed before. Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_ANDROID_H_ 5 #ifndef MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_ANDROID_H_
6 #define MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_ANDROID_H_ 6 #define MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_ANDROID_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 #include <string> 9 #include <string>
10 10
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 jboolean flip_horiz); 46 jboolean flip_horiz);
47 47
48 private: 48 private:
49 enum InternalState { 49 enum InternalState {
50 kIdle, // The device is opened but not in use. 50 kIdle, // The device is opened but not in use.
51 kAllocated, // All resouces have been allocated and camera can be started. 51 kAllocated, // All resouces have been allocated and camera can be started.
52 kCapturing, // Video is being captured. 52 kCapturing, // Video is being captured.
53 kError // Hit error. User needs to recover by destroying the object. 53 kError // Hit error. User needs to recover by destroying the object.
54 }; 54 };
55 55
56 // Automatically generated enum to interface with Java world.
57 enum AndroidImageFormat {
58 #define DEFINE_ANDROID_IMAGEFORMAT(name, value) name = value,
59 #include "media/video/capture/android/imageformat_list.h"
60 #undef DEFINE_ANDROID_IMAGEFORMAT
61 };
wjia(left Chromium) 2013/09/18 18:35:27 This enum should be moved into cc file.
62
56 explicit VideoCaptureDeviceAndroid(const Name& device_name); 63 explicit VideoCaptureDeviceAndroid(const Name& device_name);
57 bool Init(); 64 bool Init();
65 VideoPixelFormat GetColorspace();
58 void SetErrorState(const std::string& reason); 66 void SetErrorState(const std::string& reason);
59 67
60 // Prevent racing on accessing |state_| and |observer_| since both could be 68 // Prevent racing on accessing |state_| and |observer_| since both could be
61 // accessed from different threads. 69 // accessed from different threads.
62 base::Lock lock_; 70 base::Lock lock_;
63 InternalState state_; 71 InternalState state_;
64 VideoCaptureDevice::EventHandler* observer_; 72 VideoCaptureDevice::EventHandler* observer_;
65 73
66 Name device_name_; 74 Name device_name_;
67 VideoCaptureCapability current_settings_; 75 VideoCaptureCapability current_settings_;
68 76
69 // Java VideoCaptureAndroid instance. 77 // Java VideoCaptureAndroid instance.
70 base::android::ScopedJavaGlobalRef<jobject> j_capture_; 78 base::android::ScopedJavaGlobalRef<jobject> j_capture_;
71 79
72 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceAndroid); 80 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceAndroid);
73 }; 81 };
74 82
75 } // namespace media 83 } // namespace media
76 84
77 #endif // MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_ANDROID_H_ 85 #endif // MEDIA_VIDEO_CAPTURE_ANDROID_VIDEO_CAPTURE_DEVICE_ANDROID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698