Index: media/filters/decrypting_demuxer_stream.cc |
diff --git a/media/filters/decrypting_demuxer_stream.cc b/media/filters/decrypting_demuxer_stream.cc |
index 4ec6c530b2411efdbb170350c544a22dfa687e7a..67a6f3e77ae0a5d6232f68b31d6958513807f47d 100644 |
--- a/media/filters/decrypting_demuxer_stream.cc |
+++ b/media/filters/decrypting_demuxer_stream.cc |
@@ -160,7 +160,8 @@ DecryptingDemuxerStream::~DecryptingDemuxerStream() { |
pending_buffer_to_decrypt_ = NULL; |
} |
-void DecryptingDemuxerStream::SetDecryptor(Decryptor* decryptor) { |
+void DecryptingDemuxerStream::SetDecryptor(Decryptor* decryptor, |
+ base::Closure done_cb) { |
DVLOG(2) << __FUNCTION__; |
DCHECK(task_runner_->BelongsToCurrentThread()); |
DCHECK_EQ(state_, kDecryptorRequested) << state_; |
@@ -172,6 +173,8 @@ void DecryptingDemuxerStream::SetDecryptor(Decryptor* decryptor) { |
if (!decryptor) { |
state_ = kUninitialized; |
base::ResetAndReturn(&init_cb_).Run(DECODER_ERROR_NOT_SUPPORTED); |
+ if (!done_cb.is_null()) |
+ done_cb.Run(); |
return; |
} |
@@ -184,6 +187,8 @@ void DecryptingDemuxerStream::SetDecryptor(Decryptor* decryptor) { |
state_ = kIdle; |
base::ResetAndReturn(&init_cb_).Run(PIPELINE_OK); |
+ if (!done_cb.is_null()) |
+ done_cb.Run(); |
} |
void DecryptingDemuxerStream::DecryptBuffer( |