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

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

Issue 1178423008: Provision to start base::SimpleTestTickClock at initial ticks Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 11 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/renderer_impl_unittest.cc ('k') | mojo/message_pump/handle_watcher_unittest.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 <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 MATCHER_P(HasTimestamp, ms, "") { 48 MATCHER_P(HasTimestamp, ms, "") {
49 *result_listener << "has timestamp " << arg->timestamp().InMilliseconds(); 49 *result_listener << "has timestamp " << arg->timestamp().InMilliseconds();
50 return arg->timestamp().InMilliseconds() == ms; 50 return arg->timestamp().InMilliseconds() == ms;
51 } 51 }
52 52
53 class VideoRendererImplTest 53 class VideoRendererImplTest
54 : public testing::Test { 54 : public testing::Test {
55 public: 55 public:
56 VideoRendererImplTest() 56 VideoRendererImplTest()
57 : tick_clock_(new base::SimpleTestTickClock()), 57 : // Start wallclock time at a non-zero value.
58 tick_clock_(new base::SimpleTestTickClock(
59 base::TimeTicks() + base::TimeDelta::FromMilliseconds(12345))),
58 decoder_(new MockVideoDecoder()), 60 decoder_(new MockVideoDecoder()),
59 demuxer_stream_(DemuxerStream::VIDEO) { 61 demuxer_stream_(DemuxerStream::VIDEO) {
60 ScopedVector<VideoDecoder> decoders; 62 ScopedVector<VideoDecoder> decoders;
61 decoders.push_back(decoder_); 63 decoders.push_back(decoder_);
62 64
63 null_video_sink_.reset(new NullVideoSink( 65 null_video_sink_.reset(new NullVideoSink(
64 false, base::TimeDelta::FromSecondsD(1.0 / 60), 66 false, base::TimeDelta::FromSecondsD(1.0 / 60),
65 base::Bind(&MockCB::FrameReceived, base::Unretained(&mock_cb_)), 67 base::Bind(&MockCB::FrameReceived, base::Unretained(&mock_cb_)),
66 message_loop_.task_runner())); 68 message_loop_.task_runner()));
67 69
68 renderer_.reset(new VideoRendererImpl( 70 renderer_.reset(new VideoRendererImpl(
69 message_loop_.task_runner(), message_loop_.task_runner().get(), 71 message_loop_.task_runner(), message_loop_.task_runner().get(),
70 null_video_sink_.get(), std::move(decoders), true, 72 null_video_sink_.get(), std::move(decoders), true,
71 nullptr, // gpu_factories 73 nullptr, // gpu_factories
72 new MediaLog())); 74 new MediaLog()));
73 renderer_->SetTickClockForTesting(scoped_ptr<base::TickClock>(tick_clock_)); 75 renderer_->SetTickClockForTesting(scoped_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.
78 AdvanceWallclockTimeInMs(12345);
79
80 demuxer_stream_.set_video_decoder_config(TestVideoConfig::Normal()); 79 demuxer_stream_.set_video_decoder_config(TestVideoConfig::Normal());
81 80
82 // We expect these to be called but we don't care how/when. 81 // We expect these to be called but we don't care how/when.
83 EXPECT_CALL(demuxer_stream_, Read(_)).WillRepeatedly( 82 EXPECT_CALL(demuxer_stream_, Read(_)).WillRepeatedly(
84 RunCallback<0>(DemuxerStream::kOk, 83 RunCallback<0>(DemuxerStream::kOk,
85 scoped_refptr<DecoderBuffer>(new DecoderBuffer(0)))); 84 scoped_refptr<DecoderBuffer>(new DecoderBuffer(0))));
86 } 85 }
87 86
88 virtual ~VideoRendererImplTest() {} 87 virtual ~VideoRendererImplTest() {}
89 88
(...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 QueueFrames("0 10 20 30"); 776 QueueFrames("0 10 20 30");
778 StartPlayingFrom(0); 777 StartPlayingFrom(0);
779 Flush(); 778 Flush();
780 ASSERT_EQ(1u, frame_ready_cbs_.size()); 779 ASSERT_EQ(1u, frame_ready_cbs_.size());
781 // This frame will be discarded. 780 // This frame will be discarded.
782 frame_ready_cbs_.front().Run(); 781 frame_ready_cbs_.front().Run();
783 Destroy(); 782 Destroy();
784 } 783 }
785 784
786 } // namespace media 785 } // namespace media
OLDNEW
« no previous file with comments | « media/renderers/renderer_impl_unittest.cc ('k') | mojo/message_pump/handle_watcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698