Skip to content

0.5.0

Compare
Choose a tag to compare
@svenpaulsen svenpaulsen released this 02 Feb 13:27
· 69 commits to master since this release

⚠️ This version requires ODIN server version 0.5.0 or newer. Cloud-hosted servers will be updated automatically.

General

  • Event system has been updated to only receive events for remote peers
  • Protocol has been updated to use WebTransport over HTTP/3

New Features

  • Added support for positional rooms with automatic server-side culling based on unit circles with a radius of 1.0
  • Added support for ARM64 based Linux targets

API Changes

  • Added Joined event, which is emitted once a room has been joined
  • Added RoomUserDataChanged event, which is emitted when another peer updated the global arbitrary data of the room
  • Added MediaActiveStateChanged event to notify about activity on a media (e.g. when someone is talking)
  • Added user_id to PeerJoined event, which contains the identifier specified in the room token
  • Added peer_id to MediaRemoved event
  • Added odin_room_update_position to allow updating the two-dimensional position of your own peer in the room
  • Added odin_room_set_position_scale to set the scaling used for all coordinates passed to odin_room_update_position
  • Renamed event fields for Peer* events
  • Renamed ConnectionStateChanged event to RoomConnectionStateChanged
  • Renamed PeerUpdated event to PeerUserDataChanged
  • Removed user_data argument from odin_room_join as this is now set via odin_room_update_user_data which will use the last value for the initial odin_room_join call
  • Removed own_peer_id output param from odin_room_join call as this has been moved the new Joined event

Bugfixes / Improvements

  • Made odin_audio_read_data more reliable when not reading a multiple of 960 samples (20ms)
  • Fixed odin_media_stream_media_id and odin_media_stream_peer_id not returning errors when the media was not assigned to a room or the room was not joined