Index: media/cast/sender/audio_encoder.cc |
diff --git a/media/cast/sender/audio_encoder.cc b/media/cast/sender/audio_encoder.cc |
index 9c6c6f44b5e40e34b0d883f0cc18ab07c0e8be1b..54b110b83305ada521d7b9c4519c09499170fc8c 100644 |
--- a/media/cast/sender/audio_encoder.cc |
+++ b/media/cast/sender/audio_encoder.cc |
@@ -281,14 +281,11 @@ class AudioEncoder::OpusImpl : public AudioEncoder::ImplBase { |
int source_offset, |
int buffer_fill_offset, |
int num_samples) final { |
+ DCHECK_EQ(audio_bus->channels(), num_channels_); |
// Opus requires channel-interleaved samples in a single array. |
miu
2016/06/02 20:40:21
nit: You can remove this comment now. The call to
chfremer
2016/06/07 21:21:39
Done.
|
- for (int ch = 0; ch < audio_bus->channels(); ++ch) { |
- const float* src = audio_bus->channel(ch) + source_offset; |
- const float* const src_end = src + num_samples; |
- float* dest = buffer_.get() + buffer_fill_offset * num_channels_ + ch; |
- for (; src < src_end; ++src, dest += num_channels_) |
- *dest = *src; |
- } |
+ audio_bus->ToInterleavedFloat(source_offset, |
+ buffer_fill_offset * num_channels_, |
+ num_samples, buffer_.get()); |
} |
bool EncodeFromFilledBuffer(std::string* out) final { |