summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-26 23:21:03 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-26 23:21:03 +0000
commit08bff2cc79f4fd0b5f78f8b07babf2c6bbb4a9c0 (patch)
tree59ade6118ab9e3a9ff70eedbcf468cc2b2934fb6 /content/renderer
parentb481edbd6eb1803a01704f0c7d3aeeda7f1ec962 (diff)
downloadchromium_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.cc20
-rw-r--r--content/renderer/media/audio_renderer_impl.h5
-rw-r--r--content/renderer/media/audio_renderer_impl_unittest.cc12
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,
- &params_.channels,
- &params_.sample_rate,
- &params_.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);