| Index: media/audio/mac/audio_input_mac.cc
|
| diff --git a/media/audio/mac/audio_input_mac.cc b/media/audio/mac/audio_input_mac.cc
|
| index 94dc9440ddba141c2adee0721f231ea1fcc3f3fa..b7f6e17310954e5ef3aa04dce96c76831640f2bf 100644
|
| --- a/media/audio/mac/audio_input_mac.cc
|
| +++ b/media/audio/mac/audio_input_mac.cc
|
| @@ -10,16 +10,19 @@
|
| #include "base/logging.h"
|
| #include "base/mac/mac_logging.h"
|
| #include "media/audio/mac/audio_manager_mac.h"
|
| +#include "media/base/audio_bus.h"
|
|
|
| namespace media {
|
|
|
| PCMQueueInAudioInputStream::PCMQueueInAudioInputStream(
|
| - AudioManagerMac* manager, const AudioParameters& params)
|
| + AudioManagerMac* manager,
|
| + const AudioParameters& params)
|
| : manager_(manager),
|
| callback_(NULL),
|
| audio_queue_(NULL),
|
| buffer_size_bytes_(0),
|
| - started_(false) {
|
| + started_(false),
|
| + audio_bus_(media::AudioBus::Create(params)) {
|
| // We must have a manager.
|
| DCHECK(manager_);
|
| // A frame is one sample across all channels. In interleaved audio the per
|
| @@ -215,11 +218,11 @@ void PCMQueueInAudioInputStream::HandleInputBuffer(
|
| if (elapsed < kMinDelay)
|
| base::PlatformThread::Sleep(kMinDelay - elapsed);
|
|
|
| - callback_->OnData(this,
|
| - reinterpret_cast<const uint8*>(audio_buffer->mAudioData),
|
| - audio_buffer->mAudioDataByteSize,
|
| - audio_buffer->mAudioDataByteSize,
|
| - 0.0);
|
| + uint8* audio_data = reinterpret_cast<uint8*>(audio_buffer->mAudioData);
|
| + audio_bus_->FromInterleaved(
|
| + audio_data, audio_bus_->frames(), format_.mBitsPerChannel / 8);
|
| + callback_->OnData(
|
| + this, audio_bus_.get(), audio_buffer->mAudioDataByteSize, 0.0);
|
|
|
| last_fill_ = base::TimeTicks::Now();
|
| }
|
|
|