livekit 0.7.1.dev1__tar.gz → 0.9.0.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/PKG-INFO +3 -3
  2. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/__init__.py +9 -27
  3. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_ffi_client.py +2 -1
  4. livekit-0.9.0.dev0/livekit/rtc/_proto/audio_frame_pb2.py +76 -0
  5. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/audio_frame_pb2.pyi +0 -43
  6. livekit-0.9.0.dev0/livekit/rtc/_proto/ffi_pb2.py +48 -0
  7. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/ffi_pb2.pyi +16 -40
  8. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/room_pb2.py +6 -6
  9. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/room_pb2.pyi +2 -0
  10. livekit-0.9.0.dev0/livekit/rtc/_proto/video_frame_pb2.py +76 -0
  11. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/video_frame_pb2.pyi +123 -328
  12. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_utils.py +29 -0
  13. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/audio_source.py +6 -0
  14. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/audio_stream.py +15 -6
  15. livekit-0.9.0.dev0/livekit/rtc/chat.py +138 -0
  16. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/participant.py +1 -1
  17. livekit-0.9.0.dev0/livekit/rtc/version.py +1 -0
  18. livekit-0.9.0.dev0/livekit/rtc/video_frame.py +173 -0
  19. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/video_source.py +12 -8
  20. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/video_stream.py +30 -13
  21. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit.egg-info/PKG-INFO +3 -3
  22. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit.egg-info/SOURCES.txt +3 -1
  23. livekit-0.9.0.dev0/livekit.egg-info/requires.txt +2 -0
  24. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/setup.py +1 -1
  25. livekit-0.9.0.dev0/tests/test_chat.py +32 -0
  26. livekit-0.7.1.dev1/livekit/rtc/_proto/audio_frame_pb2.py +0 -80
  27. livekit-0.7.1.dev1/livekit/rtc/_proto/ffi_pb2.py +0 -48
  28. livekit-0.7.1.dev1/livekit/rtc/_proto/video_frame_pb2.py +0 -94
  29. livekit-0.7.1.dev1/livekit/rtc/version.py +0 -1
  30. livekit-0.7.1.dev1/livekit/rtc/video_frame.py +0 -792
  31. livekit-0.7.1.dev1/livekit.egg-info/requires.txt +0 -2
  32. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/README.md +0 -0
  33. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_event_emitter.py +0 -0
  34. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/__init__.py +0 -0
  35. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/e2ee_pb2.py +0 -0
  36. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/e2ee_pb2.pyi +0 -0
  37. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/handle_pb2.py +0 -0
  38. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/handle_pb2.pyi +0 -0
  39. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/participant_pb2.py +0 -0
  40. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/participant_pb2.pyi +0 -0
  41. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/stats_pb2.py +0 -0
  42. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/stats_pb2.pyi +0 -0
  43. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/track_pb2.py +0 -0
  44. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/_proto/track_pb2.pyi +0 -0
  45. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/audio_frame.py +0 -0
  46. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/e2ee.py +0 -0
  47. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/resources/__init__.py +0 -0
  48. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/room.py +0 -0
  49. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/track.py +0 -0
  50. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit/rtc/track_publication.py +0 -0
  51. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit.egg-info/dependency_links.txt +0 -0
  52. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/livekit.egg-info/top_level.txt +0 -0
  53. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/pyproject.toml +0 -0
  54. {livekit-0.7.1.dev1 → livekit-0.9.0.dev0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: livekit
3
- Version: 0.7.1.dev1
3
+ Version: 0.9.0.dev0
4
4
  Summary: Python Real-time SDK for LiveKit
5
5
  Home-page: https://github.com/livekit/python-sdks
6
6
  License: Apache-2.0
@@ -19,8 +19,8 @@ Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
20
  Requires-Python: >=3.9.0
21
21
  Description-Content-Type: text/markdown
22
- Requires-Dist: protobuf>=4
23
- Requires-Dist: types-protobuf>=4
22
+ Requires-Dist: protobuf>=3
23
+ Requires-Dist: types-protobuf>=3
24
24
 
25
25
  # LiveKit Real-time Python SDK
26
26
 
@@ -26,11 +26,11 @@ from ._proto.room_pb2 import (
26
26
  )
27
27
  from ._proto.e2ee_pb2 import EncryptionType, EncryptionState
28
28
  from ._proto.track_pb2 import StreamState, TrackKind, TrackSource
29
- from ._proto.video_frame_pb2 import VideoFormatType, VideoFrameBufferType, VideoRotation
29
+ from ._proto.video_frame_pb2 import VideoBufferType, VideoRotation
30
30
  from ._proto import stats_pb2 as stats
31
31
  from .audio_frame import AudioFrame
32
32
  from .audio_source import AudioSource
33
- from .audio_stream import AudioStream
33
+ from .audio_stream import AudioStream, AudioFrameEvent
34
34
  from .participant import LocalParticipant, Participant, RemoteParticipant
35
35
  from .room import ConnectError, Room, RoomOptions, RtcConfiguration, DataPacket
36
36
  from .track import (
@@ -57,21 +57,11 @@ from .track_publication import (
57
57
  TrackPublication,
58
58
  )
59
59
  from .video_frame import (
60
- ArgbFrame,
61
- I010Buffer,
62
- I420ABuffer,
63
- I420Buffer,
64
- I422Buffer,
65
- NativeVideoBuffer,
66
- NV12Buffer,
67
- PlanarYuv8Buffer,
68
- PlanarYuv16Buffer,
69
- PlanarYuvBuffer,
70
60
  VideoFrame,
71
- VideoFrameBuffer,
72
61
  )
73
62
  from .video_source import VideoSource
74
- from .video_stream import VideoStream
63
+ from .video_stream import VideoStream, VideoFrameEvent
64
+ from .chat import ChatManager, ChatMessage
75
65
 
76
66
  from .version import __version__
77
67
 
@@ -88,13 +78,13 @@ __all__ = [
88
78
  "StreamState",
89
79
  "TrackKind",
90
80
  "TrackSource",
91
- "VideoFormatType",
92
- "VideoFrameBufferType",
81
+ "VideoBufferType",
93
82
  "VideoRotation",
94
83
  "stats",
95
84
  "AudioFrame",
96
85
  "AudioSource",
97
86
  "AudioStream",
87
+ "AudioFrameEvent",
98
88
  "LocalParticipant",
99
89
  "Participant",
100
90
  "RemoteParticipant",
@@ -120,19 +110,11 @@ __all__ = [
120
110
  "LocalTrackPublication",
121
111
  "RemoteTrackPublication",
122
112
  "TrackPublication",
123
- "ArgbFrame",
124
- "I010Buffer",
125
- "I420ABuffer",
126
- "I420Buffer",
127
- "I422Buffer",
128
- "NativeVideoBuffer",
129
- "NV12Buffer",
130
- "PlanarYuv8Buffer",
131
- "PlanarYuv16Buffer",
132
- "PlanarYuvBuffer",
133
113
  "VideoFrame",
134
- "VideoFrameBuffer",
135
114
  "VideoSource",
136
115
  "VideoStream",
116
+ "VideoFrameEvent",
117
+ "ChatManager",
118
+ "ChatMessage",
137
119
  "__version__",
138
120
  ]
@@ -36,7 +36,7 @@ def get_ffi_lib():
36
36
  # allow to override the lib path using an env var
37
37
  libpath = os.environ.get("LIVEKIT_LIB_PATH", "").strip()
38
38
  if libpath:
39
- return libpath
39
+ return ctypes.CDLL(libpath)
40
40
 
41
41
  if platform.system() == "Linux":
42
42
  libname = "liblivekit_ffi.so"
@@ -193,6 +193,7 @@ class FfiClient:
193
193
  handle = ffi_lib.livekit_ffi_request(
194
194
  data, proto_len, ctypes.byref(resp_ptr), ctypes.byref(resp_len)
195
195
  )
196
+ assert handle != INVALID_HANDLE
196
197
 
197
198
  resp_data = bytes(resp_ptr[: resp_len.value])
198
199
  resp = proto_ffi.FfiResponse()
@@ -0,0 +1,76 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: audio_frame.proto
4
+ # Protobuf Python Version: 4.25.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from . import handle_pb2 as handle__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61udio_frame.proto\x12\rlivekit.proto\x1a\x0chandle.proto\"[\n\x15NewAudioStreamRequest\x12\x14\n\x0ctrack_handle\x18\x01 \x01(\x04\x12,\n\x04type\x18\x02 \x01(\x0e\x32\x1e.livekit.proto.AudioStreamType\"I\n\x16NewAudioStreamResponse\x12/\n\x06stream\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\xb5\x01\n\x15NewAudioSourceRequest\x12,\n\x04type\x18\x01 \x01(\x0e\x32\x1e.livekit.proto.AudioSourceType\x12\x37\n\x07options\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioSourceOptionsH\x00\x88\x01\x01\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x14\n\x0cnum_channels\x18\x04 \x01(\rB\n\n\x08_options\"I\n\x16NewAudioSourceResponse\x12/\n\x06source\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedAudioSource\"f\n\x18\x43\x61ptureAudioFrameRequest\x12\x15\n\rsource_handle\x18\x01 \x01(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x01(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"-\n\x19\x43\x61ptureAudioFrameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"K\n\x19\x43\x61ptureAudioFrameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"\x1a\n\x18NewAudioResamplerRequest\"R\n\x19NewAudioResamplerResponse\x12\x35\n\tresampler\x18\x01 \x01(\x0b\x32\".livekit.proto.OwnedAudioResampler\"\x93\x01\n\x17RemixAndResampleRequest\x12\x18\n\x10resampler_handle\x18\x01 \x01(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x01(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\x12\x14\n\x0cnum_channels\x18\x03 \x01(\r\x12\x13\n\x0bsample_rate\x18\x04 \x01(\r\"P\n\x18RemixAndResampleResponse\x12\x34\n\x06\x62uffer\x18\x01 \x01(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"p\n\x14\x41udioFrameBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x01(\x04\x12\x14\n\x0cnum_channels\x18\x02 \x01(\r\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x01(\r\"y\n\x15OwnedAudioFrameBuffer\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\x31\n\x04info\x18\x02 \x01(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"?\n\x0f\x41udioStreamInfo\x12,\n\x04type\x18\x01 \x01(\x0e\x32\x1e.livekit.proto.AudioStreamType\"o\n\x10OwnedAudioStream\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.AudioStreamInfo\"\x9f\x01\n\x10\x41udioStreamEvent\x12\x15\n\rstream_handle\x18\x01 \x01(\x04\x12;\n\x0e\x66rame_received\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioFrameReceivedH\x00\x12,\n\x03\x65os\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.AudioStreamEOSH\x00\x42\t\n\x07message\"I\n\x12\x41udioFrameReceived\x12\x33\n\x05\x66rame\x18\x01 \x01(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x10\n\x0e\x41udioStreamEOS\"e\n\x12\x41udioSourceOptions\x12\x19\n\x11\x65\x63ho_cancellation\x18\x01 \x01(\x08\x12\x19\n\x11noise_suppression\x18\x02 \x01(\x08\x12\x19\n\x11\x61uto_gain_control\x18\x03 \x01(\x08\"?\n\x0f\x41udioSourceInfo\x12,\n\x04type\x18\x02 \x01(\x0e\x32\x1e.livekit.proto.AudioSourceType\"o\n\x10OwnedAudioSource\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.AudioSourceInfo\"\x14\n\x12\x41udioResamplerInfo\"u\n\x13OwnedAudioResampler\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12/\n\x04info\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioResamplerInfo*A\n\x0f\x41udioStreamType\x12\x17\n\x13\x41UDIO_STREAM_NATIVE\x10\x00\x12\x15\n\x11\x41UDIO_STREAM_HTML\x10\x01**\n\x0f\x41udioSourceType\x12\x17\n\x13\x41UDIO_SOURCE_NATIVE\x10\x00\x42\x10\xaa\x02\rLiveKit.Protob\x06proto3')
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'audio_frame_pb2', _globals)
23
+ if _descriptor._USE_C_DESCRIPTORS == False:
24
+ _globals['DESCRIPTOR']._options = None
25
+ _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto'
26
+ _globals['_AUDIOSTREAMTYPE']._serialized_start=2141
27
+ _globals['_AUDIOSTREAMTYPE']._serialized_end=2206
28
+ _globals['_AUDIOSOURCETYPE']._serialized_start=2208
29
+ _globals['_AUDIOSOURCETYPE']._serialized_end=2250
30
+ _globals['_NEWAUDIOSTREAMREQUEST']._serialized_start=50
31
+ _globals['_NEWAUDIOSTREAMREQUEST']._serialized_end=141
32
+ _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_start=143
33
+ _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_end=216
34
+ _globals['_NEWAUDIOSOURCEREQUEST']._serialized_start=219
35
+ _globals['_NEWAUDIOSOURCEREQUEST']._serialized_end=400
36
+ _globals['_NEWAUDIOSOURCERESPONSE']._serialized_start=402
37
+ _globals['_NEWAUDIOSOURCERESPONSE']._serialized_end=475
38
+ _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_start=477
39
+ _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_end=579
40
+ _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_start=581
41
+ _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_end=626
42
+ _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_start=628
43
+ _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_end=703
44
+ _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_start=705
45
+ _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_end=731
46
+ _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_start=733
47
+ _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_end=815
48
+ _globals['_REMIXANDRESAMPLEREQUEST']._serialized_start=818
49
+ _globals['_REMIXANDRESAMPLEREQUEST']._serialized_end=965
50
+ _globals['_REMIXANDRESAMPLERESPONSE']._serialized_start=967
51
+ _globals['_REMIXANDRESAMPLERESPONSE']._serialized_end=1047
52
+ _globals['_AUDIOFRAMEBUFFERINFO']._serialized_start=1049
53
+ _globals['_AUDIOFRAMEBUFFERINFO']._serialized_end=1161
54
+ _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_start=1163
55
+ _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_end=1284
56
+ _globals['_AUDIOSTREAMINFO']._serialized_start=1286
57
+ _globals['_AUDIOSTREAMINFO']._serialized_end=1349
58
+ _globals['_OWNEDAUDIOSTREAM']._serialized_start=1351
59
+ _globals['_OWNEDAUDIOSTREAM']._serialized_end=1462
60
+ _globals['_AUDIOSTREAMEVENT']._serialized_start=1465
61
+ _globals['_AUDIOSTREAMEVENT']._serialized_end=1624
62
+ _globals['_AUDIOFRAMERECEIVED']._serialized_start=1626
63
+ _globals['_AUDIOFRAMERECEIVED']._serialized_end=1699
64
+ _globals['_AUDIOSTREAMEOS']._serialized_start=1701
65
+ _globals['_AUDIOSTREAMEOS']._serialized_end=1717
66
+ _globals['_AUDIOSOURCEOPTIONS']._serialized_start=1719
67
+ _globals['_AUDIOSOURCEOPTIONS']._serialized_end=1820
68
+ _globals['_AUDIOSOURCEINFO']._serialized_start=1822
69
+ _globals['_AUDIOSOURCEINFO']._serialized_end=1885
70
+ _globals['_OWNEDAUDIOSOURCE']._serialized_start=1887
71
+ _globals['_OWNEDAUDIOSOURCE']._serialized_end=1998
72
+ _globals['_AUDIORESAMPLERINFO']._serialized_start=2000
73
+ _globals['_AUDIORESAMPLERINFO']._serialized_end=2020
74
+ _globals['_OWNEDAUDIORESAMPLER']._serialized_start=2022
75
+ _globals['_OWNEDAUDIORESAMPLER']._serialized_end=2139
76
+ # @@protoc_insertion_point(module_scope)
@@ -61,49 +61,6 @@ class AudioSourceType(_AudioSourceType, metaclass=_AudioSourceTypeEnumTypeWrappe
61
61
  AUDIO_SOURCE_NATIVE: AudioSourceType.ValueType # 0
62
62
  global___AudioSourceType = AudioSourceType
63
63
 
64
- @typing_extensions.final
65
- class AllocAudioBufferRequest(google.protobuf.message.Message):
66
- """Allocate a new AudioFrameBuffer
67
- This is not necessary required because the data structure is fairly simple
68
- But keep the API consistent with VideoFrame
69
- """
70
-
71
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
72
-
73
- SAMPLE_RATE_FIELD_NUMBER: builtins.int
74
- NUM_CHANNELS_FIELD_NUMBER: builtins.int
75
- SAMPLES_PER_CHANNEL_FIELD_NUMBER: builtins.int
76
- sample_rate: builtins.int
77
- num_channels: builtins.int
78
- samples_per_channel: builtins.int
79
- def __init__(
80
- self,
81
- *,
82
- sample_rate: builtins.int = ...,
83
- num_channels: builtins.int = ...,
84
- samples_per_channel: builtins.int = ...,
85
- ) -> None: ...
86
- def ClearField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> None: ...
87
-
88
- global___AllocAudioBufferRequest = AllocAudioBufferRequest
89
-
90
- @typing_extensions.final
91
- class AllocAudioBufferResponse(google.protobuf.message.Message):
92
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
93
-
94
- BUFFER_FIELD_NUMBER: builtins.int
95
- @property
96
- def buffer(self) -> global___OwnedAudioFrameBuffer: ...
97
- def __init__(
98
- self,
99
- *,
100
- buffer: global___OwnedAudioFrameBuffer | None = ...,
101
- ) -> None: ...
102
- def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer"]) -> builtins.bool: ...
103
- def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer"]) -> None: ...
104
-
105
- global___AllocAudioBufferResponse = AllocAudioBufferResponse
106
-
107
64
  @typing_extensions.final
108
65
  class NewAudioStreamRequest(google.protobuf.message.Message):
109
66
  """Create a new AudioStream
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: ffi.proto
4
+ # Protobuf Python Version: 4.25.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from . import e2ee_pb2 as e2ee__pb2
16
+ from . import track_pb2 as track__pb2
17
+ from . import room_pb2 as room__pb2
18
+ from . import video_frame_pb2 as video__frame__pb2
19
+ from . import audio_frame_pb2 as audio__frame__pb2
20
+
21
+
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tffi.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0btrack.proto\x1a\nroom.proto\x1a\x11video_frame.proto\x1a\x11\x61udio_frame.proto\"\xcf\x0b\n\nFfiRequest\x12\x30\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.DisposeRequestH\x00\x12\x30\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.ConnectRequestH\x00\x12\x36\n\ndisconnect\x18\x04 \x01(\x0b\x32 .livekit.proto.DisconnectRequestH\x00\x12;\n\rpublish_track\x18\x05 \x01(\x0b\x32\".livekit.proto.PublishTrackRequestH\x00\x12?\n\x0funpublish_track\x18\x06 \x01(\x0b\x32$.livekit.proto.UnpublishTrackRequestH\x00\x12\x39\n\x0cpublish_data\x18\x07 \x01(\x0b\x32!.livekit.proto.PublishDataRequestH\x00\x12=\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32#.livekit.proto.SetSubscribedRequestH\x00\x12J\n\x15update_local_metadata\x18\t \x01(\x0b\x32).livekit.proto.UpdateLocalMetadataRequestH\x00\x12\x42\n\x11update_local_name\x18\n \x01(\x0b\x32%.livekit.proto.UpdateLocalNameRequestH\x00\x12\x42\n\x11get_session_stats\x18\x0b \x01(\x0b\x32%.livekit.proto.GetSessionStatsRequestH\x00\x12\x44\n\x12\x63reate_video_track\x18\x0c \x01(\x0b\x32&.livekit.proto.CreateVideoTrackRequestH\x00\x12\x44\n\x12\x63reate_audio_track\x18\r \x01(\x0b\x32&.livekit.proto.CreateAudioTrackRequestH\x00\x12\x33\n\tget_stats\x18\x0e \x01(\x0b\x32\x1e.livekit.proto.GetStatsRequestH\x00\x12@\n\x10new_video_stream\x18\x10 \x01(\x0b\x32$.livekit.proto.NewVideoStreamRequestH\x00\x12@\n\x10new_video_source\x18\x11 \x01(\x0b\x32$.livekit.proto.NewVideoSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_video_frame\x18\x12 \x01(\x0b\x32\'.livekit.proto.CaptureVideoFrameRequestH\x00\x12;\n\rvideo_convert\x18\x13 \x01(\x0b\x32\".livekit.proto.VideoConvertRequestH\x00\x12@\n\x10new_audio_stream\x18\x16 \x01(\x0b\x32$.livekit.proto.NewAudioStreamRequestH\x00\x12@\n\x10new_audio_source\x18\x17 \x01(\x0b\x32$.livekit.proto.NewAudioSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_audio_frame\x18\x18 \x01(\x0b\x32\'.livekit.proto.CaptureAudioFrameRequestH\x00\x12\x46\n\x13new_audio_resampler\x18\x19 \x01(\x0b\x32\'.livekit.proto.NewAudioResamplerRequestH\x00\x12\x44\n\x12remix_and_resample\x18\x1a \x01(\x0b\x32&.livekit.proto.RemixAndResampleRequestH\x00\x12*\n\x04\x65\x32\x65\x65\x18\x1b \x01(\x0b\x32\x1a.livekit.proto.E2eeRequestH\x00\x42\t\n\x07message\"\xe7\x0b\n\x0b\x46\x66iResponse\x12\x31\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.DisposeResponseH\x00\x12\x31\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1e.livekit.proto.ConnectResponseH\x00\x12\x37\n\ndisconnect\x18\x04 \x01(\x0b\x32!.livekit.proto.DisconnectResponseH\x00\x12<\n\rpublish_track\x18\x05 \x01(\x0b\x32#.livekit.proto.PublishTrackResponseH\x00\x12@\n\x0funpublish_track\x18\x06 \x01(\x0b\x32%.livekit.proto.UnpublishTrackResponseH\x00\x12:\n\x0cpublish_data\x18\x07 \x01(\x0b\x32\".livekit.proto.PublishDataResponseH\x00\x12>\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32$.livekit.proto.SetSubscribedResponseH\x00\x12K\n\x15update_local_metadata\x18\t \x01(\x0b\x32*.livekit.proto.UpdateLocalMetadataResponseH\x00\x12\x43\n\x11update_local_name\x18\n \x01(\x0b\x32&.livekit.proto.UpdateLocalNameResponseH\x00\x12\x43\n\x11get_session_stats\x18\x0b \x01(\x0b\x32&.livekit.proto.GetSessionStatsResponseH\x00\x12\x45\n\x12\x63reate_video_track\x18\x0c \x01(\x0b\x32\'.livekit.proto.CreateVideoTrackResponseH\x00\x12\x45\n\x12\x63reate_audio_track\x18\r \x01(\x0b\x32\'.livekit.proto.CreateAudioTrackResponseH\x00\x12\x34\n\tget_stats\x18\x0e \x01(\x0b\x32\x1f.livekit.proto.GetStatsResponseH\x00\x12\x41\n\x10new_video_stream\x18\x10 \x01(\x0b\x32%.livekit.proto.NewVideoStreamResponseH\x00\x12\x41\n\x10new_video_source\x18\x11 \x01(\x0b\x32%.livekit.proto.NewVideoSourceResponseH\x00\x12G\n\x13\x63\x61pture_video_frame\x18\x12 \x01(\x0b\x32(.livekit.proto.CaptureVideoFrameResponseH\x00\x12<\n\rvideo_convert\x18\x13 \x01(\x0b\x32#.livekit.proto.VideoConvertResponseH\x00\x12\x41\n\x10new_audio_stream\x18\x16 \x01(\x0b\x32%.livekit.proto.NewAudioStreamResponseH\x00\x12\x41\n\x10new_audio_source\x18\x17 \x01(\x0b\x32%.livekit.proto.NewAudioSourceResponseH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x18 \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameResponseH\x00\x12G\n\x13new_audio_resampler\x18\x19 \x01(\x0b\x32(.livekit.proto.NewAudioResamplerResponseH\x00\x12\x45\n\x12remix_and_resample\x18\x1a \x01(\x0b\x32\'.livekit.proto.RemixAndResampleResponseH\x00\x12+\n\x04\x65\x32\x65\x65\x18\x1b \x01(\x0b\x32\x1b.livekit.proto.E2eeResponseH\x00\x42\t\n\x07message\"\xcf\x07\n\x08\x46\x66iEvent\x12.\n\nroom_event\x18\x01 \x01(\x0b\x32\x18.livekit.proto.RoomEventH\x00\x12\x30\n\x0btrack_event\x18\x02 \x01(\x0b\x32\x19.livekit.proto.TrackEventH\x00\x12=\n\x12video_stream_event\x18\x03 \x01(\x0b\x32\x1f.livekit.proto.VideoStreamEventH\x00\x12=\n\x12\x61udio_stream_event\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.AudioStreamEventH\x00\x12\x31\n\x07\x63onnect\x18\x05 \x01(\x0b\x32\x1e.livekit.proto.ConnectCallbackH\x00\x12\x37\n\ndisconnect\x18\x06 \x01(\x0b\x32!.livekit.proto.DisconnectCallbackH\x00\x12\x31\n\x07\x64ispose\x18\x07 \x01(\x0b\x32\x1e.livekit.proto.DisposeCallbackH\x00\x12<\n\rpublish_track\x18\x08 \x01(\x0b\x32#.livekit.proto.PublishTrackCallbackH\x00\x12@\n\x0funpublish_track\x18\t \x01(\x0b\x32%.livekit.proto.UnpublishTrackCallbackH\x00\x12:\n\x0cpublish_data\x18\n \x01(\x0b\x32\".livekit.proto.PublishDataCallbackH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x0b \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameCallbackH\x00\x12K\n\x15update_local_metadata\x18\x0c \x01(\x0b\x32*.livekit.proto.UpdateLocalMetadataCallbackH\x00\x12\x43\n\x11update_local_name\x18\r \x01(\x0b\x32&.livekit.proto.UpdateLocalNameCallbackH\x00\x12\x34\n\tget_stats\x18\x0e \x01(\x0b\x32\x1f.livekit.proto.GetStatsCallbackH\x00\x12\'\n\x04logs\x18\x0f \x01(\x0b\x32\x17.livekit.proto.LogBatchH\x00\x12\x43\n\x11get_session_stats\x18\x10 \x01(\x0b\x32&.livekit.proto.GetSessionStatsCallbackH\x00\x42\t\n\x07message\"\x1f\n\x0e\x44isposeRequest\x12\r\n\x05\x61sync\x18\x01 \x01(\x08\"5\n\x0f\x44isposeResponse\x12\x15\n\x08\x61sync_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\x0b\n\t_async_id\"#\n\x0f\x44isposeCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xb6\x01\n\tLogRecord\x12&\n\x05level\x18\x01 \x01(\x0e\x32\x17.livekit.proto.LogLevel\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x18\n\x0bmodule_path\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04\x66ile\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04line\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x0f\n\x07message\x18\x06 \x01(\tB\x0e\n\x0c_module_pathB\x07\n\x05_fileB\x07\n\x05_line\"5\n\x08LogBatch\x12)\n\x07records\x18\x01 \x03(\x0b\x32\x18.livekit.proto.LogRecord*S\n\x08LogLevel\x12\r\n\tLOG_ERROR\x10\x00\x12\x0c\n\x08LOG_WARN\x10\x01\x12\x0c\n\x08LOG_INFO\x10\x02\x12\r\n\tLOG_DEBUG\x10\x03\x12\r\n\tLOG_TRACE\x10\x04\x42\x10\xaa\x02\rLiveKit.Protob\x06proto3')
23
+
24
+ _globals = globals()
25
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ffi_pb2', _globals)
27
+ if _descriptor._USE_C_DESCRIPTORS == False:
28
+ _globals['DESCRIPTOR']._options = None
29
+ _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto'
30
+ _globals['_LOGLEVEL']._serialized_start=4450
31
+ _globals['_LOGLEVEL']._serialized_end=4533
32
+ _globals['_FFIREQUEST']._serialized_start=104
33
+ _globals['_FFIREQUEST']._serialized_end=1591
34
+ _globals['_FFIRESPONSE']._serialized_start=1594
35
+ _globals['_FFIRESPONSE']._serialized_end=3105
36
+ _globals['_FFIEVENT']._serialized_start=3108
37
+ _globals['_FFIEVENT']._serialized_end=4083
38
+ _globals['_DISPOSEREQUEST']._serialized_start=4085
39
+ _globals['_DISPOSEREQUEST']._serialized_end=4116
40
+ _globals['_DISPOSERESPONSE']._serialized_start=4118
41
+ _globals['_DISPOSERESPONSE']._serialized_end=4171
42
+ _globals['_DISPOSECALLBACK']._serialized_start=4173
43
+ _globals['_DISPOSECALLBACK']._serialized_end=4208
44
+ _globals['_LOGRECORD']._serialized_start=4211
45
+ _globals['_LOGRECORD']._serialized_end=4393
46
+ _globals['_LOGBATCH']._serialized_start=4395
47
+ _globals['_LOGBATCH']._serialized_end=4448
48
+ # @@protoc_insertion_point(module_scope)
@@ -104,13 +104,10 @@ class FfiRequest(google.protobuf.message.Message):
104
104
  CREATE_VIDEO_TRACK_FIELD_NUMBER: builtins.int
105
105
  CREATE_AUDIO_TRACK_FIELD_NUMBER: builtins.int
106
106
  GET_STATS_FIELD_NUMBER: builtins.int
107
- ALLOC_VIDEO_BUFFER_FIELD_NUMBER: builtins.int
108
107
  NEW_VIDEO_STREAM_FIELD_NUMBER: builtins.int
109
108
  NEW_VIDEO_SOURCE_FIELD_NUMBER: builtins.int
110
109
  CAPTURE_VIDEO_FRAME_FIELD_NUMBER: builtins.int
111
- TO_I420_FIELD_NUMBER: builtins.int
112
- TO_ARGB_FIELD_NUMBER: builtins.int
113
- ALLOC_AUDIO_BUFFER_FIELD_NUMBER: builtins.int
110
+ VIDEO_CONVERT_FIELD_NUMBER: builtins.int
114
111
  NEW_AUDIO_STREAM_FIELD_NUMBER: builtins.int
115
112
  NEW_AUDIO_SOURCE_FIELD_NUMBER: builtins.int
116
113
  CAPTURE_AUDIO_FRAME_FIELD_NUMBER: builtins.int
@@ -146,24 +143,18 @@ class FfiRequest(google.protobuf.message.Message):
146
143
  @property
147
144
  def get_stats(self) -> track_pb2.GetStatsRequest: ...
148
145
  @property
149
- def alloc_video_buffer(self) -> video_frame_pb2.AllocVideoBufferRequest:
146
+ def new_video_stream(self) -> video_frame_pb2.NewVideoStreamRequest:
150
147
  """Video"""
151
148
  @property
152
- def new_video_stream(self) -> video_frame_pb2.NewVideoStreamRequest: ...
153
- @property
154
149
  def new_video_source(self) -> video_frame_pb2.NewVideoSourceRequest: ...
155
150
  @property
156
151
  def capture_video_frame(self) -> video_frame_pb2.CaptureVideoFrameRequest: ...
157
152
  @property
158
- def to_i420(self) -> video_frame_pb2.ToI420Request: ...
159
- @property
160
- def to_argb(self) -> video_frame_pb2.ToArgbRequest: ...
153
+ def video_convert(self) -> video_frame_pb2.VideoConvertRequest: ...
161
154
  @property
162
- def alloc_audio_buffer(self) -> audio_frame_pb2.AllocAudioBufferRequest:
155
+ def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamRequest:
163
156
  """Audio"""
164
157
  @property
165
- def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamRequest: ...
166
- @property
167
158
  def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceRequest: ...
168
159
  @property
169
160
  def capture_audio_frame(self) -> audio_frame_pb2.CaptureAudioFrameRequest: ...
@@ -189,13 +180,10 @@ class FfiRequest(google.protobuf.message.Message):
189
180
  create_video_track: track_pb2.CreateVideoTrackRequest | None = ...,
190
181
  create_audio_track: track_pb2.CreateAudioTrackRequest | None = ...,
191
182
  get_stats: track_pb2.GetStatsRequest | None = ...,
192
- alloc_video_buffer: video_frame_pb2.AllocVideoBufferRequest | None = ...,
193
183
  new_video_stream: video_frame_pb2.NewVideoStreamRequest | None = ...,
194
184
  new_video_source: video_frame_pb2.NewVideoSourceRequest | None = ...,
195
185
  capture_video_frame: video_frame_pb2.CaptureVideoFrameRequest | None = ...,
196
- to_i420: video_frame_pb2.ToI420Request | None = ...,
197
- to_argb: video_frame_pb2.ToArgbRequest | None = ...,
198
- alloc_audio_buffer: audio_frame_pb2.AllocAudioBufferRequest | None = ...,
186
+ video_convert: video_frame_pb2.VideoConvertRequest | None = ...,
199
187
  new_audio_stream: audio_frame_pb2.NewAudioStreamRequest | None = ...,
200
188
  new_audio_source: audio_frame_pb2.NewAudioSourceRequest | None = ...,
201
189
  capture_audio_frame: audio_frame_pb2.CaptureAudioFrameRequest | None = ...,
@@ -203,9 +191,9 @@ class FfiRequest(google.protobuf.message.Message):
203
191
  remix_and_resample: audio_frame_pb2.RemixAndResampleRequest | None = ...,
204
192
  e2ee: e2ee_pb2.E2eeRequest | None = ...,
205
193
  ) -> None: ...
206
- def HasField(self, field_name: typing_extensions.Literal["alloc_audio_buffer", b"alloc_audio_buffer", "alloc_video_buffer", b"alloc_video_buffer", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "to_argb", b"to_argb", "to_i420", b"to_i420", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name"]) -> builtins.bool: ...
207
- def ClearField(self, field_name: typing_extensions.Literal["alloc_audio_buffer", b"alloc_audio_buffer", "alloc_video_buffer", b"alloc_video_buffer", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "to_argb", b"to_argb", "to_i420", b"to_i420", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name"]) -> None: ...
208
- def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "create_video_track", "create_audio_track", "get_stats", "alloc_video_buffer", "new_video_stream", "new_video_source", "capture_video_frame", "to_i420", "to_argb", "alloc_audio_buffer", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ...
194
+ def HasField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> builtins.bool: ...
195
+ def ClearField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> None: ...
196
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "create_video_track", "create_audio_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ...
209
197
 
210
198
  global___FfiRequest = FfiRequest
211
199
 
@@ -228,13 +216,10 @@ class FfiResponse(google.protobuf.message.Message):
228
216
  CREATE_VIDEO_TRACK_FIELD_NUMBER: builtins.int
229
217
  CREATE_AUDIO_TRACK_FIELD_NUMBER: builtins.int
230
218
  GET_STATS_FIELD_NUMBER: builtins.int
231
- ALLOC_VIDEO_BUFFER_FIELD_NUMBER: builtins.int
232
219
  NEW_VIDEO_STREAM_FIELD_NUMBER: builtins.int
233
220
  NEW_VIDEO_SOURCE_FIELD_NUMBER: builtins.int
234
221
  CAPTURE_VIDEO_FRAME_FIELD_NUMBER: builtins.int
235
- TO_I420_FIELD_NUMBER: builtins.int
236
- TO_ARGB_FIELD_NUMBER: builtins.int
237
- ALLOC_AUDIO_BUFFER_FIELD_NUMBER: builtins.int
222
+ VIDEO_CONVERT_FIELD_NUMBER: builtins.int
238
223
  NEW_AUDIO_STREAM_FIELD_NUMBER: builtins.int
239
224
  NEW_AUDIO_SOURCE_FIELD_NUMBER: builtins.int
240
225
  CAPTURE_AUDIO_FRAME_FIELD_NUMBER: builtins.int
@@ -270,24 +255,18 @@ class FfiResponse(google.protobuf.message.Message):
270
255
  @property
271
256
  def get_stats(self) -> track_pb2.GetStatsResponse: ...
272
257
  @property
273
- def alloc_video_buffer(self) -> video_frame_pb2.AllocVideoBufferResponse:
258
+ def new_video_stream(self) -> video_frame_pb2.NewVideoStreamResponse:
274
259
  """Video"""
275
260
  @property
276
- def new_video_stream(self) -> video_frame_pb2.NewVideoStreamResponse: ...
277
- @property
278
261
  def new_video_source(self) -> video_frame_pb2.NewVideoSourceResponse: ...
279
262
  @property
280
263
  def capture_video_frame(self) -> video_frame_pb2.CaptureVideoFrameResponse: ...
281
264
  @property
282
- def to_i420(self) -> video_frame_pb2.ToI420Response: ...
283
- @property
284
- def to_argb(self) -> video_frame_pb2.ToArgbResponse: ...
265
+ def video_convert(self) -> video_frame_pb2.VideoConvertResponse: ...
285
266
  @property
286
- def alloc_audio_buffer(self) -> audio_frame_pb2.AllocAudioBufferResponse:
267
+ def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamResponse:
287
268
  """Audio"""
288
269
  @property
289
- def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamResponse: ...
290
- @property
291
270
  def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceResponse: ...
292
271
  @property
293
272
  def capture_audio_frame(self) -> audio_frame_pb2.CaptureAudioFrameResponse: ...
@@ -313,13 +292,10 @@ class FfiResponse(google.protobuf.message.Message):
313
292
  create_video_track: track_pb2.CreateVideoTrackResponse | None = ...,
314
293
  create_audio_track: track_pb2.CreateAudioTrackResponse | None = ...,
315
294
  get_stats: track_pb2.GetStatsResponse | None = ...,
316
- alloc_video_buffer: video_frame_pb2.AllocVideoBufferResponse | None = ...,
317
295
  new_video_stream: video_frame_pb2.NewVideoStreamResponse | None = ...,
318
296
  new_video_source: video_frame_pb2.NewVideoSourceResponse | None = ...,
319
297
  capture_video_frame: video_frame_pb2.CaptureVideoFrameResponse | None = ...,
320
- to_i420: video_frame_pb2.ToI420Response | None = ...,
321
- to_argb: video_frame_pb2.ToArgbResponse | None = ...,
322
- alloc_audio_buffer: audio_frame_pb2.AllocAudioBufferResponse | None = ...,
298
+ video_convert: video_frame_pb2.VideoConvertResponse | None = ...,
323
299
  new_audio_stream: audio_frame_pb2.NewAudioStreamResponse | None = ...,
324
300
  new_audio_source: audio_frame_pb2.NewAudioSourceResponse | None = ...,
325
301
  capture_audio_frame: audio_frame_pb2.CaptureAudioFrameResponse | None = ...,
@@ -327,9 +303,9 @@ class FfiResponse(google.protobuf.message.Message):
327
303
  remix_and_resample: audio_frame_pb2.RemixAndResampleResponse | None = ...,
328
304
  e2ee: e2ee_pb2.E2eeResponse | None = ...,
329
305
  ) -> None: ...
330
- def HasField(self, field_name: typing_extensions.Literal["alloc_audio_buffer", b"alloc_audio_buffer", "alloc_video_buffer", b"alloc_video_buffer", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "to_argb", b"to_argb", "to_i420", b"to_i420", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name"]) -> builtins.bool: ...
331
- def ClearField(self, field_name: typing_extensions.Literal["alloc_audio_buffer", b"alloc_audio_buffer", "alloc_video_buffer", b"alloc_video_buffer", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "to_argb", b"to_argb", "to_i420", b"to_i420", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name"]) -> None: ...
332
- def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "create_video_track", "create_audio_track", "get_stats", "alloc_video_buffer", "new_video_stream", "new_video_source", "capture_video_frame", "to_i420", "to_argb", "alloc_audio_buffer", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ...
306
+ def HasField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> builtins.bool: ...
307
+ def ClearField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> None: ...
308
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "create_video_track", "create_audio_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ...
333
309
 
334
310
  global___FfiResponse = FfiResponse
335
311
 
@@ -20,7 +20,7 @@ from . import video_frame_pb2 as video__frame__pb2
20
20
  from . import stats_pb2 as stats__pb2
21
21
 
22
22
 
23
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nroom.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0chandle.proto\x1a\x11participant.proto\x1a\x0btrack.proto\x1a\x11video_frame.proto\x1a\x0bstats.proto\"Y\n\x0e\x43onnectRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12+\n\x07options\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.RoomOptions\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xfd\x02\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12&\n\x04room\x18\x03 \x01(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x05 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracks\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"(\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x82\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x01(\x04\x12\x33\n\x07options\x18\x03 \x01(\x0b\x32\".livekit.proto.TrackPublishOptions\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"g\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x01(\x08\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"\xbf\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x01(\x04\x12+\n\x04kind\x18\x04 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x18\n\x10\x64\x65stination_sids\x18\x05 \x03(\t\x12\x12\n\x05topic\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"P\n\x1aUpdateLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08metadata\x18\x02 \x01(\t\"/\n\x1bUpdateLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"/\n\x1bUpdateLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UpdateLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"+\n\x17UpdateLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"+\n\x17UpdateLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x01(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x01(\x04\"\x17\n\x15SetSubscribedResponse\"-\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xae\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x30\n\x0fpublisher_stats\x18\x03 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x04 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\x08\n\x06_error\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\x12\x15\n\rmax_framerate\x18\x02 \x01(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\"\x8a\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\"=\n\tIceServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"\x84\x02\n\tRtcConfig\x12@\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportTypeH\x00\x88\x01\x01\x12P\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicyH\x01\x88\x01\x01\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServerB\x15\n\x13_ice_transport_typeB\x1d\n\x1b_continual_gathering_policy\"\xe0\x01\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12-\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptionsH\x00\x88\x01\x01\x12\x31\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfigH\x01\x88\x01\x01\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\rB\x07\n\x05_e2eeB\r\n\x0b_rtc_config\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x01(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.livekit.proto.BufferInfo\"\xf3\x0b\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\x12\x44\n\x15participant_connected\x18\x02 \x01(\x0b\x32#.livekit.proto.ParticipantConnectedH\x00\x12J\n\x18participant_disconnected\x18\x03 \x01(\x0b\x32&.livekit.proto.ParticipantDisconnectedH\x00\x12\x43\n\x15local_track_published\x18\x04 \x01(\x0b\x32\".livekit.proto.LocalTrackPublishedH\x00\x12G\n\x17local_track_unpublished\x18\x05 \x01(\x0b\x32$.livekit.proto.LocalTrackUnpublishedH\x00\x12\x38\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x07 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\x08 \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\t \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\n \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0b \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\x0c \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\r \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0e \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x0f \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x10 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x11 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12\x34\n\rdata_received\x18\x12 \x01(\x0b\x32\x1b.livekit.proto.DataReceivedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x13 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x15 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x17 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x18 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x19 \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x42\t\n\x07message\"7\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x01(\x0b\x32\x17.livekit.proto.RoomInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"2\n\x17ParticipantDisconnected\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x01(\t\"d\n\x0eTrackPublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x39\n\x0bpublication\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublication\"D\n\x10TrackUnpublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x01(\t\"T\n\x0fTrackSubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12(\n\x05track\x18\x02 \x01(\x0b\x32\x19.livekit.proto.OwnedTrack\"?\n\x11TrackUnsubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"T\n\x17TrackSubscriptionFailed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"8\n\nTrackMuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\":\n\x0cTrackUnmuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"Z\n\x10\x45\x32\x65\x65StateChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12-\n\x05state\x18\x02 \x01(\x0e\x32\x1e.livekit.proto.EncryptionState\"1\n\x15\x41\x63tiveSpeakersChanged\x12\x18\n\x10participant_sids\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x01(\t\"G\n\x1aParticipantMetadataChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t\"?\n\x16ParticipantNameChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"f\n\x18\x43onnectionQualityChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x31\n\x07quality\x18\x02 \x01(\x0e\x32 .livekit.proto.ConnectionQuality\"\xb5\x01\n\x0c\x44\x61taReceived\x12(\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\x1c\n\x0fparticipant_sid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12+\n\x04kind\x18\x03 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x12\n\x05topic\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x12\n\x10_participant_sidB\x08\n\x06_topic\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"\x0e\n\x0c\x44isconnected\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\t\n\x07RoomEOS*P\n\x10IceTransportType\x12\x13\n\x0fTRANSPORT_RELAY\x10\x00\x12\x14\n\x10TRANSPORT_NOHOST\x10\x01\x12\x11\n\rTRANSPORT_ALL\x10\x02*C\n\x18\x43ontinualGatheringPolicy\x12\x0f\n\x0bGATHER_ONCE\x10\x00\x12\x16\n\x12GATHER_CONTINUALLY\x10\x01*N\n\x11\x43onnectionQuality\x12\x10\n\x0cQUALITY_POOR\x10\x00\x12\x10\n\x0cQUALITY_GOOD\x10\x01\x12\x15\n\x11QUALITY_EXCELLENT\x10\x02*S\n\x0f\x43onnectionState\x12\x15\n\x11\x43ONN_DISCONNECTED\x10\x00\x12\x12\n\x0e\x43ONN_CONNECTED\x10\x01\x12\x15\n\x11\x43ONN_RECONNECTING\x10\x02*3\n\x0e\x44\x61taPacketKind\x12\x0e\n\nKIND_LOSSY\x10\x00\x12\x11\n\rKIND_RELIABLE\x10\x01\x42\x10\xaa\x02\rLiveKit.Protob\x06proto3')
23
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nroom.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0chandle.proto\x1a\x11participant.proto\x1a\x0btrack.proto\x1a\x11video_frame.proto\x1a\x0bstats.proto\"Y\n\x0e\x43onnectRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12+\n\x07options\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.RoomOptions\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xfd\x02\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12&\n\x04room\x18\x03 \x01(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x05 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracks\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"(\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x82\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x01(\x04\x12\x33\n\x07options\x18\x03 \x01(\x0b\x32\".livekit.proto.TrackPublishOptions\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"g\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x01(\x08\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"\xbf\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x01(\x04\x12+\n\x04kind\x18\x04 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x18\n\x10\x64\x65stination_sids\x18\x05 \x03(\t\x12\x12\n\x05topic\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"P\n\x1aUpdateLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08metadata\x18\x02 \x01(\t\"/\n\x1bUpdateLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"/\n\x1bUpdateLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UpdateLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"+\n\x17UpdateLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"+\n\x17UpdateLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x01(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x01(\x04\"\x17\n\x15SetSubscribedResponse\"-\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xae\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x30\n\x0fpublisher_stats\x18\x03 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x04 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\x08\n\x06_error\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\x12\x15\n\rmax_framerate\x18\x02 \x01(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\"\x8a\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\"=\n\tIceServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"\x84\x02\n\tRtcConfig\x12@\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportTypeH\x00\x88\x01\x01\x12P\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicyH\x01\x88\x01\x01\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServerB\x15\n\x13_ice_transport_typeB\x1d\n\x1b_continual_gathering_policy\"\xe0\x01\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12-\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptionsH\x00\x88\x01\x01\x12\x31\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfigH\x01\x88\x01\x01\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\rB\x07\n\x05_e2eeB\r\n\x0b_rtc_config\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x01(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.livekit.proto.BufferInfo\"\xf3\x0b\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\x12\x44\n\x15participant_connected\x18\x02 \x01(\x0b\x32#.livekit.proto.ParticipantConnectedH\x00\x12J\n\x18participant_disconnected\x18\x03 \x01(\x0b\x32&.livekit.proto.ParticipantDisconnectedH\x00\x12\x43\n\x15local_track_published\x18\x04 \x01(\x0b\x32\".livekit.proto.LocalTrackPublishedH\x00\x12G\n\x17local_track_unpublished\x18\x05 \x01(\x0b\x32$.livekit.proto.LocalTrackUnpublishedH\x00\x12\x38\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x07 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\x08 \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\t \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\n \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0b \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\x0c \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\r \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0e \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x0f \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x10 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x11 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12\x34\n\rdata_received\x18\x12 \x01(\x0b\x32\x1b.livekit.proto.DataReceivedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x13 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x15 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x17 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x18 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x19 \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x42\t\n\x07message\"7\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x01(\x0b\x32\x17.livekit.proto.RoomInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"2\n\x17ParticipantDisconnected\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x01(\t\"d\n\x0eTrackPublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x39\n\x0bpublication\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublication\"D\n\x10TrackUnpublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x01(\t\"T\n\x0fTrackSubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12(\n\x05track\x18\x02 \x01(\x0b\x32\x19.livekit.proto.OwnedTrack\"?\n\x11TrackUnsubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"T\n\x17TrackSubscriptionFailed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"8\n\nTrackMuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\":\n\x0cTrackUnmuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"Z\n\x10\x45\x32\x65\x65StateChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12-\n\x05state\x18\x02 \x01(\x0e\x32\x1e.livekit.proto.EncryptionState\"1\n\x15\x41\x63tiveSpeakersChanged\x12\x18\n\x10participant_sids\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x01(\t\"G\n\x1aParticipantMetadataChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t\"?\n\x16ParticipantNameChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"f\n\x18\x43onnectionQualityChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x31\n\x07quality\x18\x02 \x01(\x0e\x32 .livekit.proto.ConnectionQuality\"\xb5\x01\n\x0c\x44\x61taReceived\x12(\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\x1c\n\x0fparticipant_sid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12+\n\x04kind\x18\x03 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x12\n\x05topic\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x12\n\x10_participant_sidB\x08\n\x06_topic\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"\x0e\n\x0c\x44isconnected\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\t\n\x07RoomEOS*P\n\x10IceTransportType\x12\x13\n\x0fTRANSPORT_RELAY\x10\x00\x12\x14\n\x10TRANSPORT_NOHOST\x10\x01\x12\x11\n\rTRANSPORT_ALL\x10\x02*C\n\x18\x43ontinualGatheringPolicy\x12\x0f\n\x0bGATHER_ONCE\x10\x00\x12\x16\n\x12GATHER_CONTINUALLY\x10\x01*`\n\x11\x43onnectionQuality\x12\x10\n\x0cQUALITY_POOR\x10\x00\x12\x10\n\x0cQUALITY_GOOD\x10\x01\x12\x15\n\x11QUALITY_EXCELLENT\x10\x02\x12\x10\n\x0cQUALITY_LOST\x10\x03*S\n\x0f\x43onnectionState\x12\x15\n\x11\x43ONN_DISCONNECTED\x10\x00\x12\x12\n\x0e\x43ONN_CONNECTED\x10\x01\x12\x15\n\x11\x43ONN_RECONNECTING\x10\x02*3\n\x0e\x44\x61taPacketKind\x12\x0e\n\nKIND_LOSSY\x10\x00\x12\x11\n\rKIND_RELIABLE\x10\x01\x42\x10\xaa\x02\rLiveKit.Protob\x06proto3')
24
24
 
25
25
  _globals = globals()
26
26
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -33,11 +33,11 @@ if _descriptor._USE_C_DESCRIPTORS == False:
33
33
  _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=6632
34
34
  _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=6699
35
35
  _globals['_CONNECTIONQUALITY']._serialized_start=6701
36
- _globals['_CONNECTIONQUALITY']._serialized_end=6779
37
- _globals['_CONNECTIONSTATE']._serialized_start=6781
38
- _globals['_CONNECTIONSTATE']._serialized_end=6864
39
- _globals['_DATAPACKETKIND']._serialized_start=6866
40
- _globals['_DATAPACKETKIND']._serialized_end=6917
36
+ _globals['_CONNECTIONQUALITY']._serialized_end=6797
37
+ _globals['_CONNECTIONSTATE']._serialized_start=6799
38
+ _globals['_CONNECTIONSTATE']._serialized_end=6882
39
+ _globals['_DATAPACKETKIND']._serialized_start=6884
40
+ _globals['_DATAPACKETKIND']._serialized_end=6935
41
41
  _globals['_CONNECTREQUEST']._serialized_start=119
42
42
  _globals['_CONNECTREQUEST']._serialized_end=208
43
43
  _globals['_CONNECTRESPONSE']._serialized_start=210
@@ -78,6 +78,7 @@ class _ConnectionQualityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapp
78
78
  QUALITY_POOR: _ConnectionQuality.ValueType # 0
79
79
  QUALITY_GOOD: _ConnectionQuality.ValueType # 1
80
80
  QUALITY_EXCELLENT: _ConnectionQuality.ValueType # 2
81
+ QUALITY_LOST: _ConnectionQuality.ValueType # 3
81
82
 
82
83
  class ConnectionQuality(_ConnectionQuality, metaclass=_ConnectionQualityEnumTypeWrapper):
83
84
  """
@@ -87,6 +88,7 @@ class ConnectionQuality(_ConnectionQuality, metaclass=_ConnectionQualityEnumType
87
88
  QUALITY_POOR: ConnectionQuality.ValueType # 0
88
89
  QUALITY_GOOD: ConnectionQuality.ValueType # 1
89
90
  QUALITY_EXCELLENT: ConnectionQuality.ValueType # 2
91
+ QUALITY_LOST: ConnectionQuality.ValueType # 3
90
92
  global___ConnectionQuality = ConnectionQuality
91
93
 
92
94
  class _ConnectionState: