From 82d542b3b910a215356f07589156f0f44d68c2e3 Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Thu, 23 Jul 2026 15:17:46 -0400 Subject: [PATCH 1/2] feat: override use_legacy_client_implementation to be true while python based data streams implementation still exists --- livekit-rtc/livekit/rtc/room.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/livekit-rtc/livekit/rtc/room.py b/livekit-rtc/livekit/rtc/room.py index 0873dae0..718d961d 100644 --- a/livekit-rtc/livekit/rtc/room.py +++ b/livekit-rtc/livekit/rtc/room.py @@ -467,6 +467,11 @@ def on_participant_connected(participant): req.connect.options.auto_subscribe = options.auto_subscribe req.connect.options.dynacast = options.dynacast + # The Python SDK still implements data streams in Python on top of raw FFI + # packets, so always advertise only legacy (v1) data stream support to other + # clients. + req.connect.options.data_stream.use_legacy_client_implementation = True + if options.connect_timeout is not None: req.connect.options.connect_timeout_ms = int(options.connect_timeout * 1000) From 758f0f1a50c3ed26aa138ad44ecbcb3ff0d2a74f Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Thu, 23 Jul 2026 16:24:45 -0400 Subject: [PATCH 2/2] fix: regen protobufs --- .../livekit/rtc/_proto/data_stream_pb2.py | 226 ++++++------ .../livekit/rtc/_proto/data_stream_pb2.pyi | 122 ++++++- livekit-rtc/livekit/rtc/_proto/room_pb2.py | 328 +++++++++--------- livekit-rtc/livekit/rtc/_proto/room_pb2.pyi | 51 ++- 4 files changed, 441 insertions(+), 286 deletions(-) diff --git a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py index 3d12d60f..12f113cd 100644 --- a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.py @@ -16,7 +16,7 @@ from . import e2ee_pb2 as e2ee__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x64\x61ta_stream.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\ne2ee.proto\"s\n\x15OwnedTextStreamReader\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.TextStreamInfo\"?\n&TextStreamReaderReadIncrementalRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\")\n\'TextStreamReaderReadIncrementalResponse\"Q\n\x1eTextStreamReaderReadAllRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"3\n\x1fTextStreamReaderReadAllResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"}\n\x1fTextStreamReaderReadAllCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x11\n\x07\x63ontent\x18\x02 \x01(\tH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\xb3\x01\n\x15TextStreamReaderEvent\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x46\n\x0e\x63hunk_received\x18\x02 \x01(\x0b\x32,.livekit.proto.TextStreamReaderChunkReceivedH\x00\x12\x31\n\x03\x65os\x18\x03 \x01(\x0b\x32\".livekit.proto.TextStreamReaderEOSH\x00\x42\x08\n\x06\x64\x65tail\"0\n\x1dTextStreamReaderChunkReceived\x12\x0f\n\x07\x63ontent\x18\x01 \x02(\t\"@\n\x13TextStreamReaderEOS\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"s\n\x15OwnedByteStreamReader\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.ByteStreamInfo\"?\n&ByteStreamReaderReadIncrementalRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\")\n\'ByteStreamReaderReadIncrementalResponse\"Q\n\x1e\x42yteStreamReaderReadAllRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"3\n\x1f\x42yteStreamReaderReadAllResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"}\n\x1f\x42yteStreamReaderReadAllCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x11\n\x07\x63ontent\x18\x02 \x01(\x0cH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\x7f\n\"ByteStreamReaderWriteToFileRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\x12\x11\n\tdirectory\x18\x03 \x01(\t\x12\x15\n\rname_override\x18\x04 \x01(\t\"7\n#ByteStreamReaderWriteToFileResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x83\x01\n#ByteStreamReaderWriteToFileCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x13\n\tfile_path\x18\x02 \x01(\tH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\xb3\x01\n\x15\x42yteStreamReaderEvent\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x46\n\x0e\x63hunk_received\x18\x02 \x01(\x0b\x32,.livekit.proto.ByteStreamReaderChunkReceivedH\x00\x12\x31\n\x03\x65os\x18\x03 \x01(\x0b\x32\".livekit.proto.ByteStreamReaderEOSH\x00\x42\x08\n\x06\x64\x65tail\"0\n\x1d\x42yteStreamReaderChunkReceived\x12\x0f\n\x07\x63ontent\x18\x01 \x02(\x0c\"@\n\x13\x42yteStreamReaderEOS\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"\x99\x01\n\x15StreamSendFileRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamByteOptions\x12\x11\n\tfile_path\x18\x03 \x02(\t\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16StreamSendFileResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x90\x01\n\x16StreamSendFileCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12-\n\x04info\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.ByteStreamInfoH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\x96\x01\n\x16StreamSendBytesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamByteOptions\x12\r\n\x05\x62ytes\x18\x03 \x02(\x0c\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"+\n\x17StreamSendBytesResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x91\x01\n\x17StreamSendBytesCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12-\n\x04info\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.ByteStreamInfoH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\x94\x01\n\x15StreamSendTextRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamTextOptions\x12\x0c\n\x04text\x18\x03 \x02(\t\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16StreamSendTextResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x90\x01\n\x16StreamSendTextCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12-\n\x04info\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.TextStreamInfoH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"s\n\x15OwnedByteStreamWriter\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.ByteStreamInfo\"\x86\x01\n\x15\x42yteStreamOpenRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamByteOptions\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"*\n\x16\x42yteStreamOpenResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x99\x01\n\x16\x42yteStreamOpenCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x36\n\x06writer\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedByteStreamWriterH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"^\n\x1c\x42yteStreamWriterWriteRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\r\n\x05\x62ytes\x18\x02 \x02(\x0c\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"1\n\x1d\x42yteStreamWriterWriteResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1d\x42yteStreamWriterWriteCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"_\n\x1c\x42yteStreamWriterCloseRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"1\n\x1d\x42yteStreamWriterCloseResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1d\x42yteStreamWriterCloseCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"s\n\x15OwnedTextStreamWriter\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.TextStreamInfo\"\x86\x01\n\x15TextStreamOpenRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamTextOptions\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"*\n\x16TextStreamOpenResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x99\x01\n\x16TextStreamOpenCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x36\n\x06writer\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedTextStreamWriterH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"]\n\x1cTextStreamWriterWriteRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\x0c\n\x04text\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"1\n\x1dTextStreamWriterWriteResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1dTextStreamWriterWriteCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"_\n\x1cTextStreamWriterCloseRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"1\n\x1dTextStreamWriterCloseResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1dTextStreamWriterCloseCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"\x81\x04\n\x0eTextStreamInfo\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x41\n\nattributes\x18\x06 \x03(\x0b\x32-.livekit.proto.TextStreamInfo.AttributesEntry\x12\x43\n\x0eoperation_type\x18\x07 \x02(\x0e\x32+.livekit.proto.TextStreamInfo.OperationType\x12\x0f\n\x07version\x18\x08 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\t \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\n \x03(\t\x12\x11\n\tgenerated\x18\x0b \x01(\x08\x12\x36\n\x0f\x65ncryption_type\x18\x0c \x02(\x0e\x32\x1d.livekit.proto.EncryptionType\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\"\xaa\x02\n\x0e\x42yteStreamInfo\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x41\n\nattributes\x18\x06 \x03(\x0b\x32-.livekit.proto.ByteStreamInfo.AttributesEntry\x12\x0c\n\x04name\x18\x07 \x02(\t\x12\x36\n\x0f\x65ncryption_type\x18\x08 \x02(\x0e\x32\x1d.livekit.proto.EncryptionType\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xe9\x02\n\x11StreamTextOptions\x12\r\n\x05topic\x18\x01 \x02(\t\x12\x44\n\nattributes\x18\x02 \x03(\x0b\x32\x30.livekit.proto.StreamTextOptions.AttributesEntry\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\n\n\x02id\x18\x04 \x01(\t\x12\x43\n\x0eoperation_type\x18\x05 \x01(\x0e\x32+.livekit.proto.TextStreamInfo.OperationType\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x07 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x08 \x03(\t\x12\x11\n\tgenerated\x18\t \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xfe\x01\n\x11StreamByteOptions\x12\r\n\x05topic\x18\x01 \x02(\t\x12\x44\n\nattributes\x18\x02 \x03(\x0b\x32\x30.livekit.proto.StreamByteOptions.AttributesEntry\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\n\n\x02id\x18\x04 \x01(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x11\n\tmime_type\x18\x06 \x01(\t\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\"\n\x0bStreamError\x12\x13\n\x0b\x64\x65scription\x18\x01 \x02(\tB\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x64\x61ta_stream.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\ne2ee.proto\"s\n\x15OwnedTextStreamReader\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.TextStreamInfo\"?\n&TextStreamReaderReadIncrementalRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\")\n\'TextStreamReaderReadIncrementalResponse\"Q\n\x1eTextStreamReaderReadAllRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"3\n\x1fTextStreamReaderReadAllResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"}\n\x1fTextStreamReaderReadAllCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x11\n\x07\x63ontent\x18\x02 \x01(\tH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\xb3\x01\n\x15TextStreamReaderEvent\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x46\n\x0e\x63hunk_received\x18\x02 \x01(\x0b\x32,.livekit.proto.TextStreamReaderChunkReceivedH\x00\x12\x31\n\x03\x65os\x18\x03 \x01(\x0b\x32\".livekit.proto.TextStreamReaderEOSH\x00\x42\x08\n\x06\x64\x65tail\"0\n\x1dTextStreamReaderChunkReceived\x12\x0f\n\x07\x63ontent\x18\x01 \x02(\t\"\xbb\x01\n\x13TextStreamReaderEOS\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.StreamError\x12\x46\n\nattributes\x18\x02 \x03(\x0b\x32\x32.livekit.proto.TextStreamReaderEOS.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"s\n\x15OwnedByteStreamReader\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.ByteStreamInfo\"?\n&ByteStreamReaderReadIncrementalRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\")\n\'ByteStreamReaderReadIncrementalResponse\"Q\n\x1e\x42yteStreamReaderReadAllRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"3\n\x1f\x42yteStreamReaderReadAllResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"}\n\x1f\x42yteStreamReaderReadAllCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x11\n\x07\x63ontent\x18\x02 \x01(\x0cH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\x7f\n\"ByteStreamReaderWriteToFileRequest\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\x12\x11\n\tdirectory\x18\x03 \x01(\t\x12\x15\n\rname_override\x18\x04 \x01(\t\"7\n#ByteStreamReaderWriteToFileResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x83\x01\n#ByteStreamReaderWriteToFileCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x13\n\tfile_path\x18\x02 \x01(\tH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\xb3\x01\n\x15\x42yteStreamReaderEvent\x12\x15\n\rreader_handle\x18\x01 \x02(\x04\x12\x46\n\x0e\x63hunk_received\x18\x02 \x01(\x0b\x32,.livekit.proto.ByteStreamReaderChunkReceivedH\x00\x12\x31\n\x03\x65os\x18\x03 \x01(\x0b\x32\".livekit.proto.ByteStreamReaderEOSH\x00\x42\x08\n\x06\x64\x65tail\"0\n\x1d\x42yteStreamReaderChunkReceived\x12\x0f\n\x07\x63ontent\x18\x01 \x02(\x0c\"\xbb\x01\n\x13\x42yteStreamReaderEOS\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.StreamError\x12\x46\n\nattributes\x18\x02 \x03(\x0b\x32\x32.livekit.proto.ByteStreamReaderEOS.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x99\x01\n\x15StreamSendFileRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamByteOptions\x12\x11\n\tfile_path\x18\x03 \x02(\t\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16StreamSendFileResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x90\x01\n\x16StreamSendFileCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12-\n\x04info\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.ByteStreamInfoH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\x96\x01\n\x16StreamSendBytesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamByteOptions\x12\r\n\x05\x62ytes\x18\x03 \x02(\x0c\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"+\n\x17StreamSendBytesResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x91\x01\n\x17StreamSendBytesCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12-\n\x04info\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.ByteStreamInfoH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"\x94\x01\n\x15StreamSendTextRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamTextOptions\x12\x0c\n\x04text\x18\x03 \x02(\t\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16StreamSendTextResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x90\x01\n\x16StreamSendTextCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12-\n\x04info\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.TextStreamInfoH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"s\n\x15OwnedByteStreamWriter\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.ByteStreamInfo\"\x86\x01\n\x15\x42yteStreamOpenRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamByteOptions\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"*\n\x16\x42yteStreamOpenResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x99\x01\n\x16\x42yteStreamOpenCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x36\n\x06writer\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedByteStreamWriterH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"^\n\x1c\x42yteStreamWriterWriteRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\r\n\x05\x62ytes\x18\x02 \x02(\x0c\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"1\n\x1d\x42yteStreamWriterWriteResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1d\x42yteStreamWriterWriteCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"\xe3\x01\n\x1c\x42yteStreamWriterCloseRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\x12O\n\nattributes\x18\x04 \x03(\x0b\x32;.livekit.proto.ByteStreamWriterCloseRequest.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"1\n\x1d\x42yteStreamWriterCloseResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1d\x42yteStreamWriterCloseCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"s\n\x15OwnedTextStreamWriter\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12+\n\x04info\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.TextStreamInfo\"\x86\x01\n\x15TextStreamOpenRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x31\n\x07options\x18\x02 \x02(\x0b\x32 .livekit.proto.StreamTextOptions\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"*\n\x16TextStreamOpenResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x99\x01\n\x16TextStreamOpenCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x36\n\x06writer\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedTextStreamWriterH\x00\x12+\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.StreamErrorH\x00\x42\x08\n\x06result\"]\n\x1cTextStreamWriterWriteRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\x0c\n\x04text\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"1\n\x1dTextStreamWriterWriteResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1dTextStreamWriterWriteCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"\xe3\x01\n\x1cTextStreamWriterCloseRequest\x12\x15\n\rwriter_handle\x18\x01 \x02(\x04\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\x12O\n\nattributes\x18\x04 \x03(\x0b\x32;.livekit.proto.TextStreamWriterCloseRequest.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"1\n\x1dTextStreamWriterCloseResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\\\n\x1dTextStreamWriterCloseCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12)\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1a.livekit.proto.StreamError\"\x81\x04\n\x0eTextStreamInfo\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x41\n\nattributes\x18\x06 \x03(\x0b\x32-.livekit.proto.TextStreamInfo.AttributesEntry\x12\x43\n\x0eoperation_type\x18\x07 \x02(\x0e\x32+.livekit.proto.TextStreamInfo.OperationType\x12\x0f\n\x07version\x18\x08 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\t \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\n \x03(\t\x12\x11\n\tgenerated\x18\x0b \x01(\x08\x12\x36\n\x0f\x65ncryption_type\x18\x0c \x02(\x0e\x32\x1d.livekit.proto.EncryptionType\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\"\xaa\x02\n\x0e\x42yteStreamInfo\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x41\n\nattributes\x18\x06 \x03(\x0b\x32-.livekit.proto.ByteStreamInfo.AttributesEntry\x12\x0c\n\x04name\x18\x07 \x02(\t\x12\x36\n\x0f\x65ncryption_type\x18\x08 \x02(\x0e\x32\x1d.livekit.proto.EncryptionType\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x94\x03\n\x11StreamTextOptions\x12\r\n\x05topic\x18\x01 \x02(\t\x12\x44\n\nattributes\x18\x02 \x03(\x0b\x32\x30.livekit.proto.StreamTextOptions.AttributesEntry\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\n\n\x02id\x18\x04 \x01(\t\x12\x43\n\x0eoperation_type\x18\x05 \x01(\x0e\x32+.livekit.proto.TextStreamInfo.OperationType\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x07 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x08 \x03(\t\x12\x11\n\tgenerated\x18\t \x01(\x08\x12\x10\n\x08\x63ompress\x18\n \x01(\x08\x12\x17\n\x0fsender_identity\x18\x0b \x01(\t\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x02\n\x11StreamByteOptions\x12\r\n\x05topic\x18\x01 \x02(\t\x12\x44\n\nattributes\x18\x02 \x03(\x0b\x32\x30.livekit.proto.StreamByteOptions.AttributesEntry\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\n\n\x02id\x18\x04 \x01(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x11\n\tmime_type\x18\x06 \x01(\t\x12\x14\n\x0ctotal_length\x18\x07 \x01(\x04\x12\x10\n\x08\x63ompress\x18\x08 \x01(\x08\x12\x17\n\x0fsender_identity\x18\t \x01(\t\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\"\n\x0bStreamError\x12\x13\n\x0b\x64\x65scription\x18\x01 \x02(\tB\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,6 +24,14 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['_TEXTSTREAMREADEREOS_ATTRIBUTESENTRY']._options = None + _globals['_TEXTSTREAMREADEREOS_ATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_BYTESTREAMREADEREOS_ATTRIBUTESENTRY']._options = None + _globals['_BYTESTREAMREADEREOS_ATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_BYTESTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._options = None + _globals['_BYTESTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_TEXTSTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._options = None + _globals['_TEXTSTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._options = None _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_BYTESTREAMINFO_ATTRIBUTESENTRY']._options = None @@ -48,108 +56,116 @@ _globals['_TEXTSTREAMREADEREVENT']._serialized_end=730 _globals['_TEXTSTREAMREADERCHUNKRECEIVED']._serialized_start=732 _globals['_TEXTSTREAMREADERCHUNKRECEIVED']._serialized_end=780 - _globals['_TEXTSTREAMREADEREOS']._serialized_start=782 - _globals['_TEXTSTREAMREADEREOS']._serialized_end=846 - _globals['_OWNEDBYTESTREAMREADER']._serialized_start=848 - _globals['_OWNEDBYTESTREAMREADER']._serialized_end=963 - _globals['_BYTESTREAMREADERREADINCREMENTALREQUEST']._serialized_start=965 - _globals['_BYTESTREAMREADERREADINCREMENTALREQUEST']._serialized_end=1028 - _globals['_BYTESTREAMREADERREADINCREMENTALRESPONSE']._serialized_start=1030 - _globals['_BYTESTREAMREADERREADINCREMENTALRESPONSE']._serialized_end=1071 - _globals['_BYTESTREAMREADERREADALLREQUEST']._serialized_start=1073 - _globals['_BYTESTREAMREADERREADALLREQUEST']._serialized_end=1154 - _globals['_BYTESTREAMREADERREADALLRESPONSE']._serialized_start=1156 - _globals['_BYTESTREAMREADERREADALLRESPONSE']._serialized_end=1207 - _globals['_BYTESTREAMREADERREADALLCALLBACK']._serialized_start=1209 - _globals['_BYTESTREAMREADERREADALLCALLBACK']._serialized_end=1334 - _globals['_BYTESTREAMREADERWRITETOFILEREQUEST']._serialized_start=1336 - _globals['_BYTESTREAMREADERWRITETOFILEREQUEST']._serialized_end=1463 - _globals['_BYTESTREAMREADERWRITETOFILERESPONSE']._serialized_start=1465 - _globals['_BYTESTREAMREADERWRITETOFILERESPONSE']._serialized_end=1520 - _globals['_BYTESTREAMREADERWRITETOFILECALLBACK']._serialized_start=1523 - _globals['_BYTESTREAMREADERWRITETOFILECALLBACK']._serialized_end=1654 - _globals['_BYTESTREAMREADEREVENT']._serialized_start=1657 - _globals['_BYTESTREAMREADEREVENT']._serialized_end=1836 - _globals['_BYTESTREAMREADERCHUNKRECEIVED']._serialized_start=1838 - _globals['_BYTESTREAMREADERCHUNKRECEIVED']._serialized_end=1886 - _globals['_BYTESTREAMREADEREOS']._serialized_start=1888 - _globals['_BYTESTREAMREADEREOS']._serialized_end=1952 - _globals['_STREAMSENDFILEREQUEST']._serialized_start=1955 - _globals['_STREAMSENDFILEREQUEST']._serialized_end=2108 - _globals['_STREAMSENDFILERESPONSE']._serialized_start=2110 - _globals['_STREAMSENDFILERESPONSE']._serialized_end=2152 - _globals['_STREAMSENDFILECALLBACK']._serialized_start=2155 - _globals['_STREAMSENDFILECALLBACK']._serialized_end=2299 - _globals['_STREAMSENDBYTESREQUEST']._serialized_start=2302 - _globals['_STREAMSENDBYTESREQUEST']._serialized_end=2452 - _globals['_STREAMSENDBYTESRESPONSE']._serialized_start=2454 - _globals['_STREAMSENDBYTESRESPONSE']._serialized_end=2497 - _globals['_STREAMSENDBYTESCALLBACK']._serialized_start=2500 - _globals['_STREAMSENDBYTESCALLBACK']._serialized_end=2645 - _globals['_STREAMSENDTEXTREQUEST']._serialized_start=2648 - _globals['_STREAMSENDTEXTREQUEST']._serialized_end=2796 - _globals['_STREAMSENDTEXTRESPONSE']._serialized_start=2798 - _globals['_STREAMSENDTEXTRESPONSE']._serialized_end=2840 - _globals['_STREAMSENDTEXTCALLBACK']._serialized_start=2843 - _globals['_STREAMSENDTEXTCALLBACK']._serialized_end=2987 - _globals['_OWNEDBYTESTREAMWRITER']._serialized_start=2989 - _globals['_OWNEDBYTESTREAMWRITER']._serialized_end=3104 - _globals['_BYTESTREAMOPENREQUEST']._serialized_start=3107 - _globals['_BYTESTREAMOPENREQUEST']._serialized_end=3241 - _globals['_BYTESTREAMOPENRESPONSE']._serialized_start=3243 - _globals['_BYTESTREAMOPENRESPONSE']._serialized_end=3285 - _globals['_BYTESTREAMOPENCALLBACK']._serialized_start=3288 - _globals['_BYTESTREAMOPENCALLBACK']._serialized_end=3441 - _globals['_BYTESTREAMWRITERWRITEREQUEST']._serialized_start=3443 - _globals['_BYTESTREAMWRITERWRITEREQUEST']._serialized_end=3537 - _globals['_BYTESTREAMWRITERWRITERESPONSE']._serialized_start=3539 - _globals['_BYTESTREAMWRITERWRITERESPONSE']._serialized_end=3588 - _globals['_BYTESTREAMWRITERWRITECALLBACK']._serialized_start=3590 - _globals['_BYTESTREAMWRITERWRITECALLBACK']._serialized_end=3682 - _globals['_BYTESTREAMWRITERCLOSEREQUEST']._serialized_start=3684 - _globals['_BYTESTREAMWRITERCLOSEREQUEST']._serialized_end=3779 - _globals['_BYTESTREAMWRITERCLOSERESPONSE']._serialized_start=3781 - _globals['_BYTESTREAMWRITERCLOSERESPONSE']._serialized_end=3830 - _globals['_BYTESTREAMWRITERCLOSECALLBACK']._serialized_start=3832 - _globals['_BYTESTREAMWRITERCLOSECALLBACK']._serialized_end=3924 - _globals['_OWNEDTEXTSTREAMWRITER']._serialized_start=3926 - _globals['_OWNEDTEXTSTREAMWRITER']._serialized_end=4041 - _globals['_TEXTSTREAMOPENREQUEST']._serialized_start=4044 - _globals['_TEXTSTREAMOPENREQUEST']._serialized_end=4178 - _globals['_TEXTSTREAMOPENRESPONSE']._serialized_start=4180 - _globals['_TEXTSTREAMOPENRESPONSE']._serialized_end=4222 - _globals['_TEXTSTREAMOPENCALLBACK']._serialized_start=4225 - _globals['_TEXTSTREAMOPENCALLBACK']._serialized_end=4378 - _globals['_TEXTSTREAMWRITERWRITEREQUEST']._serialized_start=4380 - _globals['_TEXTSTREAMWRITERWRITEREQUEST']._serialized_end=4473 - _globals['_TEXTSTREAMWRITERWRITERESPONSE']._serialized_start=4475 - _globals['_TEXTSTREAMWRITERWRITERESPONSE']._serialized_end=4524 - _globals['_TEXTSTREAMWRITERWRITECALLBACK']._serialized_start=4526 - _globals['_TEXTSTREAMWRITERWRITECALLBACK']._serialized_end=4618 - _globals['_TEXTSTREAMWRITERCLOSEREQUEST']._serialized_start=4620 - _globals['_TEXTSTREAMWRITERCLOSEREQUEST']._serialized_end=4715 - _globals['_TEXTSTREAMWRITERCLOSERESPONSE']._serialized_start=4717 - _globals['_TEXTSTREAMWRITERCLOSERESPONSE']._serialized_end=4766 - _globals['_TEXTSTREAMWRITERCLOSECALLBACK']._serialized_start=4768 - _globals['_TEXTSTREAMWRITERCLOSECALLBACK']._serialized_end=4860 - _globals['_TEXTSTREAMINFO']._serialized_start=4863 - _globals['_TEXTSTREAMINFO']._serialized_end=5376 - _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._serialized_start=5260 - _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._serialized_end=5309 - _globals['_TEXTSTREAMINFO_OPERATIONTYPE']._serialized_start=5311 - _globals['_TEXTSTREAMINFO_OPERATIONTYPE']._serialized_end=5376 - _globals['_BYTESTREAMINFO']._serialized_start=5379 - _globals['_BYTESTREAMINFO']._serialized_end=5677 - _globals['_BYTESTREAMINFO_ATTRIBUTESENTRY']._serialized_start=5260 - _globals['_BYTESTREAMINFO_ATTRIBUTESENTRY']._serialized_end=5309 - _globals['_STREAMTEXTOPTIONS']._serialized_start=5680 - _globals['_STREAMTEXTOPTIONS']._serialized_end=6041 - _globals['_STREAMTEXTOPTIONS_ATTRIBUTESENTRY']._serialized_start=5260 - _globals['_STREAMTEXTOPTIONS_ATTRIBUTESENTRY']._serialized_end=5309 - _globals['_STREAMBYTEOPTIONS']._serialized_start=6044 - _globals['_STREAMBYTEOPTIONS']._serialized_end=6298 - _globals['_STREAMBYTEOPTIONS_ATTRIBUTESENTRY']._serialized_start=5260 - _globals['_STREAMBYTEOPTIONS_ATTRIBUTESENTRY']._serialized_end=5309 - _globals['_STREAMERROR']._serialized_start=6300 - _globals['_STREAMERROR']._serialized_end=6334 + _globals['_TEXTSTREAMREADEREOS']._serialized_start=783 + _globals['_TEXTSTREAMREADEREOS']._serialized_end=970 + _globals['_TEXTSTREAMREADEREOS_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_TEXTSTREAMREADEREOS_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_OWNEDBYTESTREAMREADER']._serialized_start=972 + _globals['_OWNEDBYTESTREAMREADER']._serialized_end=1087 + _globals['_BYTESTREAMREADERREADINCREMENTALREQUEST']._serialized_start=1089 + _globals['_BYTESTREAMREADERREADINCREMENTALREQUEST']._serialized_end=1152 + _globals['_BYTESTREAMREADERREADINCREMENTALRESPONSE']._serialized_start=1154 + _globals['_BYTESTREAMREADERREADINCREMENTALRESPONSE']._serialized_end=1195 + _globals['_BYTESTREAMREADERREADALLREQUEST']._serialized_start=1197 + _globals['_BYTESTREAMREADERREADALLREQUEST']._serialized_end=1278 + _globals['_BYTESTREAMREADERREADALLRESPONSE']._serialized_start=1280 + _globals['_BYTESTREAMREADERREADALLRESPONSE']._serialized_end=1331 + _globals['_BYTESTREAMREADERREADALLCALLBACK']._serialized_start=1333 + _globals['_BYTESTREAMREADERREADALLCALLBACK']._serialized_end=1458 + _globals['_BYTESTREAMREADERWRITETOFILEREQUEST']._serialized_start=1460 + _globals['_BYTESTREAMREADERWRITETOFILEREQUEST']._serialized_end=1587 + _globals['_BYTESTREAMREADERWRITETOFILERESPONSE']._serialized_start=1589 + _globals['_BYTESTREAMREADERWRITETOFILERESPONSE']._serialized_end=1644 + _globals['_BYTESTREAMREADERWRITETOFILECALLBACK']._serialized_start=1647 + _globals['_BYTESTREAMREADERWRITETOFILECALLBACK']._serialized_end=1778 + _globals['_BYTESTREAMREADEREVENT']._serialized_start=1781 + _globals['_BYTESTREAMREADEREVENT']._serialized_end=1960 + _globals['_BYTESTREAMREADERCHUNKRECEIVED']._serialized_start=1962 + _globals['_BYTESTREAMREADERCHUNKRECEIVED']._serialized_end=2010 + _globals['_BYTESTREAMREADEREOS']._serialized_start=2013 + _globals['_BYTESTREAMREADEREOS']._serialized_end=2200 + _globals['_BYTESTREAMREADEREOS_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_BYTESTREAMREADEREOS_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_STREAMSENDFILEREQUEST']._serialized_start=2203 + _globals['_STREAMSENDFILEREQUEST']._serialized_end=2356 + _globals['_STREAMSENDFILERESPONSE']._serialized_start=2358 + _globals['_STREAMSENDFILERESPONSE']._serialized_end=2400 + _globals['_STREAMSENDFILECALLBACK']._serialized_start=2403 + _globals['_STREAMSENDFILECALLBACK']._serialized_end=2547 + _globals['_STREAMSENDBYTESREQUEST']._serialized_start=2550 + _globals['_STREAMSENDBYTESREQUEST']._serialized_end=2700 + _globals['_STREAMSENDBYTESRESPONSE']._serialized_start=2702 + _globals['_STREAMSENDBYTESRESPONSE']._serialized_end=2745 + _globals['_STREAMSENDBYTESCALLBACK']._serialized_start=2748 + _globals['_STREAMSENDBYTESCALLBACK']._serialized_end=2893 + _globals['_STREAMSENDTEXTREQUEST']._serialized_start=2896 + _globals['_STREAMSENDTEXTREQUEST']._serialized_end=3044 + _globals['_STREAMSENDTEXTRESPONSE']._serialized_start=3046 + _globals['_STREAMSENDTEXTRESPONSE']._serialized_end=3088 + _globals['_STREAMSENDTEXTCALLBACK']._serialized_start=3091 + _globals['_STREAMSENDTEXTCALLBACK']._serialized_end=3235 + _globals['_OWNEDBYTESTREAMWRITER']._serialized_start=3237 + _globals['_OWNEDBYTESTREAMWRITER']._serialized_end=3352 + _globals['_BYTESTREAMOPENREQUEST']._serialized_start=3355 + _globals['_BYTESTREAMOPENREQUEST']._serialized_end=3489 + _globals['_BYTESTREAMOPENRESPONSE']._serialized_start=3491 + _globals['_BYTESTREAMOPENRESPONSE']._serialized_end=3533 + _globals['_BYTESTREAMOPENCALLBACK']._serialized_start=3536 + _globals['_BYTESTREAMOPENCALLBACK']._serialized_end=3689 + _globals['_BYTESTREAMWRITERWRITEREQUEST']._serialized_start=3691 + _globals['_BYTESTREAMWRITERWRITEREQUEST']._serialized_end=3785 + _globals['_BYTESTREAMWRITERWRITERESPONSE']._serialized_start=3787 + _globals['_BYTESTREAMWRITERWRITERESPONSE']._serialized_end=3836 + _globals['_BYTESTREAMWRITERWRITECALLBACK']._serialized_start=3838 + _globals['_BYTESTREAMWRITERWRITECALLBACK']._serialized_end=3930 + _globals['_BYTESTREAMWRITERCLOSEREQUEST']._serialized_start=3933 + _globals['_BYTESTREAMWRITERCLOSEREQUEST']._serialized_end=4160 + _globals['_BYTESTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_BYTESTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_BYTESTREAMWRITERCLOSERESPONSE']._serialized_start=4162 + _globals['_BYTESTREAMWRITERCLOSERESPONSE']._serialized_end=4211 + _globals['_BYTESTREAMWRITERCLOSECALLBACK']._serialized_start=4213 + _globals['_BYTESTREAMWRITERCLOSECALLBACK']._serialized_end=4305 + _globals['_OWNEDTEXTSTREAMWRITER']._serialized_start=4307 + _globals['_OWNEDTEXTSTREAMWRITER']._serialized_end=4422 + _globals['_TEXTSTREAMOPENREQUEST']._serialized_start=4425 + _globals['_TEXTSTREAMOPENREQUEST']._serialized_end=4559 + _globals['_TEXTSTREAMOPENRESPONSE']._serialized_start=4561 + _globals['_TEXTSTREAMOPENRESPONSE']._serialized_end=4603 + _globals['_TEXTSTREAMOPENCALLBACK']._serialized_start=4606 + _globals['_TEXTSTREAMOPENCALLBACK']._serialized_end=4759 + _globals['_TEXTSTREAMWRITERWRITEREQUEST']._serialized_start=4761 + _globals['_TEXTSTREAMWRITERWRITEREQUEST']._serialized_end=4854 + _globals['_TEXTSTREAMWRITERWRITERESPONSE']._serialized_start=4856 + _globals['_TEXTSTREAMWRITERWRITERESPONSE']._serialized_end=4905 + _globals['_TEXTSTREAMWRITERWRITECALLBACK']._serialized_start=4907 + _globals['_TEXTSTREAMWRITERWRITECALLBACK']._serialized_end=4999 + _globals['_TEXTSTREAMWRITERCLOSEREQUEST']._serialized_start=5002 + _globals['_TEXTSTREAMWRITERCLOSEREQUEST']._serialized_end=5229 + _globals['_TEXTSTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_TEXTSTREAMWRITERCLOSEREQUEST_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_TEXTSTREAMWRITERCLOSERESPONSE']._serialized_start=5231 + _globals['_TEXTSTREAMWRITERCLOSERESPONSE']._serialized_end=5280 + _globals['_TEXTSTREAMWRITERCLOSECALLBACK']._serialized_start=5282 + _globals['_TEXTSTREAMWRITERCLOSECALLBACK']._serialized_end=5374 + _globals['_TEXTSTREAMINFO']._serialized_start=5377 + _globals['_TEXTSTREAMINFO']._serialized_end=5890 + _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_TEXTSTREAMINFO_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_TEXTSTREAMINFO_OPERATIONTYPE']._serialized_start=5825 + _globals['_TEXTSTREAMINFO_OPERATIONTYPE']._serialized_end=5890 + _globals['_BYTESTREAMINFO']._serialized_start=5893 + _globals['_BYTESTREAMINFO']._serialized_end=6191 + _globals['_BYTESTREAMINFO_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_BYTESTREAMINFO_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_STREAMTEXTOPTIONS']._serialized_start=6194 + _globals['_STREAMTEXTOPTIONS']._serialized_end=6598 + _globals['_STREAMTEXTOPTIONS_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_STREAMTEXTOPTIONS_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_STREAMBYTEOPTIONS']._serialized_start=6601 + _globals['_STREAMBYTEOPTIONS']._serialized_end=6898 + _globals['_STREAMBYTEOPTIONS_ATTRIBUTESENTRY']._serialized_start=921 + _globals['_STREAMBYTEOPTIONS_ATTRIBUTESENTRY']._serialized_end=970 + _globals['_STREAMERROR']._serialized_start=6900 + _globals['_STREAMERROR']._serialized_end=6934 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi index e68dc45f..82ce4d89 100644 --- a/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/data_stream_pb2.pyi @@ -194,16 +194,39 @@ global___TextStreamReaderChunkReceived = TextStreamReaderChunkReceived class TextStreamReaderEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + @typing.final + class AttributesEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str | None = ..., + value: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + ERROR_FIELD_NUMBER: builtins.int + ATTRIBUTES_FIELD_NUMBER: builtins.int @property def error(self) -> global___StreamError: ... + @property + def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + """Final stream attributes, including any delivered in the stream trailer.""" + def __init__( self, *, error: global___StreamError | None = ..., + attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "error", b"error"]) -> None: ... global___TextStreamReaderEOS = TextStreamReaderEOS @@ -442,16 +465,39 @@ global___ByteStreamReaderChunkReceived = ByteStreamReaderChunkReceived class ByteStreamReaderEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + @typing.final + class AttributesEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str | None = ..., + value: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + ERROR_FIELD_NUMBER: builtins.int + ATTRIBUTES_FIELD_NUMBER: builtins.int @property def error(self) -> global___StreamError: ... + @property + def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + """Final stream attributes, including any delivered in the stream trailer.""" + def __init__( self, *, error: global___StreamError | None = ..., + attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "error", b"error"]) -> None: ... global___ByteStreamReaderEOS = ByteStreamReaderEOS @@ -833,21 +879,44 @@ class ByteStreamWriterCloseRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + @typing.final + class AttributesEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str | None = ..., + value: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + WRITER_HANDLE_FIELD_NUMBER: builtins.int REASON_FIELD_NUMBER: builtins.int REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int + ATTRIBUTES_FIELD_NUMBER: builtins.int writer_handle: builtins.int reason: builtins.str request_async_id: builtins.int + @property + def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + """Attributes to attach to the stream trailer.""" + def __init__( self, *, writer_handle: builtins.int | None = ..., reason: builtins.str | None = ..., request_async_id: builtins.int | None = ..., + attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> None: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> None: ... global___ByteStreamWriterCloseRequest = ByteStreamWriterCloseRequest @@ -1046,21 +1115,44 @@ class TextStreamWriterCloseRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor + @typing.final + class AttributesEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str | None = ..., + value: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + WRITER_HANDLE_FIELD_NUMBER: builtins.int REASON_FIELD_NUMBER: builtins.int REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int + ATTRIBUTES_FIELD_NUMBER: builtins.int writer_handle: builtins.int reason: builtins.str request_async_id: builtins.int + @property + def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + """Attributes to attach to the stream trailer.""" + def __init__( self, *, writer_handle: builtins.int | None = ..., reason: builtins.str | None = ..., request_async_id: builtins.int | None = ..., + attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> None: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "reason", b"reason", "request_async_id", b"request_async_id", "writer_handle", b"writer_handle"]) -> None: ... global___TextStreamWriterCloseRequest = TextStreamWriterCloseRequest @@ -1289,12 +1381,17 @@ class StreamTextOptions(google.protobuf.message.Message): REPLY_TO_STREAM_ID_FIELD_NUMBER: builtins.int ATTACHED_STREAM_IDS_FIELD_NUMBER: builtins.int GENERATED_FIELD_NUMBER: builtins.int + COMPRESS_FIELD_NUMBER: builtins.int + SENDER_IDENTITY_FIELD_NUMBER: builtins.int topic: builtins.str id: builtins.str operation_type: global___TextStreamInfo.OperationType.ValueType version: builtins.int reply_to_stream_id: builtins.str generated: builtins.bool + compress: builtins.bool + sender_identity: builtins.str + """Identity the stream's packets are attributed to; requires permission to impersonate.""" @property def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... @property @@ -1313,9 +1410,11 @@ class StreamTextOptions(google.protobuf.message.Message): reply_to_stream_id: builtins.str | None = ..., attached_stream_ids: collections.abc.Iterable[builtins.str] | None = ..., generated: builtins.bool | None = ..., + compress: builtins.bool | None = ..., + sender_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "topic", b"topic", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "attributes", b"attributes", "destination_identities", b"destination_identities", "generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "topic", b"topic", "version", b"version"]) -> None: ... + def HasField(self, field_name: typing.Literal["compress", b"compress", "generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "sender_identity", b"sender_identity", "topic", b"topic", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "attributes", b"attributes", "compress", b"compress", "destination_identities", b"destination_identities", "generated", b"generated", "id", b"id", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "sender_identity", b"sender_identity", "topic", b"topic", "version", b"version"]) -> None: ... global___StreamTextOptions = StreamTextOptions @@ -1347,11 +1446,16 @@ class StreamByteOptions(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int MIME_TYPE_FIELD_NUMBER: builtins.int TOTAL_LENGTH_FIELD_NUMBER: builtins.int + COMPRESS_FIELD_NUMBER: builtins.int + SENDER_IDENTITY_FIELD_NUMBER: builtins.int topic: builtins.str id: builtins.str name: builtins.str mime_type: builtins.str total_length: builtins.int + compress: builtins.bool + sender_identity: builtins.str + """Identity the stream's packets are attributed to; requires permission to impersonate.""" @property def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... @property @@ -1366,9 +1470,11 @@ class StreamByteOptions(google.protobuf.message.Message): name: builtins.str | None = ..., mime_type: builtins.str | None = ..., total_length: builtins.int | None = ..., + compress: builtins.bool | None = ..., + sender_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id", "mime_type", b"mime_type", "name", b"name", "topic", b"topic", "total_length", b"total_length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "destination_identities", b"destination_identities", "id", b"id", "mime_type", b"mime_type", "name", b"name", "topic", b"topic", "total_length", b"total_length"]) -> None: ... + def HasField(self, field_name: typing.Literal["compress", b"compress", "id", b"id", "mime_type", b"mime_type", "name", b"name", "sender_identity", b"sender_identity", "topic", b"topic", "total_length", b"total_length"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "compress", b"compress", "destination_identities", b"destination_identities", "id", b"id", "mime_type", b"mime_type", "name", b"name", "sender_identity", b"sender_identity", "topic", b"topic", "total_length", b"total_length"]) -> None: ... global___StreamByteOptions = StreamByteOptions diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.py b/livekit-rtc/livekit/rtc/_proto/room_pb2.py index 3eb6ae15..e5041ba2 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.py @@ -22,7 +22,7 @@ from . import data_track_pb2 as data__track__pb2 -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\x1a\x11\x64\x61ta_stream.proto\x1a\x10\x64\x61ta_track.proto\"s\n\x0e\x43onnectRequest\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\r\n\x05token\x18\x02 \x02(\t\x12+\n\x07options\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.RoomOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xbf\x03\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x37\n\x06result\x18\x03 \x01(\x0b\x32%.livekit.proto.ConnectCallback.ResultH\x00\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublication\x1a\xb8\x01\n\x06Result\x12&\n\x04room\x18\x01 \x02(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x03 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracksB\t\n\x07message\"s\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\x12/\n\x06reason\x18\x03 \x01(\x0e\x32\x1f.livekit.proto.DisconnectReason\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x7f\n\x17SimulateScenarioRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x35\n\x08scenario\x18\x02 \x02(\x0e\x32#.livekit.proto.SimulateScenarioKind\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SimulateScenarioResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SimulateScenarioCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9c\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x02(\x04\x12\x33\n\x07options\x18\x03 \x02(\x0b\x32\".livekit.proto.TrackPublishOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12;\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationH\x00\x42\t\n\x07message\"/\n\x18ReadyForRoomEventRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\"\x1b\n\x19ReadyForRoomEventResponse\"\x81\x01\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x02(\x08\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xd3\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x02(\x04\x12\x10\n\x08reliable\x18\x04 \x02(\x08\x12\x1c\n\x10\x64\x65stination_sids\x18\x05 \x03(\tB\x02\x18\x01\x12\r\n\x05topic\x18\x06 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x07 \x03(\t\x12\x18\n\x10request_async_id\x18\x08 \x01(\x04\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"6\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xc0\x01\n\x1bPublishTranscriptionRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12\x10\n\x08track_id\x18\x03 \x02(\t\x12\x35\n\x08segments\x18\x04 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"0\n\x1cPublishTranscriptionResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"?\n\x1cPublishTranscriptionCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x90\x01\n\x15PublishSipDtmfRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04\x63ode\x18\x02 \x02(\r\x12\r\n\x05\x64igit\x18\x03 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"*\n\x16PublishSipDtmfResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16PublishSipDtmfCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"g\n\x17SetLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08metadata\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SetLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SetLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9e\x01\n\x16SendChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0f\n\x07message\x18\x02 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x01(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xd6\x01\n\x16\x45\x64itChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tedit_text\x18\x02 \x02(\t\x12\x34\n\x10original_message\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x17\n\x0fsender_identity\x18\x05 \x01(\t\x12\x18\n\x10request_async_id\x18\x06 \x01(\x04\"+\n\x17SendChatMessageResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"{\n\x17SendChatMessageCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x32\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.ChatMessageH\x00\x42\t\n\x07message\"\x8b\x01\n\x19SetLocalAttributesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"-\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x02(\t\".\n\x1aSetLocalAttributesResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"=\n\x1aSetLocalAttributesCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"_\n\x13SetLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"(\n\x14SetLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"7\n\x14SetLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x02(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x02(\x04\"\x17\n\x15SetSubscribedResponse\"G\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xf7\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12?\n\x06result\x18\x03 \x01(\x0b\x32-.livekit.proto.GetSessionStatsCallback.ResultH\x00\x1am\n\x06Result\x12\x30\n\x0fpublisher_stats\x18\x01 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x02 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\t\n\x07message\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\x12\x15\n\rmax_framerate\x18\x02 \x02(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\"\x96\x04\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\x12\x0e\n\x06stream\x18\x08 \x01(\t\x12\x19\n\x11preconnect_buffer\x18\t \x01(\x08\x12\x44\n\x17\x66rame_metadata_features\x18\n \x03(\x0e\x32#.livekit.proto.FrameMetadataFeature\x12\x18\n\x10scalability_mode\x18\x0b \x01(\t\x12\x39\n\rvideo_encoder\x18\x0c \x01(\x0e\x32\".livekit.proto.VideoEncoderBackend\x12\x44\n\x16\x64\x65gradation_preference\x18\r \x01(\x0e\x32$.livekit.proto.DegradationPreference\"=\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\"\xc4\x01\n\tRtcConfig\x12;\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportType\x12K\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicy\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServer\"\xae\x02\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.E2eeOptionsB\x02\x18\x01\x12,\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfig\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\r\x12.\n\nencryption\x18\x07 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptions\x12\x1e\n\x16single_peer_connection\x18\x08 \x01(\x08\x12\x1a\n\x12\x63onnect_timeout_ms\x18\t \x01(\x04\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x02(\t\x12\x0c\n\x04text\x18\x02 \x02(\t\x12\x12\n\nstart_time\x18\x03 \x02(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x02(\x04\x12\r\n\x05\x66inal\x18\x05 \x02(\x08\x12\x10\n\x08language\x18\x06 \x02(\t\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x02(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x02(\x0b\x32\x19.livekit.proto.BufferInfo\"\xce\x17\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x02(\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\x45\n\x16local_track_subscribed\x18\x06 \x01(\x0b\x32#.livekit.proto.LocalTrackSubscribedH\x00\x12\x38\n\x0ftrack_published\x18\x07 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x08 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\t \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\n \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\x0b \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0c \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\r \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\x0e \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0f \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12\x39\n\x10room_sid_changed\x18\x10 \x01(\x0b\x32\x1d.livekit.proto.RoomSidChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x11 \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x12 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12U\n\x1eparticipant_attributes_changed\x18\x13 \x01(\x0b\x32+.livekit.proto.ParticipantAttributesChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x14 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x15 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x17 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x18 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x19 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x1a \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x12\x41\n\x14\x64\x61ta_packet_received\x18\x1b \x01(\x0b\x32!.livekit.proto.DataPacketReceivedH\x00\x12\x46\n\x16transcription_received\x18\x1c \x01(\x0b\x32$.livekit.proto.TranscriptionReceivedH\x00\x12:\n\x0c\x63hat_message\x18\x1d \x01(\x0b\x32\".livekit.proto.ChatMessageReceivedH\x00\x12I\n\x16stream_header_received\x18\x1e \x01(\x0b\x32\'.livekit.proto.DataStreamHeaderReceivedH\x00\x12G\n\x15stream_chunk_received\x18\x1f \x01(\x0b\x32&.livekit.proto.DataStreamChunkReceivedH\x00\x12K\n\x17stream_trailer_received\x18 \x01(\x0b\x32(.livekit.proto.DataStreamTrailerReceivedH\x00\x12i\n\"data_channel_low_threshold_changed\x18! \x01(\x0b\x32;.livekit.proto.DataChannelBufferedAmountLowThresholdChangedH\x00\x12=\n\x12\x62yte_stream_opened\x18\" \x01(\x0b\x32\x1f.livekit.proto.ByteStreamOpenedH\x00\x12=\n\x12text_stream_opened\x18# \x01(\x0b\x32\x1f.livekit.proto.TextStreamOpenedH\x00\x12/\n\x0croom_updated\x18$ \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12(\n\x05moved\x18% \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12\x42\n\x14participants_updated\x18& \x01(\x0b\x32\".livekit.proto.ParticipantsUpdatedH\x00\x12\x62\n%participant_encryption_status_changed\x18\' \x01(\x0b\x32\x31.livekit.proto.ParticipantEncryptionStatusChangedH\x00\x12U\n\x1eparticipant_permission_changed\x18) \x01(\x0b\x32+.livekit.proto.ParticipantPermissionChangedH\x00\x12\x38\n\x0ftoken_refreshed\x18( \x01(\x0b\x32\x1d.livekit.proto.TokenRefreshedH\x00\x12>\n\x12participant_active\x18* \x01(\x0b\x32 .livekit.proto.ParticipantActiveH\x00\x12\x41\n\x14\x64\x61ta_track_published\x18+ \x01(\x0b\x32!.livekit.proto.DataTrackPublishedH\x00\x12\x45\n\x16\x64\x61ta_track_unpublished\x18, \x01(\x0b\x32#.livekit.proto.DataTrackUnpublishedH\x00\x12G\n\x17local_track_republished\x18- \x01(\x0b\x32$.livekit.proto.LocalTrackRepublishedH\x00\x42\t\n\x07message\"\xc9\x02\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x10\n\x08metadata\x18\x03 \x02(\t\x12.\n&lossy_dc_buffered_amount_low_threshold\x18\x04 \x02(\x04\x12\x31\n)reliable_dc_buffered_amount_low_threshold\x18\x05 \x02(\x04\x12\x15\n\rempty_timeout\x18\x06 \x02(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x07 \x02(\r\x12\x18\n\x10max_participants\x18\x08 \x02(\r\x12\x15\n\rcreation_time\x18\t \x02(\x03\x12\x18\n\x10num_participants\x18\n \x02(\r\x12\x16\n\x0enum_publishers\x18\x0b \x02(\r\x12\x18\n\x10\x61\x63tive_recording\x18\x0c \x02(\x08\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x02(\x0b\x32\x17.livekit.proto.RoomInfo\"K\n\x13ParticipantsUpdated\x12\x34\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x1e.livekit.proto.ParticipantInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"1\n\x11ParticipantActive\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\"s\n\x17ParticipantDisconnected\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12:\n\x11\x64isconnect_reason\x18\x02 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x02(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x02(\t\"|\n\x15LocalTrackRepublished\x12\x1a\n\x12publication_handle\x18\x01 \x02(\x04\x12\x14\n\x0cprevious_sid\x18\x02 \x02(\t\x12\x31\n\x04info\x18\x03 \x02(\x0b\x32#.livekit.proto.TrackPublicationInfo\")\n\x14LocalTrackSubscribed\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"i\n\x0eTrackPublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x39\n\x0bpublication\x18\x02 \x02(\x0b\x32$.livekit.proto.OwnedTrackPublication\"I\n\x10TrackUnpublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x02(\t\"Y\n\x0fTrackSubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12(\n\x05track\x18\x02 \x02(\x0b\x32\x19.livekit.proto.OwnedTrack\"D\n\x11TrackUnsubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"Y\n\x17TrackSubscriptionFailed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\r\n\x05\x65rror\x18\x03 \x02(\t\"=\n\nTrackMuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"?\n\x0cTrackUnmuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"_\n\x10\x45\x32\x65\x65StateChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12-\n\x05state\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.EncryptionState\"7\n\x15\x41\x63tiveSpeakersChanged\x12\x1e\n\x16participant_identities\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x02(\t\"\x1d\n\x0eRoomSidChanged\x12\x0b\n\x03sid\x18\x01 \x02(\t\"L\n\x1aParticipantMetadataChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x10\n\x08metadata\x18\x02 \x02(\t\"\xac\x01\n\x1cParticipantAttributesChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12:\n\x12\x63hanged_attributes\x18\x03 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\"X\n\"ParticipantEncryptionStatusChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x14\n\x0cis_encrypted\x18\x02 \x02(\x08\"D\n\x16ParticipantNameChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\"v\n\x1cParticipantPermissionChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x38\n\npermission\x18\x02 \x01(\x0b\x32$.livekit.proto.ParticipantPermission\"k\n\x18\x43onnectionQualityChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x31\n\x07quality\x18\x02 \x02(\x0e\x32 .livekit.proto.ConnectionQuality\"E\n\nUserPacket\x12(\n\x04\x64\x61ta\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\r\n\x05topic\x18\x02 \x01(\t\"y\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x0f\n\x07message\x18\x03 \x02(\t\x12\x16\n\x0e\x65\x64it_timestamp\x18\x04 \x01(\x03\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\"`\n\x13\x43hatMessageReceived\x12+\n\x07message\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x01 \x02(\r\x12\r\n\x05\x64igit\x18\x02 \x01(\t\"\xbf\x01\n\x12\x44\x61taPacketReceived\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12)\n\x04user\x18\x04 \x01(\x0b\x32\x19.livekit.proto.UserPacketH\x00\x12*\n\x08sip_dtmf\x18\x05 \x01(\x0b\x32\x16.livekit.proto.SipDTMFH\x00\x42\x07\n\x05value\"\x7f\n\x15TranscriptionReceived\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x35\n\x08segments\x18\x03 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"?\n\x0c\x44isconnected\x12/\n\x06reason\x18\x01 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\x1f\n\x0eTokenRefreshed\x12\r\n\x05token\x18\x01 \x02(\t\"\t\n\x07RoomEOS\"\x8e\x07\n\nDataStream\x1a\xaa\x01\n\nTextHeader\x12?\n\x0eoperation_type\x18\x01 \x02(\x0e\x32\'.livekit.proto.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x02(\t\x1a\xeb\x02\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x44\n\nattributes\x18\x06 \x03(\x0b\x32\x30.livekit.proto.DataStream.Header.AttributesEntry\x12;\n\x0btext_header\x18\x07 \x01(\x0b\x32$.livekit.proto.DataStream.TextHeaderH\x00\x12;\n\x0b\x62yte_header\x18\x08 \x01(\x0b\x32$.livekit.proto.DataStream.ByteHeaderH\x00\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_header\x1a]\n\x05\x43hunk\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x13\n\x0b\x63hunk_index\x18\x02 \x02(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x02(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\n\n\x02iv\x18\x05 \x01(\x0c\x1a\xa6\x01\n\x07Trailer\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x0e\n\x06reason\x18\x02 \x02(\t\x12\x45\n\nattributes\x18\x03 \x03(\x0b\x32\x31.livekit.proto.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\"j\n\x18\x44\x61taStreamHeaderReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\"g\n\x17\x44\x61taStreamChunkReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\"m\n\x19\x44\x61taStreamTrailerReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\"\xc0\x01\n\x17SendStreamHeaderRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xbd\x01\n\x16SendStreamChunkRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xc3\x01\n\x18SendStreamTrailerRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\",\n\x18SendStreamHeaderResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"+\n\x17SendStreamChunkResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"-\n\x19SendStreamTrailerResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SendStreamHeaderCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\":\n\x17SendStreamChunkCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"<\n\x19SendStreamTrailerCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x93\x01\n/SetDataChannelBufferedAmountLowThresholdRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tthreshold\x18\x02 \x02(\x04\x12+\n\x04kind\x18\x03 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\"2\n0SetDataChannelBufferedAmountLowThresholdResponse\"n\n,DataChannelBufferedAmountLowThresholdChanged\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x11\n\tthreshold\x18\x02 \x02(\x04\"f\n\x10\x42yteStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedByteStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"f\n\x10TextStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedTextStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"H\n\x12\x44\x61taTrackPublished\x12\x32\n\x05track\x18\x01 \x02(\x0b\x32#.livekit.proto.OwnedRemoteDataTrack\"#\n\x14\x44\x61taTrackUnpublished\x12\x0b\n\x03sid\x18\x01 \x02(\t*\x90\x02\n\x14SimulateScenarioKind\x12\x1d\n\x19SIMULATE_SIGNAL_RECONNECT\x10\x00\x12\x14\n\x10SIMULATE_SPEAKER\x10\x01\x12\x19\n\x15SIMULATE_NODE_FAILURE\x10\x02\x12\x19\n\x15SIMULATE_SERVER_LEAVE\x10\x03\x12\x16\n\x12SIMULATE_MIGRATION\x10\x04\x12\x16\n\x12SIMULATE_FORCE_TCP\x10\x05\x12\x16\n\x12SIMULATE_FORCE_TLS\x10\x06\x12\x1b\n\x17SIMULATE_FULL_RECONNECT\x10\x07\x12(\n$SIMULATE_DISCONNECT_SIGNAL_ON_RESUME\x10\x08*\xc3\x01\n\x13VideoEncoderBackend\x12\x18\n\x14\x45NCODER_BACKEND_AUTO\x10\x00\x12\x1c\n\x18\x45NCODER_BACKEND_SOFTWARE\x10\x01\x12\x1c\n\x18\x45NCODER_BACKEND_HARDWARE\x10\x02\x12\x19\n\x15\x45NCODER_BACKEND_NVENC\x10\x03\x12\x19\n\x15\x45NCODER_BACKEND_VAAPI\x10\x04\x12 \n\x1c\x45NCODER_BACKEND_VIDEOTOOLBOX\x10\x05*\xfe\x01\n\x15\x44\x65gradationPreference\x12#\n\x1f\x44\x45GRADATION_PREFERENCE_BALANCED\x10\x00\x12-\n)DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE\x10\x01\x12.\n*DEGRADATION_PREFERENCE_MAINTAIN_RESOLUTION\x10\x02\x12#\n\x1f\x44\x45GRADATION_PREFERENCE_DISABLED\x10\x03\x12<\n8DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE_AND_RESOLUTION\x10\x04*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.Proto') +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\x1a\x11\x64\x61ta_stream.proto\x1a\x10\x64\x61ta_track.proto\"s\n\x0e\x43onnectRequest\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\r\n\x05token\x18\x02 \x02(\t\x12+\n\x07options\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.RoomOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xbf\x03\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x37\n\x06result\x18\x03 \x01(\x0b\x32%.livekit.proto.ConnectCallback.ResultH\x00\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublication\x1a\xb8\x01\n\x06Result\x12&\n\x04room\x18\x01 \x02(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x03 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracksB\t\n\x07message\"s\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\x12/\n\x06reason\x18\x03 \x01(\x0e\x32\x1f.livekit.proto.DisconnectReason\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x7f\n\x17SimulateScenarioRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x35\n\x08scenario\x18\x02 \x02(\x0e\x32#.livekit.proto.SimulateScenarioKind\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SimulateScenarioResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SimulateScenarioCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9c\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x02(\x04\x12\x33\n\x07options\x18\x03 \x02(\x0b\x32\".livekit.proto.TrackPublishOptions\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12;\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationH\x00\x42\t\n\x07message\"/\n\x18ReadyForRoomEventRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\"\x1b\n\x19ReadyForRoomEventResponse\"\x81\x01\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x02(\x08\x12\x18\n\x10request_async_id\x18\x04 \x01(\x04\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xd3\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x02(\x04\x12\x10\n\x08reliable\x18\x04 \x02(\x08\x12\x1c\n\x10\x64\x65stination_sids\x18\x05 \x03(\tB\x02\x18\x01\x12\r\n\x05topic\x18\x06 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x07 \x03(\t\x12\x18\n\x10request_async_id\x18\x08 \x01(\x04\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"6\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xc0\x01\n\x1bPublishTranscriptionRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12\x10\n\x08track_id\x18\x03 \x02(\t\x12\x35\n\x08segments\x18\x04 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"0\n\x1cPublishTranscriptionResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"?\n\x1cPublishTranscriptionCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x90\x01\n\x15PublishSipDtmfRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04\x63ode\x18\x02 \x02(\r\x12\r\n\x05\x64igit\x18\x03 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"*\n\x16PublishSipDtmfResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"9\n\x16PublishSipDtmfCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"g\n\x17SetLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08metadata\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\",\n\x18SetLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SetLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x9e\x01\n\x16SendChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0f\n\x07message\x18\x02 \x02(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x01(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xd6\x01\n\x16\x45\x64itChatMessageRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tedit_text\x18\x02 \x02(\t\x12\x34\n\x10original_message\x18\x03 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1e\n\x16\x64\x65stination_identities\x18\x04 \x03(\t\x12\x17\n\x0fsender_identity\x18\x05 \x01(\t\x12\x18\n\x10request_async_id\x18\x06 \x01(\x04\"+\n\x17SendChatMessageResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"{\n\x17SendChatMessageCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x32\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.ChatMessageH\x00\x42\t\n\x07message\"\x8b\x01\n\x19SetLocalAttributesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"-\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x02(\t\".\n\x1aSetLocalAttributesResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"=\n\x1aSetLocalAttributesCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"_\n\x13SetLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\"(\n\x14SetLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"7\n\x14SetLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x02(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x02(\x04\"\x17\n\x15SetSubscribedResponse\"G\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\x12\x18\n\x10request_async_id\x18\x02 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\xf7\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12?\n\x06result\x18\x03 \x01(\x0b\x32-.livekit.proto.GetSessionStatsCallback.ResultH\x00\x1am\n\x06Result\x12\x30\n\x0fpublisher_stats\x18\x01 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x02 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\t\n\x07message\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\x12\x15\n\rmax_framerate\x18\x02 \x02(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x02(\x04\"\x96\x04\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\x12\x0e\n\x06stream\x18\x08 \x01(\t\x12\x19\n\x11preconnect_buffer\x18\t \x01(\x08\x12\x44\n\x17\x66rame_metadata_features\x18\n \x03(\x0e\x32#.livekit.proto.FrameMetadataFeature\x12\x18\n\x10scalability_mode\x18\x0b \x01(\t\x12\x39\n\rvideo_encoder\x18\x0c \x01(\x0e\x32\".livekit.proto.VideoEncoderBackend\x12\x44\n\x16\x64\x65gradation_preference\x18\r \x01(\x0e\x32$.livekit.proto.DegradationPreference\"=\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\"\xc4\x01\n\tRtcConfig\x12;\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportType\x12K\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicy\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServer\"b\n\x15RoomDataStreamOptions\x12\x1f\n\x17max_payload_byte_length\x18\x01 \x01(\x04\x12(\n use_legacy_client_implementation\x18\x02 \x01(\x08\"\xe9\x02\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.E2eeOptionsB\x02\x18\x01\x12,\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfig\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\r\x12.\n\nencryption\x18\x07 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptions\x12\x1e\n\x16single_peer_connection\x18\x08 \x01(\x08\x12\x1a\n\x12\x63onnect_timeout_ms\x18\t \x01(\x04\x12\x39\n\x0b\x64\x61ta_stream\x18\n \x01(\x0b\x32$.livekit.proto.RoomDataStreamOptions\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x02(\t\x12\x0c\n\x04text\x18\x02 \x02(\t\x12\x12\n\nstart_time\x18\x03 \x02(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x02(\x04\x12\r\n\x05\x66inal\x18\x05 \x02(\x08\x12\x10\n\x08language\x18\x06 \x02(\t\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x02(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x02(\x0b\x32\x19.livekit.proto.BufferInfo\"\xce\x17\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x02(\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\x45\n\x16local_track_subscribed\x18\x06 \x01(\x0b\x32#.livekit.proto.LocalTrackSubscribedH\x00\x12\x38\n\x0ftrack_published\x18\x07 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x08 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\t \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\n \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\x0b \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0c \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\r \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\x0e \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0f \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12\x39\n\x10room_sid_changed\x18\x10 \x01(\x0b\x32\x1d.livekit.proto.RoomSidChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x11 \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x12 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12U\n\x1eparticipant_attributes_changed\x18\x13 \x01(\x0b\x32+.livekit.proto.ParticipantAttributesChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x14 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x15 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x17 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x18 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x19 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x1a \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x12\x41\n\x14\x64\x61ta_packet_received\x18\x1b \x01(\x0b\x32!.livekit.proto.DataPacketReceivedH\x00\x12\x46\n\x16transcription_received\x18\x1c \x01(\x0b\x32$.livekit.proto.TranscriptionReceivedH\x00\x12:\n\x0c\x63hat_message\x18\x1d \x01(\x0b\x32\".livekit.proto.ChatMessageReceivedH\x00\x12I\n\x16stream_header_received\x18\x1e \x01(\x0b\x32\'.livekit.proto.DataStreamHeaderReceivedH\x00\x12G\n\x15stream_chunk_received\x18\x1f \x01(\x0b\x32&.livekit.proto.DataStreamChunkReceivedH\x00\x12K\n\x17stream_trailer_received\x18 \x01(\x0b\x32(.livekit.proto.DataStreamTrailerReceivedH\x00\x12i\n\"data_channel_low_threshold_changed\x18! \x01(\x0b\x32;.livekit.proto.DataChannelBufferedAmountLowThresholdChangedH\x00\x12=\n\x12\x62yte_stream_opened\x18\" \x01(\x0b\x32\x1f.livekit.proto.ByteStreamOpenedH\x00\x12=\n\x12text_stream_opened\x18# \x01(\x0b\x32\x1f.livekit.proto.TextStreamOpenedH\x00\x12/\n\x0croom_updated\x18$ \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12(\n\x05moved\x18% \x01(\x0b\x32\x17.livekit.proto.RoomInfoH\x00\x12\x42\n\x14participants_updated\x18& \x01(\x0b\x32\".livekit.proto.ParticipantsUpdatedH\x00\x12\x62\n%participant_encryption_status_changed\x18\' \x01(\x0b\x32\x31.livekit.proto.ParticipantEncryptionStatusChangedH\x00\x12U\n\x1eparticipant_permission_changed\x18) \x01(\x0b\x32+.livekit.proto.ParticipantPermissionChangedH\x00\x12\x38\n\x0ftoken_refreshed\x18( \x01(\x0b\x32\x1d.livekit.proto.TokenRefreshedH\x00\x12>\n\x12participant_active\x18* \x01(\x0b\x32 .livekit.proto.ParticipantActiveH\x00\x12\x41\n\x14\x64\x61ta_track_published\x18+ \x01(\x0b\x32!.livekit.proto.DataTrackPublishedH\x00\x12\x45\n\x16\x64\x61ta_track_unpublished\x18, \x01(\x0b\x32#.livekit.proto.DataTrackUnpublishedH\x00\x12G\n\x17local_track_republished\x18- \x01(\x0b\x32$.livekit.proto.LocalTrackRepublishedH\x00\x42\t\n\x07message\"\xc9\x02\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x10\n\x08metadata\x18\x03 \x02(\t\x12.\n&lossy_dc_buffered_amount_low_threshold\x18\x04 \x02(\x04\x12\x31\n)reliable_dc_buffered_amount_low_threshold\x18\x05 \x02(\x04\x12\x15\n\rempty_timeout\x18\x06 \x02(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x07 \x02(\r\x12\x18\n\x10max_participants\x18\x08 \x02(\r\x12\x15\n\rcreation_time\x18\t \x02(\x03\x12\x18\n\x10num_participants\x18\n \x02(\r\x12\x16\n\x0enum_publishers\x18\x0b \x02(\r\x12\x18\n\x10\x61\x63tive_recording\x18\x0c \x02(\x08\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x02(\x0b\x32\x17.livekit.proto.RoomInfo\"K\n\x13ParticipantsUpdated\x12\x34\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x1e.livekit.proto.ParticipantInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"1\n\x11ParticipantActive\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\"s\n\x17ParticipantDisconnected\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12:\n\x11\x64isconnect_reason\x18\x02 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x02(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x02(\t\"|\n\x15LocalTrackRepublished\x12\x1a\n\x12publication_handle\x18\x01 \x02(\x04\x12\x14\n\x0cprevious_sid\x18\x02 \x02(\t\x12\x31\n\x04info\x18\x03 \x02(\x0b\x32#.livekit.proto.TrackPublicationInfo\")\n\x14LocalTrackSubscribed\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"i\n\x0eTrackPublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x39\n\x0bpublication\x18\x02 \x02(\x0b\x32$.livekit.proto.OwnedTrackPublication\"I\n\x10TrackUnpublished\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x02(\t\"Y\n\x0fTrackSubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12(\n\x05track\x18\x02 \x02(\x0b\x32\x19.livekit.proto.OwnedTrack\"D\n\x11TrackUnsubscribed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"Y\n\x17TrackSubscriptionFailed\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\x12\r\n\x05\x65rror\x18\x03 \x02(\t\"=\n\nTrackMuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"?\n\x0cTrackUnmuted\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x11\n\ttrack_sid\x18\x02 \x02(\t\"_\n\x10\x45\x32\x65\x65StateChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12-\n\x05state\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.EncryptionState\"7\n\x15\x41\x63tiveSpeakersChanged\x12\x1e\n\x16participant_identities\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x02(\t\"\x1d\n\x0eRoomSidChanged\x12\x0b\n\x03sid\x18\x01 \x02(\t\"L\n\x1aParticipantMetadataChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x10\n\x08metadata\x18\x02 \x02(\t\"\xac\x01\n\x1cParticipantAttributesChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\x12:\n\x12\x63hanged_attributes\x18\x03 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\"X\n\"ParticipantEncryptionStatusChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x14\n\x0cis_encrypted\x18\x02 \x02(\x08\"D\n\x16ParticipantNameChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\"v\n\x1cParticipantPermissionChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x38\n\npermission\x18\x02 \x01(\x0b\x32$.livekit.proto.ParticipantPermission\"k\n\x18\x43onnectionQualityChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x31\n\x07quality\x18\x02 \x02(\x0e\x32 .livekit.proto.ConnectionQuality\"E\n\nUserPacket\x12(\n\x04\x64\x61ta\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\r\n\x05topic\x18\x02 \x01(\t\"y\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x0f\n\x07message\x18\x03 \x02(\t\x12\x16\n\x0e\x65\x64it_timestamp\x18\x04 \x01(\x03\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\"`\n\x13\x43hatMessageReceived\x12+\n\x07message\x18\x01 \x02(\x0b\x32\x1a.livekit.proto.ChatMessage\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x01 \x02(\r\x12\r\n\x05\x64igit\x18\x02 \x01(\t\"\xbf\x01\n\x12\x44\x61taPacketReceived\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\x12)\n\x04user\x18\x04 \x01(\x0b\x32\x19.livekit.proto.UserPacketH\x00\x12*\n\x08sip_dtmf\x18\x05 \x01(\x0b\x32\x16.livekit.proto.SipDTMFH\x00\x42\x07\n\x05value\"\x7f\n\x15TranscriptionReceived\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x35\n\x08segments\x18\x03 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"?\n\x0c\x44isconnected\x12/\n\x06reason\x18\x01 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\x1f\n\x0eTokenRefreshed\x12\r\n\x05token\x18\x01 \x02(\t\"\t\n\x07RoomEOS\"\x8e\x07\n\nDataStream\x1a\xaa\x01\n\nTextHeader\x12?\n\x0eoperation_type\x18\x01 \x02(\x0e\x32\'.livekit.proto.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x02(\t\x1a\xeb\x02\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\r\n\x05topic\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x44\n\nattributes\x18\x06 \x03(\x0b\x32\x30.livekit.proto.DataStream.Header.AttributesEntry\x12;\n\x0btext_header\x18\x07 \x01(\x0b\x32$.livekit.proto.DataStream.TextHeaderH\x00\x12;\n\x0b\x62yte_header\x18\x08 \x01(\x0b\x32$.livekit.proto.DataStream.ByteHeaderH\x00\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_header\x1a]\n\x05\x43hunk\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x13\n\x0b\x63hunk_index\x18\x02 \x02(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x02(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\n\n\x02iv\x18\x05 \x01(\x0c\x1a\xa6\x01\n\x07Trailer\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x0e\n\x06reason\x18\x02 \x02(\t\x12\x45\n\nattributes\x18\x03 \x03(\x0b\x32\x31.livekit.proto.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\"j\n\x18\x44\x61taStreamHeaderReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\"g\n\x17\x44\x61taStreamChunkReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\"m\n\x19\x44\x61taStreamTrailerReceived\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\"\xc0\x01\n\x17SendStreamHeaderRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x30\n\x06header\x18\x02 \x02(\x0b\x32 .livekit.proto.DataStream.Header\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xbd\x01\n\x16SendStreamChunkRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12.\n\x05\x63hunk\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataStream.Chunk\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\"\xc3\x01\n\x18SendStreamTrailerRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\x07trailer\x18\x02 \x02(\x0b\x32!.livekit.proto.DataStream.Trailer\x12\x1e\n\x16\x64\x65stination_identities\x18\x03 \x03(\t\x12\x17\n\x0fsender_identity\x18\x04 \x02(\t\x12\x18\n\x10request_async_id\x18\x05 \x01(\x04\",\n\x18SendStreamHeaderResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"+\n\x17SendStreamChunkResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"-\n\x19SendStreamTrailerResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\";\n\x18SendStreamHeaderCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\":\n\x17SendStreamChunkCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"<\n\x19SendStreamTrailerCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x93\x01\n/SetDataChannelBufferedAmountLowThresholdRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x11\n\tthreshold\x18\x02 \x02(\x04\x12+\n\x04kind\x18\x03 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\"2\n0SetDataChannelBufferedAmountLowThresholdResponse\"n\n,DataChannelBufferedAmountLowThresholdChanged\x12+\n\x04kind\x18\x01 \x02(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x11\n\tthreshold\x18\x02 \x02(\x04\"f\n\x10\x42yteStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedByteStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"f\n\x10TextStreamOpened\x12\x34\n\x06reader\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedTextStreamReader\x12\x1c\n\x14participant_identity\x18\x02 \x02(\t\"H\n\x12\x44\x61taTrackPublished\x12\x32\n\x05track\x18\x01 \x02(\x0b\x32#.livekit.proto.OwnedRemoteDataTrack\"#\n\x14\x44\x61taTrackUnpublished\x12\x0b\n\x03sid\x18\x01 \x02(\t*\x90\x02\n\x14SimulateScenarioKind\x12\x1d\n\x19SIMULATE_SIGNAL_RECONNECT\x10\x00\x12\x14\n\x10SIMULATE_SPEAKER\x10\x01\x12\x19\n\x15SIMULATE_NODE_FAILURE\x10\x02\x12\x19\n\x15SIMULATE_SERVER_LEAVE\x10\x03\x12\x16\n\x12SIMULATE_MIGRATION\x10\x04\x12\x16\n\x12SIMULATE_FORCE_TCP\x10\x05\x12\x16\n\x12SIMULATE_FORCE_TLS\x10\x06\x12\x1b\n\x17SIMULATE_FULL_RECONNECT\x10\x07\x12(\n$SIMULATE_DISCONNECT_SIGNAL_ON_RESUME\x10\x08*\xc3\x01\n\x13VideoEncoderBackend\x12\x18\n\x14\x45NCODER_BACKEND_AUTO\x10\x00\x12\x1c\n\x18\x45NCODER_BACKEND_SOFTWARE\x10\x01\x12\x1c\n\x18\x45NCODER_BACKEND_HARDWARE\x10\x02\x12\x19\n\x15\x45NCODER_BACKEND_NVENC\x10\x03\x12\x19\n\x15\x45NCODER_BACKEND_VAAPI\x10\x04\x12 \n\x1c\x45NCODER_BACKEND_VIDEOTOOLBOX\x10\x05*\xd9\x01\n\x15\x44\x65gradationPreference\x12#\n\x1f\x44\x45GRADATION_PREFERENCE_BALANCED\x10\x00\x12-\n)DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE\x10\x01\x12.\n*DEGRADATION_PREFERENCE_MAINTAIN_RESOLUTION\x10\x02\x12<\n8DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE_AND_RESOLUTION\x10\x04*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.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,22 +38,22 @@ _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._options = None _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_SIMULATESCENARIOKIND']._serialized_start=15028 - _globals['_SIMULATESCENARIOKIND']._serialized_end=15300 - _globals['_VIDEOENCODERBACKEND']._serialized_start=15303 - _globals['_VIDEOENCODERBACKEND']._serialized_end=15498 - _globals['_DEGRADATIONPREFERENCE']._serialized_start=15501 - _globals['_DEGRADATIONPREFERENCE']._serialized_end=15755 - _globals['_ICETRANSPORTTYPE']._serialized_start=15757 - _globals['_ICETRANSPORTTYPE']._serialized_end=15837 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=15839 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=15906 - _globals['_CONNECTIONQUALITY']._serialized_start=15908 - _globals['_CONNECTIONQUALITY']._serialized_end=16004 - _globals['_CONNECTIONSTATE']._serialized_start=16006 - _globals['_CONNECTIONSTATE']._serialized_end=16089 - _globals['_DATAPACKETKIND']._serialized_start=16091 - _globals['_DATAPACKETKIND']._serialized_end=16142 + _globals['_SIMULATESCENARIOKIND']._serialized_start=15187 + _globals['_SIMULATESCENARIOKIND']._serialized_end=15459 + _globals['_VIDEOENCODERBACKEND']._serialized_start=15462 + _globals['_VIDEOENCODERBACKEND']._serialized_end=15657 + _globals['_DEGRADATIONPREFERENCE']._serialized_start=15660 + _globals['_DEGRADATIONPREFERENCE']._serialized_end=15877 + _globals['_ICETRANSPORTTYPE']._serialized_start=15879 + _globals['_ICETRANSPORTTYPE']._serialized_end=15959 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=15961 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=16028 + _globals['_CONNECTIONQUALITY']._serialized_start=16030 + _globals['_CONNECTIONQUALITY']._serialized_end=16126 + _globals['_CONNECTIONSTATE']._serialized_start=16128 + _globals['_CONNECTIONSTATE']._serialized_end=16211 + _globals['_DATAPACKETKIND']._serialized_start=16213 + _globals['_DATAPACKETKIND']._serialized_end=16264 _globals['_CONNECTREQUEST']._serialized_start=156 _globals['_CONNECTREQUEST']._serialized_end=271 _globals['_CONNECTRESPONSE']._serialized_start=273 @@ -160,150 +160,152 @@ _globals['_ICESERVER']._serialized_end=5127 _globals['_RTCCONFIG']._serialized_start=5130 _globals['_RTCCONFIG']._serialized_end=5326 - _globals['_ROOMOPTIONS']._serialized_start=5329 - _globals['_ROOMOPTIONS']._serialized_end=5631 - _globals['_TRANSCRIPTIONSEGMENT']._serialized_start=5633 - _globals['_TRANSCRIPTIONSEGMENT']._serialized_end=5752 - _globals['_BUFFERINFO']._serialized_start=5754 - _globals['_BUFFERINFO']._serialized_end=5802 - _globals['_OWNEDBUFFER']._serialized_start=5804 - _globals['_OWNEDBUFFER']._serialized_end=5905 - _globals['_ROOMEVENT']._serialized_start=5908 - _globals['_ROOMEVENT']._serialized_end=8930 - _globals['_ROOMINFO']._serialized_start=8933 - _globals['_ROOMINFO']._serialized_end=9262 - _globals['_OWNEDROOM']._serialized_start=9264 - _globals['_OWNEDROOM']._serialized_end=9361 - _globals['_PARTICIPANTSUPDATED']._serialized_start=9363 - _globals['_PARTICIPANTSUPDATED']._serialized_end=9438 - _globals['_PARTICIPANTCONNECTED']._serialized_start=9440 - _globals['_PARTICIPANTCONNECTED']._serialized_end=9509 - _globals['_PARTICIPANTACTIVE']._serialized_start=9511 - _globals['_PARTICIPANTACTIVE']._serialized_end=9560 - _globals['_PARTICIPANTDISCONNECTED']._serialized_start=9562 - _globals['_PARTICIPANTDISCONNECTED']._serialized_end=9677 - _globals['_LOCALTRACKPUBLISHED']._serialized_start=9679 - _globals['_LOCALTRACKPUBLISHED']._serialized_end=9719 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=9721 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=9769 - _globals['_LOCALTRACKREPUBLISHED']._serialized_start=9771 - _globals['_LOCALTRACKREPUBLISHED']._serialized_end=9895 - _globals['_LOCALTRACKSUBSCRIBED']._serialized_start=9897 - _globals['_LOCALTRACKSUBSCRIBED']._serialized_end=9938 - _globals['_TRACKPUBLISHED']._serialized_start=9940 - _globals['_TRACKPUBLISHED']._serialized_end=10045 - _globals['_TRACKUNPUBLISHED']._serialized_start=10047 - _globals['_TRACKUNPUBLISHED']._serialized_end=10120 - _globals['_TRACKSUBSCRIBED']._serialized_start=10122 - _globals['_TRACKSUBSCRIBED']._serialized_end=10211 - _globals['_TRACKUNSUBSCRIBED']._serialized_start=10213 - _globals['_TRACKUNSUBSCRIBED']._serialized_end=10281 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=10283 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=10372 - _globals['_TRACKMUTED']._serialized_start=10374 - _globals['_TRACKMUTED']._serialized_end=10435 - _globals['_TRACKUNMUTED']._serialized_start=10437 - _globals['_TRACKUNMUTED']._serialized_end=10500 - _globals['_E2EESTATECHANGED']._serialized_start=10502 - _globals['_E2EESTATECHANGED']._serialized_end=10597 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=10599 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=10654 - _globals['_ROOMMETADATACHANGED']._serialized_start=10656 - _globals['_ROOMMETADATACHANGED']._serialized_end=10695 - _globals['_ROOMSIDCHANGED']._serialized_start=10697 - _globals['_ROOMSIDCHANGED']._serialized_end=10726 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=10728 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=10804 - _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_start=10807 - _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_end=10979 - _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_start=10981 - _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_end=11069 - _globals['_PARTICIPANTNAMECHANGED']._serialized_start=11071 - _globals['_PARTICIPANTNAMECHANGED']._serialized_end=11139 - _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_start=11141 - _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_end=11259 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=11261 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=11368 - _globals['_USERPACKET']._serialized_start=11370 - _globals['_USERPACKET']._serialized_end=11439 - _globals['_CHATMESSAGE']._serialized_start=11441 - _globals['_CHATMESSAGE']._serialized_end=11562 - _globals['_CHATMESSAGERECEIVED']._serialized_start=11564 - _globals['_CHATMESSAGERECEIVED']._serialized_end=11660 - _globals['_SIPDTMF']._serialized_start=11662 - _globals['_SIPDTMF']._serialized_end=11700 - _globals['_DATAPACKETRECEIVED']._serialized_start=11703 - _globals['_DATAPACKETRECEIVED']._serialized_end=11894 - _globals['_TRANSCRIPTIONRECEIVED']._serialized_start=11896 - _globals['_TRANSCRIPTIONRECEIVED']._serialized_end=12023 - _globals['_CONNECTIONSTATECHANGED']._serialized_start=12025 - _globals['_CONNECTIONSTATECHANGED']._serialized_end=12096 - _globals['_CONNECTED']._serialized_start=12098 - _globals['_CONNECTED']._serialized_end=12109 - _globals['_DISCONNECTED']._serialized_start=12111 - _globals['_DISCONNECTED']._serialized_end=12174 - _globals['_RECONNECTING']._serialized_start=12176 - _globals['_RECONNECTING']._serialized_end=12190 - _globals['_RECONNECTED']._serialized_start=12192 - _globals['_RECONNECTED']._serialized_end=12205 - _globals['_TOKENREFRESHED']._serialized_start=12207 - _globals['_TOKENREFRESHED']._serialized_end=12238 - _globals['_ROOMEOS']._serialized_start=12240 - _globals['_ROOMEOS']._serialized_end=12249 - _globals['_DATASTREAM']._serialized_start=12252 - _globals['_DATASTREAM']._serialized_end=13162 - _globals['_DATASTREAM_TEXTHEADER']._serialized_start=12267 - _globals['_DATASTREAM_TEXTHEADER']._serialized_end=12437 - _globals['_DATASTREAM_BYTEHEADER']._serialized_start=12439 - _globals['_DATASTREAM_BYTEHEADER']._serialized_end=12465 - _globals['_DATASTREAM_HEADER']._serialized_start=12468 - _globals['_DATASTREAM_HEADER']._serialized_end=12831 - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_start=12764 - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_end=12813 - _globals['_DATASTREAM_CHUNK']._serialized_start=12833 - _globals['_DATASTREAM_CHUNK']._serialized_end=12926 - _globals['_DATASTREAM_TRAILER']._serialized_start=12929 - _globals['_DATASTREAM_TRAILER']._serialized_end=13095 - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_start=12764 - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_end=12813 - _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=13097 - _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=13162 - _globals['_DATASTREAMHEADERRECEIVED']._serialized_start=13164 - _globals['_DATASTREAMHEADERRECEIVED']._serialized_end=13270 - _globals['_DATASTREAMCHUNKRECEIVED']._serialized_start=13272 - _globals['_DATASTREAMCHUNKRECEIVED']._serialized_end=13375 - _globals['_DATASTREAMTRAILERRECEIVED']._serialized_start=13377 - _globals['_DATASTREAMTRAILERRECEIVED']._serialized_end=13486 - _globals['_SENDSTREAMHEADERREQUEST']._serialized_start=13489 - _globals['_SENDSTREAMHEADERREQUEST']._serialized_end=13681 - _globals['_SENDSTREAMCHUNKREQUEST']._serialized_start=13684 - _globals['_SENDSTREAMCHUNKREQUEST']._serialized_end=13873 - _globals['_SENDSTREAMTRAILERREQUEST']._serialized_start=13876 - _globals['_SENDSTREAMTRAILERREQUEST']._serialized_end=14071 - _globals['_SENDSTREAMHEADERRESPONSE']._serialized_start=14073 - _globals['_SENDSTREAMHEADERRESPONSE']._serialized_end=14117 - _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_start=14119 - _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_end=14162 - _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_start=14164 - _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_end=14209 - _globals['_SENDSTREAMHEADERCALLBACK']._serialized_start=14211 - _globals['_SENDSTREAMHEADERCALLBACK']._serialized_end=14270 - _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_start=14272 - _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_end=14330 - _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_start=14332 - _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_end=14392 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_start=14395 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_end=14542 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_start=14544 - _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_end=14594 - _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_start=14596 - _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_end=14706 - _globals['_BYTESTREAMOPENED']._serialized_start=14708 - _globals['_BYTESTREAMOPENED']._serialized_end=14810 - _globals['_TEXTSTREAMOPENED']._serialized_start=14812 - _globals['_TEXTSTREAMOPENED']._serialized_end=14914 - _globals['_DATATRACKPUBLISHED']._serialized_start=14916 - _globals['_DATATRACKPUBLISHED']._serialized_end=14988 - _globals['_DATATRACKUNPUBLISHED']._serialized_start=14990 - _globals['_DATATRACKUNPUBLISHED']._serialized_end=15025 + _globals['_ROOMDATASTREAMOPTIONS']._serialized_start=5328 + _globals['_ROOMDATASTREAMOPTIONS']._serialized_end=5426 + _globals['_ROOMOPTIONS']._serialized_start=5429 + _globals['_ROOMOPTIONS']._serialized_end=5790 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_start=5792 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_end=5911 + _globals['_BUFFERINFO']._serialized_start=5913 + _globals['_BUFFERINFO']._serialized_end=5961 + _globals['_OWNEDBUFFER']._serialized_start=5963 + _globals['_OWNEDBUFFER']._serialized_end=6064 + _globals['_ROOMEVENT']._serialized_start=6067 + _globals['_ROOMEVENT']._serialized_end=9089 + _globals['_ROOMINFO']._serialized_start=9092 + _globals['_ROOMINFO']._serialized_end=9421 + _globals['_OWNEDROOM']._serialized_start=9423 + _globals['_OWNEDROOM']._serialized_end=9520 + _globals['_PARTICIPANTSUPDATED']._serialized_start=9522 + _globals['_PARTICIPANTSUPDATED']._serialized_end=9597 + _globals['_PARTICIPANTCONNECTED']._serialized_start=9599 + _globals['_PARTICIPANTCONNECTED']._serialized_end=9668 + _globals['_PARTICIPANTACTIVE']._serialized_start=9670 + _globals['_PARTICIPANTACTIVE']._serialized_end=9719 + _globals['_PARTICIPANTDISCONNECTED']._serialized_start=9721 + _globals['_PARTICIPANTDISCONNECTED']._serialized_end=9836 + _globals['_LOCALTRACKPUBLISHED']._serialized_start=9838 + _globals['_LOCALTRACKPUBLISHED']._serialized_end=9878 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=9880 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=9928 + _globals['_LOCALTRACKREPUBLISHED']._serialized_start=9930 + _globals['_LOCALTRACKREPUBLISHED']._serialized_end=10054 + _globals['_LOCALTRACKSUBSCRIBED']._serialized_start=10056 + _globals['_LOCALTRACKSUBSCRIBED']._serialized_end=10097 + _globals['_TRACKPUBLISHED']._serialized_start=10099 + _globals['_TRACKPUBLISHED']._serialized_end=10204 + _globals['_TRACKUNPUBLISHED']._serialized_start=10206 + _globals['_TRACKUNPUBLISHED']._serialized_end=10279 + _globals['_TRACKSUBSCRIBED']._serialized_start=10281 + _globals['_TRACKSUBSCRIBED']._serialized_end=10370 + _globals['_TRACKUNSUBSCRIBED']._serialized_start=10372 + _globals['_TRACKUNSUBSCRIBED']._serialized_end=10440 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=10442 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=10531 + _globals['_TRACKMUTED']._serialized_start=10533 + _globals['_TRACKMUTED']._serialized_end=10594 + _globals['_TRACKUNMUTED']._serialized_start=10596 + _globals['_TRACKUNMUTED']._serialized_end=10659 + _globals['_E2EESTATECHANGED']._serialized_start=10661 + _globals['_E2EESTATECHANGED']._serialized_end=10756 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=10758 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=10813 + _globals['_ROOMMETADATACHANGED']._serialized_start=10815 + _globals['_ROOMMETADATACHANGED']._serialized_end=10854 + _globals['_ROOMSIDCHANGED']._serialized_start=10856 + _globals['_ROOMSIDCHANGED']._serialized_end=10885 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=10887 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=10963 + _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_start=10966 + _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_end=11138 + _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_start=11140 + _globals['_PARTICIPANTENCRYPTIONSTATUSCHANGED']._serialized_end=11228 + _globals['_PARTICIPANTNAMECHANGED']._serialized_start=11230 + _globals['_PARTICIPANTNAMECHANGED']._serialized_end=11298 + _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_start=11300 + _globals['_PARTICIPANTPERMISSIONCHANGED']._serialized_end=11418 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=11420 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=11527 + _globals['_USERPACKET']._serialized_start=11529 + _globals['_USERPACKET']._serialized_end=11598 + _globals['_CHATMESSAGE']._serialized_start=11600 + _globals['_CHATMESSAGE']._serialized_end=11721 + _globals['_CHATMESSAGERECEIVED']._serialized_start=11723 + _globals['_CHATMESSAGERECEIVED']._serialized_end=11819 + _globals['_SIPDTMF']._serialized_start=11821 + _globals['_SIPDTMF']._serialized_end=11859 + _globals['_DATAPACKETRECEIVED']._serialized_start=11862 + _globals['_DATAPACKETRECEIVED']._serialized_end=12053 + _globals['_TRANSCRIPTIONRECEIVED']._serialized_start=12055 + _globals['_TRANSCRIPTIONRECEIVED']._serialized_end=12182 + _globals['_CONNECTIONSTATECHANGED']._serialized_start=12184 + _globals['_CONNECTIONSTATECHANGED']._serialized_end=12255 + _globals['_CONNECTED']._serialized_start=12257 + _globals['_CONNECTED']._serialized_end=12268 + _globals['_DISCONNECTED']._serialized_start=12270 + _globals['_DISCONNECTED']._serialized_end=12333 + _globals['_RECONNECTING']._serialized_start=12335 + _globals['_RECONNECTING']._serialized_end=12349 + _globals['_RECONNECTED']._serialized_start=12351 + _globals['_RECONNECTED']._serialized_end=12364 + _globals['_TOKENREFRESHED']._serialized_start=12366 + _globals['_TOKENREFRESHED']._serialized_end=12397 + _globals['_ROOMEOS']._serialized_start=12399 + _globals['_ROOMEOS']._serialized_end=12408 + _globals['_DATASTREAM']._serialized_start=12411 + _globals['_DATASTREAM']._serialized_end=13321 + _globals['_DATASTREAM_TEXTHEADER']._serialized_start=12426 + _globals['_DATASTREAM_TEXTHEADER']._serialized_end=12596 + _globals['_DATASTREAM_BYTEHEADER']._serialized_start=12598 + _globals['_DATASTREAM_BYTEHEADER']._serialized_end=12624 + _globals['_DATASTREAM_HEADER']._serialized_start=12627 + _globals['_DATASTREAM_HEADER']._serialized_end=12990 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_start=12923 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_end=12972 + _globals['_DATASTREAM_CHUNK']._serialized_start=12992 + _globals['_DATASTREAM_CHUNK']._serialized_end=13085 + _globals['_DATASTREAM_TRAILER']._serialized_start=13088 + _globals['_DATASTREAM_TRAILER']._serialized_end=13254 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_start=12923 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_end=12972 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=13256 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=13321 + _globals['_DATASTREAMHEADERRECEIVED']._serialized_start=13323 + _globals['_DATASTREAMHEADERRECEIVED']._serialized_end=13429 + _globals['_DATASTREAMCHUNKRECEIVED']._serialized_start=13431 + _globals['_DATASTREAMCHUNKRECEIVED']._serialized_end=13534 + _globals['_DATASTREAMTRAILERRECEIVED']._serialized_start=13536 + _globals['_DATASTREAMTRAILERRECEIVED']._serialized_end=13645 + _globals['_SENDSTREAMHEADERREQUEST']._serialized_start=13648 + _globals['_SENDSTREAMHEADERREQUEST']._serialized_end=13840 + _globals['_SENDSTREAMCHUNKREQUEST']._serialized_start=13843 + _globals['_SENDSTREAMCHUNKREQUEST']._serialized_end=14032 + _globals['_SENDSTREAMTRAILERREQUEST']._serialized_start=14035 + _globals['_SENDSTREAMTRAILERREQUEST']._serialized_end=14230 + _globals['_SENDSTREAMHEADERRESPONSE']._serialized_start=14232 + _globals['_SENDSTREAMHEADERRESPONSE']._serialized_end=14276 + _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_start=14278 + _globals['_SENDSTREAMCHUNKRESPONSE']._serialized_end=14321 + _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_start=14323 + _globals['_SENDSTREAMTRAILERRESPONSE']._serialized_end=14368 + _globals['_SENDSTREAMHEADERCALLBACK']._serialized_start=14370 + _globals['_SENDSTREAMHEADERCALLBACK']._serialized_end=14429 + _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_start=14431 + _globals['_SENDSTREAMCHUNKCALLBACK']._serialized_end=14489 + _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_start=14491 + _globals['_SENDSTREAMTRAILERCALLBACK']._serialized_end=14551 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_start=14554 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDREQUEST']._serialized_end=14701 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_start=14703 + _globals['_SETDATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDRESPONSE']._serialized_end=14753 + _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_start=14755 + _globals['_DATACHANNELBUFFEREDAMOUNTLOWTHRESHOLDCHANGED']._serialized_end=14865 + _globals['_BYTESTREAMOPENED']._serialized_start=14867 + _globals['_BYTESTREAMOPENED']._serialized_end=14969 + _globals['_TEXTSTREAMOPENED']._serialized_start=14971 + _globals['_TEXTSTREAMOPENED']._serialized_end=15073 + _globals['_DATATRACKPUBLISHED']._serialized_start=15075 + _globals['_DATATRACKPUBLISHED']._serialized_end=15147 + _globals['_DATATRACKUNPUBLISHED']._serialized_start=15149 + _globals['_DATATRACKUNPUBLISHED']._serialized_end=15184 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi index b20f9272..ac25a636 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi @@ -125,10 +125,6 @@ class _DegradationPreferenceEnumTypeWrapper(google.protobuf.internal.enum_type_w """Degrade framerate to maintain resolution.""" DEGRADATION_PREFERENCE_MAINTAIN_RESOLUTION: _DegradationPreference.ValueType # 2 """Degrade resolution to maintain framerate (drop frames to keep clarity).""" - DEGRADATION_PREFERENCE_DISABLED: _DegradationPreference.ValueType # 3 - """Deprecated: Use MAINTAIN_FRAMERATE_AND_RESOLUTION instead. - Maintained for backwards compatibility, maps to MAINTAIN_FRAMERATE_AND_RESOLUTION. - """ DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE_AND_RESOLUTION: _DegradationPreference.ValueType # 4 """Maintain both framerate and resolution. Frames may be dropped before encoding if necessary to avoid overusing network and encoder resources. @@ -143,10 +139,6 @@ DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE: DegradationPreference.ValueType # 1 """Degrade framerate to maintain resolution.""" DEGRADATION_PREFERENCE_MAINTAIN_RESOLUTION: DegradationPreference.ValueType # 2 """Degrade resolution to maintain framerate (drop frames to keep clarity).""" -DEGRADATION_PREFERENCE_DISABLED: DegradationPreference.ValueType # 3 -"""Deprecated: Use MAINTAIN_FRAMERATE_AND_RESOLUTION instead. -Maintained for backwards compatibility, maps to MAINTAIN_FRAMERATE_AND_RESOLUTION. -""" DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE_AND_RESOLUTION: DegradationPreference.ValueType # 4 """Maintain both framerate and resolution. Frames may be dropped before encoding if necessary to avoid overusing network and encoder resources. @@ -1389,6 +1381,39 @@ class RtcConfig(google.protobuf.message.Message): global___RtcConfig = RtcConfig +@typing.final +class RoomDataStreamOptions(google.protobuf.message.Message): + """Options controlling data stream behavior for the room.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MAX_PAYLOAD_BYTE_LENGTH_FIELD_NUMBER: builtins.int + USE_LEGACY_CLIENT_IMPLEMENTATION_FIELD_NUMBER: builtins.int + max_payload_byte_length: builtins.int + """Maximum decompressed payload size in bytes accepted for a single incoming + data stream. Streams exceeding this limit terminate with an error on the + receiving side. Unset falls back to the SDK default. + """ + use_legacy_client_implementation: builtins.bool + """Temporary migration aid for SDKs that still implement data streams in + their own client-side code on top of the FFI instead of using the FFI + data stream API. When true, this client does not advertise data streams + v2 support: ClientInfo.client_protocol is capped at 1 (DATA_STREAM_RPC), + so remote clients will not use v2-only behavior toward this client. + Defaults to false (v2 advertised). Will be removed once all FFI + consumers migrate. + """ + def __init__( + self, + *, + max_payload_byte_length: builtins.int | None = ..., + use_legacy_client_implementation: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["max_payload_byte_length", b"max_payload_byte_length", "use_legacy_client_implementation", b"use_legacy_client_implementation"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["max_payload_byte_length", b"max_payload_byte_length", "use_legacy_client_implementation", b"use_legacy_client_implementation"]) -> None: ... + +global___RoomDataStreamOptions = RoomDataStreamOptions + @typing.final class RoomOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1402,6 +1427,7 @@ class RoomOptions(google.protobuf.message.Message): ENCRYPTION_FIELD_NUMBER: builtins.int SINGLE_PEER_CONNECTION_FIELD_NUMBER: builtins.int CONNECT_TIMEOUT_MS_FIELD_NUMBER: builtins.int + DATA_STREAM_FIELD_NUMBER: builtins.int auto_subscribe: builtins.bool adaptive_stream: builtins.bool dynacast: builtins.bool @@ -1418,6 +1444,10 @@ class RoomOptions(google.protobuf.message.Message): @property def encryption(self) -> e2ee_pb2.E2eeOptions: ... + @property + def data_stream(self) -> global___RoomDataStreamOptions: + """data stream behavior for this room""" + def __init__( self, *, @@ -1430,9 +1460,10 @@ class RoomOptions(google.protobuf.message.Message): encryption: e2ee_pb2.E2eeOptions | None = ..., single_peer_connection: builtins.bool | None = ..., connect_timeout_ms: builtins.int | None = ..., + data_stream: global___RoomDataStreamOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"]) -> None: ... + def HasField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "data_stream", b"data_stream", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "connect_timeout_ms", b"connect_timeout_ms", "data_stream", b"data_stream", "dynacast", b"dynacast", "e2ee", b"e2ee", "encryption", b"encryption", "join_retries", b"join_retries", "rtc_config", b"rtc_config", "single_peer_connection", b"single_peer_connection"]) -> None: ... global___RoomOptions = RoomOptions