OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/video_capture_device.h" | 5 #include "media/capture/video/video_capture_device.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
65 #define MAYBE_AllocateBadSize DISABLED_AllocateBadSize | 65 #define MAYBE_AllocateBadSize DISABLED_AllocateBadSize |
66 #define MAYBE_CaptureMjpeg CaptureMjpeg | 66 #define MAYBE_CaptureMjpeg CaptureMjpeg |
67 #define MAYBE_TakePhoto TakePhoto | 67 #define MAYBE_TakePhoto TakePhoto |
68 #else | 68 #else |
69 #define MAYBE_AllocateBadSize AllocateBadSize | 69 #define MAYBE_AllocateBadSize AllocateBadSize |
70 #define MAYBE_CaptureMjpeg CaptureMjpeg | 70 #define MAYBE_CaptureMjpeg CaptureMjpeg |
71 #define MAYBE_TakePhoto DISABLED_TakePhoto | 71 #define MAYBE_TakePhoto DISABLED_TakePhoto |
72 #endif | 72 #endif |
73 | 73 |
74 using ::testing::_; | 74 using ::testing::_; |
75 using ::testing::Invoke; | |
75 using ::testing::SaveArg; | 76 using ::testing::SaveArg; |
76 | 77 |
77 namespace media { | 78 namespace media { |
78 namespace { | 79 namespace { |
79 | 80 |
81 void DumpError(const tracked_objects::Location& location, | |
82 const std::string& message) { | |
83 DPLOG(ERROR) << location.ToString() << " " << message; | |
84 } | |
85 | |
80 class MockVideoCaptureClient : public VideoCaptureDevice::Client { | 86 class MockVideoCaptureClient : public VideoCaptureDevice::Client { |
81 public: | 87 public: |
82 MOCK_METHOD0(DoReserveOutputBuffer, void(void)); | 88 MOCK_METHOD0(DoReserveOutputBuffer, void(void)); |
83 MOCK_METHOD0(DoOnIncomingCapturedBuffer, void(void)); | 89 MOCK_METHOD0(DoOnIncomingCapturedBuffer, void(void)); |
84 MOCK_METHOD0(DoOnIncomingCapturedVideoFrame, void(void)); | 90 MOCK_METHOD0(DoOnIncomingCapturedVideoFrame, void(void)); |
85 MOCK_METHOD0(DoResurrectLastOutputBuffer, void(void)); | 91 MOCK_METHOD0(DoResurrectLastOutputBuffer, void(void)); |
86 MOCK_METHOD2(OnError, | 92 MOCK_METHOD2(OnError, |
87 void(const tracked_objects::Location& from_here, | 93 void(const tracked_objects::Location& from_here, |
88 const std::string& reason)); | 94 const std::string& reason)); |
89 MOCK_CONST_METHOD0(GetBufferPoolUtilization, double(void)); | 95 MOCK_CONST_METHOD0(GetBufferPoolUtilization, double(void)); |
90 | 96 |
91 explicit MockVideoCaptureClient( | 97 explicit MockVideoCaptureClient( |
92 base::Callback<void(const VideoCaptureFormat&)> frame_cb) | 98 base::Callback<void(const VideoCaptureFormat&)> frame_cb) |
93 : main_thread_(base::ThreadTaskRunnerHandle::Get()), | 99 : main_thread_(base::ThreadTaskRunnerHandle::Get()), frame_cb_(frame_cb) { |
94 frame_cb_(frame_cb) {} | 100 ON_CALL(*this, OnError(_, _)).WillByDefault(Invoke(DumpError)); |
chfremer
2016/09/22 18:05:33
Sgtm. Alternatively, we could use a Lambda express
| |
101 } | |
95 | 102 |
96 void OnIncomingCapturedData(const uint8_t* data, | 103 void OnIncomingCapturedData(const uint8_t* data, |
97 int length, | 104 int length, |
98 const VideoCaptureFormat& format, | 105 const VideoCaptureFormat& format, |
99 int rotation, | 106 int rotation, |
100 base::TimeTicks reference_time, | 107 base::TimeTicks reference_time, |
101 base::TimeDelta timestamp) override { | 108 base::TimeDelta timestamp) override { |
102 ASSERT_GT(length, 0); | 109 ASSERT_GT(length, 0); |
103 ASSERT_TRUE(data); | 110 ASSERT_TRUE(data); |
104 main_thread_->PostTask(FROM_HERE, base::Bind(frame_cb_, format)); | 111 main_thread_->PostTask(FROM_HERE, base::Bind(frame_cb_, format)); |
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
548 &MockImageCaptureClient::OnTakePhotoFailure, image_capture_client_))); | 555 &MockImageCaptureClient::OnTakePhotoFailure, image_capture_client_))); |
549 | 556 |
550 EXPECT_CALL(*image_capture_client_.get(), OnCorrectPhotoTaken()).Times(1); | 557 EXPECT_CALL(*image_capture_client_.get(), OnCorrectPhotoTaken()).Times(1); |
551 device->TakePhoto(std::move(scoped_callback)); | 558 device->TakePhoto(std::move(scoped_callback)); |
552 WaitForCapturedFrame(); | 559 WaitForCapturedFrame(); |
553 | 560 |
554 device->StopAndDeAllocate(); | 561 device->StopAndDeAllocate(); |
555 } | 562 } |
556 | 563 |
557 }; // namespace media | 564 }; // namespace media |
OLD | NEW |