Chromium Code Reviews| Index: components/copresence/mediums/audio/audio_recorder.h |
| diff --git a/components/copresence/mediums/audio/audio_recorder.h b/components/copresence/mediums/audio/audio_recorder.h |
| index 5c68eca1808b5c064be2f6426514559186b0adc8..ec7abe5dcd1d8efdd97f9b9a9607fece56d3ea09 100644 |
| --- a/components/copresence/mediums/audio/audio_recorder.h |
| +++ b/components/copresence/mediums/audio/audio_recorder.h |
| @@ -25,23 +25,41 @@ class AudioBus; |
| namespace copresence { |
| // The AudioRecorder class will record audio until told to stop. |
| -class AudioRecorder : public media::AudioInputStream::AudioInputCallback, |
| - public media::AudioConverter::InputCallback { |
| +class AudioRecorder { |
| public: |
| - typedef base::Callback<void(const std::string&)> DecodeSamplesCallback; |
| - |
| - explicit AudioRecorder(const DecodeSamplesCallback& decode_callback); |
| + typedef base::Callback<void(const std::string&)> RecordedSamplesCallback; |
| // Initializes the object. Do not use this object before calling this method. |
| - virtual void Initialize(); |
| + virtual void Initialize(const RecordedSamplesCallback& decode_callback) = 0; |
| - virtual void Record(); |
| - virtual void Stop(); |
| + virtual void Record() = 0; |
| + virtual void Stop() = 0; |
| // Cleans up and deletes this object. Do not use object after this call. |
| - virtual void Finalize(); |
| + virtual void Finalize() = 0; |
| + |
| + virtual bool IsRecording() = 0; |
| + |
| + protected: |
| + virtual ~AudioRecorder(){}; |
|
Daniel Erat
2014/10/21 19:43:22
nit: virtual ~AudioRecorder() {}
rkc
2014/10/22 00:06:20
Done.
|
| +}; |
| - bool IsRecording(); |
| +// The AudioRecorder class will record audio until told to stop. |
| +class AudioRecorderImpl : public AudioRecorder, |
| + public media::AudioInputStream::AudioInputCallback, |
| + public media::AudioConverter::InputCallback { |
| + public: |
| + typedef base::Callback<void(const std::string&)> RecordedSamplesCallback; |
| + |
| + AudioRecorderImpl(); |
| + |
| + // AudioRecorder overrides: |
| + virtual void Initialize( |
| + const RecordedSamplesCallback& decode_callback) override; |
| + virtual void Record() override; |
| + virtual void Stop() override; |
| + virtual void Finalize() override; |
| + virtual bool IsRecording() override; |
| // Takes ownership of the stream. |
| void set_input_stream_for_testing( |
| @@ -55,7 +73,7 @@ class AudioRecorder : public media::AudioInputStream::AudioInputCallback, |
| } |
| protected: |
| - virtual ~AudioRecorder(); |
| + virtual ~AudioRecorderImpl(); |
| void set_is_recording(bool is_recording) { is_recording_ = is_recording; } |
| private: |
| @@ -92,7 +110,8 @@ class AudioRecorder : public media::AudioInputStream::AudioInputCallback, |
| bool is_recording_; |
| media::AudioInputStream* stream_; |
| - DecodeSamplesCallback decode_callback_; |
| + |
| + RecordedSamplesCallback decode_callback_; |
| // ProvideInput will use this buffer as its source. |
| const media::AudioBus* temp_conversion_buffer_; |
| @@ -108,7 +127,7 @@ class AudioRecorder : public media::AudioInputStream::AudioInputCallback, |
| scoped_ptr<media::AudioInputStream> input_stream_for_testing_; |
| scoped_ptr<media::AudioParameters> params_for_testing_; |
| - DISALLOW_COPY_AND_ASSIGN(AudioRecorder); |
| + DISALLOW_COPY_AND_ASSIGN(AudioRecorderImpl); |
| }; |
| } // namespace copresence |