Manta: libcamera2: prevent HAL crash when ZSL stream freed
authorMark Salyzyn <salyzyn@google.com>
Wed, 3 Sep 2014 18:06:49 +0000 (11:06 -0700)
committerMark Salyzyn <salyzyn@google.com>
Wed, 3 Sep 2014 22:17:30 +0000 (15:17 -0700)
This is a hardening band-aid to prevent HAL crash. Crash results in
Inaccessible camera hardware requiring a reboot of the device to recover.

NB: With Current GoogleCamera.app: Camera to Video switch, snapshots are
all green (blank). Workaround, switch to video mode, exit Camera application
and re-enter before running video where one expects to take snapshots as well.

Bug: 15408128
Change-Id: I1e6057069cace0e46e367f76f4a91f6b1f5459a5

libcamera2/ExynosCameraHWInterface2.cpp

index a722a90bdddb3ccc6f53f3b0eff65782d57ba49e..ffa2199e9a9acffdbdeace1ba223c6313bccda1f 100644 (file)
@@ -1944,6 +1944,7 @@ int ExynosCameraHWInterface2::allocateStream(uint32_t width, uint32_t height, in
         subParameters->height        = height;
         subParameters->format        = *format_actual;
         subParameters->svcPlanes     = 1;
+        parentStream->m_parameters.streamOps =
         subParameters->streamOps     = stream_ops;
         subParameters->usage         = *usage;
         subParameters->numOwnSvcBuffers = *max_buffers;
@@ -1982,6 +1983,7 @@ int ExynosCameraHWInterface2::allocateStream(uint32_t width, uint32_t height, in
         subParameters->height       = height;
         subParameters->format       = *format_actual;
         subParameters->svcPlanes     = NUM_PLANES(*format_actual);
+        parentStream->m_parameters.streamOps =
         subParameters->streamOps     = stream_ops;
         subParameters->usage         = *usage;
         subParameters->numOwnSvcBuffers = *max_buffers;