Skip to content

Releases: 4Players/odin-sdk

1.3.0

11 Nov 17:24
Compare
Choose a tag to compare

New Features

  • Added support for Windows on ARM
  • Refactored internal jitter buffer for improved overall reliability

API Changes

  • Updated OdinAudioStreamStats struct
    • Renamed jitter_packets_processed to packets_processed
    • Renamed jitter_packets_dropped_too_early to packets_arrived_too_early
    • Renamed jitter_packets_dropped_too_late to packets_arrived_too_late
    • Renamed jitter_packets_lost to packets_lost
    • Added packets_total
    • Added packets_invalid
    • Added packets_repeated
  • Removed odin_audio_data_len

Bugfixes / Improvements

  • Enabled FEC feature for Opus encoder/decoder
  • Switched Opus encoder application mode from Audio to VoIP when working with single channel streams
  • Fixed initial values for time and sequence number in audio datagrams
  • Fixed a bug where malformed audio datagrams could lead to delayed audio playback

1.2.2

27 Oct 15:15
Compare
Choose a tag to compare

New Features

  • Added several diagnostic functions to help with on-premise server setups

API Changes

  • Added OdinConnectionStats struct
  • Added OdinAudioStreamStats struct
  • Added odin_room_connection_stats
  • Added odin_audio_stats

Bugfixes / Improvements

  • odin_room_join will now check token audience in OdinTokenOptions and connect to gateway or SFU accordingly

1.2.1

19 Oct 22:23
Compare
Choose a tag to compare

Bugfixes / Improvements

  • Improved error messages for connection problems
  • Fixed a potential crash when an internal event was called while shutting down

1.2.0

15 Oct 19:34
Compare
Choose a tag to compare

General

API Changes

  • Added OdinRoomConnectionState_Disconnecting
  • Added own_user_id and own_user_id_len to OdinEvent_JoinedData

Bugfixes / Improvements

  • Improved internal shutdown process to prevent media handles from being removed too soon
  • Fixed an issue where a room handle could become unresponsive after a timeout

1.1.1

27 Sep 11:45
Compare
Choose a tag to compare

Bugfixes / Improvements

  • Fixed an issue where iOS clients were unable to access local root certificates

1.1.0

25 Sep 19:02
Compare
Choose a tag to compare

General

New Features

  • Added gain controller to bring the input audio signal to an appropriate range when it's either too loud or too quiet

API Changes

  • Added gain_controller boolean to OdinApmConfig struct
  • Updated odin_error_format to make error messages more specific
  • Updated odin_room_update_user_data to return an error when trying to set user data of the room while not being connected

Bugfixes / Improvements

  • Fixed a bug where peer user data was not set after re-connecting to a room
  • Fixed a bug where peer position was not set correctly before joining a room

1.0.1

10 Aug 08:39
Compare
Choose a tag to compare

Bugfixes / Improvements

  • Fixed an issue with conflicting symbols for Unreal Engine builds

1.0.0

06 Jul 10:46
Compare
Choose a tag to compare

General

  • Improved overall reliability by adding an internal mechanism to re-establish a connection to the ODIN server on timeouts
  • Updated test console client to properly handle reconnects
  • Removed the internal media ID from the API in favor of media handles (internal IDs can still be retrieved using odin_media_stream_media_id for reference while the media stream is added to a connected room)

New Features

  • Added a generic resampler for situations where your audio pipeline doesn't support 48 kHz (one resampler instance should be used exclusively per audio stream)

API Changes

  • Added odin_resampler_create
  • Added odin_resampler_process
  • Added odin_resampler_destroy
  • Added odin_room_close to ensure a clean disconnect before calling odin_room_destroy
  • Changed type of OdinReturnCode from unsigned to signed integers
  • Replaced media_id and stream properties with media_handle in Media* event data
  • Removed unused None event tag

Bugfixes / Improvements

  • Fixed a bug where odin_audio_mix_streams was only outputting the last media stream
  • Fixed a possible deadlock when calling API functions within event handlers
  • Added missing null terminator to room ID and customer strings

0.7.1

26 Jun 11:10
Compare
Choose a tag to compare

Bugfixes / Improvements

  • Fixed a crash when running Rosetta 2 translated Intel binaries on Apple Silicon Macs

0.7.0

24 May 11:21
Compare
Choose a tag to compare

General

  • Updated test console client to store auto-generated access keys so we're not generating a new demo key on every use

New Features

  • Added a volume gate to measure if the user is speaking loud enough to actually send voice data, which can be very useful in noisy environments

API Changes

  • Extended OdinApmConfig with more options to configure voice activity detection (VAD) behavior
    • voice_activity_detection now enables or disables usage of the smart speech detection algorithm
    • voice_activity_detection_attack_probability defines the speech probability required to start transmitting
      (recommended value: 0.9)
    • voice_activity_detection_release_probability defines the speech probability that must be fallen below to stop transmitting
      (recommended value: 0.8)
    • volume_gate now enables or disables measuring the volume of the input audio signal
    • volume_gate_attack_loudness defines the root mean square power (dBFS) when the gate should engage
      (recommended value: -30)
    • volume_gate_release_loudness defines the root mean square power (dBFS) when the gate should disengage
      (recommended value: -40)
  • Allowed to clear room event handlers using odin_room_set_event_callback by passing NULL

Bugfixes / Improvements

  • Fixed a crash when resampling failed to initialize
  • Fixed an issue where Linux builds had a requirement for the AVX2 instruction set