Camera: Don't switch image callbacks during extension sessions
- Relying on camera capture callbacks to switch appropriate
camera output surface image callbacks can result in timing
issues. For example a capture started callback from a new
capture request can execute before the sequence complete
callback gets scheduled for the old request. This can result
in images from the new request getting redirected to the
wrong/old callback.
Avoid this by using a single image callback instance per
camera output for the entire duration of the capture session
and allow individual images to be redirected to appropriate
handlers on a precise timestamp basis.
- Additionally refactor an odd looking if-else case within
'ImageWriter'.
Bug: 180451857
Bug: 180451435
Test: Camera CTS
Change-Id: Iae497ff2eefacc00ea45ff5e598581156aa64c0d
2 files changed