Index: chromecast/media/cma/pipeline/av_pipeline_impl.h |
diff --git a/chromecast/media/cma/pipeline/av_pipeline_impl.h b/chromecast/media/cma/pipeline/av_pipeline_impl.h |
index d8f752263a8781913d167acdc209e8cef5d72248..b9293b94318e228027ba7b1e684ec16950386bda 100644 |
--- a/chromecast/media/cma/pipeline/av_pipeline_impl.h |
+++ b/chromecast/media/cma/pipeline/av_pipeline_impl.h |
@@ -172,6 +172,10 @@ class AvPipelineImpl : MediaPipelineBackend::Decoder::Delegate { |
base::WeakPtr<AvPipelineImpl> weak_this_; |
base::WeakPtrFactory<AvPipelineImpl> weak_factory_; |
+ // Special weak factory used for asynchronous decryption. This allows us to |
+ // cancel pending asynchronous decryption (by invalidating this factory's weak |
+ // ptrs) without affecting other bound callbacks. |
+ base::WeakPtrFactory<AvPipelineImpl> decrypt_weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(AvPipelineImpl); |
}; |