summaryrefslogtreecommitdiffstats
path: root/media/base
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 /media/base
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 'media/base')
-rw-r--r--media/base/audio_decoder_config.h24
-rw-r--r--media/base/filters.h6
-rw-r--r--media/base/mock_filters.h2
3 files changed, 28 insertions, 4 deletions
diff --git a/media/base/audio_decoder_config.h b/media/base/audio_decoder_config.h
new file mode 100644
index 0000000..791d2cd
--- /dev/null
+++ b/media/base/audio_decoder_config.h
@@ -0,0 +1,24 @@
+// 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.
+
+#ifndef MEDIA_BASE_AUDIO_DECODER_CONFIG_H_
+#define MEDIA_BASE_AUDIO_DECODER_CONFIG_H_
+
+namespace media {
+
+struct AudioDecoderConfig {
+ AudioDecoderConfig(int bits, int channels, int rate)
+ : bits_per_channel(bits),
+ channels_per_sample(channels),
+ sample_rate(rate) {
+ }
+
+ int bits_per_channel;
+ int channels_per_sample;
+ int sample_rate;
+};
+
+} // namespace media
+
+#endif // MEDIA_BASE_AUDIO_DECODER_CONFIG_H_
diff --git a/media/base/filters.h b/media/base/filters.h
index 7d56114..f290fec 100644
--- a/media/base/filters.h
+++ b/media/base/filters.h
@@ -30,6 +30,7 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/time.h"
+#include "media/base/audio_decoder_config.h"
#include "media/base/media_format.h"
#include "media/base/video_frame.h"
@@ -238,6 +239,8 @@ class AudioDecoder : public Filter {
virtual void Initialize(DemuxerStream* stream, FilterCallback* callback,
StatisticsCallback* stats_callback) = 0;
+ virtual AudioDecoderConfig config() = 0;
+
// |set_fill_buffer_done_callback| install permanent callback from downstream
// filter (i.e. Renderer). The callback is used to deliver buffers at
// runtime to downstream filter.
@@ -255,9 +258,6 @@ class AudioDecoder : public Filter {
// We could also pass empty pointer here to let decoder provide buffers pool.
virtual void ProduceAudioSamples(scoped_refptr<Buffer> buffer) = 0;
- // Returns the media format produced by this decoder.
- virtual const MediaFormat& media_format() = 0;
-
protected:
AudioDecoder();
~AudioDecoder();
diff --git a/media/base/mock_filters.h b/media/base/mock_filters.h
index 636b60f..7a58095 100644
--- a/media/base/mock_filters.h
+++ b/media/base/mock_filters.h
@@ -214,7 +214,7 @@ class MockAudioDecoder : public AudioDecoder {
MOCK_METHOD3(Initialize, void(DemuxerStream* stream,
FilterCallback* callback,
StatisticsCallback* stats_callback));
- MOCK_METHOD0(media_format, const MediaFormat&());
+ MOCK_METHOD0(config, AudioDecoderConfig());
MOCK_METHOD1(ProduceAudioSamples, void(scoped_refptr<Buffer>));
// change to public to allow unittest for access;