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

Unified Diff: media/audio/audio_output_device.h

Issue 10834033: Move AudioDevice and AudioInputDevice to media. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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
===================================================================
--- media/audio/audio_output_device.h (revision 148738)
+++ media/audio/audio_output_device.h (working copy)
@@ -7,17 +7,17 @@
//
// Relationship of classes.
//
-// AudioOutputController AudioDevice
+// AudioOutputController AudioOutputDevice
// ^ ^
// | |
// v IPC v
-// AudioRendererHost <---------> AudioMessageFilter
+// AudioRendererHost <---------> AudioOutputIPC (AudioMessageFilter)
//
// Transportation of audio samples from the render to the browser process
// is done by using shared memory in combination with a sync socket pair
-// to generate a low latency transport. The AudioDevice user registers an
-// AudioDevice::RenderCallback at construction and will be polled by the
-// AudioDevice for audio to be played out by the underlying audio layers.
+// to generate a low latency transport. The AudioOutputDevice user registers an
+// AudioOutputDevice::RenderCallback at construction and will be polled by the
+// AudioOutputDevice for audio to be played out by the underlying audio layers.
//
// State sequences.
//
@@ -33,7 +33,7 @@
// (note that Play() / Pause() sequences before OnStreamCreated are
// deferred until OnStreamCreated, with the last valid state being used)
//
-// AudioDevice::Render => audio transport on audio thread =>
+// AudioOutputDevice::Render => audio transport on audio thread =>
// |
// Stop --> ShutDownOnIOThread --------> CloseStream -> Close
//
@@ -53,41 +53,32 @@
// memory.
//
// Implementation notes:
-//
-// - Start() is asynchronous/non-blocking.
-// - Stop() is asynchronous/non-blocking.
-// - Play() is asynchronous/non-blocking.
-// - Pause() is asynchronous/non-blocking.
// - The user must call Stop() before deleting the class instance.
-#ifndef CONTENT_RENDERER_MEDIA_AUDIO_DEVICE_H_
-#define CONTENT_RENDERER_MEDIA_AUDIO_DEVICE_H_
+#ifndef MEDIA_AUDIO_AUDIO_OUTPUT_DEVICE_H_
+#define MEDIA_AUDIO_AUDIO_OUTPUT_DEVICE_H_
#include "base/basictypes.h"
#include "base/bind.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
#include "base/shared_memory.h"
-#include "content/common/content_export.h"
-#include "content/renderer/media/audio_device_thread.h"
-#include "content/renderer/media/scoped_loop_observer.h"
+#include "media/base/media_export.h"
+#include "media/audio/audio_device_thread.h"
#include "media/audio/audio_output_ipc.h"
#include "media/audio/audio_parameters.h"
+#include "media/audio/scoped_loop_observer.h"
#include "media/base/audio_renderer_sink.h"
namespace media {
-class AudioParameters;
-}
-class CONTENT_EXPORT AudioDevice
- : NON_EXPORTED_BASE(public media::AudioRendererSink),
- public media::AudioOutputIPCDelegate,
+class MEDIA_EXPORT AudioOutputDevice
+ : NON_EXPORTED_BASE(public AudioRendererSink),
+ public AudioOutputIPCDelegate,
NON_EXPORTED_BASE(public ScopedLoopObserver) {
public:
- // Methods called on main render thread -------------------------------------
-
// AudioRendererSink implementation.
- virtual void Initialize(const media::AudioParameters& params,
+ virtual void Initialize(const AudioParameters& params,
RenderCallback* callback) OVERRIDE;
virtual void Start() OVERRIDE;
virtual void Stop() OVERRIDE;
@@ -97,32 +88,31 @@
// Methods called on IO thread ----------------------------------------------
// AudioOutputIPCDelegate methods.
- virtual void OnStateChanged(
- media::AudioOutputIPCDelegate::State state) OVERRIDE;
+ virtual void OnStateChanged(AudioOutputIPCDelegate::State state) OVERRIDE;
virtual void OnStreamCreated(base::SharedMemoryHandle handle,
base::SyncSocket::Handle socket_handle,
int length) OVERRIDE;
virtual void OnIPCClosed() OVERRIDE;
- // Creates an uninitialized AudioDevice. Clients must call Initialize()
+ // Creates an uninitialized AudioOutputDevice. Clients must call Initialize()
// before using.
// TODO(tommi): When all dependencies on |content| have been removed
- // from AudioDevice, move this class over to media/audio.
- AudioDevice(media::AudioOutputIPC* ipc,
- const scoped_refptr<base::MessageLoopProxy>& io_loop);
+ // from AudioOutputDevice, move this class over to media/audio.
+ AudioOutputDevice(AudioOutputIPC* ipc,
+ const scoped_refptr<base::MessageLoopProxy>& io_loop);
protected:
// Magic required by ref_counted.h to avoid any code deleting the object
// accidentally while there are references to it.
- friend class base::RefCountedThreadSafe<AudioDevice>;
- virtual ~AudioDevice();
+ friend class base::RefCountedThreadSafe<AudioOutputDevice>;
+ virtual ~AudioOutputDevice();
private:
// Methods called on IO thread ----------------------------------------------
// The following methods are tasks posted on the IO thread that needs to
// be executed on that thread. They interact with AudioMessageFilter and
// sends IPC messages on that thread.
- void CreateStreamOnIOThread(const media::AudioParameters& params);
+ void CreateStreamOnIOThread(const AudioParameters& params);
void PlayOnIOThread();
void PauseOnIOThread(bool flush);
void ShutDownOnIOThread();
@@ -132,13 +122,13 @@
// If the IO loop dies before we do, we shut down the audio thread from here.
virtual void WillDestroyCurrentMessageLoop() OVERRIDE;
- media::AudioParameters audio_parameters_;
+ AudioParameters audio_parameters_;
RenderCallback* callback_;
// A pointer to the IPC layer that takes care of sending requests over to
// the AudioRendererHost.
- media::AudioOutputIPC* ipc_;
+ AudioOutputIPC* ipc_;
// Our stream ID on the message filter. Only accessed on the IO thread.
// Must only be modified on the IO thread.
@@ -160,10 +150,12 @@
// guard to control stopping and starting the audio thread.
base::Lock audio_thread_lock_;
AudioDeviceThread audio_thread_;
- scoped_ptr<AudioDevice::AudioThreadCallback> audio_callback_;
+ scoped_ptr<AudioOutputDevice::AudioThreadCallback> audio_callback_;
-
- DISALLOW_COPY_AND_ASSIGN(AudioDevice);
+ DISALLOW_COPY_AND_ASSIGN(AudioOutputDevice);
};
-#endif // CONTENT_RENDERER_MEDIA_AUDIO_DEVICE_H_
+} // namespace media
+
+#endif // MEDIA_AUDIO_AUDIO_OUTPUT_DEVICE_H_
+

Powered by Google App Engine
This is Rietveld 408576698