Bug 1103400 - fix regression in autofocus in getUserMedia(), r=aosmond

This commit is contained in:
Mike Habicher 2015-01-30 11:50:07 -05:00
Родитель 764f671fe3
Коммит d64e33349e
1 изменённых файлов: 10 добавлений и 9 удалений

Просмотреть файл

@ -200,6 +200,16 @@ MediaEngineGonkVideoSource::Start(SourceMediaStream* aStream, TrackID aID)
return NS_ERROR_FAILURE;
}
nsTArray<nsString> focusModes;
mCameraControl->Get(CAMERA_PARAM_SUPPORTED_FOCUSMODES, focusModes);
for (nsTArray<nsString>::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<nsString> focusModes;
mCameraControl->Get(CAMERA_PARAM_SUPPORTED_FOCUSMODES, focusModes);
for (nsTArray<nsString>::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);
}