OLD | NEW |
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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/callback_helpers.h" | 6 #include "base/callback_helpers.h" |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "media/base/audio_buffer_converter.h" | 9 #include "media/base/audio_buffer_converter.h" |
10 #include "media/base/audio_hardware_config.h" | 10 #include "media/base/audio_hardware_config.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 AudioParameters out_params(AudioParameters::AUDIO_PCM_LOW_LATENCY, | 88 AudioParameters out_params(AudioParameters::AUDIO_PCM_LOW_LATENCY, |
89 kChannelLayout, | 89 kChannelLayout, |
90 kOutputSamplesPerSecond, | 90 kOutputSamplesPerSecond, |
91 SampleFormatToBytesPerChannel(kSampleFormat) * 8, | 91 SampleFormatToBytesPerChannel(kSampleFormat) * 8, |
92 512); | 92 512); |
93 hardware_config_.UpdateOutputConfig(out_params); | 93 hardware_config_.UpdateOutputConfig(out_params); |
94 ScopedVector<AudioDecoder> decoders; | 94 ScopedVector<AudioDecoder> decoders; |
95 decoders.push_back(decoder_); | 95 decoders.push_back(decoder_); |
96 sink_ = new FakeAudioRendererSink(); | 96 sink_ = new FakeAudioRendererSink(); |
97 renderer_.reset(new AudioRendererImpl(message_loop_.message_loop_proxy(), | 97 renderer_.reset(new AudioRendererImpl(message_loop_.message_loop_proxy(), |
98 sink_, | 98 sink_.get(), |
99 decoders.Pass(), | 99 decoders.Pass(), |
100 SetDecryptorReadyCB(), | 100 SetDecryptorReadyCB(), |
101 &hardware_config_)); | 101 &hardware_config_)); |
102 } | 102 } |
103 | 103 |
104 virtual ~AudioRendererImplTest() { | 104 virtual ~AudioRendererImplTest() { |
105 SCOPED_TRACE("~AudioRendererImplTest()"); | 105 SCOPED_TRACE("~AudioRendererImplTest()"); |
106 } | 106 } |
107 | 107 |
108 void ExpectUnsupportedAudioDecoder() { | 108 void ExpectUnsupportedAudioDecoder() { |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 reset_cb_ = reset_cb; | 372 reset_cb_ = reset_cb; |
373 return; | 373 return; |
374 } | 374 } |
375 | 375 |
376 message_loop_.PostTask(FROM_HERE, reset_cb); | 376 message_loop_.PostTask(FROM_HERE, reset_cb); |
377 } | 377 } |
378 | 378 |
379 void DeliverBuffer(AudioDecoder::Status status, | 379 void DeliverBuffer(AudioDecoder::Status status, |
380 const scoped_refptr<AudioBuffer>& buffer) { | 380 const scoped_refptr<AudioBuffer>& buffer) { |
381 CHECK(!decode_cb_.is_null()); | 381 CHECK(!decode_cb_.is_null()); |
382 if (buffer && !buffer->end_of_stream()) | 382 if (buffer.get() && !buffer->end_of_stream()) |
383 output_cb_.Run(buffer); | 383 output_cb_.Run(buffer); |
384 base::ResetAndReturn(&decode_cb_).Run(status); | 384 base::ResetAndReturn(&decode_cb_).Run(status); |
385 | 385 |
386 if (!reset_cb_.is_null()) | 386 if (!reset_cb_.is_null()) |
387 base::ResetAndReturn(&reset_cb_).Run(); | 387 base::ResetAndReturn(&reset_cb_).Run(); |
388 | 388 |
389 base::RunLoop().RunUntilIdle(); | 389 base::RunLoop().RunUntilIdle(); |
390 } | 390 } |
391 | 391 |
392 void OnEnded() { | 392 void OnEnded() { |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 // Start rendering with zero playback rate. Sink should be paused until | 719 // Start rendering with zero playback rate. Sink should be paused until |
720 // non-zero rate is set. | 720 // non-zero rate is set. |
721 renderer_->SetPlaybackRate(0.0f); | 721 renderer_->SetPlaybackRate(0.0f); |
722 renderer_->StartTicking(); | 722 renderer_->StartTicking(); |
723 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); | 723 EXPECT_EQ(FakeAudioRendererSink::kPaused, sink_->state()); |
724 renderer_->SetPlaybackRate(1.0f); | 724 renderer_->SetPlaybackRate(1.0f); |
725 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state()); | 725 EXPECT_EQ(FakeAudioRendererSink::kPlaying, sink_->state()); |
726 } | 726 } |
727 | 727 |
728 } // namespace media | 728 } // namespace media |
OLD | NEW |