Index: media/audio/mac/audio_low_latency_input_mac.h |
diff --git a/media/audio/mac/audio_low_latency_input_mac.h b/media/audio/mac/audio_low_latency_input_mac.h |
index c8e43fa7ff70f06d6f39836392460334814244b6..dde7e705bbb8b6a28960ab9a8e593aae32a37f33 100644 |
--- a/media/audio/mac/audio_low_latency_input_mac.h |
+++ b/media/audio/mac/audio_low_latency_input_mac.h |
@@ -45,10 +45,10 @@ |
#include "media/audio/agc_audio_stream.h" |
#include "media/audio/audio_io.h" |
#include "media/audio/audio_parameters.h" |
-#include "media/base/audio_block_fifo.h" |
namespace media { |
+class AudioBlockFifo; |
class AudioBus; |
class AudioManagerMac; |
class DataBuffer; |
@@ -78,7 +78,7 @@ class AUAudioInputStream : public AgcAudioStream<AudioInputStream> { |
bool started() const { return started_; } |
AudioUnit audio_unit() { return audio_unit_; } |
- AudioBufferList* audio_buffer_list() { return &audio_buffer_list_; } |
+ AudioBufferList* audio_buffer_list() { return audio_buffer_list_; } |
private: |
// AudioOutputUnit callback. |
@@ -90,7 +90,8 @@ class AUAudioInputStream : public AgcAudioStream<AudioInputStream> { |
AudioBufferList* io_data); |
// Pushes recorded data to consumer of the input audio stream. |
- OSStatus Provide(UInt32 number_of_frames, AudioBufferList* io_data, |
+ OSStatus Provide(UInt32 number_of_frames, |
+ AudioBufferList* io_data, |
const AudioTimeStamp* time_stamp); |
// Gets the fixed capture hardware latency and store it during initialization. |
@@ -132,7 +133,7 @@ class AUAudioInputStream : public AgcAudioStream<AudioInputStream> { |
AudioDeviceID input_device_id_; |
// Provides a mechanism for encapsulating one or more buffers of audio data. |
- AudioBufferList audio_buffer_list_; |
+ AudioBufferList* audio_buffer_list_; |
// Temporary storage for recorded data. The InputProc() renders into this |
// array as soon as a frame of the desired buffer size has been recorded. |
@@ -148,8 +149,12 @@ class AUAudioInputStream : public AgcAudioStream<AudioInputStream> { |
// when querying the volume of each channel. |
int number_of_channels_in_frame_; |
- // FIFO used to accumulates recorded data. |
- media::AudioBlockFifo fifo_; |
+ // Dynamically allocated FIFO used when CoreAudio asks for unexpected frame |
+ // sizes. |
+ scoped_ptr<AudioBlockFifo> fifo_; |
+ |
+ // AudioBus wrapper for delievering data via AudioSourceCallback::OnData(). |
+ scoped_ptr<AudioBus> audio_wrapper_; |
// Used to defer Start() to workaround http://crbug.com/160920. |
base::CancelableClosure deferred_start_cb_; |