OLD | NEW |
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 #include "media/video/capture/android/video_capture_device_android.h" | 5 #include "media/video/capture/android/video_capture_device_android.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 if (!got_first_frame_) { | 215 if (!got_first_frame_) { |
216 // Set aside one frame allowance for fluctuation. | 216 // Set aside one frame allowance for fluctuation. |
217 expected_next_frame_time_ = current_time - frame_interval_; | 217 expected_next_frame_time_ = current_time - frame_interval_; |
218 got_first_frame_ = true; | 218 got_first_frame_ = true; |
219 } | 219 } |
220 | 220 |
221 // Deliver the frame when it doesn't arrive too early. | 221 // Deliver the frame when it doesn't arrive too early. |
222 if (expected_next_frame_time_ <= current_time) { | 222 if (expected_next_frame_time_ <= current_time) { |
223 expected_next_frame_time_ += frame_interval_; | 223 expected_next_frame_time_ += frame_interval_; |
224 | 224 |
225 client_->OnIncomingCapturedFrame(reinterpret_cast<uint8*>(buffer), | 225 client_->OnIncomingCapturedData(reinterpret_cast<uint8*>(buffer), |
226 length, | 226 length, |
227 base::TimeTicks::Now(), | 227 capture_format_, |
228 rotation, | 228 rotation, |
229 capture_format_); | 229 base::TimeTicks::Now()); |
230 } | 230 } |
231 | 231 |
232 env->ReleaseByteArrayElements(data, buffer, JNI_ABORT); | 232 env->ReleaseByteArrayElements(data, buffer, JNI_ABORT); |
233 } | 233 } |
234 | 234 |
235 VideoPixelFormat VideoCaptureDeviceAndroid::GetColorspace() { | 235 VideoPixelFormat VideoCaptureDeviceAndroid::GetColorspace() { |
236 JNIEnv* env = AttachCurrentThread(); | 236 JNIEnv* env = AttachCurrentThread(); |
237 int current_capture_colorspace = | 237 int current_capture_colorspace = |
238 Java_VideoCapture_getColorspace(env, j_capture_.obj()); | 238 Java_VideoCapture_getColorspace(env, j_capture_.obj()); |
239 switch (current_capture_colorspace) { | 239 switch (current_capture_colorspace) { |
(...skipping 10 matching lines...) Expand all Loading... |
250 void VideoCaptureDeviceAndroid::SetErrorState(const std::string& reason) { | 250 void VideoCaptureDeviceAndroid::SetErrorState(const std::string& reason) { |
251 LOG(ERROR) << "VideoCaptureDeviceAndroid::SetErrorState: " << reason; | 251 LOG(ERROR) << "VideoCaptureDeviceAndroid::SetErrorState: " << reason; |
252 { | 252 { |
253 base::AutoLock lock(lock_); | 253 base::AutoLock lock(lock_); |
254 state_ = kError; | 254 state_ = kError; |
255 } | 255 } |
256 client_->OnError(reason); | 256 client_->OnError(reason); |
257 } | 257 } |
258 | 258 |
259 } // namespace media | 259 } // namespace media |
OLD | NEW |