Skip to content

Commit 82b4743

Browse files
authored
feat: complete events & correctly update info (#13)
1 parent 7eab95d commit 82b4743

22 files changed

+529
-320
lines changed

client-sdk-rust

examples/basic_room/room.py

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010
async def main():
1111
room = livekit.Room()
1212

13-
audio_stream = None
14-
video_stream = None
15-
1613
@room.on("participant_connected")
1714
def on_participant_connected(participant: livekit.RemoteParticipant):
1815
logging.info(
@@ -23,6 +20,18 @@ def on_participant_disconnected(participant: livekit.RemoteParticipant):
2320
logging.info("participant disconnected: %s %s",
2421
participant.sid, participant.identity)
2522

23+
@room.on("local_track_published")
24+
def on_local_track_published(publication: livekit.LocalTrackPublication, track: livekit.LocalAudioTrack | livekit.LocalVideoTrack):
25+
logging.info("local track published: %s", publication.sid)
26+
27+
@room.on("active_speakers_changed")
28+
def on_active_speakers_changed(speakers: list[livekit.Participant]):
29+
logging.info("active speakers changed: %s", speakers)
30+
31+
@room.on("local_track_unpublished")
32+
def on_local_track_unpublished(publication: livekit.LocalTrackPublication):
33+
logging.info("local track unpublished: %s", publication.sid)
34+
2635
@room.on("track_published")
2736
def on_track_published(publication: livekit.LocalTrackPublication, participant: livekit.RemoteParticipant):
2837
logging.info("track published: %s from participant %s (%s)",
@@ -32,6 +41,10 @@ def on_track_published(publication: livekit.LocalTrackPublication, participant:
3241
def on_track_unpublished(publication: livekit.LocalTrackPublication, participant: livekit.RemoteParticipant):
3342
logging.info("track unpublished: %s", publication.sid)
3443

44+
# Keep a reference to the streams, otherwise they will be disposed
45+
audio_stream = None
46+
video_stream = None
47+
3548
@room.on("track_subscribed")
3649
def on_track_subscribed(track: livekit.Track, publication: livekit.RemoteTrackPublication, participant: livekit.RemoteParticipant):
3750
logging.info("track subscribed: %s", publication.sid)
@@ -61,6 +74,35 @@ def on_track_unsubscribed(track: livekit.Track, publication: livekit.RemoteTrack
6174
def on_data_received(data: bytes, kind: livekit.DataPacketKind, participant: livekit.Participant):
6275
logging.info("received data from %s: %s", participant.identity, data)
6376

77+
@room.on("connection_quality_changed")
78+
def on_connection_quality_changed(participant: livekit.Participant, quality: livekit.ConnectionQuality):
79+
logging.info("connection quality changed for %s", participant.identity)
80+
81+
@room.on("track_subscription_failed")
82+
def on_track_subscription_failed(participant: livekit.RemoteParticipant, track_sid: str, error: str):
83+
logging.info("track subscription failed: %s %s",
84+
participant.identity, error)
85+
86+
@room.on("connection_state_changed")
87+
def on_connection_state_changed(state: livekit.ConnectionState):
88+
logging.info("connection state changed: %s", state)
89+
90+
@room.on("connected")
91+
def on_connected():
92+
logging.info("connected")
93+
94+
@room.on("disconnected")
95+
def on_disconnected():
96+
logging.info("disconnected")
97+
98+
@room.on("reconnecting")
99+
def on_reconnecting():
100+
logging.info("reconnecting")
101+
102+
@room.on("reconnected")
103+
def on_reconnected():
104+
logging.info("reconnected")
105+
64106
try:
65107
logging.info("connecting to %s", URL)
66108
await room.connect(URL, TOKEN)

livekit/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
from ._proto.video_frame_pb2 import (
77
VideoRotation, VideoFormatType, VideoFrameBufferType)
88
from ._proto.track_pb2 import (TrackKind, TrackSource, StreamState)
9-
from ._proto.room_pb2 import (TrackPublishOptions, DataPacketKind)
9+
from ._proto.room_pb2 import (
10+
TrackPublishOptions, DataPacketKind, ConnectionQuality, ConnectionState)
1011

1112
from .room import (Room, ConnectError)
1213
from .participant import (Participant, LocalParticipant, RemoteParticipant)

livekit/_proto/audio_frame_pb2.py

Lines changed: 41 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)