| 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(){};
|
| +};
|
|
|
| - 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
|
|
|