![]() |
Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Network packets and packet processing. More...
Classes | |
class | ConcurrentQueue |
Concurrent blocking packet queue. More... | |
class | DelayedReader |
Delayed reader. More... | |
struct | FEC |
FECFRAME packet. More... | |
class | IComposer |
Packet composer interface. More... | |
class | Interleaver |
Interleaves packets to transmit them in pseudo random order. More... | |
class | IParser |
Packet parser interface. More... | |
class | IReader |
Packet reader interface. More... | |
class | IWriter |
Packet writer interface. More... | |
class | Packet |
Packet. More... | |
class | PacketFactory |
Packet factory. More... | |
class | Queue |
Packet queue. More... | |
class | Router |
Route packets to writers. More... | |
struct | RTCP |
RTCP compound packet. More... | |
struct | RTP |
RTP packet. More... | |
class | SortedQueue |
Sorted packet queue. More... | |
struct | UDP |
UDP packet. More... | |
Typedefs | |
typedef core::SharedPtr< Packet > | PacketPtr |
Packet smart pointer. | |
typedef uint32_t | source_t |
Packet source ID identifying packet stream. | |
typedef uint32_t | timestamp_t |
Audio packet timestamp. | |
typedef int32_t | timestamp_diff_t |
Audio packet timestamps difference. | |
typedef uint16_t | seqnum_t |
Packet sequence number in packet stream. | |
typedef int16_t | seqnum_diff_t |
Packet sequence numbers difference. | |
typedef uint16_t | blknum_t |
FEC block number in a packet stream. | |
typedef int16_t | blknum_diff_t |
FEC block numbers difference. | |
typedef uint64_t | ntp_timestamp_t |
NTP timestamp. | |
typedef uint32_t | channel_mask_t |
Bitmask of channels present in audio packet. | |
Enumerations | |
enum | FecScheme { FEC_None , FEC_ReedSolomon_M8 , FEC_LDPC_Staircase } |
FECFRAME scheme. More... | |
enum | { PrintPayload = (1 << 0) } |
Print flags. More... | |
Functions | |
const char * | fec_scheme_to_str (FecScheme) |
FEC scheme to string. | |
packet::ntp_timestamp_t | ntp_timestamp () |
Get current NTP time. | |
bool | ntp_equal_delta (ntp_timestamp_t a, ntp_timestamp_t b, ntp_timestamp_t delta) |
Compares a and b if they close enough. | |
ntp_timestamp_t | nanoseconds_2_ntp (core::nanoseconds_t ns) |
Converts nanoseconds to ntp timestamp. | |
core::nanoseconds_t | ntp_2_nanoseconds (ntp_timestamp_t ts) |
Converts ntp timestamp to nanoseconds. | |
void | print_packet (const Packet &packet, int flags) |
Print packet to stderr. | |
timestamp_diff_t | timestamp_diff (timestamp_t a, timestamp_t b) |
Compute difference between two timestamps. | |
bool | timestamp_lt (timestamp_t a, timestamp_t b) |
Check if a is before b taking possible wrap into account. | |
bool | timestamp_le (timestamp_t a, timestamp_t b) |
Check if a is before or equal to b taking possible wrap into account. | |
seqnum_diff_t | seqnum_diff (seqnum_t a, seqnum_t b) |
Compute difference between two seqnums. | |
bool | seqnum_lt (seqnum_t a, seqnum_t b) |
Check if a is before b taking possible wrap into account. | |
bool | seqnum_le (seqnum_t a, seqnum_t b) |
Check if a is before or equal to b taking possible wrap into account. | |
blknum_diff_t | blknum_diff (blknum_t a, blknum_t b) |
Compute difference between two FEC block numbers. | |
bool | blknum_lt (blknum_t a, blknum_t b) |
Check if a is before b taking possible wrap into account. | |
bool | blknum_le (blknum_t a, blknum_t b) |
Check if a is before or equal to b taking possible wrap into account. | |
size_t | num_channels (channel_mask_t ch_mask) |
Compute number of channels in mask. | |
Network packets and packet processing.
typedef int16_t roc::packet::blknum_diff_t |
typedef uint16_t roc::packet::blknum_t |
typedef uint32_t roc::packet::channel_mask_t |
typedef uint64_t roc::packet::ntp_timestamp_t |
typedef core::SharedPtr<Packet> roc::packet::PacketPtr |
typedef int16_t roc::packet::seqnum_diff_t |
typedef uint16_t roc::packet::seqnum_t |
typedef uint32_t roc::packet::source_t |
typedef int32_t roc::packet::timestamp_diff_t |
typedef uint32_t roc::packet::timestamp_t |
anonymous enum |
Print flags.
Enumerator | |
---|---|
PrintPayload | Print packet payload. |
Definition at line 21 of file print_packet.h.
|
inline |
ntp_timestamp_t roc::packet::nanoseconds_2_ntp | ( | core::nanoseconds_t | ns | ) |
Converts nanoseconds to ntp timestamp.
ns | must be non-negative. |
core::nanoseconds_t roc::packet::ntp_2_nanoseconds | ( | ntp_timestamp_t | ts | ) |
Converts ntp timestamp to nanoseconds.
bool roc::packet::ntp_equal_delta | ( | ntp_timestamp_t | a, |
ntp_timestamp_t | b, | ||
ntp_timestamp_t | delta | ||
) |
Compares a and b if they close enough.
packet::ntp_timestamp_t roc::packet::ntp_timestamp | ( | ) |
Get current NTP time.
|
inline |
void roc::packet::print_packet | ( | const Packet & | packet, |
int | flags | ||
) |
Print packet to stderr.
|
inline |
|
inline |
|
inline |
|
inline |