summaryrefslogtreecommitdiffstats
path: root/content/renderer/media
diff options
context:
space:
mode:
authorwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-29 23:05:35 +0000
committerwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-29 23:05:35 +0000
commit6062950ad141b45944780487ea095749dcdcc8ff (patch)
treef1be86e52245f315d5f79fe35c2b829eb08e5ac0 /content/renderer/media
parent9aee045ebea4c3da07a50426d6d52b8ba814e464 (diff)
downloadchromium_src-6062950ad141b45944780487ea095749dcdcc8ff.zip
chromium_src-6062950ad141b45944780487ea095749dcdcc8ff.tar.gz
chromium_src-6062950ad141b45944780487ea095749dcdcc8ff.tar.bz2
fix error handling in LocalVideoCapture.
OnRemoved can be called due to device error. By resetting capture_engine_, LocalVideoCapture could know this condition when Stop is called. Review URL: https://codereview.chromium.org/11336018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164770 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/media')
-rw-r--r--content/renderer/media/local_video_capture.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/content/renderer/media/local_video_capture.cc b/content/renderer/media/local_video_capture.cc
index 1f885c7..b08f221 100644
--- a/content/renderer/media/local_video_capture.cc
+++ b/content/renderer/media/local_video_capture.cc
@@ -101,6 +101,8 @@ void LocalVideoCapture::OnError(media::VideoCapture* capture,
void LocalVideoCapture::OnRemoved(media::VideoCapture* capture) {
DVLOG(3) << "LocalVideoCapture::OnRemoved";
DCHECK(message_loop_proxy_->BelongsToCurrentThread());
+ // OnRemoved could be triggered by error.
+ capture_engine_ = NULL;
vc_manager_->RemoveDevice(video_stream_id_, this);
Release(); // Balance the AddRef() in StartCapture().
}