| Index: media/filters/decrypting_audio_decoder.cc
|
| diff --git a/media/filters/decrypting_audio_decoder.cc b/media/filters/decrypting_audio_decoder.cc
|
| index 79d82093302c313de8265bdf27408a76d2f0429e..124803e2770a4e0a7b7cfba33439a4331bff8038 100644
|
| --- a/media/filters/decrypting_audio_decoder.cc
|
| +++ b/media/filters/decrypting_audio_decoder.cc
|
| @@ -166,7 +166,8 @@ DecryptingAudioDecoder::~DecryptingAudioDecoder() {
|
| base::ResetAndReturn(&reset_cb_).Run();
|
| }
|
|
|
| -void DecryptingAudioDecoder::SetDecryptor(Decryptor* decryptor) {
|
| +void DecryptingAudioDecoder::SetDecryptor(Decryptor* decryptor,
|
| + base::Closure done_cb) {
|
| DVLOG(2) << "SetDecryptor()";
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| DCHECK_EQ(state_, kDecryptorRequested) << state_;
|
| @@ -178,12 +179,16 @@ void DecryptingAudioDecoder::SetDecryptor(Decryptor* decryptor) {
|
| if (!decryptor) {
|
| base::ResetAndReturn(&init_cb_).Run(DECODER_ERROR_NOT_SUPPORTED);
|
| state_ = kError;
|
| + if (!done_cb.is_null())
|
| + done_cb.Run();
|
| return;
|
| }
|
|
|
| decryptor_ = decryptor;
|
|
|
| InitializeDecoder();
|
| + if (!done_cb.is_null())
|
| + done_cb.Run();
|
| }
|
|
|
| void DecryptingAudioDecoder::InitializeDecoder() {
|
|
|