diff options
author | jiesun@google.com <jiesun@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-15 23:02:13 +0000 |
---|---|---|
committer | jiesun@google.com <jiesun@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-15 23:02:13 +0000 |
commit | d059d8c29df1a83966a5a890b50b7bf226b6bdab (patch) | |
tree | a6b909a4e487d9bf254cd28fae04f27b35c510f4 /media | |
parent | b1363275e9cef5a8fd30e1e1a907036c3a8123e7 (diff) | |
download | chromium_src-d059d8c29df1a83966a5a890b50b7bf226b6bdab.zip chromium_src-d059d8c29df1a83966a5a890b50b7bf226b6bdab.tar.gz chromium_src-d059d8c29df1a83966a5a890b50b7bf226b6bdab.tar.bz2 |
This callback is created by
void PipelineImpl::FilterStateTransitionTask() and the ownership is transferred to Filter, filter should delete this callback.
Review URL: http://codereview.chromium.org/2845044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52565 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r-- | media/filters/decoder_base.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/media/filters/decoder_base.h b/media/filters/decoder_base.h index 8796464..9e806b3 100644 --- a/media/filters/decoder_base.h +++ b/media/filters/decoder_base.h @@ -27,7 +27,6 @@ namespace media { template <class Decoder, class Output> class DecoderBase : public Decoder { public: - typedef CallbackRunner< Tuple1<Output*> > ReadCallback; // MediaFilter implementation. virtual void Stop(FilterCallback* callback) { @@ -188,7 +187,10 @@ class DecoderBase : public Decoder { expecting_discontinuous_ = true; // Signal that we're done seeking. - callback->Run(); + if (callback) { + callback->Run(); + delete callback; + } } void InitializeTask(DemuxerStream* demuxer_stream, FilterCallback* callback) { @@ -302,9 +304,6 @@ class DecoderBase : public Decoder { typedef std::deque<scoped_refptr<Output> > ResultQueue; ResultQueue result_queue_; - // Pause callback. - scoped_ptr<FilterCallback> pause_callback_; - // Simple state tracking variable. enum State { kUninitialized, |