| Index: media/filters/decrypting_demuxer_stream.h
|
| diff --git a/media/filters/decrypting_demuxer_stream.h b/media/filters/decrypting_demuxer_stream.h
|
| index 4e4cca2237497dedcd737ad14fed7aaf6e3d800a..aa9e897f226b0194492b3583cee03a5b333a1a21 100644
|
| --- a/media/filters/decrypting_demuxer_stream.h
|
| +++ b/media/filters/decrypting_demuxer_stream.h
|
| @@ -36,11 +36,19 @@ class MEDIA_EXPORT DecryptingDemuxerStream : public DemuxerStream {
|
| void Initialize(DemuxerStream* stream,
|
| const PipelineStatusCB& status_cb);
|
|
|
| - // Cancels all pending operations and fires all pending callbacks. Sets
|
| - // |this| to kUninitialized state if |this| hasn't been initialized, or to
|
| - // kIdle state otherwise.
|
| + // Cancels all pending operations and fires all pending callbacks. If in
|
| + // kPendingDemuxerRead or kPendingDecrypt state, waits for the pending
|
| + // operation to finish before satisfying |closure|. Sets the state to
|
| + // kUninitialized if |this| hasn't been initialized, or to kIdle otherwise.
|
| void Reset(const base::Closure& closure);
|
|
|
| + // Cancels all pending operations immediately and fires all pending callbacks
|
| + // and sets the state to kStopped. Does NOT wait for any pending operations.
|
| + // Note: During the teardown process, media pipeline will be waiting on the
|
| + // render main thread. If a Decryptor depends on the render main thread
|
| + // (e.g. PpapiDecryptor), the pending DecryptCB would not be satisfied.
|
| + void Stop(const base::Closure& closure);
|
| +
|
| // DemuxerStream implementation.
|
| virtual void Read(const ReadCB& read_cb) OVERRIDE;
|
| virtual AudioDecoderConfig audio_decoder_config() OVERRIDE;
|
| @@ -60,6 +68,7 @@ class MEDIA_EXPORT DecryptingDemuxerStream : public DemuxerStream {
|
| kPendingDemuxerRead,
|
| kPendingDecrypt,
|
| kWaitingForKey,
|
| + kStopped
|
| };
|
|
|
| // Callback for DecryptorHost::RequestDecryptor().
|
|
|