diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-26 23:21:03 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-26 23:21:03 +0000 |
commit | 08bff2cc79f4fd0b5f78f8b07babf2c6bbb4a9c0 (patch) | |
tree | 59ade6118ab9e3a9ff70eedbcf468cc2b2934fb6 /content/renderer | |
parent | b481edbd6eb1803a01704f0c7d3aeeda7f1ec962 (diff) | |
download | chromium_src-08bff2cc79f4fd0b5f78f8b07babf2c6bbb4a9c0.zip chromium_src-08bff2cc79f4fd0b5f78f8b07babf2c6bbb4a9c0.tar.gz chromium_src-08bff2cc79f4fd0b5f78f8b07babf2c6bbb4a9c0.tar.bz2 |
Replace AudioDecoder::media_format() with AudioDecoderConfig.
Also includes some cleanup for AudioParameter users including a new helper method GetBytesPerSecond().
BUG=28206
TEST=media_unittests, test_shell_tests, etc...
Review URL: http://codereview.chromium.org/6903007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83098 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/media/audio_renderer_impl.cc | 20 | ||||
-rw-r--r-- | content/renderer/media/audio_renderer_impl.h | 5 | ||||
-rw-r--r-- | content/renderer/media/audio_renderer_impl_unittest.cc | 12 |
3 files changed, 11 insertions, 26 deletions
diff --git a/content/renderer/media/audio_renderer_impl.cc b/content/renderer/media/audio_renderer_impl.cc index 87228d3..cc9b68a 100644 --- a/content/renderer/media/audio_renderer_impl.cc +++ b/content/renderer/media/audio_renderer_impl.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -50,22 +50,14 @@ base::TimeDelta AudioRendererImpl::ConvertToDuration(int bytes) { return base::TimeDelta(); } -bool AudioRendererImpl::OnInitialize(const media::MediaFormat& media_format) { - // Parse integer values in MediaFormat. - if (!ParseMediaFormat(media_format, - ¶ms_.channels, - ¶ms_.sample_rate, - ¶ms_.bits_per_sample)) { - return false; - } - params_.format = AudioParameters::AUDIO_PCM_LINEAR; +bool AudioRendererImpl::OnInitialize(const media::AudioDecoderConfig& config) { + AudioParameters params(config); + params.format = AudioParameters::AUDIO_PCM_LINEAR; - // Calculate the number of bytes per second using information of the stream. - bytes_per_second_ = params_.sample_rate * params_.channels * - params_.bits_per_sample / 8; + bytes_per_second_ = params.GetBytesPerSecond(); io_loop_->PostTask(FROM_HERE, - NewRunnableMethod(this, &AudioRendererImpl::CreateStreamTask, params_)); + NewRunnableMethod(this, &AudioRendererImpl::CreateStreamTask, params)); return true; } diff --git a/content/renderer/media/audio_renderer_impl.h b/content/renderer/media/audio_renderer_impl.h index 1e509fb..e08332e 100644 --- a/content/renderer/media/audio_renderer_impl.h +++ b/content/renderer/media/audio_renderer_impl.h @@ -82,7 +82,7 @@ class AudioRendererImpl : public media::AudioRendererBase, protected: // Methods called on audio renderer thread ---------------------------------- // These methods are called from AudioRendererBase. - virtual bool OnInitialize(const media::MediaFormat& media_format); + virtual bool OnInitialize(const media::AudioDecoderConfig& config); virtual void OnStop(); // Called when the decoder completes a Read(). @@ -114,8 +114,7 @@ class AudioRendererImpl : public media::AudioRendererBase, // Called on IO thread when message loop is dying. virtual void WillDestroyCurrentMessageLoop(); - // Information about the audio stream. - AudioParameters params_; + // Used to calculate audio delay given bytes. uint32 bytes_per_second_; scoped_refptr<AudioMessageFilter> filter_; diff --git a/content/renderer/media/audio_renderer_impl_unittest.cc b/content/renderer/media/audio_renderer_impl_unittest.cc index f29f39f..ba7a056 100644 --- a/content/renderer/media/audio_renderer_impl_unittest.cc +++ b/content/renderer/media/audio_renderer_impl_unittest.cc @@ -6,13 +6,12 @@ #include "content/common/audio_messages.h" #include "content/renderer/media/audio_renderer_impl.h" #include "media/base/data_buffer.h" -#include "media/base/media_format.h" #include "media/base/mock_callback.h" #include "media/base/mock_filter_host.h" #include "media/base/mock_filters.h" #include "testing/gtest/include/gtest/gtest.h" -using ::testing::ReturnRef; +using ::testing::Return; class AudioRendererImplTest : public ::testing::Test { public: @@ -33,12 +32,8 @@ class AudioRendererImplTest : public ::testing::Test { // Setup expectations for initialization. decoder_ = new media::MockAudioDecoder(); - // Associate media format with decoder - decoder_media_format_.SetAsInteger(media::MediaFormat::kChannels, 2); - decoder_media_format_.SetAsInteger(media::MediaFormat::kSampleRate, 48000); - decoder_media_format_.SetAsInteger(media::MediaFormat::kSampleBits, 16); - EXPECT_CALL(*decoder_, media_format()) - .WillRepeatedly(ReturnRef(decoder_media_format_)); + ON_CALL(*decoder_, config()) + .WillByDefault(Return(media::AudioDecoderConfig(16, 1, 44100))); // Create and initialize audio renderer. renderer_ = new AudioRendererImpl(filter_); @@ -68,7 +63,6 @@ class AudioRendererImplTest : public ::testing::Test { media::MockFilterHost host_; scoped_refptr<media::MockAudioDecoder> decoder_; scoped_refptr<AudioRendererImpl> renderer_; - media::MediaFormat decoder_media_format_; private: DISALLOW_COPY_AND_ASSIGN(AudioRendererImplTest); |