* Add capability to set audio codec to encode video files with.
* Cleanup
* Handle audio codec in SnapshotVideoRecorder.java
* Remove two AMR codecs and VORBIS, replace if with switch
* All chosen codecs in SnapshotVideoRecorder.java should use "audio/mp4a-latm". Setting DEVICE_DEFAULT to use it's actual value would change the behaviour of the class.
* Match style of video codec switch block above.
* Feature option to setPreviewFrameRate as exact as possible
* update docs for setPreviewFrameRateExact
* clean code and add tests for feature setPreviewFrameRateExact
* fix test issue and clean code for setPreviewFrameRateExact
* fix accessiblility issue for mPreviewFrameRateExact
* fix test issue for testPreviewFrameRateExact
Co-authored-by: Mattia Iavarone <mat.iavarone@gmail.com>
* Check engine state after picture metering - Fixes#685
* Ensure actions are only started in a valid holder state - Fixes#669
* Improve size selection
* Add PictureFormat definition
* Change PictureResult to reflect new format
* Throw if toBitmap is called with a DNG file
* Update the CameraView interface to support PictureFormat
* Implement DNG support into the CameraEngine, restart if needed
* Make CameraOptions engine aware
* Fix action bug
* Make CameraOptions check RAW availability
* Complete engine/options logic for RAW
* Add RAW control to demo app
* Ensure toBitmap does not crash in demo
* RAW support inside Full2PictureRecorder
* Add DNG test, fix implementation bugs
* Add option to see RAW result through share option
* Enable RAW toBitmap for API 24+
* Add documentation
* Improve documentation
* Change tests
* Small change
* Add cameraPictureMetering and cameraPictureSnapshotMetering
* Adapt Meter and metering package to picture use
* Simplify Full2PictureRecorder, we'll use metering package instead
* Add doMetering parameter
* Implement cameraPictureMetering and cameraPictureSnapshotMetering in engine
* Add options in demo app
* Add better logs
* Add Snapshot2PictureRecorder
* Capture the correct frame based on timestamp
* Lock AE and AWB. Account for captureBuilder changes
* Fix runtime flash changes bug
* Small changes
* Flash support for metered snapshots
* Remove AE and AWB locks
* Lock AE/AWB/AF inside the snapshot recorder
* Small changes
* Fix AutoExposure metering
* Create Locker and locking.* parameters
* Implement Locker in Camera2Engine
* Implement reset delay in Camera2Engine instead of Meter
* Simplify Snapshot2PictureRecorder
* Fix success value
* Unlock inside Camera2Engine
* Do not lock for normal gestures
* Simplify logic
* Improve locking/AutoFocus
* Fix TORCH bug
* Small changes to locking and metering
* Remove AF and AWB for testing
* Create action package
* Create OneShotAction
* Create LogAction
* Revisit Full2VideoRecorder using actions
* Revisit Full2PictureRecorder using actions
* Enable missing functionality in Snapshot2PictureRecorder
* Move Snapshot2PictureRecorder using actions, rewrite lock package
* Add TimeoutAction
* Add comments to the action package
* Add meter package
* Remove old metering package
* Fix various bugs
* Add action.abort()
* Abort old MeterAction when running new ones
* Fix various bugs
* Add doc empty page
* Add documentation
* Fix tests
* Reorder code and add long comments
* Simplify encoders Config
* Fix Audio recording bugs
* Anticipate max length detection
* Anticipate even more
* Estimate video bit rate instead of ugly default
* Fix bugs, better logs and comments
* Fix long standing sync bug
* Make inner classes public
* Remove performance logging code
* Add Audio.MONO and Audio.STEREO
* Add mono and stereo in attrs
* Write zeros when we have gaps
* Improve comments
* Add performance flags
* Move configs to separate classes
* Fix stereo bug
* Add onVideoRecordingEnd
* Add changelog notes
* Address some TODOs
* Refactor tests, add PoolTest
* Create AutoFocusMarker and DefaultAutoFocusMarker
* Ensure onFocusEnd is called
* Add cameraAutoFocusMarker XML tag
* Update docs
* Fix changelog and migration guide
* Fix tests