Skip to content

Commit 4e61d70

Browse files
committed
support for track subscription permissions
1 parent 14dbfd8 commit 4e61d70

27 files changed

+1119
-899
lines changed

examples/publish_hue.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,28 @@ async def main(room: rtc.Room):
5252

5353
asyncio.ensure_future(draw_color_cycle(source))
5454

55+
# uncomment the below to test Track Subscription Permissions
56+
# https://docs.livekit.io/home/client/tracks/publish/#subscription-permissions
57+
# await asyncio.sleep(10)
58+
59+
# logging.info(
60+
# "setting track subscription permissions to False, no one can subscribe to the track"
61+
# )
62+
# room.local_participant.set_track_subscription_permissions(False)
63+
64+
# await asyncio.sleep(10)
65+
66+
# logging.info("allowing user to subscribe to the track")
67+
# room.local_participant.set_track_subscription_permissions(
68+
# False,
69+
# participant_permissions=[
70+
# rtc.ParticipantTrackPermission(
71+
# participant_identity="allowed-user-identity",
72+
# allow_all=True,
73+
# )
74+
# ],
75+
# )
76+
5577

5678
async def draw_color_cycle(source: rtc.VideoSource):
5779
argb_frame = bytearray(WIDTH * HEIGHT * 4)

livekit-rtc/livekit/rtc/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@
2727
TrackPublishOptions,
2828
VideoEncoding,
2929
)
30-
from ._proto.track_pb2 import StreamState, TrackKind, TrackSource
30+
from ._proto.track_pb2 import (
31+
StreamState,
32+
TrackKind,
33+
TrackSource,
34+
ParticipantTrackPermission,
35+
)
3136
from ._proto.video_frame_pb2 import VideoBufferType, VideoCodec, VideoRotation
3237
from .audio_frame import AudioFrame
3338
from .audio_source import AudioSource
@@ -97,6 +102,7 @@
97102
"StreamState",
98103
"TrackKind",
99104
"TrackSource",
105+
"ParticipantTrackPermission",
100106
"VideoBufferType",
101107
"VideoRotation",
102108
"stats",

livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py

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

livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi

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

livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py

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

livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi

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

livekit-rtc/livekit/rtc/_proto/ffi_pb2.py

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

livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi

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

livekit-rtc/livekit/rtc/_proto/handle_pb2.py

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

livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi

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

0 commit comments

Comments
 (0)