Skip to content

Releases: cryville/Cryville.Audio

6.0.0-rc.2

06 Feb 06:18
Compare
Choose a tag to compare
6.0.0-rc.2 Pre-release
Pre-release
fix(core): Fix buffer overflow in CachedAudioSource

6.0.0-rc.1

26 Jan 10:41
Compare
Choose a tag to compare
6.0.0-rc.1 Pre-release
Pre-release
build: Update project version

3.0.2

09 Mar 05:25
Compare
Choose a tag to compare

Fixes

  • Sequencing an audio source for immediate playback to a sequencer that has run for a long time (a few hours) caused an error.
  • Playing a very long audio file with LibavFileAudioSource could potentially cause an error.

3.0.1

09 Mar 05:12
Compare
Choose a tag to compare

Fixes

  • Could not get the name of an WASAPI audio device under Mono.

3.0.0

31 Oct 09:56
Compare
Choose a tag to compare

This version introduces a license change, please check the new LICENSE.

Additions

  • AAudio engine
  • Property WaveFormat.FrameSize
  • Property IAudioDevice.BurstSize
  • MinimumBufferDuration (now MinimumBufferSize) implementation for OpenSL ES

Breaking changes

  • Pull up the properties DefaultBufferDuration (now DefaultBufferSize,) MinimumBufferDuration (now MinimumBufferSize,) and DefaultFormat from AudioClient to IAudioDevice.
  • Pull up the method IsFormatSupported from AudioClient to IAudioDevice.
  • Remove the method AudioClient.Init and pull up the initialization logic to IAudioDevice.Connect.
  • Remove the predefined engine order in EngineBuilder.
    Now it is required to add engines into the EngineBuilder.Engines list manually.
  • Split every engine into its own project.
  • Refactor DefaultBufferDuration to DefaultBufferSize and MinimumBufferDuration to MinimumBufferSize, changing their units from milliseconds to frames.
  • Refactor the bufferDuration parameter in the IAudioDevice.Connect method to bufferSize, changing its unit from milliseconds to frames.
  • Move LibavFileAudioSource into a separate project Cryville.Audio.Source.Libav.

Changes

  • DataFlow enum is now flags.
  • Remove Cryville.Audio.WasapiWrapper in favor of internal COM implementation.

Optimizations

  • Optimize latency for OpenSL ES by detecting default sample rate.

Fixes

  • A render attempt before the format is set caused potential error.
  • Disposing a WASAPI device when its property store is not open caused error.
  • Playing when the source is null in OpenSL crashed the application.

2.0.1

30 Mar 03:39
Compare
Choose a tag to compare

Fixes

  • Segmentation fault while seeking within a LibavFileAudioSource.

2.0.0

29 Mar 16:57
Compare
Choose a tag to compare

Additions

  • AudioClient.Muted
  • AudioStream.SeekTime()
  • AudioStream.SetDuration()
  • AudioStream.Duration
  • AudioStream.Time
  • Seeking feature for FunctionAudioSource, LibavFileAudioSource, and SimpleSequencerSource

Changes

  • Remove AudioSource.Muted (now AudioStream.Muted) in favor of AudioClient.Muted.
  • WaveFormat is now equatable.
  • Remove OpenSL.OutputClient.CallbackFunction, which is no longer required.
  • Rename the values of SampleFormat enumeration.
    • Unsigned8 -> U8
    • Signed16 -> S16
    • Signed24 -> S24
    • Signed32 -> S32
    • Binary32 -> F32
    • Binary64 -> F64
  • Rename AudioSource to AudioStream.
    • AudioSource.FillBuffer() -> AudioStream.Read()
  • Remove instance method AudioSource.SilentBuffer() (now AudioStream.SilentBuffer().)
  • Calling AudioSource.SetFormat() (now AudioStream.SetFormat()) twice on a single instance is no longer allowed.
  • The best stream is selected now on format set in LibavFileAudioSource.

Optimizations

  • Optimize GC for CachedAudioSource.FillBuffer() (now CachedAudioSource.Read()) under Mono environment.

Fixes

  • The lower clipping edge of SampleFormat.Signed24 (now SampleFormat.S24) was incorrect.
  • Improper dispose patterns.
  • The session queue of SimpleSequencerSession was not locked.

1.2.3

20 Nov 06:04
Compare
Choose a tag to compare

Changes

  • Add PreserveSig = false to some P/Invoke functions.

1.2.2

28 Oct 01:27
Compare
Choose a tag to compare

Fixes

  • Unity crashes with Cryville.Audio.Wasapi.AudioClient when recompiling scripts in play mode (finalize_domain_objects)

1.2.1

13 Oct 14:02
Compare
Choose a tag to compare

Changes

  • Added dispose lock for audio clients