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

Side by Side Diff: content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc

Issue 2343423003: Extract nested and private classes from VideoCaptureBufferPool (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 (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 // Unit test for VideoCaptureBufferPool. 5 // Unit test for VideoCaptureBufferPool.
6 6
7 #include "content/browser/renderer_host/media/video_capture_buffer_pool.h" 7 #include "content/browser/renderer_host/media/video_capture_buffer_pool.h"
8 8
9 #include <stddef.h> 9 #include <stddef.h>
10 #include <stdint.h> 10 #include <stdint.h>
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 gpu::SurfaceHandle surface_handle) override { 112 gpu::SurfaceHandle surface_handle) override {
113 return base::MakeUnique<MockGpuMemoryBuffer>(size); 113 return base::MakeUnique<MockGpuMemoryBuffer>(size);
114 } 114 }
115 }; 115 };
116 #endif 116 #endif
117 117
118 // This is a generic Buffer tracker 118 // This is a generic Buffer tracker
119 class Buffer { 119 class Buffer {
120 public: 120 public:
121 Buffer(const scoped_refptr<VideoCaptureBufferPool> pool, 121 Buffer(const scoped_refptr<VideoCaptureBufferPool> pool,
122 std::unique_ptr<VideoCaptureBufferPoolBufferHandle> buffer_handle, 122 std::unique_ptr<VideoCaptureBufferHandle> buffer_handle,
123 int id) 123 int id)
124 : id_(id), pool_(pool), buffer_handle_(std::move(buffer_handle)) {} 124 : id_(id), pool_(pool), buffer_handle_(std::move(buffer_handle)) {}
125 ~Buffer() { pool_->RelinquishProducerReservation(id()); } 125 ~Buffer() { pool_->RelinquishProducerReservation(id()); }
126 int id() const { return id_; } 126 int id() const { return id_; }
127 size_t mapped_size() { return buffer_handle_->mapped_size(); } 127 size_t mapped_size() { return buffer_handle_->mapped_size(); }
128 void* data() { return buffer_handle_->data(0); } 128 void* data() { return buffer_handle_->data(0); }
129 129
130 private: 130 private:
131 const int id_; 131 const int id_;
132 const scoped_refptr<VideoCaptureBufferPool> pool_; 132 const scoped_refptr<VideoCaptureBufferPool> pool_;
133 const std::unique_ptr<VideoCaptureBufferPoolBufferHandle> buffer_handle_; 133 const std::unique_ptr<VideoCaptureBufferHandle> buffer_handle_;
134 }; 134 };
135 135
136 VideoCaptureBufferPoolTest() 136 VideoCaptureBufferPoolTest()
137 : expected_dropped_id_(0), 137 : expected_dropped_id_(0),
138 pool_(new VideoCaptureBufferPoolImpl(kTestBufferPoolSize)) {} 138 pool_(new VideoCaptureBufferPoolImpl(kTestBufferPoolSize)) {}
139 139
140 #if !defined(OS_ANDROID) 140 #if !defined(OS_ANDROID)
141 void SetUp() override { 141 void SetUp() override {
142 gpu_memory_buffer_manager_.reset(new StubBrowserGpuMemoryBufferManager); 142 gpu_memory_buffer_manager_.reset(new StubBrowserGpuMemoryBufferManager);
143 } 143 }
(...skipping 13 matching lines...) Expand all
157 format_and_storage.pixel_storage) << " " 157 format_and_storage.pixel_storage) << " "
158 << media::VideoPixelFormatToString(format_and_storage.pixel_format) 158 << media::VideoPixelFormatToString(format_and_storage.pixel_format)
159 << " " << dimensions.ToString(); 159 << " " << dimensions.ToString();
160 const int buffer_id = pool_->ReserveForProducer( 160 const int buffer_id = pool_->ReserveForProducer(
161 dimensions, format_and_storage.pixel_format, 161 dimensions, format_and_storage.pixel_format,
162 format_and_storage.pixel_storage, &buffer_id_to_drop); 162 format_and_storage.pixel_storage, &buffer_id_to_drop);
163 if (buffer_id == VideoCaptureBufferPool::kInvalidId) 163 if (buffer_id == VideoCaptureBufferPool::kInvalidId)
164 return std::unique_ptr<Buffer>(); 164 return std::unique_ptr<Buffer>();
165 EXPECT_EQ(expected_dropped_id_, buffer_id_to_drop); 165 EXPECT_EQ(expected_dropped_id_, buffer_id_to_drop);
166 166
167 std::unique_ptr<VideoCaptureBufferPoolBufferHandle> buffer_handle = 167 std::unique_ptr<VideoCaptureBufferHandle> buffer_handle =
168 pool_->GetBufferHandle(buffer_id); 168 pool_->GetBufferHandle(buffer_id);
169 return std::unique_ptr<Buffer>( 169 return std::unique_ptr<Buffer>(
170 new Buffer(pool_, std::move(buffer_handle), buffer_id)); 170 new Buffer(pool_, std::move(buffer_handle), buffer_id));
171 } 171 }
172 172
173 std::unique_ptr<Buffer> ResurrectLastBuffer( 173 std::unique_ptr<Buffer> ResurrectLastBuffer(
174 const gfx::Size& dimensions, 174 const gfx::Size& dimensions,
175 PixelFormatAndStorage format_and_storage) { 175 PixelFormatAndStorage format_and_storage) {
176 const int buffer_id = pool_->ResurrectLastForProducer( 176 const int buffer_id = pool_->ResurrectLastForProducer(
177 dimensions, format_and_storage.pixel_format, 177 dimensions, format_and_storage.pixel_format,
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 ASSERT_NE(nullptr, held_buffers.back().get()); 495 ASSERT_NE(nullptr, held_buffers.back().get());
496 resurrected = ResurrectLastBuffer(gfx::Size(10, 10), GetParam()); 496 resurrected = ResurrectLastBuffer(gfx::Size(10, 10), GetParam());
497 ASSERT_EQ(nullptr, resurrected.get()); 497 ASSERT_EQ(nullptr, resurrected.get());
498 } 498 }
499 499
500 INSTANTIATE_TEST_CASE_P(, 500 INSTANTIATE_TEST_CASE_P(,
501 VideoCaptureBufferPoolTest, 501 VideoCaptureBufferPoolTest,
502 testing::ValuesIn(kCapturePixelFormatAndStorages)); 502 testing::ValuesIn(kCapturePixelFormatAndStorages));
503 503
504 } // namespace content 504 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698