This repository has been 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
configureAudioSession
parameter toMediaDeviceQuery
constructor. - Fixed crash when rapidly switching cameras on WebGL.
- Fixed rare memory exception when discovering audio devices on WebGL.
- Fixed
CameraDevice.StopRunning
not stopping camera device on Safari. - Removed
MediaDeviceQuery.ConfigureAudioSession
static property. Use constructor argument instead.
NatDevice 1.3.3
- Added
CameraImage.Clone
method for safely cloning a camera image. - Added
AudioBuffer.Clone
method for safely cloning an audio buffer. - Added
CameraOutput.image
property for inspecting the latest camera image processed by the output. - Added
CameraOutput.timestamp
property for inspecting the latest image timestamp processed by the output. - Added
AudioOutput.buffer
property for inspecting the latest audio buffer processed by the output. - Added
AudioOutput.timestamp
property for inspecting the latest audio buffer timestamp processed by the output. - Added
TextureOutput.NextFrame
method for waiting for the output's next frame. - Added
RenderTextureOutput.NextFrame
method for waiting for the output's next frame. - Fixed
RenderTextureOutput
producing 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
MediaDeviceQuery
constructor that accepts a collection ofIMediaDevice
instances. - Added
TextureOutput.OnFrame
event for listening for texture output frames. - Added
RenderTextureOutput.OnFrame
event for listening for texture output frames. - Fixed three second delay before
MediaDeviceQuery.RequestPermissions
task completes on Android. - Deprecated
TextureOutput.onFrame
event. UseTextureOutput.OnFrame
event instead. - Deprecated
RenderTextureOutput.onFrame
event. UseRenderTextureOutput.OnFrame
event instead. - Deprecated
TextureOutput.textureCreated
event. The outputtexture
is now available immediately. - Deprecated
RenderTextureOutput.textureCreated
event. The outputtexture
is now available immediately.
NatDevice 1.3.1
- Added
TextureOutput.textureCreated
task property for waiting until the output has received first camera image. - Added
RenderTextureOutput.textureCreated
task 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.GetAwaiter
andawait TextureOutput
. UsetextureCreated
property 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
AudioDevice
memory behaviour on Android by eliminating sample buffer allocations. - Improved garbage collection behaviour in
PixelBufferOutput
andRenderTextureOutput
. - Added
capacity
parameter toMediaDeviceQuery
constructor to limit number of devices to discover. - Added
TextureOutput.onFrame
event for listening for new camera images in the texture output. - Added
RenderTextureOutput.onFrame
event for listening for new camera images in the texture output. - Fixed
CameraDevice.CapturePhoto
not working on WebGL. - Fixed crash when
MediaDeviceQuery
is 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.exposureLockSupported
property. - Removed
CameraDevice.focusLockSupported
property. - Removed
CameraDevice.whiteBalanceLockSupported
property. - Removed
CameraDevice.exposureRange
property. - Removed
CameraDevice.exposureLock
property. - Removed
CameraDevice.focusLock
property. - Removed
CameraDevice.whiteBalanceLock
property. - Removed
CameraDevice.exposurePoint
property. - Removed
CameraDevice.focusPoint
property. - Removed
CameraDevice.torchEnabled
property. - NatDevice now requires iOS 14+.
NatDevice 1.2.5
NatDevice 1.2.4
- Fixed compiler errors in
CameraImage
struct on Unity 2021.1. - Fixed
Failed to validate app token
error 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
AudioSpectrumOutput
output for computing the audio spectrum of audio buffers using the Fast Fourier Transform. - Added
AudioBuffer
constructor that accepts a nativefloat*
buffer. - Added
CameraImage.rowStride
property for retrieving the row stride of interleaved camera images. - Added
TextureOutput.orientation
convenience property for getting and setting the texture orientation. - Fixed some
CameraDevice
instances not being discovered on low-end Android models. - Fixed bug where continuous autoexposure routine stopped after setting exposure point on iOS (#1).
- Removed
TextureOutput.pixelBufferOutput
property. This is now an implementation detail that is subject to change. - Removed
TextureOutput
constructor that acceptsPixelBufferOutput
. The constructor is now parameterless.
NatDevice 1.2.2
- Fixed crash after
CameraDevice.CapturePhoto
callback is invoked on iOS and macOS. - Fixed
CameraDevice.onDisconnected
event not being raised on macOS. - Fixed
AudioDevice.onDisconnected
event 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
RenderTextureOutput
for streaming camera images intoRenderTexture
for display. - Added generic
IMediaDevice<T>
interface for working with specific types of media devices. - Added
IMediaDevice.onDisconnected
event which is raised when the media device is disconnected. - Added
AudioBuffer
constructor for creating audio buffers for use with device outputs. - Added
CameraDevice.TorchMode
enumeration for finer-grained control of camera torch mode. - Added
CameraDevice.torchMode
property for getting and setting the camera torch mode. - Added
CameraDevice.WhiteBalanceMode
enumeration for finer-grained control of camera white balance mode. - Added
CameraDevice.WhiteBalanceModeSupported
method for checking whether a given white balance mode is supported. - Added
CameraDevice.whiteBalanceMode
property for getting and setting the camera white balance mode. - Added
CameraDevice.VideoStabilizationMode
enumeration for control of camera video stabilization mode. - Added
CameraDevice.VideoStabilizationModeSupported
method for checking whether a given video stabilization mode is supported. - Added
CameraDevice.videoStabilizationMode
property for getting and setting the camera video stabilization mode. - Added
PixelBufferOutput.ConversionOptions
class for specifying options like rotation and mirroring when converting camera images. - Added
TextureOutput.ConversionOptions
class for specifying options like rotation and mirroring when converting camera images. - Updated
AudioBuffer
from aclass
to areadonly struct
for better memory behaviour. - Updated
CameraImage
from aclass
to areadonly struct
for better memory behaviour. - Improved performance and memory behaviour of
IMediaDevice.uniqueID
andIMediaDevice.name
properties. - Fixed camera image plane buffer size being incorrect on iOS and macOS.
- Fixed high CPU usage when streaming from an
AudioDevice
on Android. - Fixed
AudioDevice
failing to start running on some Android devices. - Fixed
AudioDevice.defaultForMediaType
not updating when the default device is changed on Windows. - Fixed crash when creating a
MediaDeviceQuery
when system does not have any microphones on Windows. - Fixed crash after stopping a
CameraDevice
on Windows. - Fixed rare
SIGFPE
crash when accessingCameraDevice.frameRate
on macOS. - Fixed rare
IllegalStateException
when running aCameraDevice
on Android. - Fixed rare bug where some
CameraDevice
preview and photo resolutions were unavailable on Android. - Fixed bug where
AudioDevice
fails to stream after creating a secondMediaDeviceQuery
on iOS. - Deprecated
CameraDevice.torchEnabled
property. UseCameraDevice.torchMode
property instead. - Deprecated
CameraDevice.whiteBalanceLockSupported
property. UseCameraDevice.WhiteBalanceModeSupported
method instead. - Deprecated
CameraDevice.whiteBalanceLock
property. UseCameraDevice.whiteBalanceMode
property instead. - Refactored top-level namespace from
NatSuite.Devices
toNatML.Devices
.