| Index: media/audio/audio_manager_base.h
|
| diff --git a/media/audio/audio_manager_base.h b/media/audio/audio_manager_base.h
|
| index b3100cf6c507bb6cb6af2086806356cc3c6de15a..3188c233384cee6f3399a68cec7bcbd721e533c6 100644
|
| --- a/media/audio/audio_manager_base.h
|
| +++ b/media/audio/audio_manager_base.h
|
| @@ -16,6 +16,7 @@
|
| #include "base/observer_list.h"
|
| #include "base/threading/thread.h"
|
| #include "build/build_config.h"
|
| +#include "media/audio/audio_debug_recording_manager.h"
|
| #include "media/audio/audio_device_name.h"
|
| #include "media/audio/audio_manager.h"
|
| #include "media/audio/audio_output_dispatcher.h"
|
| @@ -24,6 +25,10 @@
|
| #include "base/win/scoped_com_initializer.h"
|
| #endif
|
|
|
| +namespace base {
|
| +class FilePath;
|
| +}
|
| +
|
| namespace media {
|
|
|
| class AudioOutputDispatcher;
|
| @@ -67,6 +72,10 @@ class MEDIA_EXPORT AudioManagerBase : public AudioManager {
|
| const std::string& input_device_id) override;
|
| std::unique_ptr<AudioLog> CreateAudioLog(
|
| AudioLogFactory::AudioComponent component) override;
|
| + void InitializeOutputDebugRecording(
|
| + AudioFileWriter::CreateCallback create_audio_file_writer_callback) final;
|
| + void EnableOutputDebugRecording(const base::FilePath& base_file_name) final;
|
| + void DisableOutputDebugRecording() final;
|
|
|
| void SetMaxStreamCountForTesting(int max_input, int max_output) final;
|
|
|
| @@ -153,7 +162,14 @@ class MEDIA_EXPORT AudioManagerBase : public AudioManager {
|
| // Implementations that don't yet support this should return an empty string.
|
| virtual std::string GetDefaultOutputDeviceID();
|
|
|
| + virtual std::unique_ptr<AudioDebugRecordingManager>
|
| + CreateAudioDebugRecordingManager(
|
| + AudioFileWriter::CreateCallback create_audio_file_writer_callback,
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner);
|
| +
|
| private:
|
| + FRIEND_TEST_ALL_PREFIXES(AudioManagerTest, AudioDebugRecording);
|
| +
|
| struct DispatcherParams;
|
| typedef ScopedVector<DispatcherParams> AudioOutputDispatchers;
|
|
|
| @@ -189,6 +205,9 @@ class MEDIA_EXPORT AudioManagerBase : public AudioManager {
|
| // Proxy for creating AudioLog objects.
|
| AudioLogFactory* const audio_log_factory_;
|
|
|
| + // Debug recording manager.
|
| + std::unique_ptr<AudioDebugRecordingManager> debug_recording_manager_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(AudioManagerBase);
|
| };
|
|
|
|
|