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); |
}; |