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

Side by Side Diff: media/renderers/video_renderer_impl_unittest.cc

Issue 1915443003: Replace scoped_ptr with std::unique_ptr in //media. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptr-media-base
Patch Set: scopedptr-media: rebase Created 4 years, 8 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
« no previous file with comments | « media/renderers/video_renderer_impl.cc ('k') | media/test/pipeline_integration_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 #include <stdint.h> 5 #include <stdint.h>
6 6
7 #include <memory>
7 #include <utility> 8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/callback.h" 11 #include "base/callback.h"
11 #include "base/callback_helpers.h" 12 #include "base/callback_helpers.h"
12 #include "base/debug/stack_trace.h" 13 #include "base/debug/stack_trace.h"
13 #include "base/macros.h" 14 #include "base/macros.h"
14 #include "base/message_loop/message_loop.h" 15 #include "base/message_loop/message_loop.h"
15 #include "base/stl_util.h" 16 #include "base/stl_util.h"
16 #include "base/strings/string_number_conversions.h" 17 #include "base/strings/string_number_conversions.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 null_video_sink_.reset(new NullVideoSink( 64 null_video_sink_.reset(new NullVideoSink(
64 false, base::TimeDelta::FromSecondsD(1.0 / 60), 65 false, base::TimeDelta::FromSecondsD(1.0 / 60),
65 base::Bind(&MockCB::FrameReceived, base::Unretained(&mock_cb_)), 66 base::Bind(&MockCB::FrameReceived, base::Unretained(&mock_cb_)),
66 message_loop_.task_runner())); 67 message_loop_.task_runner()));
67 68
68 renderer_.reset(new VideoRendererImpl( 69 renderer_.reset(new VideoRendererImpl(
69 message_loop_.task_runner(), message_loop_.task_runner().get(), 70 message_loop_.task_runner(), message_loop_.task_runner().get(),
70 null_video_sink_.get(), std::move(decoders), true, 71 null_video_sink_.get(), std::move(decoders), true,
71 nullptr, // gpu_factories 72 nullptr, // gpu_factories
72 new MediaLog())); 73 new MediaLog()));
73 renderer_->SetTickClockForTesting(scoped_ptr<base::TickClock>(tick_clock_)); 74 renderer_->SetTickClockForTesting(
75 std::unique_ptr<base::TickClock>(tick_clock_));
74 null_video_sink_->set_tick_clock_for_testing(tick_clock_); 76 null_video_sink_->set_tick_clock_for_testing(tick_clock_);
75 time_source_.set_tick_clock_for_testing(tick_clock_); 77 time_source_.set_tick_clock_for_testing(tick_clock_);
76 78
77 // Start wallclock time at a non-zero value. 79 // Start wallclock time at a non-zero value.
78 AdvanceWallclockTimeInMs(12345); 80 AdvanceWallclockTimeInMs(12345);
79 81
80 demuxer_stream_.set_video_decoder_config(TestVideoConfig::Normal()); 82 demuxer_stream_.set_video_decoder_config(TestVideoConfig::Normal());
81 83
82 // We expect these to be called but we don't care how/when. 84 // We expect these to be called but we don't care how/when.
83 EXPECT_CALL(demuxer_stream_, Read(_)).WillRepeatedly( 85 EXPECT_CALL(demuxer_stream_, Read(_)).WillRepeatedly(
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 QueueFrames("40 60 80"); 405 QueueFrames("40 60 80");
404 SatisfyPendingRead(); 406 SatisfyPendingRead();
405 event.RunAndWait(); 407 event.RunAndWait();
406 } 408 }
407 409
408 Destroy(); 410 Destroy();
409 } 411 }
410 412
411 protected: 413 protected:
412 // Fixture members. 414 // Fixture members.
413 scoped_ptr<VideoRendererImpl> renderer_; 415 std::unique_ptr<VideoRendererImpl> renderer_;
414 base::SimpleTestTickClock* tick_clock_; // Owned by |renderer_|. 416 base::SimpleTestTickClock* tick_clock_; // Owned by |renderer_|.
415 NiceMock<MockVideoDecoder>* decoder_; // Owned by |renderer_|. 417 NiceMock<MockVideoDecoder>* decoder_; // Owned by |renderer_|.
416 NiceMock<MockDemuxerStream> demuxer_stream_; 418 NiceMock<MockDemuxerStream> demuxer_stream_;
417 419
418 // Use StrictMock<T> to catch missing/extra callbacks. 420 // Use StrictMock<T> to catch missing/extra callbacks.
419 class MockCB { 421 class MockCB {
420 public: 422 public:
421 MOCK_METHOD1(FrameReceived, void(const scoped_refptr<VideoFrame>&)); 423 MOCK_METHOD1(FrameReceived, void(const scoped_refptr<VideoFrame>&));
422 MOCK_METHOD1(BufferingStateChange, void(BufferingState)); 424 MOCK_METHOD1(BufferingStateChange, void(BufferingState));
423 }; 425 };
424 StrictMock<MockCB> mock_cb_; 426 StrictMock<MockCB> mock_cb_;
425 427
426 // Must be destroyed before |renderer_| since they share |tick_clock_|. 428 // Must be destroyed before |renderer_| since they share |tick_clock_|.
427 scoped_ptr<NullVideoSink> null_video_sink_; 429 std::unique_ptr<NullVideoSink> null_video_sink_;
428 430
429 PipelineStatistics last_pipeline_statistics_; 431 PipelineStatistics last_pipeline_statistics_;
430 432
431 WallClockTimeSource time_source_; 433 WallClockTimeSource time_source_;
432 434
433 base::MessageLoop message_loop_; 435 base::MessageLoop message_loop_;
434 436
435 private: 437 private:
436 void DecodeRequested(const scoped_refptr<DecoderBuffer>& buffer, 438 void DecodeRequested(const scoped_refptr<DecoderBuffer>& buffer,
437 const VideoDecoder::DecodeCB& decode_cb) { 439 const VideoDecoder::DecodeCB& decode_cb) {
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 .WillOnce(RunClosure(event.GetClosure())); 856 .WillOnce(RunClosure(event.GetClosure()));
855 AdvanceTimeInMs(10); 857 AdvanceTimeInMs(10);
856 event.RunAndWait(); 858 event.RunAndWait();
857 859
858 Destroy(); 860 Destroy();
859 } 861 }
860 862
861 class VideoRendererImplAsyncAddFrameReadyTest : public VideoRendererImplTest { 863 class VideoRendererImplAsyncAddFrameReadyTest : public VideoRendererImplTest {
862 public: 864 public:
863 VideoRendererImplAsyncAddFrameReadyTest() { 865 VideoRendererImplAsyncAddFrameReadyTest() {
864 scoped_ptr<GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool( 866 std::unique_ptr<GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool(
865 new MockGpuMemoryBufferVideoFramePool(&frame_ready_cbs_)); 867 new MockGpuMemoryBufferVideoFramePool(&frame_ready_cbs_));
866 renderer_->SetGpuMemoryBufferVideoForTesting( 868 renderer_->SetGpuMemoryBufferVideoForTesting(
867 std::move(gpu_memory_buffer_pool)); 869 std::move(gpu_memory_buffer_pool));
868 } 870 }
869 871
870 protected: 872 protected:
871 std::vector<base::Closure> frame_ready_cbs_; 873 std::vector<base::Closure> frame_ready_cbs_;
872 }; 874 };
873 875
874 TEST_F(VideoRendererImplAsyncAddFrameReadyTest, InitializeAndStartPlayingFrom) { 876 TEST_F(VideoRendererImplAsyncAddFrameReadyTest, InitializeAndStartPlayingFrom) {
(...skipping 17 matching lines...) Expand all
892 QueueFrames("0 10 20 30"); 894 QueueFrames("0 10 20 30");
893 StartPlayingFrom(0); 895 StartPlayingFrom(0);
894 Flush(); 896 Flush();
895 ASSERT_EQ(1u, frame_ready_cbs_.size()); 897 ASSERT_EQ(1u, frame_ready_cbs_.size());
896 // This frame will be discarded. 898 // This frame will be discarded.
897 frame_ready_cbs_.front().Run(); 899 frame_ready_cbs_.front().Run();
898 Destroy(); 900 Destroy();
899 } 901 }
900 902
901 } // namespace media 903 } // namespace media
OLDNEW
« no previous file with comments | « media/renderers/video_renderer_impl.cc ('k') | media/test/pipeline_integration_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698