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

Side by Side Diff: media/capture/video/android/video_capture_device_factory_android.cc

Issue 2320873002: Revert of Video capture Android: enable unittests for Camera2 API (Closed)
Patch Set: Created 4 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 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 #include "media/capture/video/android/video_capture_device_factory_android.h" 5 #include "media/capture/video/android/video_capture_device_factory_android.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/android/context_utils.h" 9 #include "base/android/context_utils.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
(...skipping 23 matching lines...) Expand all
34 VideoCaptureDeviceFactoryAndroid::CreateDevice( 34 VideoCaptureDeviceFactoryAndroid::CreateDevice(
35 const VideoCaptureDeviceDescriptor& device_descriptor) { 35 const VideoCaptureDeviceDescriptor& device_descriptor) {
36 DCHECK(thread_checker_.CalledOnValidThread()); 36 DCHECK(thread_checker_.CalledOnValidThread());
37 int id; 37 int id;
38 if (!base::StringToInt(device_descriptor.device_id, &id)) 38 if (!base::StringToInt(device_descriptor.device_id, &id))
39 return std::unique_ptr<VideoCaptureDevice>(); 39 return std::unique_ptr<VideoCaptureDevice>();
40 40
41 std::unique_ptr<VideoCaptureDeviceAndroid> video_capture_device( 41 std::unique_ptr<VideoCaptureDeviceAndroid> video_capture_device(
42 new VideoCaptureDeviceAndroid(device_descriptor)); 42 new VideoCaptureDeviceAndroid(device_descriptor));
43 43
44 if (video_capture_device->Init()) { 44 if (video_capture_device->Init())
45 if (test_mode_)
46 video_capture_device->ConfigureForTesting();
47 return std::move(video_capture_device); 45 return std::move(video_capture_device);
48 }
49 46
50 DLOG(ERROR) << "Error creating Video Capture Device."; 47 DLOG(ERROR) << "Error creating Video Capture Device.";
51 return nullptr; 48 return std::unique_ptr<VideoCaptureDevice>();
52 } 49 }
53 50
54 void VideoCaptureDeviceFactoryAndroid::GetDeviceDescriptors( 51 void VideoCaptureDeviceFactoryAndroid::GetDeviceDescriptors(
55 VideoCaptureDeviceDescriptors* device_descriptors) { 52 VideoCaptureDeviceDescriptors* device_descriptors) {
56 DCHECK(thread_checker_.CalledOnValidThread()); 53 DCHECK(thread_checker_.CalledOnValidThread());
57 device_descriptors->clear(); 54 device_descriptors->clear();
58 55
59 JNIEnv* env = AttachCurrentThread(); 56 JNIEnv* env = AttachCurrentThread();
60 57
61 const JavaRef<jobject>& context = base::android::GetApplicationContext(); 58 const JavaRef<jobject>& context = base::android::GetApplicationContext();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 Java_VideoCaptureFactory_getDeviceSupportedFormats( 98 Java_VideoCaptureFactory_getDeviceSupportedFormats(
102 env, base::android::GetApplicationContext(), id); 99 env, base::android::GetApplicationContext(), id);
103 if (collected_formats.is_null()) 100 if (collected_formats.is_null())
104 return; 101 return;
105 102
106 jsize num_formats = env->GetArrayLength(collected_formats.obj()); 103 jsize num_formats = env->GetArrayLength(collected_formats.obj());
107 for (int i = 0; i < num_formats; ++i) { 104 for (int i = 0; i < num_formats; ++i) {
108 base::android::ScopedJavaLocalRef<jobject> format( 105 base::android::ScopedJavaLocalRef<jobject> format(
109 env, env->GetObjectArrayElement(collected_formats.obj(), i)); 106 env, env->GetObjectArrayElement(collected_formats.obj(), i));
110 107
111 VideoPixelFormat pixel_format = media::PIXEL_FORMAT_UNKNOWN; 108 VideoPixelFormat pixel_format =
109 media::PIXEL_FORMAT_UNKNOWN;
112 switch (media::Java_VideoCaptureFactory_getCaptureFormatPixelFormat( 110 switch (media::Java_VideoCaptureFactory_getCaptureFormatPixelFormat(
113 env, format)) { 111 env, format)) {
114 case VideoCaptureDeviceAndroid::ANDROID_IMAGE_FORMAT_YV12: 112 case VideoCaptureDeviceAndroid::ANDROID_IMAGE_FORMAT_YV12:
115 pixel_format = media::PIXEL_FORMAT_YV12; 113 pixel_format = media::PIXEL_FORMAT_YV12;
116 break; 114 break;
117 case VideoCaptureDeviceAndroid::ANDROID_IMAGE_FORMAT_NV21: 115 case VideoCaptureDeviceAndroid::ANDROID_IMAGE_FORMAT_NV21:
118 pixel_format = media::PIXEL_FORMAT_NV21; 116 pixel_format = media::PIXEL_FORMAT_NV21;
119 break; 117 break;
120 default: 118 default:
121 // VideoCaptureCamera2 doesn't know the provided format until capture. 119 continue;
122 break;
123 } 120 }
124 VideoCaptureFormat capture_format( 121 VideoCaptureFormat capture_format(
125 gfx::Size( 122 gfx::Size(
126 media::Java_VideoCaptureFactory_getCaptureFormatWidth(env, format), 123 media::Java_VideoCaptureFactory_getCaptureFormatWidth(env, format),
127 media::Java_VideoCaptureFactory_getCaptureFormatHeight(env, 124 media::Java_VideoCaptureFactory_getCaptureFormatHeight(env,
128 format)), 125 format)),
129 media::Java_VideoCaptureFactory_getCaptureFormatFramerate(env, format), 126 media::Java_VideoCaptureFactory_getCaptureFormatFramerate(env, format),
130 pixel_format); 127 pixel_format);
131 capture_formats->push_back(capture_format); 128 capture_formats->push_back(capture_format);
132 DVLOG(1) << device.display_name << " " 129 DVLOG(1) << device.display_name << " "
133 << VideoCaptureFormat::ToString(capture_format); 130 << VideoCaptureFormat::ToString(capture_format);
134 } 131 }
135 } 132 }
136 133
137 bool VideoCaptureDeviceFactoryAndroid::IsLegacyOrDeprecatedDevice(
138 const std::string& device_id) {
139 int id;
140 if (!base::StringToInt(device_id, &id))
141 return true;
142 return (Java_VideoCaptureFactory_isLegacyOrDeprecatedDevice(
143 AttachCurrentThread(), base::android::GetApplicationContext(), id));
144 }
145
146 // static 134 // static
147 VideoCaptureDeviceFactory* 135 VideoCaptureDeviceFactory*
148 VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory( 136 VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory(
149 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { 137 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
150 return new VideoCaptureDeviceFactoryAndroid(); 138 return new VideoCaptureDeviceFactoryAndroid();
151 } 139 }
152 140
153 } // namespace media 141 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698