Fixed NPE inside org.webrtc.Camera1Session.create

On some devices `android.hardware.Camera.open` returns null
instead of raising exception. It causes `NPE` inside
`Camera1Session.create` when method `setPreviewTexture` is
invoked on local variable `camera`, which is `null`.

Bug: webrtc:8658
Change-Id: Ic65b4aef2c0b8b65735a9db02433b536bfe92ddd
Reviewed-on: https://webrtc-review.googlesource.com/33620
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21352}
This commit is contained in:
Yura Yaroshevich
2017-12-19 12:18:41 +03:00
committed by Commit Bot
parent e7a5567954
commit 5a7508ab24
2 changed files with 7 additions and 0 deletions

View File

@ -55,6 +55,7 @@ Vicken Simonian <vsimon@gmail.com>
Victor Costan <costan@gmail.com>
Xiaohong Xu <freemine@yeah.net>
Xiaolei Yu <dreifachstein@gmail.com>
Yura Yaroshevich <yura.yaroshevich@gmail.com>
Hans Knoechel <hans@hans-knoechel.de>
Korniltsev Anatoly <korniltsev.anatoly@gmail.com>

View File

@ -69,6 +69,12 @@ class Camera1Session implements CameraSession {
return;
}
if (camera == null) {
callback.onFailure(FailureType.ERROR,
"android.hardware.Camera.open returned null for camera id = " + cameraId);
return;
}
try {
camera.setPreviewTexture(surfaceTextureHelper.getSurfaceTexture());
} catch (IOException e) {