Index: media/filters/decrypting_video_decoder.cc |
diff --git a/media/filters/decrypting_video_decoder.cc b/media/filters/decrypting_video_decoder.cc |
index f4aa3756ed8b1c1a0ef1e5092091788c2370d772..68fadd125badc174d8e480006bd0df00644dd6a7 100644 |
--- a/media/filters/decrypting_video_decoder.cc |
+++ b/media/filters/decrypting_video_decoder.cc |
@@ -36,10 +36,12 @@ std::string DecryptingVideoDecoder::GetDisplayName() const { |
return kDecoderName; |
} |
-void DecryptingVideoDecoder::Initialize(const VideoDecoderConfig& config, |
- bool /* low_delay */, |
- const PipelineStatusCB& status_cb, |
- const OutputCB& output_cb) { |
+void DecryptingVideoDecoder::Initialize( |
+ const VideoDecoderConfig& config, |
+ bool /* low_delay */, |
+ const PipelineStatusCB& status_cb, |
+ const OutputCB& output_cb, |
+ const base::Closure& waiting_for_encryption_key_cb) { |
DVLOG(2) << "Initialize()"; |
DCHECK(task_runner_->BelongsToCurrentThread()); |
DCHECK(state_ == kUninitialized || |
@@ -52,6 +54,7 @@ void DecryptingVideoDecoder::Initialize(const VideoDecoderConfig& config, |
init_cb_ = BindToCurrentLoop(status_cb); |
output_cb_ = BindToCurrentLoop(output_cb); |
+ waiting_for_encryption_key_cb_ = waiting_for_encryption_key_cb; |
weak_this_ = weak_factory_.GetWeakPtr(); |
config_ = config; |
@@ -270,6 +273,7 @@ void DecryptingVideoDecoder::DeliverFrame( |
} |
state_ = kWaitingForKey; |
+ waiting_for_encryption_key_cb_.Run(); |
return; |
} |