Skip to content
This repository has been archived by the owner on Aug 9, 2023. It is now read-only.

Releases: natmlx/natdevice

NatDevice 1.3.4

12 Apr 04:01
Compare
Choose a tag to compare
  • Added configureAudioSession parameter to MediaDeviceQuery 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

21 Feb 04:00
Compare
Choose a tag to compare
  • 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

04 Dec 19:51
Compare
Choose a tag to compare
  • 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 of IMediaDevice 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. Use TextureOutput.OnFrame event instead.
  • Deprecated RenderTextureOutput.onFrame event. Use RenderTextureOutput.OnFrame event instead.
  • Deprecated TextureOutput.textureCreated event. The output texture is now available immediately.
  • Deprecated RenderTextureOutput.textureCreated event. The output texture is now available immediately.

NatDevice 1.3.1

03 Nov 21:52
Compare
Choose a tag to compare
  • 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 and await TextureOutput. Use textureCreated property instead.

NatDevice 1.3.0

01 Nov 00:22
Compare
Choose a tag to compare
  • 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 and RenderTextureOutput.
  • Added capacity parameter to MediaDeviceQuery 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

21 Sep 14:41
Compare
Choose a tag to compare
  • Fixed sporadic crash when CameraDevice.flashMode is set on Android.
  • Fixed CameraDevice.StartRunning method blocking for a long time on Windows (#3).
  • Fixed CameraDevice.CapturePhoto raising an exception on Windows (#7).

NatDevice 1.2.4

31 Aug 16:07
Compare
Choose a tag to compare
  • 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

15 Aug 02:45
Compare
Choose a tag to compare
  • 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 native float* 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 accepts PixelBufferOutput. The constructor is now parameterless.

NatDevice 1.2.2

16 Jun 12:07
Compare
Choose a tag to compare
  • 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

16 Jun 01:46
Compare
Choose a tag to compare
  • Rewrote Android implementation from scratch in C++ to improve performance and significantly reduce fatal crashes from errors.
  • Added RenderTextureOutput for streaming camera images into RenderTexture 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 a class to a readonly struct for better memory behaviour.
  • Updated CameraImage from a class to a readonly struct for better memory behaviour.
  • Improved performance and memory behaviour of IMediaDevice.uniqueID and IMediaDevice.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 accessing CameraDevice.frameRate on macOS.
  • Fixed rare IllegalStateException when running a CameraDevice 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 second MediaDeviceQuery on iOS.
  • Deprecated CameraDevice.torchEnabled property. Use CameraDevice.torchMode property instead.
  • Deprecated CameraDevice.whiteBalanceLockSupported property. Use CameraDevice.WhiteBalanceModeSupported method instead.
  • Deprecated CameraDevice.whiteBalanceLock property. Use CameraDevice.whiteBalanceMode property instead.
  • Refactored top-level namespace from NatSuite.Devices to NatML.Devices.