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

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

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Rebase. Created 3 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/audio_renderer_impl.cc ('k') | media/renderers/default_renderer_factory.h » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "media/renderers/audio_renderer_impl.h" 5 #include "media/renderers/audio_renderer_impl.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 107
108 AudioParameters out_params(AudioParameters::AUDIO_PCM_LOW_LATENCY, 108 AudioParameters out_params(AudioParameters::AUDIO_PCM_LOW_LATENCY,
109 kChannelLayout, 109 kChannelLayout,
110 kOutputSamplesPerSecond, 110 kOutputSamplesPerSecond,
111 SampleFormatToBytesPerChannel(kSampleFormat) * 8, 111 SampleFormatToBytesPerChannel(kSampleFormat) * 8,
112 512); 112 512);
113 renderer_.reset(new AudioRendererImpl( 113 renderer_.reset(new AudioRendererImpl(
114 message_loop_.task_runner(), sink_.get(), 114 message_loop_.task_runner(), sink_.get(),
115 base::Bind(&AudioRendererImplTest::CreateAudioDecoderForTest, 115 base::Bind(&AudioRendererImplTest::CreateAudioDecoderForTest,
116 base::Unretained(this)), 116 base::Unretained(this)),
117 new MediaLog())); 117 &media_log_));
118 renderer_->tick_clock_.reset(tick_clock_); 118 renderer_->tick_clock_.reset(tick_clock_);
119 tick_clock_->Advance(base::TimeDelta::FromSeconds(1)); 119 tick_clock_->Advance(base::TimeDelta::FromSeconds(1));
120 } 120 }
121 121
122 virtual ~AudioRendererImplTest() { 122 virtual ~AudioRendererImplTest() {
123 SCOPED_TRACE("~AudioRendererImplTest()"); 123 SCOPED_TRACE("~AudioRendererImplTest()");
124 } 124 }
125 125
126 // Mock out demuxer reads. 126 // Mock out demuxer reads.
127 void ConfigureDemuxerStream(bool supports_config_changes) { 127 void ConfigureDemuxerStream(bool supports_config_changes) {
128 EXPECT_CALL(demuxer_stream_, Read(_)) 128 EXPECT_CALL(demuxer_stream_, Read(_))
129 .WillRepeatedly( 129 .WillRepeatedly(
130 RunCallback<0>(DemuxerStream::kOk, 130 RunCallback<0>(DemuxerStream::kOk,
131 scoped_refptr<DecoderBuffer>(new DecoderBuffer(0)))); 131 scoped_refptr<DecoderBuffer>(new DecoderBuffer(0))));
132 EXPECT_CALL(demuxer_stream_, SupportsConfigChanges()) 132 EXPECT_CALL(demuxer_stream_, SupportsConfigChanges())
133 .WillRepeatedly(Return(supports_config_changes)); 133 .WillRepeatedly(Return(supports_config_changes));
134 } 134 }
135 135
136 // Reconfigures a renderer without config change support using given params. 136 // Reconfigures a renderer without config change support using given params.
137 void ConfigureBasicRenderer(const AudioParameters& params) { 137 void ConfigureBasicRenderer(const AudioParameters& params) {
138 hardware_params_ = params; 138 hardware_params_ = params;
139 sink_ = new FakeAudioRendererSink(hardware_params_); 139 sink_ = new FakeAudioRendererSink(hardware_params_);
140 renderer_.reset(new AudioRendererImpl( 140 renderer_.reset(new AudioRendererImpl(
141 message_loop_.task_runner(), sink_.get(), 141 message_loop_.task_runner(), sink_.get(),
142 base::Bind(&AudioRendererImplTest::CreateAudioDecoderForTest, 142 base::Bind(&AudioRendererImplTest::CreateAudioDecoderForTest,
143 base::Unretained(this)), 143 base::Unretained(this)),
144 new MediaLog())); 144 &media_log_));
145 testing::Mock::VerifyAndClearExpectations(&demuxer_stream_); 145 testing::Mock::VerifyAndClearExpectations(&demuxer_stream_);
146 ConfigureDemuxerStream(false); 146 ConfigureDemuxerStream(false);
147 } 147 }
148 148
149 // Reconfigures a renderer with config change support using given params. 149 // Reconfigures a renderer with config change support using given params.
150 void ConfigureConfigChangeRenderer(const AudioParameters& params, 150 void ConfigureConfigChangeRenderer(const AudioParameters& params,
151 const AudioParameters& hardware_params) { 151 const AudioParameters& hardware_params) {
152 hardware_params_ = hardware_params; 152 hardware_params_ = hardware_params;
153 sink_ = new FakeAudioRendererSink(hardware_params_); 153 sink_ = new FakeAudioRendererSink(hardware_params_);
154 renderer_.reset(new AudioRendererImpl( 154 renderer_.reset(new AudioRendererImpl(
155 message_loop_.task_runner(), sink_.get(), 155 message_loop_.task_runner(), sink_.get(),
156 base::Bind(&AudioRendererImplTest::CreateAudioDecoderForTest, 156 base::Bind(&AudioRendererImplTest::CreateAudioDecoderForTest,
157 base::Unretained(this)), 157 base::Unretained(this)),
158 new MediaLog())); 158 &media_log_));
159 testing::Mock::VerifyAndClearExpectations(&demuxer_stream_); 159 testing::Mock::VerifyAndClearExpectations(&demuxer_stream_);
160 ConfigureDemuxerStream(true); 160 ConfigureDemuxerStream(true);
161 } 161 }
162 162
163 // RendererClient implementation. 163 // RendererClient implementation.
164 MOCK_METHOD1(OnError, void(PipelineStatus)); 164 MOCK_METHOD1(OnError, void(PipelineStatus));
165 void OnEnded() override { 165 void OnEnded() override {
166 CHECK(!ended_); 166 CHECK(!ended_);
167 ended_ = true; 167 ended_ = true;
168 } 168 }
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 441
442 if (!reset_cb_.is_null()) 442 if (!reset_cb_.is_null())
443 base::ResetAndReturn(&reset_cb_).Run(); 443 base::ResetAndReturn(&reset_cb_).Run();
444 444
445 base::RunLoop().RunUntilIdle(); 445 base::RunLoop().RunUntilIdle();
446 } 446 }
447 447
448 // Fixture members. 448 // Fixture members.
449 AudioParameters hardware_params_; 449 AudioParameters hardware_params_;
450 base::MessageLoop message_loop_; 450 base::MessageLoop message_loop_;
451 MediaLog media_log_;
451 std::unique_ptr<AudioRendererImpl> renderer_; 452 std::unique_ptr<AudioRendererImpl> renderer_;
452 scoped_refptr<FakeAudioRendererSink> sink_; 453 scoped_refptr<FakeAudioRendererSink> sink_;
453 base::SimpleTestTickClock* tick_clock_; 454 base::SimpleTestTickClock* tick_clock_;
454 PipelineStatistics last_statistics_; 455 PipelineStatistics last_statistics_;
455 456
456 MockDemuxerStream demuxer_stream_; 457 MockDemuxerStream demuxer_stream_;
457 458
458 // Used for satisfying reads. 459 // Used for satisfying reads.
459 AudioDecoder::OutputCB output_cb_; 460 AudioDecoder::OutputCB output_cb_;
460 AudioDecoder::DecodeCB decode_cb_; 461 AudioDecoder::DecodeCB decode_cb_;
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 // Advance far enough that we shouldn't be clamped to current time (tested 1091 // Advance far enough that we shouldn't be clamped to current time (tested
1091 // already above). 1092 // already above).
1092 tick_clock_->Advance(kOneSecond); 1093 tick_clock_->Advance(kOneSecond);
1093 EXPECT_EQ( 1094 EXPECT_EQ(
1094 current_time + timestamp_helper.GetFrameDuration(frames_to_consume.value), 1095 current_time + timestamp_helper.GetFrameDuration(frames_to_consume.value),
1095 CurrentMediaWallClockTime(&is_time_moving)); 1096 CurrentMediaWallClockTime(&is_time_moving));
1096 EXPECT_TRUE(is_time_moving); 1097 EXPECT_TRUE(is_time_moving);
1097 } 1098 }
1098 1099
1099 } // namespace media 1100 } // namespace media
OLDNEW
« no previous file with comments | « media/renderers/audio_renderer_impl.cc ('k') | media/renderers/default_renderer_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698