This repository was archived by the owner on Aug 9, 2023. It is now read-only.
Releases: videokit-ai/natdevice
Releases · videokit-ai/natdevice
NatDevice 1.3.4
- Added
configureAudioSessionparameter toMediaDeviceQueryconstructor. - Fixed crash when rapidly switching cameras on WebGL.
- Fixed rare memory exception when discovering audio devices on WebGL.
- Fixed
CameraDevice.StopRunningnot stopping camera device on Safari. - Removed
MediaDeviceQuery.ConfigureAudioSessionstatic property. Use constructor argument instead.
NatDevice 1.3.3
- Added
CameraImage.Clonemethod for safely cloning a camera image. - Added
AudioBuffer.Clonemethod for safely cloning an audio buffer. - Added
CameraOutput.imageproperty for inspecting the latest camera image processed by the output. - Added
CameraOutput.timestampproperty for inspecting the latest image timestamp processed by the output. - Added
AudioOutput.bufferproperty for inspecting the latest audio buffer processed by the output. - Added
AudioOutput.timestampproperty for inspecting the latest audio buffer timestamp processed by the output. - Added
TextureOutput.NextFramemethod for waiting for the output's next frame. - Added
RenderTextureOutput.NextFramemethod for waiting for the output's next frame. - Fixed
RenderTextureOutputproducing inverted images for the front camera on Android.
NatDevice 1.3.2
- Media device queries now order devices based on their type, default status, and location (#24).
- Improved native error handling to prevent hard crashes.
- Added
MediaDeviceQueryconstructor that accepts a collection ofIMediaDeviceinstances. - Added
TextureOutput.OnFrameevent for listening for texture output frames. - Added
RenderTextureOutput.OnFrameevent for listening for texture output frames. - Fixed three second delay before
MediaDeviceQuery.RequestPermissionstask completes on Android. - Deprecated
TextureOutput.onFrameevent. UseTextureOutput.OnFrameevent instead. - Deprecated
RenderTextureOutput.onFrameevent. UseRenderTextureOutput.OnFrameevent instead. - Deprecated
TextureOutput.textureCreatedevent. The outputtextureis now available immediately. - Deprecated
RenderTextureOutput.textureCreatedevent. The outputtextureis now available immediately.
NatDevice 1.3.1
- Added
TextureOutput.textureCreatedtask property for waiting until the output has received first camera image. - Added
RenderTextureOutput.textureCreatedtask property for waiting until the output has received first camera image. - Fixed bug where invalid access key was set in the Editor after building from Unity.
- Fixed bug where builds from the Windows Editor would cause "invalid session token" errors at runtime.
- Fixed crash after importing and running NatCorder without setting a NatML access key in the Windows Editor.
- Deprecated
TextureOutput.GetAwaiterandawait TextureOutput. UsetextureCreatedproperty instead.
NatDevice 1.3.0
- NatDevice can now be tried without an active NatML MediaKit subscription! See the docs for more details.
- Greatly improved camera streaming performance by adding thread safety and multithreading to
CameraDevice. This introduces a breaking change whereby the camera image callback is no longer called on the Unity main thread. - Improved
AudioDevicememory behaviour on Android by eliminating sample buffer allocations. - Improved garbage collection behaviour in
PixelBufferOutputandRenderTextureOutput. - Added
capacityparameter toMediaDeviceQueryconstructor to limit number of devices to discover. - Added
TextureOutput.onFrameevent for listening for new camera images in the texture output. - Added
RenderTextureOutput.onFrameevent for listening for new camera images in the texture output. - Fixed
CameraDevice.CapturePhotonot working on WebGL. - Fixed crash when
MediaDeviceQueryis created on older Android devices (#12). - Fixed sporadic crashes while running the camera preview on Android (#11, #13, #14).
- Fixed rare crash immediately app is loaded on Android (#8).
- Removed
CameraDevice.exposureLockSupportedproperty. - Removed
CameraDevice.focusLockSupportedproperty. - Removed
CameraDevice.whiteBalanceLockSupportedproperty. - Removed
CameraDevice.exposureRangeproperty. - Removed
CameraDevice.exposureLockproperty. - Removed
CameraDevice.focusLockproperty. - Removed
CameraDevice.whiteBalanceLockproperty. - Removed
CameraDevice.exposurePointproperty. - Removed
CameraDevice.focusPointproperty. - Removed
CameraDevice.torchEnabledproperty. - NatDevice now requires iOS 14+.
NatDevice 1.2.5
NatDevice 1.2.4
- Fixed compiler errors in
CameraImagestruct on Unity 2021.1. - Fixed
Failed to validate app tokenerror after setting valid NatML access key in Project Settings.
NatDevice 1.2.3
- Added support for WebGL. NatDevice now brings all of its features to the web, with no changes in code.
- Added
IMediaOutput<T>interface for working with media device outputs. - Added
AudioSpectrumOutputoutput for computing the audio spectrum of audio buffers using the Fast Fourier Transform. - Added
AudioBufferconstructor that accepts a nativefloat*buffer. - Added
CameraImage.rowStrideproperty for retrieving the row stride of interleaved camera images. - Added
TextureOutput.orientationconvenience property for getting and setting the texture orientation. - Fixed some
CameraDeviceinstances not being discovered on low-end Android models. - Fixed bug where continuous autoexposure routine stopped after setting exposure point on iOS (#1).
- Removed
TextureOutput.pixelBufferOutputproperty. This is now an implementation detail that is subject to change. - Removed
TextureOutputconstructor that acceptsPixelBufferOutput. The constructor is now parameterless.
NatDevice 1.2.2
- Fixed crash after
CameraDevice.CapturePhotocallback is invoked on iOS and macOS. - Fixed
CameraDevice.onDisconnectedevent not being raised on macOS. - Fixed
AudioDevice.onDisconnectedevent not being raised on macOS. - Upgraded to Hub 1.0.8.
NatDevice 1.2.1
- Rewrote Android implementation from scratch in C++ to improve performance and significantly reduce fatal crashes from errors.
- Added
RenderTextureOutputfor streaming camera images intoRenderTexturefor display. - Added generic
IMediaDevice<T>interface for working with specific types of media devices. - Added
IMediaDevice.onDisconnectedevent which is raised when the media device is disconnected. - Added
AudioBufferconstructor for creating audio buffers for use with device outputs. - Added
CameraDevice.TorchModeenumeration for finer-grained control of camera torch mode. - Added
CameraDevice.torchModeproperty for getting and setting the camera torch mode. - Added
CameraDevice.WhiteBalanceModeenumeration for finer-grained control of camera white balance mode. - Added
CameraDevice.WhiteBalanceModeSupportedmethod for checking whether a given white balance mode is supported. - Added
CameraDevice.whiteBalanceModeproperty for getting and setting the camera white balance mode. - Added
CameraDevice.VideoStabilizationModeenumeration for control of camera video stabilization mode. - Added
CameraDevice.VideoStabilizationModeSupportedmethod for checking whether a given video stabilization mode is supported. - Added
CameraDevice.videoStabilizationModeproperty for getting and setting the camera video stabilization mode. - Added
PixelBufferOutput.ConversionOptionsclass for specifying options like rotation and mirroring when converting camera images. - Added
TextureOutput.ConversionOptionsclass for specifying options like rotation and mirroring when converting camera images. - Updated
AudioBufferfrom aclassto areadonly structfor better memory behaviour. - Updated
CameraImagefrom aclassto areadonly structfor better memory behaviour. - Improved performance and memory behaviour of
IMediaDevice.uniqueIDandIMediaDevice.nameproperties. - Fixed camera image plane buffer size being incorrect on iOS and macOS.
- Fixed high CPU usage when streaming from an
AudioDeviceon Android. - Fixed
AudioDevicefailing to start running on some Android devices. - Fixed
AudioDevice.defaultForMediaTypenot updating when the default device is changed on Windows. - Fixed crash when creating a
MediaDeviceQuerywhen system does not have any microphones on Windows. - Fixed crash after stopping a
CameraDeviceon Windows. - Fixed rare
SIGFPEcrash when accessingCameraDevice.frameRateon macOS. - Fixed rare
IllegalStateExceptionwhen running aCameraDeviceon Android. - Fixed rare bug where some
CameraDevicepreview and photo resolutions were unavailable on Android. - Fixed bug where
AudioDevicefails to stream after creating a secondMediaDeviceQueryon iOS. - Deprecated
CameraDevice.torchEnabledproperty. UseCameraDevice.torchModeproperty instead. - Deprecated
CameraDevice.whiteBalanceLockSupportedproperty. UseCameraDevice.WhiteBalanceModeSupportedmethod instead. - Deprecated
CameraDevice.whiteBalanceLockproperty. UseCameraDevice.whiteBalanceModeproperty instead. - Refactored top-level namespace from
NatSuite.DevicestoNatML.Devices.