| Index: media/formats/webm/webm_audio_client.cc
|
| diff --git a/media/formats/webm/webm_audio_client.cc b/media/formats/webm/webm_audio_client.cc
|
| index 6de45028bb70e9f10096c40506c40aa628b1181d..6fe9a8434f23b0fbfe206d508230a7ea666a256f 100644
|
| --- a/media/formats/webm/webm_audio_client.cc
|
| +++ b/media/formats/webm/webm_audio_client.cc
|
| @@ -65,15 +65,27 @@ bool WebMAudioClient::InitializeConfig(
|
| extra_data_size = codec_private.size();
|
| }
|
|
|
| + // Convert |codec_delay| from nanoseconds into frames.
|
| + int codec_delay_in_frames = 0;
|
| + if (codec_delay != -1) {
|
| + codec_delay_in_frames =
|
| + 0.5 +
|
| + samples_per_second * (static_cast<double>(codec_delay) /
|
| + base::Time::kNanosecondsPerSecond);
|
| + }
|
| +
|
| config->Initialize(
|
| audio_codec,
|
| (audio_codec == kCodecOpus) ? kSampleFormatS16 : kSampleFormatPlanarF32,
|
| channel_layout,
|
| - samples_per_second, extra_data, extra_data_size, is_encrypted, true,
|
| + samples_per_second,
|
| + extra_data,
|
| + extra_data_size,
|
| + is_encrypted,
|
| + true,
|
| base::TimeDelta::FromMicroseconds(
|
| (seek_preroll != -1 ? seek_preroll : 0) / 1000),
|
| - base::TimeDelta::FromMicroseconds(
|
| - (codec_delay != -1 ? codec_delay : 0) / 1000));
|
| + codec_delay_in_frames);
|
| return config->IsValidConfig();
|
| }
|
|
|
|
|