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 |