| Index: content/renderer/media/audio_track_recorder.cc
|
| diff --git a/content/renderer/media/audio_track_recorder.cc b/content/renderer/media/audio_track_recorder.cc
|
| index ad28b28d96b5ee3ae0d4015514ddbc5d296d23b4..5d5e75235fa41b8f1351700c40a8b846f220888e 100644
|
| --- a/content/renderer/media/audio_track_recorder.cc
|
| +++ b/content/renderer/media/audio_track_recorder.cc
|
| @@ -15,6 +15,7 @@
|
| #include "media/base/audio_converter.h"
|
| #include "media/base/audio_fifo.h"
|
| #include "media/base/audio_parameters.h"
|
| +#include "media/base/audio_sample_types.h"
|
| #include "media/base/bind_to_current_loop.h"
|
| #include "third_party/opus/src/include/opus.h"
|
|
|
| @@ -76,19 +77,6 @@ bool DoEncode(OpusEncoder* opus_encoder,
|
| return false;
|
| }
|
|
|
| -// Interleaves |audio_bus| channels() of floats into a single output linear
|
| -// |buffer|.
|
| -// TODO(mcasas) https://crbug.com/580391 use AudioBus::ToInterleavedFloat().
|
| -void ToInterleaved(media::AudioBus* audio_bus, float* buffer) {
|
| - for (int ch = 0; ch < audio_bus->channels(); ++ch) {
|
| - const float* src = audio_bus->channel(ch);
|
| - const float* const src_end = src + audio_bus->frames();
|
| - float* dest = buffer + ch;
|
| - for (; src < src_end; ++src, dest += audio_bus->channels())
|
| - *dest = *src;
|
| - }
|
| -}
|
| -
|
| } // anonymous namespace
|
|
|
| // Nested class encapsulating opus-related encoding details. It contains an
|
| @@ -259,7 +247,8 @@ void AudioTrackRecorder::AudioEncoder::EncodeAudio(
|
| std::unique_ptr<media::AudioBus> audio_bus = media::AudioBus::Create(
|
| output_params_.channels(), kOpusPreferredFramesPerBuffer);
|
| converter_->Convert(audio_bus.get());
|
| - ToInterleaved(audio_bus.get(), buffer_.get());
|
| + audio_bus->ToInterleaved<media::Float32SampleTypeTraits>(
|
| + audio_bus->frames(), buffer_.get());
|
|
|
| std::unique_ptr<std::string> encoded_data(new std::string());
|
| if (DoEncode(opus_encoder_, buffer_.get(), kOpusPreferredFramesPerBuffer,
|
|
|