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

Unified Diff: media/audio/audio_output_device.h

Issue 1703473002: Make AudioOutputDevice restartable and reinitializable (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@new_mixing
Patch Set: Created 4 years, 10 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: media/audio/audio_output_device.h
diff --git a/media/audio/audio_output_device.h b/media/audio/audio_output_device.h
index 26f711d38aca1ec3ef7143577b8e8e4df3335e78..1733a786edfabe78d6c43ecfa2e0354a6ffddcb6 100644
--- a/media/audio/audio_output_device.h
+++ b/media/audio/audio_output_device.h
@@ -80,7 +80,7 @@
namespace media {
class MEDIA_EXPORT AudioOutputDevice
- : NON_EXPORTED_BASE(public AudioRendererSink),
+ : NON_EXPORTED_BASE(public RestartableAudioRendererSink),
NON_EXPORTED_BASE(public AudioOutputIPCDelegate),
NON_EXPORTED_BASE(public OutputDevice),
NON_EXPORTED_BASE(public ScopedTaskRunnerObserver) {
@@ -93,10 +93,7 @@ class MEDIA_EXPORT AudioOutputDevice
const std::string& device_id,
const url::Origin& security_origin);
- // Request authorization to use the device specified in the constructor.
- void RequestDeviceAuthorization();
-
- // AudioRendererSink implementation.
+ // RestartableAudioRendererSink implementation.
void Initialize(const AudioParameters& params,
RenderCallback* callback) override;
void Start() override;
@@ -110,6 +107,9 @@ class MEDIA_EXPORT AudioOutputDevice
AudioParameters GetOutputParameters() override;
OutputDeviceStatus GetDeviceStatus() override;
+ // Request authorization to use the device specified in the constructor.
+ void RequestDeviceAuthorization();
+
// Methods called on IO thread ----------------------------------------------
// AudioOutputIPCDelegate methods.
void OnStateChanged(AudioOutputIPCDelegateState state) override;
@@ -148,10 +148,12 @@ class MEDIA_EXPORT AudioOutputDevice
// be executed on that thread. They use AudioOutputIPC to send IPC messages
// upon state changes.
void RequestDeviceAuthorizationOnIOThread();
- void CreateStreamOnIOThread(const AudioParameters& params);
+ void InitializeOnIOThread(const AudioParameters& params,
+ RenderCallback* callback);
+ void CreateStreamOnIOThread();
void PlayOnIOThread();
void PauseOnIOThread();
- void ShutDownOnIOThread();
+ void StopOnIOThread();
void SetVolumeOnIOThread(double volume);
// base::MessageLoop::DestructionObserver implementation for the IO loop.

Powered by Google App Engine
This is Rietveld 408576698