# API Reference

- [AV module](https://auscaster.com/icey/docs/api-reference/av.md): Audio/video encoding, decoding, device capture, and media formats.
- [v4l2](https://auscaster.com/icey/docs/api-reference/icy-av-v4l2.md): Linux V4L2 device enumeration helpers.
- [coreaudio](https://auscaster.com/icey/docs/api-reference/icy-av-coreaudio.md): Apple CoreAudio device enumeration helpers.
- [legacy](https://auscaster.com/icey/docs/api-reference/icy-av-legacy.md): Legacy timing helpers kept for compatibility with older media pipelines.
- [legacy::FPSCounter](https://auscaster.com/icey/docs/api-reference/icy-av-legacy-FPSCounter.md): Legacy frames-per-second counter.
- [avfoundation](https://auscaster.com/icey/docs/api-reference/icy-av-avfoundation.md): Apple AVFoundation device enumeration helpers.
- [mediafoundation](https://auscaster.com/icey/docs/api-reference/icy-av-mediafoundation.md): Windows Media Foundation device enumeration helpers.
- [wasapi](https://auscaster.com/icey/docs/api-reference/icy-av-wasapi.md): Windows WASAPI device enumeration helpers.
- [LinuxDeviceWatcher](https://auscaster.com/icey/docs/api-reference/icy-av-LinuxDeviceWatcher.md): Monitors device add/remove events via libudev.
- [ICapture](https://auscaster.com/icey/docs/api-reference/icy-av-ICapture.md): Abstract interface for audio and video capture devices.
- [IEncoder](https://auscaster.com/icey/docs/api-reference/icy-av-IEncoder.md): This is the abstract class for all encoders.
- [AppleDeviceWatcher](https://auscaster.com/icey/docs/api-reference/icy-av-AppleDeviceWatcher.md): Monitors device add/remove events via AVFoundation notifications and CoreAudio property listeners.
- [FPSCounter](https://auscaster.com/icey/docs/api-reference/icy-av-FPSCounter.md): FPS counter based on the simple moving average (SMA) algorithm.
- [FPSLimiter](https://auscaster.com/icey/docs/api-reference/icy-av-FPSLimiter.md): PacketStream processor that caps packet throughput to a maximum FPS.
- [AudioCapture](https://auscaster.com/icey/docs/api-reference/icy-av-AudioCapture.md): Cross-platform audio capture device backed by FFmpeg input devices.
- [MediaCapture](https://auscaster.com/icey/docs/api-reference/icy-av-MediaCapture.md): Unified capture and decode source for files and live media devices.
- [VideoCapture](https://auscaster.com/icey/docs/api-reference/icy-av-VideoCapture.md): Cross-platform video device capturer backed by FFmpeg avdevice.
- [DeviceWatcher](https://auscaster.com/icey/docs/api-reference/icy-av-DeviceWatcher.md): Base class for platform-specific device change monitors.
- [DeviceManager](https://auscaster.com/icey/docs/api-reference/icy-av-DeviceManager.md): Enumerates and manages system audio and video devices.
- [DeviceManager::HardwareCodec](https://auscaster.com/icey/docs/api-reference/icy-av-DeviceManager-HardwareCodec.md): Hardware codec descriptor.
- [FormatRegistry](https://auscaster.com/icey/docs/api-reference/icy-av-FormatRegistry.md): Singleton registry of available media container formats for encoding and decoding.
- [WindowsDeviceWatcher](https://auscaster.com/icey/docs/api-reference/icy-av-WindowsDeviceWatcher.md): Monitors device add/remove events via IMMNotificationClient (audio) and RegisterDeviceNotification (video).
- [MultiplexEncoder](https://auscaster.com/icey/docs/api-reference/icy-av-MultiplexEncoder.md): Multiplexing encoder that writes synchronized audio and video streams.
- [AudioPacketEncoder](https://auscaster.com/icey/docs/api-reference/icy-av-AudioPacketEncoder.md): PacketProcessor that encodes raw audio samples (PlanarAudioPacket or AudioPacket) into compressed packets via AudioEncoder.
- [VideoPacketEncoder](https://auscaster.com/icey/docs/api-reference/icy-av-VideoPacketEncoder.md): PacketProcessor that encodes raw video frames (PlanarVideoPacket or VideoPacket) into compressed packets via VideoEncoder.
- [RealtimePacketQueue](https://auscaster.com/icey/docs/api-reference/icy-av-RealtimePacketQueue.md): Queue that emits media packets in presentation-timestamp order relative to a realtime clock.
- [RealtimePacketQueue::MediaPacketTimeCompare](https://auscaster.com/icey/docs/api-reference/icy-av-RealtimePacketQueue-MediaPacketTimeCompare.md): Comparator for ordering media packets by presentation timestamp.
- [MultiplexPacketEncoder](https://auscaster.com/icey/docs/api-reference/icy-av-MultiplexPacketEncoder.md): Encodes and multiplexes a realtime video stream form audio / video capture sources.
- [Codec](https://auscaster.com/icey/docs/api-reference/icy-av-Codec.md): Codec for encoding/decoding media.
- [AudioCodec](https://auscaster.com/icey/docs/api-reference/icy-av-AudioCodec.md): Audio codec parameters including channels, sample rate, and sample format.
- [VideoCodec](https://auscaster.com/icey/docs/api-reference/icy-av-VideoCodec.md): Video codec parameters including resolution, frame rate, and pixel format.
- [Deleter](https://auscaster.com/icey/docs/api-reference/icy-av-Deleter.md): RAII helpers for owning FFmpeg allocation types.
- [Deleterp](https://auscaster.com/icey/docs/api-reference/icy-av-Deleterp.md): Deleter adaptor for functions like av_freep that take a pointer to a pointer.
- [Format](https://auscaster.com/icey/docs/api-reference/icy-av-Format.md): Defines a media container format which is available through the FormatRegistry for encoding or decoding.
- [EncoderState](https://auscaster.com/icey/docs/api-reference/icy-av-EncoderState.md): State machine states for the encoder pipeline.
- [EncoderOptions](https://auscaster.com/icey/docs/api-reference/icy-av-EncoderOptions.md): Configuration options for audio and video encoders.
- [AudioBuffer](https://auscaster.com/icey/docs/api-reference/icy-av-AudioBuffer.md): FIFO buffer for queuing audio samples between encoding stages.
- [AudioContext](https://auscaster.com/icey/docs/api-reference/icy-av-AudioContext.md): Base context for audio encoding and decoding via FFmpeg.
- [AudioDecoder](https://auscaster.com/icey/docs/api-reference/icy-av-AudioDecoder.md): Decodes compressed audio packets into raw sample frames.
- [AudioEncoder](https://auscaster.com/icey/docs/api-reference/icy-av-AudioEncoder.md): Encodes raw audio samples into a compressed format.
- [VideoContext](https://auscaster.com/icey/docs/api-reference/icy-av-VideoContext.md): Base video context from which all video encoders and decoders derive.
- [VideoDecoder](https://auscaster.com/icey/docs/api-reference/icy-av-VideoDecoder.md): Decodes compressed video packets into raw frames.
- [VideoEncoder](https://auscaster.com/icey/docs/api-reference/icy-av-VideoEncoder.md): Encodes raw video frames into a compressed format.
- [Device](https://auscaster.com/icey/docs/api-reference/icy-av-Device.md): Represents a system audio, video or render device.
- [Device::AudioCapability](https://auscaster.com/icey/docs/api-reference/icy-av-Device-AudioCapability.md): An audio format supported by the device.
- [Device::VideoCapability](https://auscaster.com/icey/docs/api-reference/icy-av-Device-VideoCapability.md): A video format supported by the device.
- [AudioResampler](https://auscaster.com/icey/docs/api-reference/icy-av-AudioResampler.md): Converts audio samples between different formats, sample rates, and channel layouts.
- [VideoConverter](https://auscaster.com/icey/docs/api-reference/icy-av-VideoConverter.md): Converts video frames between pixel formats and resolutions.
- [MediaPacket](https://auscaster.com/icey/docs/api-reference/icy-av-MediaPacket.md): Timestamped media packet carrying raw audio or video data.
- [VideoPacket](https://auscaster.com/icey/docs/api-reference/icy-av-VideoPacket.md): Video packet for interleaved formats.
- [PlanarVideoPacket](https://auscaster.com/icey/docs/api-reference/icy-av-PlanarVideoPacket.md): Video packet for planar formats.
- [AudioPacket](https://auscaster.com/icey/docs/api-reference/icy-av-AudioPacket.md): Audio packet for interleaved formats.
- [PlanarAudioPacket](https://auscaster.com/icey/docs/api-reference/icy-av-PlanarAudioPacket.md): Audio packet for planar formats.
- [UV module](https://auscaster.com/icey/docs/api-reference/uv.md): The `uv` module contains C++ wrappers for `libuv`.
- [Handle](https://auscaster.com/icey/docs/api-reference/icy-uv-Handle.md): Wrapper class for managing `uv_handle_t` variants.
- [ScopedLoop](https://auscaster.com/icey/docs/api-reference/icy-uv-ScopedLoop.md): RAII wrapper for a libuv event loop.
- [HandleStorage](https://auscaster.com/icey/docs/api-reference/icy-uv-HandleStorage.md): Extra storage placed around a raw `libuv` handle for close-time cleanup hooks.
- [Context](https://auscaster.com/icey/docs/api-reference/icy-uv-Context.md): Shared `libuv` handle context.
- [BasicEvent](https://auscaster.com/icey/docs/api-reference/icy-uv-BasicEvent.md): Default request callback event carrying a libuv status code.
- [Request](https://auscaster.com/icey/docs/api-reference/icy-uv-Request.md): Wrapper class for managing `uv_req_t` variants.
- [ConnectReq](https://auscaster.com/icey/docs/api-reference/icy-uv-ConnectReq.md): Asynchronous connection request for TCP sockets and named pipes.
- [GetAddrInfoEvent](https://auscaster.com/icey/docs/api-reference/icy-uv-GetAddrInfoEvent.md): Callback event delivered when a `GetAddrInfoReq` resolves.
- [GetAddrInfoReq](https://auscaster.com/icey/docs/api-reference/icy-uv-GetAddrInfoReq.md): DNS resolver request to get the IP address of a hostname.
- [Net module](https://auscaster.com/icey/docs/api-reference/net.md): TCP/SSL/UDP networking, socket adapters, DNS resolution.
- [net](https://auscaster.com/icey/docs/api-reference/icy-net.md): Socket transports, adapters, and address helpers.
- [Address](https://auscaster.com/icey/docs/api-reference/icy-net-Address.md): Represents an IPv4 or IPv6 socket address with host and port.
- [PacketSocketEmitter](https://auscaster.com/icey/docs/api-reference/icy-net-PacketSocketEmitter.md): Socket adapter that emits received data as packets.
- [Socket](https://auscaster.com/icey/docs/api-reference/icy-net-Socket.md): Base socket implementation from which all sockets derive.
- [SocketAdapter](https://auscaster.com/icey/docs/api-reference/icy-net-SocketAdapter.md): Abstract adapter interface for socket send/receive chains.
- [SocketAdapter::DispatchScope](https://auscaster.com/icey/docs/api-reference/icy-net-SocketAdapter-DispatchScope.md): Defers receiver cleanup while any onSocketXxx dispatch loop is on the stack, so re-entrant callbacks cannot shrink `_rec
- [SocketAdapter::Ref](icy-net-SocketAdapter-Ref.html): Reference-counted handle to a SocketAdapter.
- [SocketEmitter](icy-net-SocketEmitter.html): SocketAdapter that exposes socket events as signals.
- [SocketPacket](icy-net-SocketPacket.html): Default packet type emitted by sockets.
- [SSLAdapter](icy-net-SSLAdapter.html): Manages the OpenSSL context and BIO buffers for an SSL socket connection.
- [SSLContext](icy-net-SSLContext.html): OpenSSL SSL_CTX wrapper for client and server TLS configuration.
- [SSLManager](icy-net-SSLManager.html): Singleton that owns the default client/server TLS contexts and related callbacks.
- [SSLSession](icy-net-SSLSession.html): Cached SSL/TLS session wrapper used for client-side resumption.
- [SSLSocket](icy-net-SSLSocket.html): SSL socket implementation.
- [TCPSocket](icy-net-TCPSocket.html): TCP socket implementation.
- [Transaction](icy-net-Transaction.html): Request/response helper for packet types emitted from a socket.
- [UDPSocket](icy-net-UDPSocket.html): UDP socket implementation.
- [VerificationErrorDetails](icy-net-VerificationErrorDetails.html): A utility class for certificate error handling.
- [PacketInfo](icy-net-PacketInfo.html): Provides information about packets emitted from a socket.
- [dns](icy-net-dns.html): DNS utilities.
- [Base module](base.html): The `base` module contains reusable cross platform tools and utilities.
- [hex](icy-hex.html): Hexadecimal encoding and decoding helpers.
- [hex::Decoder](icy-hex-Decoder.html): Hex decoder.
- [hex::Encoder](icy-hex-Encoder.html): Hex encoder.
- [ipc](icy-ipc.html): Classes for inter-process communication.
- [ipc::Queue](icy-ipc-Queue.html): IPC queue is for safely passing templated actions between threads and processes.
- [ipc::SyncQueue](icy-ipc-SyncQueue.html): IPC synchronization queue is for passing templated actions between threads and the event loop we are synchronizing with.
- [Action](icy-ipc-Action.html): Default action type for executing synchronized callbacks.
- [test](icy-test.html): Modern unit testing framework.
- [FunctionTest](icy-test-FunctionTest.html): Test wrapper for standalone test functions.
- [Test](icy-test-Test.html): Test wrapper class.
- [TestRunner](icy-test-TestRunner.html): Test manager queue.
- [time](icy-time.html): Classes and functions for handling time.
- [base64](icy-base64.html): Base64 encoding and decoding helpers.
- [base64::Decoder](icy-base64-Decoder.html): Base64 decoder.
- [base64::Encoder](icy-base64-Encoder.html): Base64 encoder.
- [deleter](icy-deleter.html): Deleter helpers for objects managed through custom destruction routines.
- [Array](icy-deleter-Array.html): Deleter functor for array pointers. Calls delete[] on the pointer.
- [Dispose](icy-deleter-Dispose.html): Deleter functor that calls dispose() on the pointer.
- [numeric](icy-numeric.html): Integer parsing and formatting helpers.
- [basic](icy-basic.html): Interface classes.
- [basic::Decoder](icy-basic-Decoder.html): Abstract interface for stream decoders.
- [basic::Encoder](icy-basic-Encoder.html): Abstract interface for stream encoders.
- [Runnable](icy-basic-Runnable.html): Abstract interface for classes that can be run and cancelled.
- [Sendable](icy-basic-Sendable.html): Abstract interface for classes that can be sent and cancelled.
- [Startable](icy-basic-Startable.html): Abstract interface for a classes that can be started and stopped.
- [fs](icy-fs.html): Cross-platform filesystem path and file helpers.
- [util](icy-util.html): Miscellaneous string, parsing, and version utilities.
- [Version](icy-util-Version.html): Semantic version number with major, minor, and patch fields.
- [Pipe](icy-Pipe.html): Named pipe / stdio stream built on `uv_pipe_t`.
- [Idler](icy-Idler.html): Asynchronous type that triggers callbacks when the event loop is idle.
- [Queue](icy-Queue.html): Thread-safe queue container.
- [RunnableQueue](icy-RunnableQueue.html): Queue of runnable tasks for sequential execution.
- [SyncQueue](icy-SyncQueue.html): SyncQueue extends Synchronizer to implement a syn
- [AsyncQueue](icy-AsyncQueue.html): AsyncQueue is a thread-based queue which receives packets from any thread source and dispatches them asynchronously.
- [Timer](icy-Timer.html): Asynchronous event based timer.
- [MutableBuffer](icy-MutableBuffer.html): The MutableBuffer class provides a safe representation of a buffer that can be modified.
- [ConstBuffer](icy-ConstBuffer.html): The ConstBuffer class provides a safe representation of a buffer that cannot be modified.
- [BitReader](icy-BitReader.html): Class for reading binary streams.
- [BitWriter](icy-BitWriter.html): Class for reading/writing binary streams.
- [DynamicBitWriter](icy-DynamicBitWriter.html): Class for reading/writing dynamically resizable binary streams.
- [LogWriter](icy-LogWriter.html): Log output stream writer.
- [AsyncLogWriter](icy-AsyncLogWriter.html): Thread based log output stream writer.
- [Logger](icy-Logger.html): Logger class.
- [LogChannel](icy-LogChannel.html): Named log output channel with configurable severity level and formatting.
- [ConsoleChannel](icy-ConsoleChannel.html): Log channel that writes formatted messages to standard output.
- [FileChannel](icy-FileChannel.html): Log channel that writes formatted messages to a file.
- [RotatingFileChannel](icy-RotatingFileChannel.html): Log channel that writes to time-rotated log files.
- [RefCounted](icy-RefCounted.html): Base class for intrusive reference counting.
- [IntrusivePtr](icy-IntrusivePtr.html): Intrusive smart pointer for RefCounted objects.
- [Random](icy-Random.html): Random implements a pseudo random number generator (PRNG) using the Mersenne Twister algo
- [Runner](icy-Runner.html): Runner is a virtual interface for implementing asynchronous objects such as threads and f
- [Runner::Context](icy-Runner-Context.html): Context object which we send to the thread context.
- [Signal< RT(Args...), MutexT >](icy-Signal-RT-Args-MutexT.html): Thread-safe signal and slot implementation for callback-based event dispatch.
- [Signal< RT(Args...), MutexT >::EmitGuard](icy-Signal-RT-Args-MutexT-EmitGuard.html): Balances beginEmitLocked() on every exit path, including a throwing slot.
- [Stream](icy-Stream.html): Basic stream type for sockets and pipes.
- [Stream::OwnedWriteReq](icy-Stream-OwnedWriteReq.html): A libuv write request that owns the bytes it writes until the write completes.
- [Thread](icy-Thread.html): Platform-independent wrapper around an operating system thread.
- [Process](icy-Process.html): Spawns and manages a child process with stdin/stdout/stderr pipes.
- [Timeout](icy-Timeout.html): Timeout counter which expires after a given delay.
- [TimedToken](icy-TimedToken.html): Token that expires after the specified duration.
- [Timestamp](icy-Timestamp.html): A Timestamp stores a monotonic* time value with (theoretical) microseconds resolution.
- [Timespan](icy-Timespan.html): A class that represents time spans up to microsecond resolution.
- [DateTime](icy-DateTime.html): This class represents an instant in time, expressed in years, months, days, hours, minutes, seconds and milliseconds based on the Gregorian calendar.
- [Timezone](icy-Timezone.html): This class provides information about the current timezone.
- [LocalDateTime](icy-LocalDateTime.html): This class represents an instant in local time (as opposed to UTC), expressed in years, months, days, hours, minutes, seconds and milliseconds based on the Gregorian calendar.
- [DateTimeFormat](icy-DateTimeFormat.html): Definition of date/time formats and various constants used by [DateTimeFormatter](icy-DateTimeFormatter.html#datetimeformatter
- [DateTimeFormatter](icy-DateTimeFormatter.html): This class converts dates and times into strings, supporting a variety of standard and custom formats.
- [DateTimeParser](icy-DateTimeParser.html): This class provides a method for parsing dates and times from strings.
- [Stopwatch](icy-Stopwatch.html): A simple facility to measure time intervals with microsecond resolution.
- [ThreadedStreamReader](icy-ThreadedStreamReader.html): Threaded stream reader class.
- [StreamWriter](icy-StreamWriter.html): Packet stream writer class.
- [State](icy-State.html): State class for state machines.
- [Stateful](icy-Stateful.html): State machine implementation.
- [IRegistry](icy-IRegistry.html): Abstract interface for object registries.
- [Singleton](icy-Singleton.html): Helper template class for managing singleton objects allocated on the heap.
- [Singleton::Deleter](icy-Singleton-Deleter.html): Custom deleter that can access private destructors via friendship.
- [KeyedStore](icy-KeyedStore.html): A keyed store of unique_ptr values with optional lifecycle hooks.
- [KVCollection](icy-KVCollection.html): A keyed value store (values stored by copy, not pointer).
- [NVCollection](icy-NVCollection.html): A storage container for a name value collections.
- [Application](icy-Application.html): Main icey application class.
- [SyncPacketQueue](icy-SyncPacketQueue.html): Synchronized packet queue for event loop integration.
- [AsyncPacketQueue](icy-AsyncPacketQueue.html): Thread-based asynchronous packet dispatch queue.
- [RateLimiter](icy-RateLimiter.html): Token bucket rate limiter for throttling message send frequency.
- [PacketStreamAdapter](icy-PacketStreamAdapter.html): This class is a wrapper for integrating external classes with the a PacketStream's 
- [PacketProcessor](icy-PacketProcessor.html): This class is a virtual interface for creating PacketStreamAdapters which process that and emit the IPacket type.
- [PacketStream](icy-PacketStream.html): Processes and broadcasts IPackets through a configurable adapter graph.
- [Synchronizer](icy-Synchronizer.html): Synchronizer enables any thread to communicate with the associated event loop via synchronized callbacks.
- [TimedManager](icy-TimedManager.html): Timed pointer manager  Provides timed persistent data storage for class instances.
- [IPacketCreationStrategy](icy-IPacketCreationStrategy.html): Abstract strategy for creating typed packets from raw buffer data.
- [PacketFactory](icy-PacketFactory.html): Priority-ordered factory that creates typed packets from raw buffers using registered strategies.
- [StreamManager](icy-StreamManager.html): Manages a named collection of PacketStream instances with lifecycle callbacks.
- [IDiagnostic](icy-IDiagnostic.html): Abstract interface for diagnostic information providers.
- [AsyncDiagnostic](icy-AsyncDiagnostic.html): Asynchronous diagnostic information collector.
- [DiagnosticManager](icy-DiagnosticManager.html): Registry and manager for diagnostic providers.
- [PacketTransaction](icy-PacketTransaction.html): Request/response transaction with timeout and retry logic.
- [Task](icy-Task.html): Abstract base class for implementing asynchronous tasks.
- [TaskRunner](icy-TaskRunner.html): Runner for tasks that inherit the `Task` interface.
- [IPacket](icy-IPacket.html): The basic packet type which is passed around the icey system.
- [FlagPacket](icy-FlagPacket.html): Packet for sending bitwise flags along the packet stream.
- [RawPacket](icy-RawPacket.html): RawPacket is the default data packet type which consists of an optionally managed char
- [Configuration](icy-Configuration.html): Configuration is an abstract base class for managing different kinds of configuration storage back ends such as JSON, XML, or database.
- [ScopedConfiguration](icy-ScopedConfiguration.html): ScopedConfiguration provides multiple levels of configuration for a module.
- [Error](icy-Error.html): Basic error type.
- [LogStream](icy-LogStream.html): No-op log record used when logging is compiled out.
- [LogVoidify](icy-LogVoidify.html): Adapts a LogStream expression to void so the streaming log macros can short-circuit o
- [NullSharedMutex](icy-NullSharedMutex.html): No-op mutex for single-threaded signal usage.
- [Bitwise](icy-Bitwise.html): Container for smart management of bitwise integer flags.
- [AbstractDelegate](icy-AbstractDelegate.html): Abstract delegate interface.
- [FunctionDelegate](icy-FunctionDelegate.html): The `FunctionDelegate` contains a `std::function`.
- [ClassDelegate](icy-ClassDelegate.html): The `ClassDelegate` contains a pointer to a class member.
- [ConstClassDelegate](icy-ConstClassDelegate.html): The `ConstClassDelegate` contains a pointer to a `const` class member.
- [PolymorphicDelegate](icy-PolymorphicDelegate.html): Polymorphic function delegate.
- [OptionParser](icy-OptionParser.html): Command-line option parser.
- [ShutdownCmd](icy-ShutdownCmd.html): Shutdown command packet for signalling process termination.
- [PacketAdapterReference](icy-PacketAdapterReference.html): Provides a reference to a PacketStreamAdapter with optional ownership.
- [PacketStreamState](icy-PacketStreamState.html): State machine states for PacketStream.
- [PacketCreationStrategy](icy-PacketCreationStrategy.html): This template class implements an adapter that sits between an SignalBase and an object receiving notifications from it.
- [SharedLibrary](icy-SharedLibrary.html): Loads a shared library at runtime and resolves exported symbols.
- [DiagnosticState](icy-DiagnosticState.html): State definitions for diagnostic providers.
- [TransactionState](icy-TransactionState.html): State machine states for PacketTransaction.
- [IPacketInfo](icy-IPacketInfo.html): An abstract interface for packet sources to provide extra information about packets.
- [HTTP module](http.html): HTTP client/server, WebSocket support, form handling, cookies, URL parsing.
- [http](icy-http.html): HTTP request/response types, parsers, and server/client helpers.
- [Authenticator](icy-http-Authenticator.html): Maintains HTTP Basic or Digest authentication state for outbound requests.
- [BasicAuthenticator](icy-http-BasicAuthenticator.html): Encodes and decodes HTTP Basic authentication credentials.
- [ChunkedAdapter](icy-http-ChunkedAdapter.html): HTTP chunked transfer encoding adapter for streaming responses.
- [Client](icy-http-Client.html): HTTP client for creating and managing outgoing connections.
- [ClientConnection](icy-http-ClientConnection.html): HTTP client connection for managing request/response lifecycle.
- [ClientConnection::PendingWrite](icy-http-ClientConnection-PendingWrite.html): Data written before the socket connects, kept with its write flags and sent on connect.
- [Connection](icy-http-Connection.html): Base HTTP connection managing socket I/O and message lifecycle
- [ConnectionAdapter](icy-http-ConnectionAdapter.html): Default HTTP socket adapter for reading and writing HTTP messages
- [ConnectionPool](icy-http-ConnectionPool.html): LIFO connection pool for reusing ServerConnection objects.
- [ConnectionStream](icy-http-ConnectionStream.html): Packet stream wrapper for an HTTP connection.
- [Cookie](icy-http-Cookie.html): HTTP cookie value plus its response/header attributes.
- [FilePart](icy-http-FilePart.html): Form part backed by a file on disk.
- [FormPart](icy-http-FormPart.html): An implementation of FormPart.
- [FormWriter](icy-http-FormWriter.html): FormWriter is an HTTP client connection adapter for writing HTML forms.
- [FormWriter::Part](icy-http-FormWriter-Part.html): Individual part within a multipart form submission.
- [Message](icy-http-Message.html): The base class for Request and Response.
- [MultipartAdapter](icy-http-MultipartAdapter.html): HTTP multipart encoding adapter for multipart/x-mixed-replace streaming.
- [Parser](icy-http-Parser.html): HTTP request/response parser using the llhttp library.
- [Parser::MessageScratch](icy-http-Parser-MessageScratch.html): The start line and headers of the message being parsed, applied to the request or response once its headers are complete
- [Parser::ParseResult](icy-http-Parser-ParseResult.html): The outcome of one parse call: the bytes consumed, whether a message completed or upgraded the connection, and any error
- [ParserObserver](icy-http-ParserObserver.html): Abstract observer interface for HTTP parser events.
- [ProgressSignal](icy-http-ProgressSignal.html): HTTP progress signal for upload and download progress notifications.
- [Request](icy-http-Request.html): HTTP request message with method, URI, headers, and optional body.
- [Response](icy-http-Response.html): HTTP response message with status, reason phrase, headers, and body metadata.
- [Server](icy-http-Server.html): HTTP server implementation.
- [ServerConnection](icy-http-ServerConnection.html): HTTP server connection.
- [ServerConnectionFactory](icy-http-ServerConnectionFactory.html): Factory for creating per-socket `ServerConnection` and per-request `ServerResponder` objects.
- [ServerResponder](icy-http-ServerResponder.html): Base responder interface for handling one HTTP request on a server connection.
- [StringPart](icy-http-StringPart.html): Form part backed by an in-memory string payload.
- [URL](icy-http-URL.html): An RFC 3986 based URL parser.
- [DateCache](icy-http-DateCache.html): Caches the formatted Date header, updated once per second.
- [Method](icy-http-Method.html): HTTP request methods.
- [StaticFileInfo](icy-http-StaticFileInfo.html): Metadata needed to serve a static file with HTTP validators.
- [ws](icy-http-ws.html): WebSocket framing, handshakes, and connection helpers.
- [ws::ConnectionAdapter](icy-http-ws-ConnectionAdapter.html): WebSocket class which belongs to an HTTP connection.
- [ws::WebSocket](icy-http-ws-WebSocket.html): Standalone WebSocket class.
- [ws::WebSocketAdapter](icy-http-ws-WebSocketAdapter.html): WebSocket protocol adapter for both client and server endpoints.
- [ws::WebSocketException](icy-http-ws-WebSocketException.html): A WebSocket error, carrying its error code and, where one applies, the close status code.
- [ws::WebSocketFramer](icy-http-ws-WebSocketFramer.html): WebSocket frame encoder/decoder and handshake validator for RFC 6455.
- [JSON module](json.html): JSON serialization using nlohmann/json.
- [json](icy-json.html): JSON value aliases, serialization helpers, and file utilities built on nlohmann/json.
- [Configuration](icy-json-Configuration.html): JSON configuration file  See base Configuration for all accessors
- [ISerializable](icy-json-ISerializable.html): Abstract interface for JSON-serializable objects.
- [Pacm module](pacm.html): Package manager for distributing and installing packaged extensions and assets.
- [pacm](icy-pacm.html): Package manifests, install tasks, and repository management helpers.
- [InstallMonitor](icy-pacm-InstallMonitor.html): Aggregates multiple install tasks and reports overall progress.
- [InstallTask](icy-pacm-InstallTask.html): Downloads, extracts, and finalizes a single package installation.
- [PackageManager](icy-pacm-PackageManager.html): Loads package manifests and coordinates install, update, and uninstall workflows.
- [PackageManager::Options](icy-pacm-PackageManager-Options.html): Startup configuration for repository endpoints, credentials, and directories.
- [InstallationState](icy-pacm-InstallationState.html): State machine states for package installation.
- [InstallOptions](icy-pacm-InstallOptions.html): Package installation options.
- [LocalPackage](icy-pacm-LocalPackage.html): Package metadata for an installed package on the local filesystem.
- [LocalPackage::Manifest](icy-pacm-LocalPackage-Manifest.html): Manifest of installed files recorded for a local package.
- [Package](icy-pacm-Package.html): JSON-backed package metadata shared by local and remote package records.
- [Package::Asset](icy-pacm-Package-Asset.html): Archive asset metadata for a specific package build.
- [Package::Extension](icy-pacm-Package-Extension.html): Optional extension metadata that describes how a packaged runtime unit is loaded.
- [PackagePair](icy-pacm-PackagePair.html): Pairing of the installed and remote metadata for the same package ID.
- [RemotePackage](icy-pacm-RemotePackage.html): Package metadata loaded from the remote package index.
- [TURN module (rfc5766)](turn.html): The `turn` module contains TURN (rfc5766) client and server implementations.
- [turn](icy-turn.html): TURN allocation identity types and transport helpers.
- [Client](icy-turn-Client.html): TURN client that manages relay allocations, permissions, and data relay via RFC 5766.
- [Client::Options](icy-turn-Client-Options.html): Configuration options for the TURN client.
- [FiveTuple](icy-turn-FiveTuple.html): TURN allocation identity tuple: client remote address, server local address, and transport protocol.
- [IAllocation](icy-turn-IAllocation.html): Base class for TURN relay allocations shared by client and server flows.
- [PermissionPolicy](icy-turn-PermissionPolicy.html): Lightweight server-side TURN permission policy.
- [Request](icy-turn-Request.html): A STUN message annotated with the transport type and source/destination addresses needed for server-side routing and res
- [Server](icy-turn-Server.html): TURN server RFC 5766 / RFC 6062 implementation.
- [ServerAllocation](icy-turn-ServerAllocation.html): Server-side TURN allocation that tracks permissions, lifetime, and relay state.
- [TCPAllocation](icy-turn-TCPAllocation.html): Server-side TCP TURN allocation with connection pair management per RFC 6062.
- [TCPClient](icy-turn-TCPClient.html): TCP transport TURN client with relay connection management per RFC 6062.
- [TCPConnectionPair](icy-turn-TCPConnectionPair.html): Paired TCP connections forming a single TURN relay pipe between a client and a peer.
- [UDPAllocation](icy-turn-UDPAllocation.html): Server-side UDP TURN allocation that relays datagrams to permitted peers.
- [UDPClient](icy-turn-UDPClient.html): UDP transport TURN client for datagram-based relay allocations.
- [ClientObserver](icy-turn-ClientObserver.html): Abstract observer interface for TURN client events.
- [ClientState](icy-turn-ClientState.html): State machine states for the TURN client.
- [Permission](icy-turn-Permission.html): A single TURN permission entry associating a peer IP with a 5-minute expiry timer.
- [Permission::Key](icy-turn-Permission-Key.html): The peer IP address a permission covers, as its address family and raw bytes.
- [RelayConnectionBinding](icy-turn-RelayConnectionBinding.html): Binding metadata stored as socket opaque data during a ConnectionBind handshake.
- [ServerObserver](icy-turn-ServerObserver.html): Observer interface that the application must implement to participate in server-side allocation management and authentication.
- [ServerOptions](icy-turn-ServerOptions.html): Configuration options for the TURN server.
- [TCPClientObserver](icy-turn-TCPClientObserver.html): Observer interface for TCP TURN client events (RFC 6062).
- [STUN module (rfc5389)](stun.html): The `stun` module contains a STUN (rfc5389) implementation.
- [stun](https://auscaster.com/icey/docs/api-reference/icy-stun.md): STUN messages, attributes, and transaction helpers defined by RFC 5389.
- [AddressAttribute](https://auscaster.com/icey/docs/api-reference/icy-stun-AddressAttribute.md): Implements a STUN/TURN attribute that contains a socket address.
- [Attribute](https://auscaster.com/icey/docs/api-reference/icy-stun-Attribute.md): The virtual base class for all STUN/TURN attributes.
- [ErrorCode](https://auscaster.com/icey/docs/api-reference/icy-stun-ErrorCode.md): Implements the STUN ERROR-CODE attribute (RFC 5389 section 15.6).
- [FlagAttribute](https://auscaster.com/icey/docs/api-reference/icy-stun-FlagAttribute.md): Implements a zero-length STUN/TURN flag attribute (presence implies the flag is set).
- [Message](https://auscaster.com/icey/docs/api-reference/icy-stun-Message.md): STUN/TURN protocol message with method, class, transaction ID, and attributes.
- [MessageIntegrity](https://auscaster.com/icey/docs/api-reference/icy-stun-MessageIntegrity.md): Implements the STUN MESSAGE-INTEGRITY attribute (RFC 5389 section 15.4).
- [StringAttribute](https://auscaster.com/icey/docs/api-reference/icy-stun-StringAttribute.md): Implements a STUN/TURN attribute that holds an arbitrary byte string.
- [Transaction](https://auscaster.com/icey/docs/api-reference/icy-stun-Transaction.md): STUN request/response transaction with timeout and retry logic.
- [UInt16ListAttribute](https://auscaster.com/icey/docs/api-reference/icy-stun-UInt16ListAttribute.md): Implements a STUN/TURN attribute that holds a list of attribute type codes.
- [UInt32Attribute](https://auscaster.com/icey/docs/api-reference/icy-stun-UInt32Attribute.md): Implements a STUN/TURN attribute that holds a 32-bit integer.
- [UInt64Attribute](https://auscaster.com/icey/docs/api-reference/icy-stun-UInt64Attribute.md): Implements a STUN/TURN attribute that holds a 64-bit integer.
- [UInt8Attribute](https://auscaster.com/icey/docs/api-reference/icy-stun-UInt8Attribute.md): Implements a STUN/TURN attribute that holds an 8-bit integer.
- [Archive module](https://auscaster.com/icey/docs/api-reference/archo.md): Archive and ZIP file handling.
- [archo](https://auscaster.com/icey/docs/api-reference/icy-archo.md): ZIP archive handling utilities and related helpers.
- [ZipFile](https://auscaster.com/icey/docs/api-reference/icy-archo-ZipFile.md): ZIP archive reader and writer.
- [ZipFile::FileInfo](https://auscaster.com/icey/docs/api-reference/icy-archo-ZipFile-FileInfo.md): Metadata for a file entry within a ZIP archive.
- [Graft module](https://auscaster.com/icey/docs/api-reference/graft.md): Native ABI contracts and runtime loading helpers.
- [Sched module](https://auscaster.com/icey/docs/api-reference/sched.md): Task scheduler for deferred and periodic jobs.
- [sched](https://auscaster.com/icey/docs/api-reference/icy-sched.md): Deferred and periodic job scheduling primitives.
- [Scheduler](https://auscaster.com/icey/docs/api-reference/icy-sched-Scheduler.md): The Scheduler manages and runs tasks that need to be executed at specific tim
- [Task](https://auscaster.com/icey/docs/api-reference/icy-sched-Task.md): Scheduled task with an attached trigger and scheduler association.
- [TaskFactory](https://auscaster.com/icey/docs/api-reference/icy-sched-TaskFactory.md): The TaskFactory can dynamically instantiate registered sched::Task and sched::Trigger classes from named strings.
- [DailyTrigger](https://auscaster.com/icey/docs/api-reference/icy-sched-DailyTrigger.md): Trigger that fires once per day at a configured time, with optional day-of-week exclusions.
- [IntervalTrigger](https://auscaster.com/icey/docs/api-reference/icy-sched-IntervalTrigger.md): Trigger that fires repeatedly at a fixed time interval.
- [OnceOnlyTrigger](https://auscaster.com/icey/docs/api-reference/icy-sched-OnceOnlyTrigger.md): Trigger that fires exactly once at the scheduled time and then expires.
- [Trigger](https://auscaster.com/icey/docs/api-reference/icy-sched-Trigger.md): Base class for scheduled task triggers that determine when a task should run.
- [Crypto module](https://auscaster.com/icey/docs/api-reference/crypto.md): Cryptographic operations; hashing, HMAC, RSA, X509 certificates.
- [crypto](https://auscaster.com/icey/docs/api-reference/icy-crypto.md): Cryptographic primitives, key helpers, and certificate utilities backed by OpenSSL.
- [Cipher](https://auscaster.com/icey/docs/api-reference/icy-crypto-Cipher.md): Provides symmetric algorithms for encryption and decryption.
- [Hash](https://auscaster.com/icey/docs/api-reference/icy-crypto-Hash.md): Incremental cryptographic hash engine wrapping OpenSSL EVP digest functions.
- [X509Certificate](https://auscaster.com/icey/docs/api-reference/icy-crypto-X509Certificate.md): RAII wrapper for an OpenSSL X509 certificate with PEM loading and inspection.
- [Speech module](https://auscaster.com/icey/docs/api-reference/speech.md): Audio intelligence primitives for decoded media streams.
- [speech](https://auscaster.com/icey/docs/api-reference/icy-speech.md): Voice activity detection over decoded audio, reported as speech events.
- [SpeechQueue](https://auscaster.com/icey/docs/api-reference/icy-speech-SpeechQueue.md): Async queue for decoded audio packets.
- [VoiceActivityDetector](https://auscaster.com/icey/docs/api-reference/icy-speech-VoiceActivityDetector.md): Detects speech in decoded audio by its energy and emits speech:start, speech:update and speech:end events.
- [VoiceActivityDetector::Levels](https://auscaster.com/icey/docs/api-reference/icy-speech-VoiceActivityDetector-Levels.md): The mean absolute level and the peak measured from one packet.
- [AudioRef](https://auscaster.com/icey/docs/api-reference/icy-speech-AudioRef.md): The audio packet an event refers to: its sequence, timing and sample format.
- [SpeechEvent](https://auscaster.com/icey/docs/api-reference/icy-speech-SpeechEvent.md): A speech:start, speech:update or speech:end event, with the source, detector, audio and signal levels that produced it.
- [VoiceActivityDetectorConfig](https://auscaster.com/icey/docs/api-reference/icy-speech-VoiceActivityDetectorConfig.md): Settings for a VoiceActivityDetector: the source it reports for,
- [VoiceActivityDetectorStats](https://auscaster.com/icey/docs/api-reference/icy-speech-VoiceActivityDetectorStats.md): Counts of packets seen and events emitted, whether speech is active, and the last measured levels.
- [Symple module](https://auscaster.com/icey/docs/api-reference/symple.md): Realtime messaging protocol for presence, rooms, and WebRTC signalling.
- [smpl](https://auscaster.com/icey/docs/api-reference/icy-smpl.md): Symple protocol messages, peers, client, and server helpers.
- [Client](https://auscaster.com/icey/docs/api-reference/icy-smpl-Client.md): Symple v4 client.
- [Client::ClientData](https://auscaster.com/icey/docs/api-reference/icy-smpl-Client-ClientData.md): The client's private state: its options, loop, WebSocket connection, roster, rooms and reconnect timer.
- [Client::Options](https://auscaster.com/icey/docs/api-reference/icy-smpl-Client-Options.md): Connection and authentication options for the Symple client.
- [Command](https://auscaster.com/icey/docs/api-reference/icy-smpl-Command.md): Symple command message with a node path and action verb.
- [Event](https://auscaster.com/icey/docs/api-reference/icy-smpl-Event.md): Symple event message carrying a named occurrence with a timestamp.
- [Form](https://auscaster.com/icey/docs/api-reference/icy-smpl-Form.md): Interactive form with pages, sections, and fields for command data exchange.
- [FormElement](https://auscaster.com/icey/docs/api-reference/icy-smpl-FormElement.md): Base element within a Symple form.
- [FormField](https://auscaster.com/icey/docs/api-reference/icy-smpl-FormField.md): Form input field with typed values and selectable options.
- [Message](https://auscaster.com/icey/docs/api-reference/icy-smpl-Message.md): Base Symple protocol message with addressing, status, data, and notes.
- [Peer](https://auscaster.com/icey/docs/api-reference/icy-smpl-Peer.md): Symple peer record containing identity, presence, and custom fields.
- [Presence](https://auscaster.com/icey/docs/api-reference/icy-smpl-Presence.md): Symple presence message indicating a peer's online status.
- [Roster](https://auscaster.com/icey/docs/api-reference/icy-smpl-Roster.md): The Roster provides a registry for active network peers indexed by session ID.
- [Server](https://auscaster.com/icey/docs/api-reference/icy-smpl-Server.md): Symple v4 server.
- [Server::PeerRegistry](https://auscaster.com/icey/docs/api-reference/icy-smpl-Server-PeerRegistry.md): The server's connected and virtual peers, found by peer ID or by connection.
- [Server::RoomIndex](https://auscaster.com/icey/docs/api-reference/icy-smpl-Server-RoomIndex.md): Room membership by peer ID, and the recipients of a message sent to a set of rooms.
- [Server::Options](https://auscaster.com/icey/docs/api-reference/icy-smpl-Server-Options.md): Configuration options for the Symple server.
- [Server::RoutingPolicy](https://auscaster.com/icey/docs/api-reference/icy-smpl-Server-RoutingPolicy.md): Who may message whom: a direct message needs a room the sender and recipient share, and a room broadcast needs the sende
- [Server::VirtualPeer](https://auscaster.com/icey/docs/api-reference/icy-smpl-Server-VirtualPeer.md): A peer added with addVirtualPeer: present in its rooms like any peer, with messages delivered to its handler instead of 
- [ServerPeer](https://auscaster.com/icey/docs/api-reference/icy-smpl-ServerPeer.md): Per-connection state for a connected Symple peer.
- [Address](https://auscaster.com/icey/docs/api-reference/icy-smpl-Address.md): The Address structure is an endpoint identifier for a peer on the network.
- [ClientState](https://auscaster.com/icey/docs/api-reference/icy-smpl-ClientState.md): Client connection states.
- [Vision module](https://auscaster.com/icey/docs/api-reference/vision.md): Video intelligence primitives for sampled frame processing and event output.
- [vision](https://auscaster.com/icey/docs/api-reference/icy-vision.md): Video analysis for decoded frames: sampling, normalising and detecting, with results reported as vision events.
- [DetectionQueue](https://auscaster.com/icey/docs/api-reference/icy-vision-DetectionQueue.md): Async queue for normalized detector-ready frames.
- [Detector](https://auscaster.com/icey/docs/api-reference/icy-vision-Detector.md): Base interface for detectors that consume normalized vision frames.
- [FrameNormalizer](https://auscaster.com/icey/docs/api-reference/icy-vision-FrameNormalizer.md): Converts sampled decoded video into owned detector-ready frames.
- [FrameSampler](https://auscaster.com/icey/docs/api-reference/icy-vision-FrameSampler.md): PacketProcessor that forwards a sampled subset of decoded video frames.
- [MotionDetector](https://auscaster.com/icey/docs/api-reference/icy-vision-MotionDetector.md): Detects motion by comparing each frame with the previous one on a coarse grid, and emits a detect event when the change 
- [VisionEventEmitter](https://auscaster.com/icey/docs/api-reference/icy-vision-VisionEventEmitter.md): Emits vision events to the listeners on its Event signal.
- [Detection](https://auscaster.com/icey/docs/api-reference/icy-vision-Detection.md): Something a detector found in one frame: its label, confidence and region, and the track it belongs to when one is known
- [FrameNormalizerConfig](https://auscaster.com/icey/docs/api-reference/icy-vision-FrameNormalizerConfig.md): The frames a FrameNormalizer produces: their source and stream IDs, size and pixel format.
- [FrameNormalizerStats](https://auscaster.com/icey/docs/api-reference/icy-vision-FrameNormalizerStats.md): Counts of frames seen, emitted, dropped and converted.
- [FrameSamplerConfig](https://auscaster.com/icey/docs/api-reference/icy-vision-FrameSamplerConfig.md): Which frames a FrameSampler forwards: every Nth frame, and no two closer 
- [FrameSamplerStats](https://auscaster.com/icey/docs/api-reference/icy-vision-FrameSamplerStats.md): Counts of frames seen, forwarded and dropped.
- [MotionDetectorConfig](https://auscaster.com/icey/docs/api-reference/icy-vision-MotionDetectorConfig.md): Settings for a MotionDetector: the grid each frame is reduced to, the f
- [MotionDetectorStats](https://auscaster.com/icey/docs/api-reference/icy-vision-MotionDetectorStats.md): Counts of frames seen and events emitted, and the last motion score.
- [Region](https://auscaster.com/icey/docs/api-reference/icy-vision-Region.md): A rectangle within a frame, in coordinates normalised from 0 to 1.
- [Track](https://auscaster.com/icey/docs/api-reference/icy-vision-Track.md): An object followed across frames: its track ID, label, confidence and region.
- [VisionEvent](https://auscaster.com/icey/docs/api-reference/icy-vision-VisionEvent.md): A detector's report on one frame, with its detections and tracks, in the vision.event.v1 schema.
- [VisionFrameContext](https://auscaster.com/icey/docs/api-reference/icy-vision-VisionFrameContext.md): The frame a result refers to: its source and stream, frame ID, timing, size, pixel format and whether it is a keyframe.
- [VisionFramePacket](https://auscaster.com/icey/docs/api-reference/icy-vision-VisionFramePacket.md): Owned detector-ready frame buffer carrying stable frame metadata.
- [WebRTC module](https://auscaster.com/icey/docs/api-reference/webrtc.md): WebRTC media transport via libdatachannel; peer sessions, media bridge, codec negotiation.
- [SignallingInterface](https://auscaster.com/icey/docs/api-reference/icy-wrtc-SignallingInterface.md): Transport-agnostic signalling interface for WebRTC session setup.
- [MediaBridge](https://auscaster.com/icey/docs/api-reference/icy-wrtc-MediaBridge.md): Convenience wrapper that creates WebRTC tracks on a PeerConnection and exposes per-track sender/receiver adapters for PacketStream integration.
- [MediaBridge::Options](https://auscaster.com/icey/docs/api-reference/icy-wrtc-MediaBridge-Options.md): Configuration options for the WebRTC media bridge.
- [PeerSession](https://auscaster.com/icey/docs/api-reference/icy-wrtc-PeerSession.md): Manages a WebRTC peer connection lifecycle over any signalling transport that implements SignallingInterface.
- [PeerSession::CallbackGuard](https://auscaster.com/icey/docs/api-reference/icy-wrtc-PeerSession-CallbackGuard.md): Shared with queued callbacks, so one that runs after the session is destroyed does nothing.
- [PeerSession::Config](https://auscaster.com/icey/docs/api-reference/icy-wrtc-PeerSession-Config.md): Configuration for WebRTC peer session establishment.
- [PeerSession::MediaConfig](https://auscaster.com/icey/docs/api-reference/icy-wrtc-PeerSession-MediaConfig.md): Configuration for WebRTC peer session establishment.
- [PeerSession::PendingCandidate](https://auscaster.com/icey/docs/api-reference/icy-wrtc-PeerSession-PendingCandidate.md): A remote ICE candidate that arrived before the remote description, applied once that description is set.
- [WebRtcTrackSender](https://auscaster.com/icey/docs/api-reference/icy-wrtc-WebRtcTrackSender.md): PacketProcessor that sends encoded media to a single libdatachannel Track via sendFrame().
- [WebRtcTrackReceiver](https://auscaster.com/icey/docs/api-reference/icy-wrtc-WebRtcTrackReceiver.md): PacketStreamAdapter that receives depacketized frames from a single remote libdatachannel Track and emits them as VideoPacket or AudioPacket into a PacketStream.
- [WebRtcTrackReceiver::DispatchState](https://auscaster.com/icey/docs/api-reference/icy-wrtc-WebRtcTrackReceiver-DispatchState.md): State shared with track callbacks.
- [CodecNegotiator](https://auscaster.com/icey/docs/api-reference/icy-wrtc-CodecNegotiator.md): Maps RTP codec names to FFmpeg encoders and queries FFmpeg at runtime to determine what codecs are available.
- [TrackHandle](https://auscaster.com/icey/docs/api-reference/icy-wrtc-TrackHandle.md): Result of creating a track: the track itself plus its RTP config.
- [JitterBufferConfig](https://auscaster.com/icey/docs/api-reference/icy-wrtc-JitterBufferConfig.md): Receive-side jitter buffer behaviour for depacketized WebRTC media frames.
- [CodecSpec](https://auscaster.com/icey/docs/api-reference/icy-wrtc-CodecSpec.md): Canonical description of a codec supported by icey's WebRTC helpers.
- [NegotiatedCodec](https://auscaster.com/icey/docs/api-reference/icy-wrtc-NegotiatedCodec.md): Result of codec negotiation between a remote SDP offer and the local FFmpeg codec inventory.
- [Graft C ABI primitives](https://auscaster.com/icey/docs/api-reference/graftabi.md): C-compatible manifest and export conventions shared by plugin-in and host-out graft surfaces.
- [icy_graft_manifest](https://auscaster.com/icey/docs/api-reference/icy_graft_manifest.md): What a graft plugin exports under ICY_GRAFT_PLUGIN_MANIFEST_SYMBOL: its ABI version, file name, ID, name, version, runti
- [WebRTC support helpers](https://auscaster.com/icey/docs/api-reference/webrtcsupport.md): Shared signalling helpers and sample/app adapters layered on top of the core WebRTC module.
- [WebSocketSignaller](https://auscaster.com/icey/docs/api-reference/icy-wrtc-WebSocketSignaller.md): SignallingInterface implementation using plain JSON over WebSocket.
- [SympleSignaller](https://auscaster.com/icey/docs/api-reference/icy-wrtc-SympleSignaller.md): SignallingInterface implementation using the Symple call protocol.
- [SympleServerSignaller](https://auscaster.com/icey/docs/api-reference/icy-wrtc-SympleServerSignaller.md): Server-side Symple signaller for virtual peers and embedded apps.
- [SympleServerSignaller::OutboundMessage](https://auscaster.com/icey/docs/api-reference/icy-wrtc-SympleServerSignaller-OutboundMessage.md): A message sent from another thread, queued with its peer address and sent on the server's loop.
- [Graft host pipeline C surface](https://auscaster.com/icey/docs/api-reference/grafthostpipeline.md): Narrow host-exported C ABI for the first Rust-facing pipeline surface.
- [icy_pipeline_options](https://auscaster.com/icey/docs/api-reference/icy_pipeline_options.md): Options for icy_pipeline_api.create: the pipelin
- [icy_pipeline_api](https://auscaster.com/icey/docs/api-reference/icy_pipeline_api.md): The pipeline host API returned by icy_pipeline_api(): create a pipeline, attach an 
- [Signal](https://auscaster.com/icey/docs/api-reference/icy-Signal.md): Signal and slots implementation.
- [Library](https://auscaster.com/icey/docs/api-reference/icy-graft-Library.md): Loads a native plugin library and resolves its typed entrypoint.
- [Manifest](https://auscaster.com/icey/docs/api-reference/icy-graft-Manifest.md): Metadata exported by a plugin or host surface.
- [proto::Welcome](https://auscaster.com/icey/docs/api-reference/icy-smpl-proto-Welcome.md): The server's welcome on connect: its status and message, the client's own peer record and the rooms it is in.
- [callproto::ParsedMessage](https://auscaster.com/icey/docs/api-reference/icy-wrtc-callproto-ParsedMessage.md): A call signalling message read from a Symple message: its kind, peer address and action, with the SDP, ICE candidate or 
- [codec_registry::Entry](https://auscaster.com/icey/docs/api-reference/icy-wrtc-codec_registry-Entry.md): A codec the registry knows: its RTP codec spec and, in FFmpeg builds, the decoder that reads it.
- [Globals](https://auscaster.com/icey/docs/api-reference/globals.md): Macros at global scope.
