| Index: media/audio/alsa/alsa_input.cc
|
| diff --git a/media/audio/alsa/alsa_input.cc b/media/audio/alsa/alsa_input.cc
|
| index 9cde236b59154f221b5242483aa130956692a6c1..0bc9f314d45e260a37d81c8238507c78edc79f46 100644
|
| --- a/media/audio/alsa/alsa_input.cc
|
| +++ b/media/audio/alsa/alsa_input.cc
|
| @@ -43,7 +43,9 @@ AlsaPcmInputStream::AlsaPcmInputStream(AudioManagerBase* audio_manager,
|
| mixer_handle_(NULL),
|
| mixer_element_handle_(NULL),
|
| read_callback_behind_schedule_(false),
|
| - weak_factory_(this) {}
|
| + audio_bus_(AudioBus::Create(params)),
|
| + weak_factory_(this) {
|
| +}
|
|
|
| AlsaPcmInputStream::~AlsaPcmInputStream() {}
|
|
|
| @@ -208,8 +210,11 @@ void AlsaPcmInputStream::ReadAudio() {
|
| int frames_read = wrapper_->PcmReadi(device_handle_, audio_buffer_.get(),
|
| params_.frames_per_buffer());
|
| if (frames_read == params_.frames_per_buffer()) {
|
| - callback_->OnData(this, audio_buffer_.get(), bytes_per_buffer_,
|
| - hardware_delay_bytes, normalized_volume);
|
| + audio_bus_->FromInterleaved(audio_buffer_.get(),
|
| + audio_bus_->frames(),
|
| + params_.bits_per_sample() / 8);
|
| + callback_->OnData(
|
| + this, audio_bus_.get(), hardware_delay_bytes, normalized_volume);
|
| } else {
|
| LOG(WARNING) << "PcmReadi returning less than expected frames: "
|
| << frames_read << " vs. " << params_.frames_per_buffer()
|
|
|