diff options
author | chenhg <chenhg@synaptics.com> | 2018-10-16 11:30:03 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-10-16 11:30:03 -0700 |
commit | 81ed94e40eb73f2a1b334bca79a0ee385a1fdcda (patch) | |
tree | cb054251950666cea92961503c8a8a92dd8f2189 /camera/device/3.4/default/ExternalCameraDeviceSession.cpp | |
parent | 0836578d61bcb2a81190bc15d2bbb3a42cf48fc4 (diff) | |
parent | a169023679b28435c4f22e02560753bbe3a869da (diff) |
Merge "Avoid segfaults if disconnect USB camera while preview." am: 4dce57e459 am: 86ec58ff52
am: a169023679
Change-Id: I6f1b820f87297564c54b3ee656e201ec79838d78
Diffstat (limited to 'camera/device/3.4/default/ExternalCameraDeviceSession.cpp')
-rw-r--r-- | camera/device/3.4/default/ExternalCameraDeviceSession.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp index 350f48bc3f..7c11c61bfa 100644 --- a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp @@ -1752,7 +1752,11 @@ bool ExternalCameraDeviceSession::OutputThread::threadLoop() { // TODO: see if we can save some computation by converting to YV12 here uint8_t* inData; size_t inDataSize; - req->frameIn->map(&inData, &inDataSize); + if (req->frameIn->map(&inData, &inDataSize) != 0) { + lk.unlock(); + return onDeviceError("%s: V4L2 buffer map failed", __FUNCTION__); + } + // TODO: in some special case maybe we can decode jpg directly to gralloc output? ATRACE_BEGIN("MJPGtoI420"); int res = libyuv::MJPGToI420( |