From d64e33349e9667a3c5bfbf6a2a8a86c283217800 Mon Sep 17 00:00:00 2001 From: Mike Habicher Date: Fri, 30 Jan 2015 11:50:07 -0500 Subject: [PATCH] Bug 1103400 - fix regression in autofocus in getUserMedia(), r=aosmond --- .../webrtc/MediaEngineGonkVideoSource.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/dom/media/webrtc/MediaEngineGonkVideoSource.cpp b/dom/media/webrtc/MediaEngineGonkVideoSource.cpp index e574b8d41a15..bc1bdec2d364 100644 --- a/dom/media/webrtc/MediaEngineGonkVideoSource.cpp +++ b/dom/media/webrtc/MediaEngineGonkVideoSource.cpp @@ -200,6 +200,16 @@ MediaEngineGonkVideoSource::Start(SourceMediaStream* aStream, TrackID aID) return NS_ERROR_FAILURE; } + nsTArray focusModes; + mCameraControl->Get(CAMERA_PARAM_SUPPORTED_FOCUSMODES, focusModes); + for (nsTArray::index_type i = 0; i < focusModes.Length(); ++i) { + if (focusModes[i].EqualsASCII("continuous-video")) { + mCameraControl->Set(CAMERA_PARAM_FOCUSMODE, focusModes[i]); + mCameraControl->ResumeContinuousFocus(); + break; + } + } + if (NS_FAILED(InitDirectMediaBuffer())) { return NS_ERROR_FAILURE; } @@ -424,15 +434,6 @@ MediaEngineGonkVideoSource::StartImpl(webrtc::CaptureCapability aCapability) { mCameraControl->Start(&config); mCameraControl->Set(CAMERA_PARAM_PICTURE_SIZE, config.mPreviewSize); - nsTArray focusModes; - mCameraControl->Get(CAMERA_PARAM_SUPPORTED_FOCUSMODES, focusModes); - for (nsTArray::index_type i = 0; i < focusModes.Length(); ++i) { - if (focusModes[i].EqualsASCII("continuous-video")) { - mCameraControl->Set(CAMERA_PARAM_FOCUSMODE, focusModes[i]); - break; - } - } - hal::RegisterScreenConfigurationObserver(this); }