Android Lollipop introduced a new method for apps to access the camera (an API) called Camera2. This API provides many advantages over the older API including manual control of ISO, exposure duration and focus. The old API (Camera) is still available and, to make it easy for manufacturers to run Lollipop on older hardware, Google has included a “legacy” mode where Camera2 commands are translated into Camera commands.
Unfortunately, most manufacturers are still using the legacy mode and only implementing the full Camera2 API on flagship devices. This makes Camera2 completely pointless on many devices. In fact there are bugs in the legacy code which makes Camera2 worse than useless. If you use the Camera2 API in legacy mode, video recording will almost certainly not work correctly and the preview is limited to 4:3. From version 6.6 of the app, a warning will be shown when using legacy mode.
Versions of the app after v6 can use the Camera2 API and will give access to the new features if not running in legacy mode.
Camera2 is only enabled by default on certain Nexus phones, on most devices you need to enable it from the “Other” settings menu.
When the full Camera 2 API is available, Snap supports the following:
- Shutter speed and ISO display:
Tap here to access manual exposure and ISO controls
- Manual exposure
- Manual ISO
- Manual Focus
- Fast HDR and exposure bracketed shots
Change HDR Time between shots to 0ms
- Extra HD video resolutions
- Raw image capture (DNG format)
Manual controls are also available when shooting video.