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

Side by Side Diff: media/cast/sender/h264_vt_encoder_unittest.cc

Issue 901833004: [Cast] Repurpose CastInitializationStatus for variable frame size support. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Compile fixes. Created 5 years, 10 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 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 <queue> 5 #include <queue>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/test/launcher/unit_test_launcher.h" 10 #include "base/test/launcher/unit_test_launcher.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 namespace media { 60 namespace media {
61 namespace cast { 61 namespace cast {
62 62
63 // See comment in end2end_unittest.cc for details on this value. 63 // See comment in end2end_unittest.cc for details on this value.
64 const double kVideoAcceptedPSNR = 38.0; 64 const double kVideoAcceptedPSNR = 38.0;
65 65
66 void SavePipelineStatus(PipelineStatus* out_status, PipelineStatus in_status) { 66 void SavePipelineStatus(PipelineStatus* out_status, PipelineStatus in_status) {
67 *out_status = in_status; 67 *out_status = in_status;
68 } 68 }
69 69
70 void SaveInitializationStatus(CastInitializationStatus* out_status, 70 void SaveOperationalStatus(OperationalStatus* out_status,
71 CastInitializationStatus in_status) { 71 OperationalStatus in_status) {
72 *out_status = in_status; 72 *out_status = in_status;
73 } 73 }
74 74
75 class MetadataRecorder : public base::RefCountedThreadSafe<MetadataRecorder> { 75 class MetadataRecorder : public base::RefCountedThreadSafe<MetadataRecorder> {
76 public: 76 public:
77 MetadataRecorder() : count_frames_delivered_(0) {} 77 MetadataRecorder() : count_frames_delivered_(0) {}
78 78
79 int count_frames_delivered() const { return count_frames_delivered_; } 79 int count_frames_delivered() const { return count_frames_delivered_; }
80 80
81 void PushExpectation(uint32 expected_frame_id, 81 void PushExpectation(uint32 expected_frame_id,
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 CVPixelBufferLockBaseAddress(cv_pixel_buffer, 0); 183 CVPixelBufferLockBaseAddress(cv_pixel_buffer, 0);
184 auto ptr = CVPixelBufferGetBaseAddressOfPlane(cv_pixel_buffer, 0); 184 auto ptr = CVPixelBufferGetBaseAddressOfPlane(cv_pixel_buffer, 0);
185 ASSERT_TRUE(ptr); 185 ASSERT_TRUE(ptr);
186 memset(ptr, 0xfe, CVPixelBufferGetBytesPerRowOfPlane(cv_pixel_buffer, 0) * 186 memset(ptr, 0xfe, CVPixelBufferGetBytesPerRowOfPlane(cv_pixel_buffer, 0) *
187 CVPixelBufferGetHeightOfPlane(cv_pixel_buffer, 0)); 187 CVPixelBufferGetHeightOfPlane(cv_pixel_buffer, 0));
188 CVPixelBufferUnlockBaseAddress(cv_pixel_buffer, 0); 188 CVPixelBufferUnlockBaseAddress(cv_pixel_buffer, 0);
189 } 189 }
190 190
191 class H264VideoToolboxEncoderTest : public ::testing::Test { 191 class H264VideoToolboxEncoderTest : public ::testing::Test {
192 protected: 192 protected:
193 H264VideoToolboxEncoderTest() { 193 H264VideoToolboxEncoderTest()
194 cast_initialization_status_ = STATUS_VIDEO_UNINITIALIZED; 194 : operational_status_(STATUS_UNINITIALIZED) {
195 frame_->set_timestamp(base::TimeDelta()); 195 frame_->set_timestamp(base::TimeDelta());
196 } 196 }
197 197
198 void SetUp() override { 198 void SetUp() override {
199 clock_ = new base::SimpleTestTickClock(); 199 clock_ = new base::SimpleTestTickClock();
200 clock_->Advance(base::TimeTicks::Now() - base::TimeTicks()); 200 clock_->Advance(base::TimeTicks::Now() - base::TimeTicks());
201 201
202 cast_environment_ = new CastEnvironment( 202 cast_environment_ = new CastEnvironment(
203 scoped_ptr<base::TickClock>(clock_).Pass(), 203 scoped_ptr<base::TickClock>(clock_).Pass(),
204 message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(), 204 message_loop_.message_loop_proxy(), message_loop_.message_loop_proxy(),
205 message_loop_.message_loop_proxy()); 205 message_loop_.message_loop_proxy());
206 encoder_.reset(new H264VideoToolboxEncoder( 206 encoder_.reset(new H264VideoToolboxEncoder(
207 cast_environment_, 207 cast_environment_,
208 video_sender_config_, 208 video_sender_config_,
209 gfx::Size(kVideoWidth, kVideoHeight), 209 gfx::Size(kVideoWidth, kVideoHeight),
210 base::Bind(&SaveInitializationStatus, &cast_initialization_status_))); 210 base::Bind(&SaveOperationalStatus, &operational_status_)));
211 message_loop_.RunUntilIdle(); 211 message_loop_.RunUntilIdle();
212 EXPECT_EQ(STATUS_VIDEO_INITIALIZED, cast_initialization_status_); 212 EXPECT_EQ(STATUS_INITIALIZED, operational_status_);
213 } 213 }
214 214
215 void TearDown() override { 215 void TearDown() override {
216 encoder_.reset(); 216 encoder_.reset();
217 message_loop_.RunUntilIdle(); 217 message_loop_.RunUntilIdle();
218 } 218 }
219 219
220 void AdvanceClockAndVideoFrameTimestamp() { 220 void AdvanceClockAndVideoFrameTimestamp() {
221 clock_->Advance(base::TimeDelta::FromMilliseconds(33)); 221 clock_->Advance(base::TimeDelta::FromMilliseconds(33));
222 frame_->set_timestamp(frame_->timestamp() + 222 frame_->set_timestamp(frame_->timestamp() +
(...skipping 12 matching lines...) Expand all
235 235
236 static void TearDownTestCase() { frame_ = nullptr; } 236 static void TearDownTestCase() { frame_ = nullptr; }
237 237
238 static scoped_refptr<media::VideoFrame> frame_; 238 static scoped_refptr<media::VideoFrame> frame_;
239 static VideoSenderConfig video_sender_config_; 239 static VideoSenderConfig video_sender_config_;
240 240
241 base::SimpleTestTickClock* clock_; // Owned by CastEnvironment. 241 base::SimpleTestTickClock* clock_; // Owned by CastEnvironment.
242 base::MessageLoop message_loop_; 242 base::MessageLoop message_loop_;
243 scoped_refptr<CastEnvironment> cast_environment_; 243 scoped_refptr<CastEnvironment> cast_environment_;
244 scoped_ptr<VideoEncoder> encoder_; 244 scoped_ptr<VideoEncoder> encoder_;
245 CastInitializationStatus cast_initialization_status_; 245 OperationalStatus operational_status_;
246 246
247 private: 247 private:
248 DISALLOW_COPY_AND_ASSIGN(H264VideoToolboxEncoderTest); 248 DISALLOW_COPY_AND_ASSIGN(H264VideoToolboxEncoderTest);
249 }; 249 };
250 250
251 // static 251 // static
252 scoped_refptr<media::VideoFrame> H264VideoToolboxEncoderTest::frame_; 252 scoped_refptr<media::VideoFrame> H264VideoToolboxEncoderTest::frame_;
253 VideoSenderConfig H264VideoToolboxEncoderTest::video_sender_config_; 253 VideoSenderConfig H264VideoToolboxEncoderTest::video_sender_config_;
254 254
255 TEST_F(H264VideoToolboxEncoderTest, CheckFrameMetadataSequence) { 255 TEST_F(H264VideoToolboxEncoderTest, CheckFrameMetadataSequence) {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 auto video_frame_factory = encoder_->CreateVideoFrameFactory(); 304 auto video_frame_factory = encoder_->CreateVideoFrameFactory();
305 ASSERT_TRUE(video_frame_factory.get()); 305 ASSERT_TRUE(video_frame_factory.get());
306 CreateFrameAndMemsetPlane(video_frame_factory.get()); 306 CreateFrameAndMemsetPlane(video_frame_factory.get());
307 encoder_.reset(); 307 encoder_.reset();
308 message_loop_.RunUntilIdle(); 308 message_loop_.RunUntilIdle();
309 CreateFrameAndMemsetPlane(video_frame_factory.get()); 309 CreateFrameAndMemsetPlane(video_frame_factory.get());
310 } 310 }
311 311
312 } // namespace cast 312 } // namespace cast
313 } // namespace media 313 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698