Home
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.

List of all members

NameKindOwner
alivevariableDeclared here
generationvariableDeclared here
mutexvariableDeclared here
pendingvariableDeclared here
jitterBuffervariableDeclared here
jitterConfigvariableDeclared here
timerTickMsvariableDeclared here
timerNeedsUpdatevariableDeclared here
dispatchvariableDeclared here
DispatchStatefunctionDeclared here
~DispatchStatefunctionDeclared here

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

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

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

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

Public Methods

ReturnNameDescription
DispatchState

DispatchState

DispatchState()

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