Namespace OdinNative.Core.Imports
Classes
NativeBindings
C# bindings for the native ODIN runtime
NativeBindings.OdinArray
Pinned byte Buffer
NativeBindings.OdinArrayf
Pinned float Buffer
NativeBindings.OdinCipher
NativeBindings.OdinTArray<T>
Pinned Buffer (for an unmanaged-compatible type T)
NativeCryptoMethods
Import odin_crypto function signatures to wrapper delegates
NativeLibraryMethods
Import odin function signatures to wrapper delegates
NativeMethods<T>
OdinCipherHandle
Optional, pluggable encryption module for room communications. A cipher can be attached to an ODIN room handle on creation to enable customizable, end-to-end encryption (E2EE). When enabled, it intercepts data right before transmission and immediately after reception, allowing custom processing of datagrams, messages and custom peer user data. The structure provides a suite of callback functions for initialization, cleanup, event handling and encryption/decryption tasks, along with parameters to adjust for any additional capacity overhead.
OdinConnectionPoolHandle
OdinDecoderHandle
Represents a decoder for media streams from remote voice chat clients, which encapsulates all the components required to process incoming audio streams. It includes an egress resampler for sample rate conversion, an Opus decoder for decompressing audio data and a customizable audio pipeline that enables the application of effects to modify the raw audio samples.
OdinEncoderHandle
Represents an encoder for local media streams, which encapsulates the components required to process outgoing audio streams captured from local sources (e.g. a microphone). It includes an ingress resampler for sample rate conversion, an Opus encoder for compressing the audio data and a customizable audio pipeline that allows the application of effects to modify the raw audio samples before transmission.
OdinPipelineHandle
A highly dynamic audio processing chain that manages a thread-safe collection of filters like voice activity detection, echo cancellation, noise suppression and even custom effects. This allows sequential processing and real-time modification of audio streams through operations like insertion, removal, reordering and configuration updates.
OdinRoomHandle
An opaque type representing an ODIN room handle, which is managed by the underlying connection. This abstraction provides a high-level interface for joining rooms, managing persistent state and sending/receiving data, making it easier to integrate room-based interactions into your application.
OdinSocketHandle
An opaque type representing an ODIN Socket handle, which is managed by the underlying ODIN room. This abstraction provides a high-level interface for room sockets, sending/receiving data, making it easier to integrate room-based interactions into your application.
OdinTokenGeneratorHandle
A handle for generating ODIN tokens, employed for generating signed room tokens predicated on an access key. Be aware that access keys serve as your unique authentication keys, requisite for generating room tokens to access the ODIN server network. To ensure your security, it's strongly recommended that you NEVER embed an access key within your client code and instead generate room tokens on a server.
Structs
NativeBindings.OdinApmConfig
Pipeline configuration of the ODIN audio processing module which provides a variety of smart enhancement algorithms.
NativeBindings.OdinConnectionPoolSettings
NativeBindings.OdinConnectionStats
NativeBindings.OdinDatagramProperties
NativeBindings.OdinPosition
NativeBindings.OdinRoomEvents
NativeBindings.OdinSensitivityConfig
Sensitivity parameters for ODIN voice activity detection module configuration.
NativeBindings.OdinSocketInfo
NativeBindings.OdinVadConfig
Pipeline configuration of the ODIN voice activity detection module, which offers advanced algorithms to accurately determine when to start or stop transmitting audio data.
NativeBindings.OdinViConfig
Pipeline configuration of the Voice Isolation (VI) effect, which uses a deep-learning noise suppression model to separate speech from background sound in the capture signal.
NativeBindings.RawOdinSocketInfo
NativeMethods<T>.LockObject
Interfaces
NativeBindings.IOdinCipher
Enums
NativeBindings.OdinAudioEvents
NativeBindings.OdinCryptoPeerStatus
NativeBindings.OdinEffectType
NativeBindings.OdinError
Defines standard error codes returned by ODIN functions. Non-negative values indicate success or non-error states while negative values indicate errors.
- OdinNative.Core.Imports.NativeBindings.OdinError.ODIN_ERROR_NO_DATA Successful status code equivalent with "end of data"
- OdinNative.Core.Imports.NativeBindings.OdinError.ODIN_ERROR_SUCCESS Successful status code generic OK
NativeBindings.OdinGainControllerVersion
NativeBindings.OdinNoiseSuppression
Valid levels for aggressiveness of the noise suppression. A higher level will reduce the noise level at the expense of a higher speech distortion.