* 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>
* Fix deploy CI trigger
* Use actions/checkout@v2
* Call onImageAvailable on a separate thread
* Add setFrameProcessingPoolSize API
* Add setFrameProcessingExecutors API
* Ensure captures are not blocked by frame processing
* Wait for first frame in onStartPreview
* Enable abortCaptures()
* Improve testFrameProcessing_format
* Improve testFrameProcessing_format again
* 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
* New approach for metering
* Include AWB
* Complete AWB integration
* Rearrange code into MeteringParameters objects
* Add FORCED_END_DELAY into Meter
* Small changes
* Improve Camera2 pictures speed and quality
* Extend auto focus functionality to more cameras
* Move Mapper to own package
* Refactor Camera1Mapper
* Refactor Camera2Mapper
* Rename mapper methods
* Add Camera2MapperTests
* Fix success parameter
* Fix focus when zooming
* Ensure copied filters have right size
* Create MultiFilter base implementation
* Working implementation with replaceAll hack
* Implement OneParameterFilter and TwoParameterFilter in MultiFilter
* Add docs
* Add tests
* Fix rotation issues
* Fix tests and cleanup
* Small improvements
* Create DeviceEncoders
* Prefer hardware encoders, adjust size and bitrate
* Do the same for video frame rate
* Fix docs
* Rename CameraView method
* Fix DeviceEncoders comparator
* Add tests
* Fix tests
* Fix tests again
* Scale down based on encoder requirements
* Add DeviceEncoders MODE_ values
* Use DeviceEncoders for full videos as well
* Fix small bug
* Add FILTER_CONTROL_1 and FILTER_CONTROL_2 to control filters with gestures
* Improve TintFilter and DuotoneFilter
* Display current filter in DemoApp
* Fix potential bug
* Rename outputSize
* Fix tests
* added shader effects
* added setting shaders
* intermediate commit
* added shader implementation
* refatored code
* implemented initial effects
* modified few filters
* modified all effects
* implemented shader while taking picture and video
* updated all effects
* modified all filters range to 0.0f-1.0f
* added control to filter
* added shader effects
* added setting shaders
* intermediate commit
* added shader implementation
* refatored code
* implemented initial effects
* modified few filters
* modified all effects
* implemented shader while taking picture and video
* updated all effects
* modified all filters range to 0.0f-1.0f
* added control to filter
* modified shaders and removed the glsurfaceview dependency
* changed folder structure
* changed allignmen and filters
* added annotations
* code refacor
* changed effect name to filters
* changed filter implementation for image and video
* fixed for travis build
* Fix button elevation
* Replace zero buffer with sample noise
* Small improvements
* Drop frames when we have too many pending events
* Warmup worker threads, enlarge audio buffers, use EncoderEngine thread
* Improve audio noise
* Ensure first frame is a sync one
* Request key frames when the first is lost
* Fix README
* Create AudioNoise
* Correctly recycle OutputBuffer
* Fix#526
* Do not use ViewCompat
* Remove TODOs, improve logging
* SizeSelectorParser and CameraUtils tests
* DefaultAutoFOcusMarkerTest
* MarkerParserTest and improve MarkerLayoutTest
* Add MediaEncoderEngine comments
* Add ExifHelper test
* ImageHelper test
* More internal/utils 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
* Overlays (#421)
* get overlay working
* fix overlay drawing
* allow disabling overlay in pictures or videos
* Fix picture snapshot colors when there is an overlay
* Bug fixes
* Update example with watermark
* Fix bug
* Fix overlay orientation in pictures
* Fix overlay orientation in videos
* Fix overlay when changing preview size
* Fix bug
* Experiment
* Refactor EglViewport
* Refactor SnapshotPictureRecorder
* Use single EglViewport
* Refactor SnapshotVideoRecorder
* Bug fix
* fix some of the requested changes
* clean adding View to OverlayLayout
* Specify where to draw the overlay
* Refactor
* Remove unnecessary variable from CameraPreview
* Use mWithOverlay in SnapshotVideoRecorder
* Use multiple OverlayLayout
* Add explanation for OverlayLayoutManager
* override removeView
* Remove DisableOverlayFor
* Reorder to overlay package
* Address issues
* Draw selectively on preview, picture or video
* Use single Overlay with three targets
* Fix picture snapshots
* Add demo app control
* Fix video snapshot rotation for Camera2
* Fix video snapshot overlay rotation for Camera2 only
* Fix tests, improve performance
* Add animating watermark
* Add tests in CameraViewTest
* Add integration tests
* Fix race condition
* Improve README
* Remove isOverlay
* Remove isOverlay from docs
* Add documentation empty page
* Add documentation links
* Add real documentation
* Remove isOverlay from attrs
* Add doc links to main README
* Fix tests and logs
* Small changes in AudioMediaEncoder
* Add changelog line
* added video recording callback
* updated test
* added annotation to dispatch function
* updated review comments for video recording callback
* reverted unwanted changes
* Add tests and changelog
* Fix video tests