17 KiB
layout | title | category | date | order |
---|---|---|---|---|
page | Changelog | about | 2018-12-20 17:49:29 | 3 |
New versions are released through GitHub, so the reference page is the GitHub Releases page.
v2.3.0 (to be released)
- [Camera2, Metering] New:
startAutoFocus
is much more powerful and does 3A metering (AF, AE, AWB) (#574) - [Camera2, Metering] New:
setPictureMetering(boolean)
decides whether to do metering beforetakePicture()
. Defaults to true to improve quality. (#580) - [Camera2, Metering] New:
setPictureSnapshotMetering(boolean)
decides whether to do metering beforetakePictureSnapshot()
. Defaults to false to improve latency. However, you can set this to true to greatly improve the snapshot quality, for example to supportFlash
. (#580) - [Camera2, Metering] New: metering extended to many more cameras, which can now use
startAutoFocus
or the focus gesture (#574) - [Camera2, Metering] Improvement:
onAutoFocusEnd
is now guaranteed to be called (#574) - [Camera2, Metering] Improvement: taking picture does not invalidate the previous focus (#574)
- [Camera2, Metering] Improvement: better metering when zoomed in (#574)
- [Real time filters] Breaking change:
Filter
interface signatures now accept timestamps for animations (#588) - [Overlays] New: you can now use
addView()
andremoveView()
to add or remove overlays at runtime (see docs) (#588) - [Video] Improvement: better encoder selection (#588)
- Fix: fixed various bugs and improved stability (#588)
v2.2.0
- [Real time filters] New:
SimpleFilter
class accepts a fragment shader in the constructor (#552) - [Real time filters] New:
MultiFilter
to apply more than one filter at the same time (#559) - [Video] Improvement: query device encoders before configuring them. Should fix issues on multiple devices (#545)
- [Video] Fix:
takeVideoSnapshot
not working unless you set a max duration (#551) - [Video] Fix:
takeVideo
crashing on Camera2 LEGACY devices (#551) - [Frame Processing] Fix: fixed dead Frames issues and improved error messages (#572)
- Fix: fixed
CameraView
appearance in the layout editor (#564)
v2.1.0
This release adds experimental support for real-time filters thanks to @agrawalsuneet. Please read the documentation page for usage instructions.
- New: Real-time filters support (#527)
- New: Add filters through XML (#535)
- New: Map filter controls to scroll/pinch gestures (#537)
https://github.com/natario1/CameraView/compare/v2.0.0...v2.1.0
v2.0.0
- Fix: bug with picture recorder (#521)
- Fix: video snapshots appearing black (#528)
- Fix: video snapshots exceptions and audio issues (#530)
https://github.com/natario1/CameraView/compare/v2.0.0-rc2...v2.0.0
v2.0.0-rc2
- Fix: crashes when stopping video snapshots (#513)
- Fix: dependencies missing, leading to runtime crashes (#517)
https://github.com/natario1/CameraView/compare/v2.0.0-rc1...v2.0.0-rc2
v2.0.0-rc1
This is likely to be the last release before v2.0.0.
- New: support for watermarks and animated overlays (docs), thanks to @RAN3000 (#502, #421)
- New: added
onVideoRecordingStart()
to be notified when video recording starts, thanks to @agrawalsuneet (#498) - New: added
onVideoRecordingEnd()
to be notified when video recording ends (#506) - New: added
Audio.MONO
andAudio.STEREO
to control the channel count for videos and video snapshots (#506) - New: added
cameraUseDeviceOrientation
to choose whether picture and video outputs should consider the device orientation or not (#497) - Improvement: improved Camera2 stability and various bugs fixed (e.g. #501)
- Improvement: improved video snapshots speed, quality and stability (#506)
https://github.com/natario1/CameraView/compare/v2.0.0-beta06...v2.0.0-rc1
v2.0.0-beta06
- New: Full featured Camera2 integration! Use
cameraExperimental="true"
andcameraEngine="camera2"
to test this out. (#490) - Improvement: we now choose a video recording profile that is compatible with the chosen size. Should fix some video recording issues. (#477)
- Improvement: most internals are now open to be accessed by subclassing. Feel free to open PRs with more protected methods to be overriden. ([#494][494])
- Breaking change: some public classes have been moved to different packages. See table here. (#482)
- Breaking change: the listener methods
onFocusStart
andonFocusEnd
are now calledonAutoFocusStart
andonAutoFocusEnd
. (#484) - Breaking change: the gesture actions
focus
andfocusWithMarker
have been removed and replaced byautoFocus
, which shows no marker. (#484) - New: new API called
setAutoFocusMarker()
lets you choose your own marker. (#484)
If you were using focus
, just switch to autoFocus
.
If you were using focusWithMarker
, you can add back the old marker.
https://github.com/natario1/CameraView/compare/v2.0.0-beta05...v2.0.0-beta06
v2.0.0-beta05
- Fixed
FrameProcessor
freeze and release behavior, was broken (#431) - New: new api
setAutoFocusResetDelay
to control the delay to reset the focus after autofocus was performed, thanks to @cneuwirt (#435) - Faster camera preview on layout changes (#403)
- A few bug fixes (#471)
https://github.com/natario1/CameraView/compare/v2.0.0-beta04...v2.0.0-beta05
v2.0.0-beta04
- Renames setPreviewSize to setPreviewStreamSize (previewSize suggests it is related to the view size but it's not) (#393)
- Added new APIs
setSnapshotMaxWidth
andsetSnapshotMaxHeight
(#393). You can now have a good looking preview but still take low-res snapshots using these snapshot constraints. Before this, the two sizes were coupled.
https://github.com/natario1/CameraView/compare/v2.0.0-beta03...v2.0.0-beta04
v2.0.0-beta03
https://github.com/natario1/CameraView/compare/v2.0.0-beta02...v2.0.0-beta03
v2.0.0-beta02
- Fixed important bugs (#356)
- Picture snapshots are now flipped when front camera is used (#360)
- Added
PictureResult.getFacing()
andVideoResult.getFacing()
(#360)
https://github.com/natario1/CameraView/compare/v2.0.0-beta01...v2.0.0-beta02
v2.0.0-beta01
This is the first beta release. For changes with respect to v1, please take a look at the migration guide.
v1.6.1
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)
- 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
v1.6.0
- 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
v1.5.1
- 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
v1.5.0
- 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
v1.4.2
- 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
v1.4.1
-
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
v1.4.0
- 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
v1.3.2
- 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
v1.3.1
- 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
v1.3.0
- 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