| Index: media/webm/webm_audio_client.cc | 
| diff --git a/media/webm/webm_audio_client.cc b/media/webm/webm_audio_client.cc | 
| index e52f44b4a9a7f33ee8bf8119b044999e4e4c8eee..1ef640c0dc4f77d328436deccc1d7300389a0c1b 100644 | 
| --- a/media/webm/webm_audio_client.cc | 
| +++ b/media/webm/webm_audio_client.cc | 
| @@ -26,12 +26,15 @@ void WebMAudioClient::Reset() { | 
|  | 
| bool WebMAudioClient::InitializeConfig( | 
| const std::string& codec_id, const std::vector<uint8>& codec_private, | 
| -    bool is_encrypted, AudioDecoderConfig* config) { | 
| +    int64 seek_preroll, int64 codec_delay, bool is_encrypted, | 
| +    AudioDecoderConfig* config) { | 
| DCHECK(config); | 
|  | 
| AudioCodec audio_codec = kUnknownAudioCodec; | 
| if (codec_id == "A_VORBIS") { | 
| audio_codec = kCodecVorbis; | 
| +  } else if (codec_id == "A_OPUS") { | 
| +    audio_codec = kCodecOpus; | 
| } else { | 
| MEDIA_LOG(log_cb_) << "Unsupported audio codec_id " << codec_id; | 
| return false; | 
| @@ -63,8 +66,14 @@ bool WebMAudioClient::InitializeConfig( | 
| } | 
|  | 
| config->Initialize( | 
| -      audio_codec, kSampleFormatPlanarF32, channel_layout, | 
| -      samples_per_second, extra_data, extra_data_size, is_encrypted, true); | 
| +      audio_codec, | 
| +      (audio_codec == kCodecOpus) ? kSampleFormatS16 : kSampleFormatPlanarF32, | 
| +      channel_layout, | 
| +      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)); | 
| return config->IsValidConfig(); | 
| } | 
|  | 
|  |