ExampleCamera represents a specific (e.g. front or back) camera device,
and contains all the device and logic for that device/sensor.
Change-Id: Iecc1a1d905501a66edb6e3994ff93d8761b82f8b
Now that libutils is outside of frameworks, use that for c++-style
scoped tracing and remove the temporary shim header.
Change-Id: I913767aed8ff70abb9299e7a7b318b24a25e23c1
Static camera characteristics can be queried on any device at any time.
Separate the locking for it from the rest of the device to eliminate any
contention between operations on the device and static characteristic
initialization.
Change-Id: I8076378699f274e70c6318e537df4758972de9db
The shutter callback timestamp should originate from the sensor itself,
since it knows exactly when the first line of the frame started
exposing. However, as a fallback (or in the CPU-painting case) query
CLOCK_BOOTTIME instead.
Change-Id: Id57c05525e9c575d009b9deb96a69557fccac16b
Metadata is currently only used for immutable persistent settings
(static camera characteristics, and the capture templates), but will be
used for dynamic metadata as well. Make it deleteable so we can
create/destroy these at will.
Change-Id: I7372b07b904d5a6b55453093712e0bb2675918b5
max_buffers and usage are read by the framework inside the struct used
to pass the stream configuration parameters; scribble our new
calculated values whever they are updated internally.
Adds logging to stream creation method (reuse/new).
Change-Id: I04e12880820571900f2ae80c27100f8aedcf9d02
Basic static metadata statically constructed from preprocessor passes
over an array of camera metadata tags.
Change-Id: I16ea9f4d68120d5a0bc010a4a67b0cbcd761329e
Adds a Stream object, and configureStreams support in parsing the
provided stream_array. Streams are naively setup for sync-less software
painting.
Change-Id: Ibbd90e3e2c7fa984dd5d2dcbd4da7bf4dad43aa1
This c++ helper class is normally provided by frameworks/native's
libutils, but cannot be used from the context of a hardware module. For
now just add the required functionality locally in the hardware module.
Change-Id: I5b399cbeb1c017a95baf19456dbf20569e677fbe
Refactor the camera module into a single CameraHAL object. Adds
set_callbacks, new in the v2.1 module API.
Change-Id: I4da677c28d7425f545f68998844fcfa4caf0feb9
Explicitly hide all symbols from being exported from the camera HAL
except the symbol required to load the module.
Change-Id: I940b24b8d3895f46e63df3c28e43b8cb012bd637
This is meant to be an example and a reference for device manufacturers
on how to build a new Camera v2 HAL. This first patch has basic
configuration and entry/exit.
Change-Id: Ib4166e2eadb813228af38ec31a1215940c070bbf