| Index: media/audio/audio_output_resampler.h
|
| diff --git a/media/audio/audio_output_resampler.h b/media/audio/audio_output_resampler.h
|
| index da512e09ebc345934a326a8c367678f639678067..38dd6c182c7fbfff8905c72ce2596e77ecaa871f 100644
|
| --- a/media/audio/audio_output_resampler.h
|
| +++ b/media/audio/audio_output_resampler.h
|
| @@ -31,6 +31,16 @@ class OnMoreDataConverter;
|
| // parameters. If opening still fails, it will fallback to AUDIO_FAKE.
|
| class MEDIA_EXPORT AudioOutputResampler : public AudioOutputDispatcher {
|
| public:
|
| + // Callbacks for debug recording. RegisterDebugRecordingSourceCallback is used
|
| + // for registering a stream so that recording can be setup. The Unregister-
|
| + // counterpart ungeisters for shutting down recording. DebugRecordingCallback
|
| + // is used for passing data. The int in all callbacks is a unique id to
|
| + // identify the stream.
|
| + using RegisterDebugRecordingSourceCallback =
|
| + base::Callback<void(int, const AudioParameters&)>;
|
| + using UnregisterDebugRecordingSourceCallback = base::Callback<void(int)>;
|
| + using DebugRecordingCallback = base::Callback<void(int, AudioBus*)>;
|
| +
|
| AudioOutputResampler(AudioManager* audio_manager,
|
| const AudioParameters& input_params,
|
| const AudioParameters& output_params,
|
| @@ -47,6 +57,14 @@ class MEDIA_EXPORT AudioOutputResampler : public AudioOutputDispatcher {
|
| void StreamVolumeSet(AudioOutputProxy* stream_proxy, double volume) override;
|
| void CloseStream(AudioOutputProxy* stream_proxy) override;
|
|
|
| + // Sets debug recording callbacks. See comment on callback definitions above.
|
| + void SetDebugRecordingCallbacks(
|
| + const RegisterDebugRecordingSourceCallback&
|
| + register_debug_recording_source_callback,
|
| + const UnregisterDebugRecordingSourceCallback&
|
| + unregister_debug_recording_source_callback,
|
| + const DebugRecordingCallback& debug_recording_callback);
|
| +
|
| private:
|
| using CallbackMap =
|
| std::map<AudioOutputProxy*, std::unique_ptr<OnMoreDataConverter>>;
|
| @@ -90,6 +108,13 @@ class MEDIA_EXPORT AudioOutputResampler : public AudioOutputDispatcher {
|
| // to a fake stream indefinitely for transient errors.
|
| base::Timer reinitialize_timer_;
|
|
|
| + // Used for audio debug recordings. See comment on callback definitions above.
|
| + RegisterDebugRecordingSourceCallback
|
| + register_debug_recording_source_callback_;
|
| + UnregisterDebugRecordingSourceCallback
|
| + unregister_debug_recording_source_callback_;
|
| + DebugRecordingCallback debug_recording_callback_;
|
| +
|
| base::WeakPtrFactory<AudioOutputResampler> weak_factory_;
|
| DISALLOW_COPY_AND_ASSIGN(AudioOutputResampler);
|
| };
|
|
|