![]() |
Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
▼Nroc | Root namespace |
►Naddress | URIs and addresses |
Cendpoint_uri_to_str | Convert EndpointUri to string |
CEndpointUri | Network endpoint URI |
Cio_uri_to_str | Convert IoUri to string |
CIoUri | Audio file or device URI |
CProtocolAttrs | Protocol attributes |
CProtocolMap | Protocol attributes map |
Csocket_addr_to_str | Convert network address to string |
CSocketAddr | Socket address |
►Naudio | Audio frames and audio processing |
CBuiltinResampler | Resamples audio stream with non-integer dynamically changing factor |
CChannelMapper | Channel mapper. Converts between frames with specified channel masks |
CChannelMapperReader | Channel mapper reader. Reads frames from nested reader and maps them to another channel mask |
CChannelMapperWriter | Channel mapper writer. Reads frames from nested writer and maps them to another channel mask |
CDepacketizer | Depacketizer |
CFanout | Fanout. Duplicates audio stream to multiple output writers |
CFrame | Audio frame |
CFreqEstimator | Evaluates sender's frequency to receivers's frequency ratio |
CFreqEstimatorConfig | FreqEstimator tunable parameters |
CIFrameDecoder | Audio frame decoder interface |
CIFrameEncoder | Audio frame encoder interface |
CIFrameReader | Frame reader interface |
CIFrameWriter | Frame writer interface |
CIResampler | Audio writer interface |
CLatencyMonitor | Session latency monitor |
CLatencyMonitorConfig | Parameters for latency monitor |
CMixer | Mixer. Mixes multiple input streams into one output stream |
CNullWriter | Null writer |
CPacketizer | Packetizer |
CPcmDecoder | PCM decoder |
CPcmEncoder | PCM encoder |
CPcmFormat | PCM format description |
CPcmMapper | PCM format mapper. Convert between PCM formats |
CPoisonReader | Poisons audio frames before reading them |
CPoisonWriter | Poisons audio frames after writing them |
CProfiler | Profiler The role of the profiler is to report the average processing speed (# of samples processed per time unit) during the last N seconds. We want to calculate the average processing speed efficiently (with O(1) complexity, without allocations, and as lightweight as possible). The problems with this are that the we have variable-sized frames and SMA requires fixed size chunks. To efficiently perform this calculation a ring buffer is employed. The idea behind the ring buffer is that each chunk of the buffer is the average speed of 10ms worth of samples. The ring buffer is initialized with fixed size (N * 1000)ms / (10ms) chunks. Within each chunk a weighted mean is used to calculate the average speed during those 10ms. Each frame will contribute a different number of samples to each chunk, the chunk speed is then weighted based on how many samples are contributed at what frame speed. As the chunks get populated the moving average is calculated. When the buffer is not entirely full the cumulative moving average algorithm is used and once the buffer is full the simple moving average algorithm is used |
CProfilerConfig | Profiler Configuration Parameters. Controls profiling interval and duration of each circular buffer chunk |
CProfilingReader | Profiling reader |
CProfilingWriter | Profiling writer |
CResamplerMap | Factory class for IResampler objects, according to the ResamplerBackend input |
CResamplerReader | Resampler element for reading pipeline |
CResamplerWriter | Resampler element for writing pipeline |
CSampleSpec | Sample stream specification. Defines sample rate and channel layout |
CSpeexResampler | Resamples audio stream using speex resampler |
CWatchdog | Watchdog |
CWatchdogConfig | Watchdog parameters |
►Ncore | General-purpose building blocks and platform abstraction layer |
CAlignedStorage | Fixed-size maximum-aligned storage |
CAlignOps | Alignment operations |
CArray | Dynamic array |
CAtomic | Atomic integer. Provides sequential consistency. For a fine-grained memory order control, see AtomicOps |
CAtomic< T * > | Atomic pointer. Provides sequential consistency. For a fine-grained memory order control, see AtomicOps |
CAtomicOps | Atomic operations. This wrapper exists because on non-C11 compilers we use another implementation |
CBuffer | Buffer |
CBufferFactory | Buffer factory |
CCond | Condition variable |
CConsole | Console |
CCrashHandler | Crash handler |
CCustomAllocation | Allocation policy for objects (de)allocated using custom functions |
CEndianOps | Endian operations |
Cerrno_to_str | Convert errno to string |
CFactoryAllocation | Allocation policy for objects (de)allocated using speciailized factory |
CHashmap | Intrusive hash table |
►CHashmapNode | Base class for hashmap element |
CHashmapNodeData | Hashmap node data |
CHeapAllocator | Heap allocator implementation |
CIAllocator | Memory allocator interface |
CList | Intrusive doubly-linked list |
►CListNode | Base class for list element |
CListNodeData | List node data |
CLogBackend | Log backend |
CLogger | Logger |
CLogMessage | Log message |
CMpscQueue | Thread-safe lock-free node-based intrusive multi-producer single-consumer queue |
►CMpscQueueNode | MpscQueue node |
CMpscQueueData | List node data |
CMutex | Mutex |
CNonCopyable | Base class for non-copyable objects |
CNoOwnership | No ownership |
COptional | Optionally constructed object |
CPrinter | Printer |
CRateLimiter | Rate limiter |
CRefCounted | Base class for reference counted object |
CRefCountedOwnership | Reference counted object ownership |
CScopedLock | RAII mutex lock |
CScopedPtr | Unique ownrship pointer |
CSemaphore | Semaphore |
CSeqlock | Seqlock |
CSharedPtr | Shared ownership intrusive pointer |
CSingleton | Singleton |
CSlabPool | Slab pool |
CSlice | Slice |
CStandardAllocation | Allocation policy for objects (de)allocated using IAllocator |
CStringBuffer | String buffer |
CStringBuilder | String builder |
CStringList | Dynamic list of strings |
CTempFile | Temporary file |
CThread | Base class for thread objects |
CTicker | Ticker |
CTimer | Thread-safe timer |
CUsageCounter | Base class for object with usage counter |
►Nctl | Control tasks event loop |
CBasicControlEndpoint | Base class for control endpoints |
CControlInterfaceMap | Control interface map |
►CControlLoop | Control loop thread |
►CTasks | Subclasses for specific tasks |
CAttachSink | Attach sink to endpoint at given URI |
CAttachSource | Attach source to endpoint at given URI |
CBindEndpoint | Bind endpoint on local URI |
CConnectEndpoint | Connect endpoint on remote URI |
CCreateEndpoint | Create endpoint on given interface |
CDeleteEndpoint | Delete endpoint, if it exists |
CDetachSink | Detach sink from endpoint |
CDetachSource | Detach source from endpoint |
CPipelineProcessing | Process pending pipeline tasks on control thread |
CControlTask | Base class for control tasks |
CControlTaskExecutor | Control task executor |
CControlTaskQueue | Control task queue |
CIControlTaskCompleter | Control task completion handler |
CIControlTaskExecutor | Control task executor interface |
►Nfec | FEC support |
CCodecConfig | FEC codec parameters |
CCodecMap | FEC codec map |
CComposer | FECFRAME packet composer |
CIBlockDecoder | FEC block decoder interface |
CIBlockEncoder | FEC block encoder interface |
CLDPC_Repair_PayloadID | LDPC Repair FEC Payload ID |
CLDPC_Source_PayloadID | LDPC Source FEC Payload ID |
COpenfecDecoder | Decoder implementation using OpenFEC library |
COpenfecEncoder | Encoder implementation using OpenFEC library |
CParser | FECFRAME packet parser |
CReader | FEC reader |
CReaderConfig | FEC reader parameters |
CRS8M_PayloadID | Reed-Solomon Source or Repair Payload ID (for m=8) |
CWriter | FEC writer |
CWriterConfig | FEC writer parameters |
►Nnetio | Network I/O |
CBasicPort | Base class for ports |
CICloseHandler | Close handler interface |
CIConn | Connection interface |
CIConnAcceptor | Connection acceptor interface |
CIConnHandler | Connection event handler interface |
CINetworkTaskCompleter | Network task completion handler |
CIResolverRequestHandler | Resolver request result handler interface |
CITerminateHandler | Termination handler interface |
►CNetworkLoop | Network event loop thread |
►CTasks | Subclasses for specific tasks |
CAddTcpClientPort | Add TCP client port |
CAddTcpServerPort | Add TCP server port |
CAddUdpReceiverPort | Add UDP datagram receiver port |
CAddUdpSenderPort | Add UDP datagram sender port |
CRemovePort | Remove port |
CResolveEndpointAddress | Resolve endpoint address |
CNetworkTask | Base class for network loop tasks |
CResolver | Hostname resolver |
CResolverRequest | Resolver request |
CSocketOptions | Socket options |
CTcpClientConfig | TCP connection parameters |
CTcpConnectionConfig | TCP connection parameters |
CTcpConnectionPort | TCP connection port |
CTcpServerConfig | TCP server parameters |
CTcpServerPort | TCP server |
CUdpReceiverConfig | UDP receiver parameters |
CUdpReceiverPort | UDP receiver |
CUdpSenderConfig | UDP sender parameters |
CUdpSenderPort | UDP sender |
►Npacket | Network packets and packet processing |
CConcurrentQueue | Concurrent blocking packet queue |
CDelayedReader | Delayed reader |
CFEC | FECFRAME packet |
CIComposer | Packet composer interface |
CInterleaver | Interleaves packets to transmit them in pseudo random order |
CIParser | Packet parser interface |
CIReader | Packet reader interface |
CIWriter | Packet writer interface |
CPacket | Packet |
CPacketFactory | Packet factory |
CQueue | Packet queue |
CRouter | Route packets to writers |
CRTCP | RTCP compound packet |
CRTP | RTP packet |
CSortedQueue | Sorted packet queue |
CUDP | UDP packet |
►Npeer | High-level sender and receiver peers |
CBasicPeer | Base class for peers |
CContext | Peer context |
CContextConfig | Peer context config |
CReceiver | Receiver peer |
CSender | Sender peer |
►Npipeline | Sender and receiver processing pipelines |
CConverterConfig | Converter parameters |
CConverterSink | Converter sink pipeline |
CConverterSource | Converter source pipeline |
CIPipelineTaskCompleter | Pipeline task completion handler |
CIPipelineTaskScheduler | Pipeline task scheduler interface. PipelineLoop uses this interface to schedule asynchronous work. Method calls may come from different threads, but are serialized |
►CPipelineLoop | Base class for task-based pipelines |
CStats | Task processing statistics |
CPipelineTask | Base class for pipeline tasks |
CReceiverCommonConfig | Receiver common parameters |
CReceiverConfig | Receiver parameters |
CReceiverEndpoint | Receiver endpoint sub-pipeline |
►CReceiverLoop | Receiver pipeline loop |
CTask | Base task class |
►CTasks | Subclasses for specific tasks |
CCreateEndpoint | Create endpoint on given interface of the slot |
CCreateSlot | Add new slot |
CDeleteEndpoint | Delete endpoint on given interface of the slot, if it exists |
CReceiverSession | Receiver session sub-pipeline |
CReceiverSessionConfig | Receiver session parameters |
CReceiverSessionGroup | Receiver session group |
CReceiverSlot | Receiver slot |
CReceiverSource | Receiver source pipeline |
CReceiverState | Receiver pipeline state. Thread-safe |
CSenderConfig | Sender parameters |
CSenderEndpoint | Sender endpoint sub-pipeline |
►CSenderLoop | Sender pipeline loop |
CTask | Base task class |
►CTasks | Subclasses for specific tasks |
CCheckSlotIsReady | Check if the slot configuration is done. This is true when all necessary endpoints are added and configured |
CCreateEndpoint | Create endpoint on given interface of the slot |
CCreateSlot | Add new slot |
CSetEndpointDestinationAddress | Set UDP address for output packets of endpoint |
CSetEndpointDestinationWriter | Set writer to which endpoint will write packets |
CSenderSession | Sender session sub-pipeline |
CSenderSink | Sender sink pipeline |
CSenderSlot | Sender slot |
CTaskConfig | Task processing parameters |
►Nrtcp | RTCP protocol support |
►Nheader | |
CByePacket | Goodbye RTCP packet (BYE) |
CByeReasonHeader | BYE reason header |
CByeSourceHeader | BYE source header |
CNtpTimestamp | Helper to store 64-bit ntp timestamp in a common way among RTCP |
CPacketHeader | RTCP packet header, common for all RTCP packet types |
CReceiverReportPacket | Receiver Report RTCP packet (RR) |
CReceptionReportBlock | Reception report block |
CSdesChunkHeader | SDES chunk header |
CSdesItemHeader | SDES item header |
CSdesPacket | Source Description RTCP packet (SDES) |
CSenderReportPacket | Sender Report RTCP packet (SR) |
CXrBlockHeader | XR Block Header |
CXrDlrrBlock | XR DLRR Report block |
CXrDlrrSubblock | XR DLRR Report sub-block |
CXrPacket | RTCP Extended Report Packet |
CXrRrtrBlock | XR Receiver Reference Time Report block |
CBuilder | RTCP compound packet builder |
►CByeTraverser | BYE packet traverer |
CIterator | Packet iterator |
CComposer | RTCP packet composer |
CIReceiverHooks | Receiver hooks interface |
CISenderHooks | Sender hooks interface |
CLinkMetrics | Metrics for network link. Calculated independently on both sender and receiver |
CParser | RTCP packet parser |
CReceptionMetrics | Metrics sent from receiver to sender per source |
CSdesChunk | Parsed SDES chunk |
CSdesItem | Parsed SDES item |
►CSdesTraverser | SDES packet traverer |
CIterator | Packet iterator |
CSendingMetrics | Metrics sent from sender to receiver |
CSession | RTCP session. Processes incoming RTCP packets and generates outgoing RTCP packets |
►CTraverser | RTCP compound packet traverser |
CIterator | Packet iterator |
►CXrTraverser | XR packet traverser |
CIterator | Packet iterator |
►Nrtp | RTP protocol support |
CComposer | RTP packet composer |
CExtentionHeader | RTP extension header |
CFormat | RTP payload format |
CFormatMap | RTP payload format map |
CHeader | RTP header |
CParser | RTP packet parser |
CPopulator | RTP populator |
CValidator | RTP validator |
CValidatorConfig | Validator parameters |
►Nsdp | SDP protocol support |
CConnectionData | SDP connection data field |
CMediaDescription | SDP media description |
CSessionDescription | SDP session description |
►Nsndio | Sound I/O |
CBackendDispatcher | Backend dispatcher |
CBackendMap | Backend map |
CConfig | Sink and source config |
CDriverInfo | Driver information |
CIBackend | Backend interface |
CISink | Sink interface |
CISource | Source interface |
CITerminal | Base interface for sinks and sources |
CPulseaudioBackend | Pulseaudio backend |
CPulseaudioSink | PulseAudio sink, |
CPump | Audio pump |
CSoxBackend | SoX backend |
CSoxSink | SoX sink |
CSoxSource | SoX source |