WebRTC module

WebRtcTrackReceiver::DispatchState

State shared with track callbacks.

DispatchState

struct DispatchState

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:95

State shared with track callbacks. The callbacks fire on libdatachannel threads and may be in flight while the receiver is destroyed, so everything they touch lives here behind mutex — they must never dereference the receiver itself. The destructor nulls dispatch under mutex before tearing down the receiver.

Public Attributes

ReturnNameDescription
std::atomic< bool >alive
std::atomic< uint64_t >generation
std::mutexmutex
std::deque< std::unique_ptr< IPacket > >pending
std::unique_ptr< detail::ReceiverJitterBuffer >jitterBuffer
JitterBufferConfigjitterConfig
std::int64_ttimerTickMs
booltimerNeedsUpdate
Synchronizer *dispatch

alive

std::atomic< bool > alive {true}

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:100


generation

std::atomic< uint64_t > generation {0}

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:101


mutex

std::mutex mutex

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:102


pending

std::deque< std::unique_ptr< IPacket > > pending

Type: std::deque< std::unique_ptr< IPacket > >

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:103


jitterBuffer

std::unique_ptr< detail::ReceiverJitterBuffer > jitterBuffer

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:104


jitterConfig

JitterBufferConfig jitterConfig

Type: JitterBufferConfig

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:105


timerTickMs

std::int64_t timerTickMs = 5

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:106


timerNeedsUpdate

bool timerNeedsUpdate = false

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:107


dispatch

Synchronizer * dispatch = nullptr

Type: Synchronizer *

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:108

Public Methods

ReturnNameDescription
DispatchState
~DispatchState

DispatchState

DispatchState()

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:97


~DispatchState

~DispatchState()

Defined in src/webrtc/include/icy/webrtc/trackreceiver.h:98