For v2 changelogs, please take a look at the website.
This is the last release before v2.
- Fixed: crash when using TextureView in API 28, thanks to @Keyrillanskiy (#297)
- Fixed: restore Frame Processor callbacks after taking videos, thanks to @stefanJi ([#344][344])
- Enhancement: when horizontal, camera now uses the last available orientation, thanks to @aartikov (#290)
- Changed: we now swallow exceptions during autoFocus that were happening unpredictably on some devices, thanks to @mahdi-ninja (#332) https://github.com/natario1/CameraView/compare/v1.6.0...v1.6.1
- Lifecycle support. Use
setLifecycleOwner
instead of calling start, stop and destroy (#265) - Enhancement: provide synchronous version of CameraUtils.decodeBitmap thanks to @athornz (#224)
- Enhancement: prevent possible context leak thanks to @MatFl (#245)
- Bug: fix crash when using default VideoCodec thanks to @Namazed (#264)
- Enhancement: CameraException.getReason() gives some insight about the error (#265)
- Enhancement: Common crashes are now being posted to the error callback instead of crashing the app (#265)
https://github.com/natario1/CameraView/compare/v1.5.1...v1.6.0
- Bug: byte array length for Frames was incorrect thanks to @ssakhavi (#205)
- Bug: gestures were crashing in some conditions (#222)
- Bug: import correctly the ExifInterface library (#222)
- Updated dependencies thanks to @caleb-allen (#190)
https://github.com/natario1/CameraView/compare/v1.5.0...v1.5.1
- New: set encoder for video recordings with
cameraVideoCodec
(#174) - New: set max duration for videos with
cameraVideoMaxDuration
(#172) - Enhancement: reduced lag with continuous gestures (ev, zoom) (#170)
- Bug: tap to focus was crashing on some devices (#167)
- Bug: capturePicture was breaking if followed by another event soon after (#173)
https://github.com/natario1/CameraView/compare/v1.4.2...v1.5.0
- Add prefix to XML resources so they don't collide, thanks to @RocketRider (#162)
- Add
videoMaxSize
API and XML attribute, to set max size video in bytes, thanks to @chaitanyaraghav (#104) - Improved the preview size selection, thanks to @YeungKC (#133)
- Improved the playSounds attribute, was playing incorrectly, thanks to @xp-vit (#143)
https://github.com/natario1/CameraView/compare/v1.4.1...v1.4.2
-
Fixed a bug that would flip the front camera preview on some devices (#112)
-
Two new
CameraOptions
APIs:o.getSupportedPictureSizes()
ando.getSupportedPictureAspectRatios()
(#101) -
Most controls (video quality, hdr, grid, session type, audio, white balance, flash, facing) now inherit from a base
Control
class (#105). This let us add new APIs:CameraView.set(Control)
: sets the control to the given value, e.g.set(Flash.AUTO)
CameraOptions.supports(Control)
: returns true if the control is supportedCameraOptions.getSupportedControls(Class<? extends Control>)
: returns list of supported controls of a given kind
https://github.com/natario1/CameraView/compare/v1.4.0...v1.4.1
- CameraView is now completely thread-safe. All actions are asynchronous. (#97)
This has some breaking drawbacks. Specifically, the
get
methods (e.g.,getWhiteBalance
) might not return the correct value while it is being changed. So don't trust them right after you have changed the value. Instead, always check theCameraOptions
to see if the value you want is supported. - Added error handling (#97) in
CameraListener.onCameraError(CameraException)
. At the moment, all exceptions there are unrecoverable. When the method is called, the camera is showing a black preview. This is a good moment to show an error dialog to the user. You can also try tostart()
again but that is not guaranteed to work. - Long requested ability to set the picture output size (#99). Can be done through
CameraView.setPictureSize()
or through new XML attributes starting withcameraPictureSize
. Please refer to docs about it. - Deprecated
toggleFacing
. It was unreliable and will be removed. - Deprecated
getCaptureSize
. UsegetPictureSize
instead. - Fixed bugs.
https://github.com/natario1/CameraView/compare/v1.3.2...v1.4.0
- Fixed a memory leak thanks to @andrewmunn (#92)
- Reduced memory usage when using cropOutput thanks to @RobertoMorelos (#93)
- Improved efficiency for Frame processors, recycle buffers and Frames (#94)
https://github.com/natario1/CameraView/compare/v1.3.1...v1.3.2
- Fixed a bug that would make setFacing and other APIs freeze the camera (#86)
- Fixed ConcurrentModificationExceptions during CameraListener callbacks (#88)
https://github.com/natario1/CameraView/compare/v1.3.0...v1.3.1
- Ability to inject frame processors to do your own visual tasks (barcodes, facial recognition etc.) (#82)
- Ability to inject external loggers (e.g. Crashlytics) to listen for internal logging events (#80)
- Improved CameraUtils.decodeBitmap, you can now pass maxWidth and maxHeight to avoid OOM (#83)
- Updated dependencies thanks to @v-gar (#73)
https://github.com/natario1/CameraView/compare/v1.2.3...v1.3.0