| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 target_width = abs(height); | 273 target_width = abs(height); |
| 274 target_height = width; | 274 target_height = width; |
| 275 } | 275 } |
| 276 } | 276 } |
| 277 | 277 |
| 278 // TODO(mikhal): Update correct aligned stride values. | 278 // TODO(mikhal): Update correct aligned stride values. |
| 279 //Calc16ByteAlignedStride(target_width, &stride_y, &stride_uv); | 279 //Calc16ByteAlignedStride(target_width, &stride_y, &stride_uv); |
| 280 // Setting absolute height (in case it was negative). | 280 // Setting absolute height (in case it was negative). |
| 281 // In Windows, the image starts bottom left, instead of top left. | 281 // In Windows, the image starts bottom left, instead of top left. |
| 282 // Setting a negative source height, inverts the image (within LibYuv). | 282 // Setting a negative source height, inverts the image (within LibYuv). |
| 283 int ret = _captureFrame.CreateEmptyFrame(target_width, | 283 _captureFrame.CreateEmptyFrame(target_width, |
| 284 abs(target_height), | 284 abs(target_height), |
| 285 stride_y, | 285 stride_y, |
| 286 stride_uv, stride_uv); | 286 stride_uv, stride_uv); |
| 287 if (ret < 0) | |
| 288 { | |
| 289 LOG(LS_ERROR) << "Failed to create empty frame, this should only " | |
| 290 "happen due to bad parameters."; | |
| 291 return -1; | |
| 292 } | |
| 293 const int conversionResult = ConvertToI420( | 287 const int conversionResult = ConvertToI420( |
| 294 commonVideoType, videoFrame, 0, 0, // No cropping | 288 commonVideoType, videoFrame, 0, 0, // No cropping |
| 295 width, height, videoFrameLength, | 289 width, height, videoFrameLength, |
| 296 apply_rotation ? _rotateFrame : kVideoRotation_0, &_captureFrame); | 290 apply_rotation ? _rotateFrame : kVideoRotation_0, &_captureFrame); |
| 297 if (conversionResult < 0) | 291 if (conversionResult < 0) |
| 298 { | 292 { |
| 299 LOG(LS_ERROR) << "Failed to convert capture frame from type " | 293 LOG(LS_ERROR) << "Failed to convert capture frame from type " |
| 300 << frameInfo.rawType << "to I420."; | 294 << frameInfo.rawType << "to I420."; |
| 301 return -1; | 295 return -1; |
| 302 } | 296 } |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 if (diff > 0) | 384 if (diff > 0) |
| 391 { | 385 { |
| 392 return uint32_t((nrOfFrames * 1000.0f / diff) + 0.5f); | 386 return uint32_t((nrOfFrames * 1000.0f / diff) + 0.5f); |
| 393 } | 387 } |
| 394 } | 388 } |
| 395 | 389 |
| 396 return nrOfFrames; | 390 return nrOfFrames; |
| 397 } | 391 } |
| 398 } // namespace videocapturemodule | 392 } // namespace videocapturemodule |
| 399 } // namespace webrtc | 393 } // namespace webrtc |
| OLD | NEW |