Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(667)

Unified Diff: components/copresence/mediums/audio/audio_recorder.h

Issue 637223011: Redesign the copresence audio handlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698