| Index: media/audio/android/opensles_output.cc
 | 
| diff --git a/media/audio/android/opensles_output.cc b/media/audio/android/opensles_output.cc
 | 
| index 3b5ee648c7f846c425ab40e9db7a30815b6fe839..68cd09225a0c1ea559c312156db141307f34502c 100644
 | 
| --- a/media/audio/android/opensles_output.cc
 | 
| +++ b/media/audio/android/opensles_output.cc
 | 
| @@ -35,6 +35,7 @@ OpenSLESOutputStream::OpenSLESOutputStream(AudioManagerAndroid* manager,
 | 
|      NOTREACHED() << "Unsupported number of channels: " << format_.numChannels;
 | 
|  
 | 
|    buffer_size_bytes_ = params.GetBytesPerBuffer();
 | 
| +  audios_bus_ = AudioBus::Create(params);
 | 
|  
 | 
|    memset(&audio_data_, 0, sizeof(audio_data_));
 | 
|  }
 | 
| @@ -257,17 +258,19 @@ void OpenSLESOutputStream::FillBufferQueue() {
 | 
|    // Read data from the registered client source.
 | 
|    // TODO(xians): Get an accurate delay estimation.
 | 
|    uint32 hardware_delay = buffer_size_bytes_;
 | 
| -  size_t num_filled_bytes = callback_->OnMoreData(
 | 
| -      audio_data_[active_queue_],
 | 
| -      buffer_size_bytes_,
 | 
| -      AudioBuffersState(0, hardware_delay));
 | 
| -  DCHECK(num_filled_bytes <= buffer_size_bytes_);
 | 
| +  int frames_filled = callback_->OnMoreData(
 | 
| +      audio_bus_.get(), AudioBuffersState(0, hardware_delay));
 | 
| +  int num_filled_bytes =
 | 
| +      frames_filled * audio_bus->channels() * format_.bitsPerSample / 8;
 | 
| +  DCHECK_LE(num_filled_bytes, buffer_size_bytes_);
 | 
| +  audio_bus_->ToInterleaved(
 | 
| +      frames_filled, format_.bitsPerSample / 8, audio_data_[active_queue_]);
 | 
|  
 | 
|    // Perform in-place, software-volume adjustments.
 | 
|    media::AdjustVolume(audio_data_[active_queue_],
 | 
|                        num_filled_bytes,
 | 
|                        format_.numChannels,
 | 
| -                      format_.containerSize >> 3,
 | 
| +                      format_.bitsPerSample / 8,
 | 
|                        volume_);
 | 
|  
 | 
|    // Enqueue the buffer for playback.
 | 
| 
 |