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 /media/base | |
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 'media/base')
-rw-r--r-- | media/base/audio_decoder_config.h | 24 | ||||
-rw-r--r-- | media/base/filters.h | 6 | ||||
-rw-r--r-- | media/base/mock_filters.h | 2 |
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; |