Index: media/filters/decrypting_demuxer_stream.cc |
diff --git a/media/filters/decrypting_demuxer_stream.cc b/media/filters/decrypting_demuxer_stream.cc |
index 601fd4681b7b9b6114971556ead33faf0152b55c..c399942676615382ccaf638ff564e8540f4e3fd2 100644 |
--- a/media/filters/decrypting_demuxer_stream.cc |
+++ b/media/filters/decrypting_demuxer_stream.cc |
@@ -39,8 +39,10 @@ DecryptingDemuxerStream::DecryptingDemuxerStream( |
key_added_while_decrypt_pending_(false), |
weak_factory_(this) {} |
-void DecryptingDemuxerStream::Initialize(DemuxerStream* stream, |
- const PipelineStatusCB& status_cb) { |
+void DecryptingDemuxerStream::Initialize( |
+ DemuxerStream* stream, |
+ const PipelineStatusCB& status_cb, |
+ const base::Closure& waiting_for_encryption_key_cb) { |
DVLOG(2) << __FUNCTION__; |
DCHECK(task_runner_->BelongsToCurrentThread()); |
DCHECK_EQ(state_, kUninitialized) << state_; |
@@ -49,6 +51,7 @@ void DecryptingDemuxerStream::Initialize(DemuxerStream* stream, |
weak_this_ = weak_factory_.GetWeakPtr(); |
demuxer_stream_ = stream; |
init_cb_ = BindToCurrentLoop(status_cb); |
+ waiting_for_encryption_key_cb_ = waiting_for_encryption_key_cb; |
InitializeDecoderConfig(); |
@@ -311,6 +314,7 @@ void DecryptingDemuxerStream::DeliverBuffer( |
} |
state_ = kWaitingForKey; |
+ waiting_for_encryption_key_cb_.Run(); |
return; |
} |