⚠️ 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