* 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
* 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
* Create AutoFocusMarker and DefaultAutoFocusMarker
* Ensure onFocusEnd is called
* Add cameraAutoFocusMarker XML tag
* Update docs
* Fix changelog and migration guide
* Fix tests
* New getSurfaceSize internal method
* Rename setPreviewSize and all internals to setPreviewStreamSize
* Rename getSurfaceSize to getPreviewSurfaceSize
* New snapshotMaxWidth and snapshotMaxHeight APIs
* Add docs
* Improve rescaling logic
* Add tests