Chromium Code Reviews| Index: media/base/audio_buffer.cc |
| diff --git a/media/base/audio_buffer.cc b/media/base/audio_buffer.cc |
| index d563539ba07aac679662baba47b49db456208f8f..f77c2180c4b7c63624081aa7300605eacbf76e70 100644 |
| --- a/media/base/audio_buffer.cc |
| +++ b/media/base/audio_buffer.cc |
| @@ -245,9 +245,17 @@ void AudioBuffer::ReadFrames(int frames_to_copy, |
| DCHECK_EQ(dest->channels(), channel_count_); |
| DCHECK_LE(source_frame_offset + frames_to_copy, adjusted_frame_count_); |
| + dest->set_is_bitstream_format(IsBitstreamFormat()); |
|
DaleCurtis
2017/06/15 21:46:32
Move into l.251 as set_is_bitstream_format(true);
AndyWu
2017/08/02 01:43:40
Not really sure it's a good idea to assume the sta
|
| + |
| if (IsBitstreamFormat()) { |
| - // TODO(tsunghung): Implement it along with AudioBus changes. |
| - NOTREACHED() << "Invalid sample format!"; |
| + DCHECK(!source_frame_offset); |
| + uint8_t* dest_data = |
| + reinterpret_cast<uint8_t*>(dest->channel(0)) + dest->data_size(); |
| + |
| + memcpy(dest_data, channel_data_[0], data_size()); |
| + dest->set_data_size(dest_frame_offset + data_size()); |
| + dest->set_frames(dest->frames() + frame_count()); |
| + return; |
| } |
| DCHECK_LE(dest_frame_offset + frames_to_copy, dest->frames()); |