dataTracks

@FlowObservable
@get:FlowObservable
val dataTracks: Map<String, RemoteDataTrack>

Data tracks published by this participant, keyed by track name.

Names are the stable identifier: a track's SID rotates when the publisher republishes after a full reconnect (the track object itself survives).

val track = participant.dataTracks["telemetry"]
track?.subscribe()?.onSuccess { stream ->
stream.flow.collect { frame -> process(frame.payload) }
}

Changes can be observed by using io.livekit.android.util.flow