| Index: media/audio/audio_device_thread.h
|
| diff --git a/media/audio/audio_device_thread.h b/media/audio/audio_device_thread.h
|
| index 61e5e8724ddc24b289c01c364e3491b137779462..6507efd1c7eed6c38eca9fce6d2e9f3d41a1d019 100644
|
| --- a/media/audio/audio_device_thread.h
|
| +++ b/media/audio/audio_device_thread.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/memory/shared_memory.h"
|
| #include "base/sync_socket.h"
|
| #include "base/synchronization/lock.h"
|
| +#include "media/audio/audio_io.h"
|
| #include "media/base/audio_parameters.h"
|
| #include "media/base/media_export.h"
|
|
|
| @@ -21,6 +22,7 @@ class MessageLoop;
|
|
|
| namespace media {
|
| class AudioBus;
|
| +struct AudioTimestamp;
|
|
|
| // Data transfer between browser and render process uses a combination
|
| // of sync sockets and shared memory. To read from the socket and render
|
| @@ -52,7 +54,9 @@ class MEDIA_EXPORT AudioDeviceThread {
|
| virtual void MapSharedMemory() = 0;
|
|
|
| // Called whenever we receive notifications about pending input data.
|
| - virtual void Process(uint32_t pending_data) = 0;
|
| + // It also provides the current audio stream timestamp on the device.
|
| + virtual void Process(uint32_t pending_data,
|
| + const AudioTimestamp& timestamp) = 0;
|
|
|
| protected:
|
| // Protected so that derived classes can access directly.
|
| @@ -75,6 +79,12 @@ class MEDIA_EXPORT AudioDeviceThread {
|
| AudioDeviceThread();
|
| ~AudioDeviceThread();
|
|
|
| + // Represents a data packet to be received via the socket.
|
| + struct Packet {
|
| + uint32_t pending_data;
|
| + AudioTimestamp timestamp;
|
| + };
|
| +
|
| // Starts the audio thread. The thread must not already be running. If
|
| // |sychronized_buffers| is set, the browser expects to be notified via the
|
| // |socket| every time AudioDeviceThread::Process() completes.
|
|
|