Skip to content

v1.4.0

Choose a tag to compare

@ruccho ruccho released this 23 Dec 02:13
· 32 commits to main since this release
Immutable release. Only release title and notes can be modified.
7d723a2

Breaking Changes

  • Minimum Android API level is raised to 26 (8.0).
  • Added an assembly UniEnc.Unity containing Unity-specific extensions for UniEnc.

UniEnc.SharedBuffer

  • Type parameter is added: SharedBuffer<T> where T : unmanaged, IDisposable
  • Removed: public NativeArray<byte> NativeArray { get; }
  • Removed: public Span<byte> Span { get; }
  • Added: public T Value { get; }

UniEnc.SharedBufferPool

  • Moved to UniEnc.Unity.SharedBufferPoolExtensions:
    • Old: public unsafe bool TryAlloc(nuint size, out SharedBuffer buffer);
    • New: public static bool TryAllocAsNativeArray(this SharedBufferPool self, nuint size, out SharedBuffer<NativeArrayWrapper> buffer);

UniEnc.EncodingSystem

  • Removed: public unsafe ValueTask<BlitTargetHandle> BlitAsync(CommandBuffer cmd, Texture source, uint destWidth, uint destHeight, bool flipVertically)
    • Use UniEnc.Unity.VideoEncoderExtensions instead: public static ValueTask PushFrameAsync(this VideoEncoder encoder, Texture source, double timestamp);

What's Changed

Added

  • Added readback-free encoding pipeline for Android (Vulkan).
  • Added UnboundedRecordingSession to record without duration limit.

Fixed

  • Fixed libunienc.dylib is not imported for Apple Silicon macOS Player builds.

PRs

  • Readback-free encoding for Vulkan Android by @ruccho in #70
  • fix libunienc is not imported for Apple Silicon macOS players by @ruccho in #78
  • Add UnboundedRecordingSession by @ruccho in #52
  • Publish UniEnc as a NuGet package by @ruccho in #76
  • bump to v1.4.0 by @ruccho in #79

Full Changelog: v1.3.1...v1.4.0