summaryrefslogtreecommitdiffstats
path: root/media/filters/ffmpeg_video_decoder.cc
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-23 19:11:19 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-23 19:11:19 +0000
commit91e7504a739edae81016d88cadd1d46c626e047d (patch)
tree6d35056a5f38b9255d92e462f486446ca73c6bdd /media/filters/ffmpeg_video_decoder.cc
parentcca1863f256c2847c2943e5348327159969f6429 (diff)
downloadchromium_src-91e7504a739edae81016d88cadd1d46c626e047d.zip
chromium_src-91e7504a739edae81016d88cadd1d46c626e047d.tar.gz
chromium_src-91e7504a739edae81016d88cadd1d46c626e047d.tar.bz2
Don't uninitialize FFmpegVideoDecodeEngine if we haven't initialized it.
BUG=67303 TEST=media_unittests Review URL: http://codereview.chromium.org/6046006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70077 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/filters/ffmpeg_video_decoder.cc')
-rw-r--r--media/filters/ffmpeg_video_decoder.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
index b3c21b944..bdaee8c 100644
--- a/media/filters/ffmpeg_video_decoder.cc
+++ b/media/filters/ffmpeg_video_decoder.cc
@@ -97,6 +97,7 @@ void FFmpegVideoDecoder::Initialize(DemuxerStream* demuxer_stream,
config.opaque_context = av_stream;
config.width = width_;
config.height = height_;
+ state_ = kInitializing;
decode_engine_->Initialize(message_loop(), this, NULL, config);
}
@@ -139,7 +140,10 @@ void FFmpegVideoDecoder::Stop(FilterCallback* callback) {
DCHECK(!uninitialize_callback_.get());
uninitialize_callback_.reset(callback);
- decode_engine_->Uninitialize();
+ if (state_ != kUnInitialized)
+ decode_engine_->Uninitialize();
+ else
+ OnUninitializeComplete();
}
void FFmpegVideoDecoder::OnUninitializeComplete() {