summaryrefslogtreecommitdiff
path: root/camera/device/3.4/default/ExternalCameraDeviceSession.cpp
diff options
context:
space:
mode:
authorchenhg <chenhg@synaptics.com>2018-10-16 11:30:03 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-10-16 11:30:03 -0700
commit81ed94e40eb73f2a1b334bca79a0ee385a1fdcda (patch)
treecb054251950666cea92961503c8a8a92dd8f2189 /camera/device/3.4/default/ExternalCameraDeviceSession.cpp
parent0836578d61bcb2a81190bc15d2bbb3a42cf48fc4 (diff)
parenta169023679b28435c4f22e02560753bbe3a869da (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.cpp6
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(