OLD | NEW |
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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/test/test_timeouts.h" | 8 #include "base/test/test_timeouts.h" |
9 #include "base/threading/thread.h" | 9 #include "base/threading/thread.h" |
10 #include "media/base/video_capture_types.h" | 10 #include "media/base/video_capture_types.h" |
11 #include "media/capture/video/fake_video_capture_device.h" | 11 #include "media/capture/video/fake_video_capture_device.h" |
12 #include "media/capture/video/fake_video_capture_device_factory.h" | 12 #include "media/capture/video/fake_video_capture_device_factory.h" |
13 #include "media/capture/video/video_capture_device.h" | 13 #include "media/capture/video/video_capture_device.h" |
14 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
16 | 16 |
17 using ::testing::_; | 17 using ::testing::_; |
18 using ::testing::Bool; | 18 using ::testing::Bool; |
19 using ::testing::Combine; | 19 using ::testing::Combine; |
20 using ::testing::SaveArg; | 20 using ::testing::SaveArg; |
21 using ::testing::Values; | 21 using ::testing::Values; |
22 | 22 |
23 namespace media { | 23 namespace media { |
24 | 24 |
25 namespace { | 25 namespace { |
26 | 26 |
27 // This class is a Client::Buffer that allocates and frees the requested |size|. | 27 // This class is a Client::Buffer that allocates and frees the requested |size|. |
28 class MockBuffer : public VideoCaptureDevice::Client::Buffer { | 28 class MockBuffer : public VideoCaptureDevice::Client::Buffer { |
29 public: | 29 public: |
30 MockBuffer(int buffer_id, size_t size) | 30 MockBuffer(int buffer_id, size_t mapped_size) |
31 : id_(buffer_id), size_(size), data_(new uint8[size_]) {} | 31 : id_(buffer_id), |
| 32 mapped_size_(mapped_size), |
| 33 data_(new uint8[mapped_size]) {} |
32 ~MockBuffer() override { delete[] data_; } | 34 ~MockBuffer() override { delete[] data_; } |
33 | 35 |
34 int id() const override { return id_; } | 36 int id() const override { return id_; } |
35 size_t size() const override { return size_; } | 37 gfx::Size dimensions() const override { return gfx::Size(); } |
| 38 size_t mapped_size() const override { return mapped_size_; } |
36 void* data(int plane) override { return data_; } | 39 void* data(int plane) override { return data_; } |
37 ClientBuffer AsClientBuffer(int plane) override { return nullptr; } | 40 ClientBuffer AsClientBuffer(int plane) override { return nullptr; } |
38 #if defined(OS_POSIX) | 41 #if defined(OS_POSIX) |
39 base::FileDescriptor AsPlatformFile() override { | 42 base::FileDescriptor AsPlatformFile() override { |
40 return base::FileDescriptor(); | 43 return base::FileDescriptor(); |
41 } | 44 } |
42 #endif | 45 #endif |
43 | 46 |
44 private: | 47 private: |
45 const int id_; | 48 const int id_; |
46 const size_t size_; | 49 const size_t mapped_size_; |
47 uint8* const data_; | 50 uint8* const data_; |
48 }; | 51 }; |
49 | 52 |
50 class MockClient : public VideoCaptureDevice::Client { | 53 class MockClient : public VideoCaptureDevice::Client { |
51 public: | 54 public: |
52 MOCK_METHOD1(OnError, void(const std::string& reason)); | 55 MOCK_METHOD1(OnError, void(const std::string& reason)); |
53 | 56 |
54 explicit MockClient(base::Callback<void(const VideoCaptureFormat&)> frame_cb) | 57 explicit MockClient(base::Callback<void(const VideoCaptureFormat&)> frame_cb) |
55 : frame_cb_(frame_cb) {} | 58 : frame_cb_(frame_cb) {} |
56 | 59 |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 EXPECT_GE(supported_formats[2].frame_rate, 20.0); | 231 EXPECT_GE(supported_formats[2].frame_rate, 20.0); |
229 EXPECT_EQ(supported_formats[3].frame_size.width(), 1920); | 232 EXPECT_EQ(supported_formats[3].frame_size.width(), 1920); |
230 EXPECT_EQ(supported_formats[3].frame_size.height(), 1080); | 233 EXPECT_EQ(supported_formats[3].frame_size.height(), 1080); |
231 EXPECT_EQ(supported_formats[3].pixel_format, | 234 EXPECT_EQ(supported_formats[3].pixel_format, |
232 VIDEO_CAPTURE_PIXEL_FORMAT_I420); | 235 VIDEO_CAPTURE_PIXEL_FORMAT_I420); |
233 EXPECT_GE(supported_formats[3].frame_rate, 20.0); | 236 EXPECT_GE(supported_formats[3].frame_rate, 20.0); |
234 } | 237 } |
235 } | 238 } |
236 | 239 |
237 }; // namespace media | 240 }; // namespace media |
OLD | NEW |