Skip to content

Releases: CyberAgentGameEntertainment/InstantReplay

v1.4.2

08 Jan 05:59
Immutable release. Only release title and notes can be modified.
353925c

Choose a tag to compare

What's Changed

Fixed

  • Fixed duration of the produced video may be wrong on Android

PRs

Full Changelog: v1.4.1...v1.4.2

v1.4.1

24 Dec 05:02
Immutable release. Only release title and notes can be modified.
2bbab10

Choose a tag to compare

What's Changed

Added

  • UniEnc (NuGet)
    • Updated UniEnc to contain debug symbols
    • Added support for .NET Standard 2.0 / 2.1

PRs

Full Changelog: v1.4.0...v1.4.1

v1.4.0

23 Dec 02:13
Immutable release. Only release title and notes can be modified.
7d723a2

Choose a tag to compare

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

v1.3.1

02 Dec 03:03
Immutable release. Only release title and notes can be modified.
08e32cc

Choose a tag to compare

What's Changed

Fixed

  • Fixed no frames are recorded when "load on startup" option for libunienc.dylib is ignored accidentally on macOS Editor.
  • Fixed recorded video becomes brighter or darker than the original with gamma workflow.

PRs

Full Changelog: v1.3.0...v1.3.1

v1.3.0

25 Nov 01:35
Immutable release. Only release title and notes can be modified.
b151356

Choose a tag to compare

What's Changed

Added

  • Added readback-free encoding pipeline for iOS and macOS to reduce latency and memory usage.
  • Added RealtimeEncodingOptions.ForceReadback to disable readback-free encoding pipeline.

PRs

Full Changelog: v1.2.2...v1.3.0

v1.2.2

17 Nov 09:43
Immutable release. Only release title and notes can be modified.
7cc41e6

Choose a tag to compare

What's Changed

Fixed

  • Fixed CriAudioSampleProvider causes race condition.
  • Fixed UnityEngine.ImageConversion.EncodeToJPG() doesn't work on iOS when Instant Replay is installed.

PRs

Full Changelog: v1.2.1...v1.2.2

v1.2.1

11 Nov 06:33
Immutable release. Only release title and notes can be modified.
5f62ee9

Choose a tag to compare

What's Changed

Fixed

  • Fixed CriAudioSampleProvider drops audio samples when frame rate is low.
  • Fixed AudioTemporalAdjuster causes audio glitches when timestamp jumps.

PRs

  • Fix CRI audio is corrupted when frame rate is low by @ruccho in #64
  • bump to v1.2.1 by @ruccho in #65

Full Changelog: v1.2.0...v1.2.1

v1.2.0

23 Oct 09:07
Immutable release. Only release title and notes can be modified.
8c28f89

Choose a tag to compare

What's Changed

Added

  • Added RealtimeEncodingOptions.MaxNumberOfRawFrameBuffers, which restricts the maximum concurrent number of raw frame buffers to be encoded.
  • Added InstantReplay.ILogger enabling users to redirect log messages.

Fixed

  • Fixed trying to destroy UnityAudioSampleProviderReceiver that has already been destroyed.
  • Fixed iOS app crashes when disposing encoder after entering background.

Changed

  • RenderTextures are now named clearly for easier debugging.
  • AsyncGPUReadback and related memory allocations are reduced when encoding pipeline stalls.
  • Internal improvements on code structure of encoding pipelines.

PRs

  • Add null check on destroy UnityAudioSampleProviderReceiver by @ruccho in #54
  • Pipeline abstraction by @ruccho in #48
  • RenderTexture namings by @ruccho in #56
  • Back-propagate whether IPipelineInput<T> will accept incoming value by @ruccho in #59
  • Uncompressed frame buffer pool by @ruccho in #60
  • unienc: fix crash when dropping invalidated VTCompressionSession on iOS by @ruccho in #61
  • bump to v1.2.0 by @ruccho in #62

Full Changelog: v1.1.1...v1.2.0

v1.1.1

10 Oct 09:07
Immutable release. Only release title and notes can be modified.
1c0afa5

Choose a tag to compare

What's Changed

Fixed

  • Fixed CriAudioSampleProvider fails if CriWareInitializer configures output sample rate with default value.

PRs

New Contributors

Full Changelog: v1.1.0...v1.1.1

v1.1.0

07 Oct 09:47
Immutable release. Only release title and notes can be modified.
e0f3ecc

Choose a tag to compare

What's Changed

Added

  • Added InstantReplay.Cri.CriAudioSampleProvider to capture audio from CRIWARE.

Changed

  • Reduced heap allocations by frames.

PRs

Full Changelog: v1.0.3...v1.1.0