From 558dde2fb63b3b73776600b669b1fb91e9d5f9be Mon Sep 17 00:00:00 2001 From: aoife cassidy Date: Sun, 22 Dec 2024 22:24:01 +0200 Subject: [PATCH 01/10] bump FFI to 0.12.4 --- livekit-rtc/livekit/rtc/version.py | 2 +- livekit-rtc/rust-sdks | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/livekit-rtc/livekit/rtc/version.py b/livekit-rtc/livekit/rtc/version.py index 30e65e30..e61f7a55 100644 --- a/livekit-rtc/livekit/rtc/version.py +++ b/livekit-rtc/livekit/rtc/version.py @@ -1 +1 @@ -__version__ = "0.18.3" +__version__ = "0.18.4" diff --git a/livekit-rtc/rust-sdks b/livekit-rtc/rust-sdks index b41861c7..cc889daa 160000 --- a/livekit-rtc/rust-sdks +++ b/livekit-rtc/rust-sdks @@ -1 +1 @@ -Subproject commit b41861c7b71762d5d85b3de07ae67ffcae7c3fa2 +Subproject commit cc889daa26c2ea50258932708a24e095dcc850cc From c1cdebc6e418aa2ce6d9fcce2d6562edfcb7c30a Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 22 Dec 2024 20:25:28 +0000 Subject: [PATCH 02/10] generated protobuf --- livekit-rtc/livekit/rtc/_proto/ffi_pb2.py | 43 +-- livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi | 33 ++- .../livekit/rtc/_proto/participant_pb2.py | 18 +- .../livekit/rtc/_proto/participant_pb2.pyi | 72 ++++- livekit-rtc/livekit/rtc/_proto/room_pb2.py | 178 +++++++------ livekit-rtc/livekit/rtc/_proto/room_pb2.pyi | 252 ++++++++++++++---- livekit-rtc/livekit/rtc/_proto/stats_pb2.py | 188 ++++++------- livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi | 49 +++- 8 files changed, 561 insertions(+), 272 deletions(-) diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py index a96586f1..24a70903 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py @@ -14,13 +14,14 @@ from . import e2ee_pb2 as e2ee__pb2 from . import track_pb2 as track__pb2 +import track_publication_pb2 as track__publication__pb2 from . import room_pb2 as room__pb2 from . import video_frame_pb2 as video__frame__pb2 from . import audio_frame_pb2 as audio__frame__pb2 from . import rpc_pb2 as rpc__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tffi.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0btrack.proto\x1a\nroom.proto\x1a\x11video_frame.proto\x1a\x11\x61udio_frame.proto\x1a\trpc.proto\"\xa6\x15\n\nFfiRequest\x12\x30\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.DisposeRequestH\x00\x12\x30\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.ConnectRequestH\x00\x12\x36\n\ndisconnect\x18\x04 \x01(\x0b\x32 .livekit.proto.DisconnectRequestH\x00\x12;\n\rpublish_track\x18\x05 \x01(\x0b\x32\".livekit.proto.PublishTrackRequestH\x00\x12?\n\x0funpublish_track\x18\x06 \x01(\x0b\x32$.livekit.proto.UnpublishTrackRequestH\x00\x12\x39\n\x0cpublish_data\x18\x07 \x01(\x0b\x32!.livekit.proto.PublishDataRequestH\x00\x12=\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32#.livekit.proto.SetSubscribedRequestH\x00\x12\x44\n\x12set_local_metadata\x18\t \x01(\x0b\x32&.livekit.proto.SetLocalMetadataRequestH\x00\x12<\n\x0eset_local_name\x18\n \x01(\x0b\x32\".livekit.proto.SetLocalNameRequestH\x00\x12H\n\x14set_local_attributes\x18\x0b \x01(\x0b\x32(.livekit.proto.SetLocalAttributesRequestH\x00\x12\x42\n\x11get_session_stats\x18\x0c \x01(\x0b\x32%.livekit.proto.GetSessionStatsRequestH\x00\x12K\n\x15publish_transcription\x18\r \x01(\x0b\x32*.livekit.proto.PublishTranscriptionRequestH\x00\x12@\n\x10publish_sip_dtmf\x18\x0e \x01(\x0b\x32$.livekit.proto.PublishSipDtmfRequestH\x00\x12\x44\n\x12\x63reate_video_track\x18\x0f \x01(\x0b\x32&.livekit.proto.CreateVideoTrackRequestH\x00\x12\x44\n\x12\x63reate_audio_track\x18\x10 \x01(\x0b\x32&.livekit.proto.CreateAudioTrackRequestH\x00\x12@\n\x10local_track_mute\x18\x11 \x01(\x0b\x32$.livekit.proto.LocalTrackMuteRequestH\x00\x12\x46\n\x13\x65nable_remote_track\x18\x12 \x01(\x0b\x32\'.livekit.proto.EnableRemoteTrackRequestH\x00\x12\x33\n\tget_stats\x18\x13 \x01(\x0b\x32\x1e.livekit.proto.GetStatsRequestH\x00\x12@\n\x10new_video_stream\x18\x14 \x01(\x0b\x32$.livekit.proto.NewVideoStreamRequestH\x00\x12@\n\x10new_video_source\x18\x15 \x01(\x0b\x32$.livekit.proto.NewVideoSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_video_frame\x18\x16 \x01(\x0b\x32\'.livekit.proto.CaptureVideoFrameRequestH\x00\x12;\n\rvideo_convert\x18\x17 \x01(\x0b\x32\".livekit.proto.VideoConvertRequestH\x00\x12Y\n\x1dvideo_stream_from_participant\x18\x18 \x01(\x0b\x32\x30.livekit.proto.VideoStreamFromParticipantRequestH\x00\x12@\n\x10new_audio_stream\x18\x19 \x01(\x0b\x32$.livekit.proto.NewAudioStreamRequestH\x00\x12@\n\x10new_audio_source\x18\x1a \x01(\x0b\x32$.livekit.proto.NewAudioSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_audio_frame\x18\x1b \x01(\x0b\x32\'.livekit.proto.CaptureAudioFrameRequestH\x00\x12\x44\n\x12\x63lear_audio_buffer\x18\x1c \x01(\x0b\x32&.livekit.proto.ClearAudioBufferRequestH\x00\x12\x46\n\x13new_audio_resampler\x18\x1d \x01(\x0b\x32\'.livekit.proto.NewAudioResamplerRequestH\x00\x12\x44\n\x12remix_and_resample\x18\x1e \x01(\x0b\x32&.livekit.proto.RemixAndResampleRequestH\x00\x12*\n\x04\x65\x32\x65\x65\x18\x1f \x01(\x0b\x32\x1a.livekit.proto.E2eeRequestH\x00\x12Y\n\x1d\x61udio_stream_from_participant\x18 \x01(\x0b\x32\x30.livekit.proto.AudioStreamFromParticipantRequestH\x00\x12\x42\n\x11new_sox_resampler\x18! \x01(\x0b\x32%.livekit.proto.NewSoxResamplerRequestH\x00\x12\x44\n\x12push_sox_resampler\x18\" \x01(\x0b\x32&.livekit.proto.PushSoxResamplerRequestH\x00\x12\x46\n\x13\x66lush_sox_resampler\x18# \x01(\x0b\x32\'.livekit.proto.FlushSoxResamplerRequestH\x00\x12\x42\n\x11send_chat_message\x18$ \x01(\x0b\x32%.livekit.proto.SendChatMessageRequestH\x00\x12\x42\n\x11\x65\x64it_chat_message\x18% \x01(\x0b\x32%.livekit.proto.EditChatMessageRequestH\x00\x12\x37\n\x0bperform_rpc\x18& \x01(\x0b\x32 .livekit.proto.PerformRpcRequestH\x00\x12\x46\n\x13register_rpc_method\x18\' \x01(\x0b\x32\'.livekit.proto.RegisterRpcMethodRequestH\x00\x12J\n\x15unregister_rpc_method\x18( \x01(\x0b\x32).livekit.proto.UnregisterRpcMethodRequestH\x00\x12[\n\x1erpc_method_invocation_response\x18) \x01(\x0b\x32\x31.livekit.proto.RpcMethodInvocationResponseRequestH\x00\x42\t\n\x07message\"\x8a\x15\n\x0b\x46\x66iResponse\x12\x31\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.DisposeResponseH\x00\x12\x31\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1e.livekit.proto.ConnectResponseH\x00\x12\x37\n\ndisconnect\x18\x04 \x01(\x0b\x32!.livekit.proto.DisconnectResponseH\x00\x12<\n\rpublish_track\x18\x05 \x01(\x0b\x32#.livekit.proto.PublishTrackResponseH\x00\x12@\n\x0funpublish_track\x18\x06 \x01(\x0b\x32%.livekit.proto.UnpublishTrackResponseH\x00\x12:\n\x0cpublish_data\x18\x07 \x01(\x0b\x32\".livekit.proto.PublishDataResponseH\x00\x12>\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32$.livekit.proto.SetSubscribedResponseH\x00\x12\x45\n\x12set_local_metadata\x18\t \x01(\x0b\x32\'.livekit.proto.SetLocalMetadataResponseH\x00\x12=\n\x0eset_local_name\x18\n \x01(\x0b\x32#.livekit.proto.SetLocalNameResponseH\x00\x12I\n\x14set_local_attributes\x18\x0b \x01(\x0b\x32).livekit.proto.SetLocalAttributesResponseH\x00\x12\x43\n\x11get_session_stats\x18\x0c \x01(\x0b\x32&.livekit.proto.GetSessionStatsResponseH\x00\x12L\n\x15publish_transcription\x18\r \x01(\x0b\x32+.livekit.proto.PublishTranscriptionResponseH\x00\x12\x41\n\x10publish_sip_dtmf\x18\x0e \x01(\x0b\x32%.livekit.proto.PublishSipDtmfResponseH\x00\x12\x45\n\x12\x63reate_video_track\x18\x0f \x01(\x0b\x32\'.livekit.proto.CreateVideoTrackResponseH\x00\x12\x45\n\x12\x63reate_audio_track\x18\x10 \x01(\x0b\x32\'.livekit.proto.CreateAudioTrackResponseH\x00\x12\x41\n\x10local_track_mute\x18\x11 \x01(\x0b\x32%.livekit.proto.LocalTrackMuteResponseH\x00\x12G\n\x13\x65nable_remote_track\x18\x12 \x01(\x0b\x32(.livekit.proto.EnableRemoteTrackResponseH\x00\x12\x34\n\tget_stats\x18\x13 \x01(\x0b\x32\x1f.livekit.proto.GetStatsResponseH\x00\x12\x41\n\x10new_video_stream\x18\x14 \x01(\x0b\x32%.livekit.proto.NewVideoStreamResponseH\x00\x12\x41\n\x10new_video_source\x18\x15 \x01(\x0b\x32%.livekit.proto.NewVideoSourceResponseH\x00\x12G\n\x13\x63\x61pture_video_frame\x18\x16 \x01(\x0b\x32(.livekit.proto.CaptureVideoFrameResponseH\x00\x12<\n\rvideo_convert\x18\x17 \x01(\x0b\x32#.livekit.proto.VideoConvertResponseH\x00\x12Z\n\x1dvideo_stream_from_participant\x18\x18 \x01(\x0b\x32\x31.livekit.proto.VideoStreamFromParticipantResponseH\x00\x12\x41\n\x10new_audio_stream\x18\x19 \x01(\x0b\x32%.livekit.proto.NewAudioStreamResponseH\x00\x12\x41\n\x10new_audio_source\x18\x1a \x01(\x0b\x32%.livekit.proto.NewAudioSourceResponseH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x1b \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameResponseH\x00\x12\x45\n\x12\x63lear_audio_buffer\x18\x1c \x01(\x0b\x32\'.livekit.proto.ClearAudioBufferResponseH\x00\x12G\n\x13new_audio_resampler\x18\x1d \x01(\x0b\x32(.livekit.proto.NewAudioResamplerResponseH\x00\x12\x45\n\x12remix_and_resample\x18\x1e \x01(\x0b\x32\'.livekit.proto.RemixAndResampleResponseH\x00\x12Z\n\x1d\x61udio_stream_from_participant\x18\x1f \x01(\x0b\x32\x31.livekit.proto.AudioStreamFromParticipantResponseH\x00\x12+\n\x04\x65\x32\x65\x65\x18 \x01(\x0b\x32\x1b.livekit.proto.E2eeResponseH\x00\x12\x43\n\x11new_sox_resampler\x18! \x01(\x0b\x32&.livekit.proto.NewSoxResamplerResponseH\x00\x12\x45\n\x12push_sox_resampler\x18\" \x01(\x0b\x32\'.livekit.proto.PushSoxResamplerResponseH\x00\x12G\n\x13\x66lush_sox_resampler\x18# \x01(\x0b\x32(.livekit.proto.FlushSoxResamplerResponseH\x00\x12\x43\n\x11send_chat_message\x18$ \x01(\x0b\x32&.livekit.proto.SendChatMessageResponseH\x00\x12\x38\n\x0bperform_rpc\x18% \x01(\x0b\x32!.livekit.proto.PerformRpcResponseH\x00\x12G\n\x13register_rpc_method\x18& \x01(\x0b\x32(.livekit.proto.RegisterRpcMethodResponseH\x00\x12K\n\x15unregister_rpc_method\x18\' \x01(\x0b\x32*.livekit.proto.UnregisterRpcMethodResponseH\x00\x12\\\n\x1erpc_method_invocation_response\x18( \x01(\x0b\x32\x32.livekit.proto.RpcMethodInvocationResponseResponseH\x00\x42\t\n\x07message\"\x8a\x0b\n\x08\x46\x66iEvent\x12.\n\nroom_event\x18\x01 \x01(\x0b\x32\x18.livekit.proto.RoomEventH\x00\x12\x30\n\x0btrack_event\x18\x02 \x01(\x0b\x32\x19.livekit.proto.TrackEventH\x00\x12=\n\x12video_stream_event\x18\x03 \x01(\x0b\x32\x1f.livekit.proto.VideoStreamEventH\x00\x12=\n\x12\x61udio_stream_event\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.AudioStreamEventH\x00\x12\x31\n\x07\x63onnect\x18\x05 \x01(\x0b\x32\x1e.livekit.proto.ConnectCallbackH\x00\x12\x37\n\ndisconnect\x18\x07 \x01(\x0b\x32!.livekit.proto.DisconnectCallbackH\x00\x12\x31\n\x07\x64ispose\x18\x08 \x01(\x0b\x32\x1e.livekit.proto.DisposeCallbackH\x00\x12<\n\rpublish_track\x18\t \x01(\x0b\x32#.livekit.proto.PublishTrackCallbackH\x00\x12@\n\x0funpublish_track\x18\n \x01(\x0b\x32%.livekit.proto.UnpublishTrackCallbackH\x00\x12:\n\x0cpublish_data\x18\x0b \x01(\x0b\x32\".livekit.proto.PublishDataCallbackH\x00\x12L\n\x15publish_transcription\x18\x0c \x01(\x0b\x32+.livekit.proto.PublishTranscriptionCallbackH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\r \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameCallbackH\x00\x12\x45\n\x12set_local_metadata\x18\x0e \x01(\x0b\x32\'.livekit.proto.SetLocalMetadataCallbackH\x00\x12=\n\x0eset_local_name\x18\x0f \x01(\x0b\x32#.livekit.proto.SetLocalNameCallbackH\x00\x12I\n\x14set_local_attributes\x18\x10 \x01(\x0b\x32).livekit.proto.SetLocalAttributesCallbackH\x00\x12\x34\n\tget_stats\x18\x11 \x01(\x0b\x32\x1f.livekit.proto.GetStatsCallbackH\x00\x12\'\n\x04logs\x18\x12 \x01(\x0b\x32\x17.livekit.proto.LogBatchH\x00\x12\x43\n\x11get_session_stats\x18\x13 \x01(\x0b\x32&.livekit.proto.GetSessionStatsCallbackH\x00\x12%\n\x05panic\x18\x14 \x01(\x0b\x32\x14.livekit.proto.PanicH\x00\x12\x41\n\x10publish_sip_dtmf\x18\x15 \x01(\x0b\x32%.livekit.proto.PublishSipDtmfCallbackH\x00\x12>\n\x0c\x63hat_message\x18\x16 \x01(\x0b\x32&.livekit.proto.SendChatMessageCallbackH\x00\x12\x38\n\x0bperform_rpc\x18\x17 \x01(\x0b\x32!.livekit.proto.PerformRpcCallbackH\x00\x12H\n\x15rpc_method_invocation\x18\x18 \x01(\x0b\x32\'.livekit.proto.RpcMethodInvocationEventH\x00\x42\t\n\x07message\"\x1f\n\x0e\x44isposeRequest\x12\r\n\x05\x61sync\x18\x01 \x02(\x08\"#\n\x0f\x44isposeResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"#\n\x0f\x44isposeCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x85\x01\n\tLogRecord\x12&\n\x05level\x18\x01 \x02(\x0e\x32\x17.livekit.proto.LogLevel\x12\x0e\n\x06target\x18\x02 \x02(\t\x12\x13\n\x0bmodule_path\x18\x03 \x01(\t\x12\x0c\n\x04\x66ile\x18\x04 \x01(\t\x12\x0c\n\x04line\x18\x05 \x01(\r\x12\x0f\n\x07message\x18\x06 \x02(\t\"5\n\x08LogBatch\x12)\n\x07records\x18\x01 \x03(\x0b\x32\x18.livekit.proto.LogRecord\"\x18\n\x05Panic\x12\x0f\n\x07message\x18\x01 \x02(\t*S\n\x08LogLevel\x12\r\n\tLOG_ERROR\x10\x00\x12\x0c\n\x08LOG_WARN\x10\x01\x12\x0c\n\x08LOG_INFO\x10\x02\x12\r\n\tLOG_DEBUG\x10\x03\x12\r\n\tLOG_TRACE\x10\x04\x42\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tffi.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0btrack.proto\x1a\x17track_publication.proto\x1a\nroom.proto\x1a\x11video_frame.proto\x1a\x11\x61udio_frame.proto\x1a\trpc.proto\"\xf7\x16\n\nFfiRequest\x12\x30\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.DisposeRequestH\x00\x12\x30\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.ConnectRequestH\x00\x12\x36\n\ndisconnect\x18\x04 \x01(\x0b\x32 .livekit.proto.DisconnectRequestH\x00\x12;\n\rpublish_track\x18\x05 \x01(\x0b\x32\".livekit.proto.PublishTrackRequestH\x00\x12?\n\x0funpublish_track\x18\x06 \x01(\x0b\x32$.livekit.proto.UnpublishTrackRequestH\x00\x12\x39\n\x0cpublish_data\x18\x07 \x01(\x0b\x32!.livekit.proto.PublishDataRequestH\x00\x12=\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32#.livekit.proto.SetSubscribedRequestH\x00\x12\x44\n\x12set_local_metadata\x18\t \x01(\x0b\x32&.livekit.proto.SetLocalMetadataRequestH\x00\x12<\n\x0eset_local_name\x18\n \x01(\x0b\x32\".livekit.proto.SetLocalNameRequestH\x00\x12H\n\x14set_local_attributes\x18\x0b \x01(\x0b\x32(.livekit.proto.SetLocalAttributesRequestH\x00\x12\x42\n\x11get_session_stats\x18\x0c \x01(\x0b\x32%.livekit.proto.GetSessionStatsRequestH\x00\x12K\n\x15publish_transcription\x18\r \x01(\x0b\x32*.livekit.proto.PublishTranscriptionRequestH\x00\x12@\n\x10publish_sip_dtmf\x18\x0e \x01(\x0b\x32$.livekit.proto.PublishSipDtmfRequestH\x00\x12\x44\n\x12\x63reate_video_track\x18\x0f \x01(\x0b\x32&.livekit.proto.CreateVideoTrackRequestH\x00\x12\x44\n\x12\x63reate_audio_track\x18\x10 \x01(\x0b\x32&.livekit.proto.CreateAudioTrackRequestH\x00\x12@\n\x10local_track_mute\x18\x11 \x01(\x0b\x32$.livekit.proto.LocalTrackMuteRequestH\x00\x12\x46\n\x13\x65nable_remote_track\x18\x12 \x01(\x0b\x32\'.livekit.proto.EnableRemoteTrackRequestH\x00\x12\x33\n\tget_stats\x18\x13 \x01(\x0b\x32\x1e.livekit.proto.GetStatsRequestH\x00\x12@\n\x10new_video_stream\x18\x14 \x01(\x0b\x32$.livekit.proto.NewVideoStreamRequestH\x00\x12@\n\x10new_video_source\x18\x15 \x01(\x0b\x32$.livekit.proto.NewVideoSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_video_frame\x18\x16 \x01(\x0b\x32\'.livekit.proto.CaptureVideoFrameRequestH\x00\x12;\n\rvideo_convert\x18\x17 \x01(\x0b\x32\".livekit.proto.VideoConvertRequestH\x00\x12Y\n\x1dvideo_stream_from_participant\x18\x18 \x01(\x0b\x32\x30.livekit.proto.VideoStreamFromParticipantRequestH\x00\x12@\n\x10new_audio_stream\x18\x19 \x01(\x0b\x32$.livekit.proto.NewAudioStreamRequestH\x00\x12@\n\x10new_audio_source\x18\x1a \x01(\x0b\x32$.livekit.proto.NewAudioSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_audio_frame\x18\x1b \x01(\x0b\x32\'.livekit.proto.CaptureAudioFrameRequestH\x00\x12\x44\n\x12\x63lear_audio_buffer\x18\x1c \x01(\x0b\x32&.livekit.proto.ClearAudioBufferRequestH\x00\x12\x46\n\x13new_audio_resampler\x18\x1d \x01(\x0b\x32\'.livekit.proto.NewAudioResamplerRequestH\x00\x12\x44\n\x12remix_and_resample\x18\x1e \x01(\x0b\x32&.livekit.proto.RemixAndResampleRequestH\x00\x12*\n\x04\x65\x32\x65\x65\x18\x1f \x01(\x0b\x32\x1a.livekit.proto.E2eeRequestH\x00\x12Y\n\x1d\x61udio_stream_from_participant\x18 \x01(\x0b\x32\x30.livekit.proto.AudioStreamFromParticipantRequestH\x00\x12\x42\n\x11new_sox_resampler\x18! \x01(\x0b\x32%.livekit.proto.NewSoxResamplerRequestH\x00\x12\x44\n\x12push_sox_resampler\x18\" \x01(\x0b\x32&.livekit.proto.PushSoxResamplerRequestH\x00\x12\x46\n\x13\x66lush_sox_resampler\x18# \x01(\x0b\x32\'.livekit.proto.FlushSoxResamplerRequestH\x00\x12\x42\n\x11send_chat_message\x18$ \x01(\x0b\x32%.livekit.proto.SendChatMessageRequestH\x00\x12\x42\n\x11\x65\x64it_chat_message\x18% \x01(\x0b\x32%.livekit.proto.EditChatMessageRequestH\x00\x12\x37\n\x0bperform_rpc\x18& \x01(\x0b\x32 .livekit.proto.PerformRpcRequestH\x00\x12\x46\n\x13register_rpc_method\x18\' \x01(\x0b\x32\'.livekit.proto.RegisterRpcMethodRequestH\x00\x12J\n\x15unregister_rpc_method\x18( \x01(\x0b\x32).livekit.proto.UnregisterRpcMethodRequestH\x00\x12[\n\x1erpc_method_invocation_response\x18) \x01(\x0b\x32\x31.livekit.proto.RpcMethodInvocationResponseRequestH\x00\x12]\n\x1f\x65nable_remote_track_publication\x18* \x01(\x0b\x32\x32.livekit.proto.EnableRemoteTrackPublicationRequestH\x00\x12p\n)update_remote_track_publication_dimension\x18+ \x01(\x0b\x32;.livekit.proto.UpdateRemoteTrackPublicationDimensionRequestH\x00\x42\t\n\x07message\"\xdd\x16\n\x0b\x46\x66iResponse\x12\x31\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.DisposeResponseH\x00\x12\x31\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1e.livekit.proto.ConnectResponseH\x00\x12\x37\n\ndisconnect\x18\x04 \x01(\x0b\x32!.livekit.proto.DisconnectResponseH\x00\x12<\n\rpublish_track\x18\x05 \x01(\x0b\x32#.livekit.proto.PublishTrackResponseH\x00\x12@\n\x0funpublish_track\x18\x06 \x01(\x0b\x32%.livekit.proto.UnpublishTrackResponseH\x00\x12:\n\x0cpublish_data\x18\x07 \x01(\x0b\x32\".livekit.proto.PublishDataResponseH\x00\x12>\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32$.livekit.proto.SetSubscribedResponseH\x00\x12\x45\n\x12set_local_metadata\x18\t \x01(\x0b\x32\'.livekit.proto.SetLocalMetadataResponseH\x00\x12=\n\x0eset_local_name\x18\n \x01(\x0b\x32#.livekit.proto.SetLocalNameResponseH\x00\x12I\n\x14set_local_attributes\x18\x0b \x01(\x0b\x32).livekit.proto.SetLocalAttributesResponseH\x00\x12\x43\n\x11get_session_stats\x18\x0c \x01(\x0b\x32&.livekit.proto.GetSessionStatsResponseH\x00\x12L\n\x15publish_transcription\x18\r \x01(\x0b\x32+.livekit.proto.PublishTranscriptionResponseH\x00\x12\x41\n\x10publish_sip_dtmf\x18\x0e \x01(\x0b\x32%.livekit.proto.PublishSipDtmfResponseH\x00\x12\x45\n\x12\x63reate_video_track\x18\x0f \x01(\x0b\x32\'.livekit.proto.CreateVideoTrackResponseH\x00\x12\x45\n\x12\x63reate_audio_track\x18\x10 \x01(\x0b\x32\'.livekit.proto.CreateAudioTrackResponseH\x00\x12\x41\n\x10local_track_mute\x18\x11 \x01(\x0b\x32%.livekit.proto.LocalTrackMuteResponseH\x00\x12G\n\x13\x65nable_remote_track\x18\x12 \x01(\x0b\x32(.livekit.proto.EnableRemoteTrackResponseH\x00\x12\x34\n\tget_stats\x18\x13 \x01(\x0b\x32\x1f.livekit.proto.GetStatsResponseH\x00\x12\x41\n\x10new_video_stream\x18\x14 \x01(\x0b\x32%.livekit.proto.NewVideoStreamResponseH\x00\x12\x41\n\x10new_video_source\x18\x15 \x01(\x0b\x32%.livekit.proto.NewVideoSourceResponseH\x00\x12G\n\x13\x63\x61pture_video_frame\x18\x16 \x01(\x0b\x32(.livekit.proto.CaptureVideoFrameResponseH\x00\x12<\n\rvideo_convert\x18\x17 \x01(\x0b\x32#.livekit.proto.VideoConvertResponseH\x00\x12Z\n\x1dvideo_stream_from_participant\x18\x18 \x01(\x0b\x32\x31.livekit.proto.VideoStreamFromParticipantResponseH\x00\x12\x41\n\x10new_audio_stream\x18\x19 \x01(\x0b\x32%.livekit.proto.NewAudioStreamResponseH\x00\x12\x41\n\x10new_audio_source\x18\x1a \x01(\x0b\x32%.livekit.proto.NewAudioSourceResponseH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x1b \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameResponseH\x00\x12\x45\n\x12\x63lear_audio_buffer\x18\x1c \x01(\x0b\x32\'.livekit.proto.ClearAudioBufferResponseH\x00\x12G\n\x13new_audio_resampler\x18\x1d \x01(\x0b\x32(.livekit.proto.NewAudioResamplerResponseH\x00\x12\x45\n\x12remix_and_resample\x18\x1e \x01(\x0b\x32\'.livekit.proto.RemixAndResampleResponseH\x00\x12Z\n\x1d\x61udio_stream_from_participant\x18\x1f \x01(\x0b\x32\x31.livekit.proto.AudioStreamFromParticipantResponseH\x00\x12+\n\x04\x65\x32\x65\x65\x18 \x01(\x0b\x32\x1b.livekit.proto.E2eeResponseH\x00\x12\x43\n\x11new_sox_resampler\x18! \x01(\x0b\x32&.livekit.proto.NewSoxResamplerResponseH\x00\x12\x45\n\x12push_sox_resampler\x18\" \x01(\x0b\x32\'.livekit.proto.PushSoxResamplerResponseH\x00\x12G\n\x13\x66lush_sox_resampler\x18# \x01(\x0b\x32(.livekit.proto.FlushSoxResamplerResponseH\x00\x12\x43\n\x11send_chat_message\x18$ \x01(\x0b\x32&.livekit.proto.SendChatMessageResponseH\x00\x12\x38\n\x0bperform_rpc\x18% \x01(\x0b\x32!.livekit.proto.PerformRpcResponseH\x00\x12G\n\x13register_rpc_method\x18& \x01(\x0b\x32(.livekit.proto.RegisterRpcMethodResponseH\x00\x12K\n\x15unregister_rpc_method\x18\' \x01(\x0b\x32*.livekit.proto.UnregisterRpcMethodResponseH\x00\x12\\\n\x1erpc_method_invocation_response\x18( \x01(\x0b\x32\x32.livekit.proto.RpcMethodInvocationResponseResponseH\x00\x12^\n\x1f\x65nable_remote_track_publication\x18) \x01(\x0b\x32\x33.livekit.proto.EnableRemoteTrackPublicationResponseH\x00\x12q\n)update_remote_track_publication_dimension\x18* \x01(\x0b\x32<.livekit.proto.UpdateRemoteTrackPublicationDimensionResponseH\x00\x42\t\n\x07message\"\x8a\x0b\n\x08\x46\x66iEvent\x12.\n\nroom_event\x18\x01 \x01(\x0b\x32\x18.livekit.proto.RoomEventH\x00\x12\x30\n\x0btrack_event\x18\x02 \x01(\x0b\x32\x19.livekit.proto.TrackEventH\x00\x12=\n\x12video_stream_event\x18\x03 \x01(\x0b\x32\x1f.livekit.proto.VideoStreamEventH\x00\x12=\n\x12\x61udio_stream_event\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.AudioStreamEventH\x00\x12\x31\n\x07\x63onnect\x18\x05 \x01(\x0b\x32\x1e.livekit.proto.ConnectCallbackH\x00\x12\x37\n\ndisconnect\x18\x07 \x01(\x0b\x32!.livekit.proto.DisconnectCallbackH\x00\x12\x31\n\x07\x64ispose\x18\x08 \x01(\x0b\x32\x1e.livekit.proto.DisposeCallbackH\x00\x12<\n\rpublish_track\x18\t \x01(\x0b\x32#.livekit.proto.PublishTrackCallbackH\x00\x12@\n\x0funpublish_track\x18\n \x01(\x0b\x32%.livekit.proto.UnpublishTrackCallbackH\x00\x12:\n\x0cpublish_data\x18\x0b \x01(\x0b\x32\".livekit.proto.PublishDataCallbackH\x00\x12L\n\x15publish_transcription\x18\x0c \x01(\x0b\x32+.livekit.proto.PublishTranscriptionCallbackH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\r \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameCallbackH\x00\x12\x45\n\x12set_local_metadata\x18\x0e \x01(\x0b\x32\'.livekit.proto.SetLocalMetadataCallbackH\x00\x12=\n\x0eset_local_name\x18\x0f \x01(\x0b\x32#.livekit.proto.SetLocalNameCallbackH\x00\x12I\n\x14set_local_attributes\x18\x10 \x01(\x0b\x32).livekit.proto.SetLocalAttributesCallbackH\x00\x12\x34\n\tget_stats\x18\x11 \x01(\x0b\x32\x1f.livekit.proto.GetStatsCallbackH\x00\x12\'\n\x04logs\x18\x12 \x01(\x0b\x32\x17.livekit.proto.LogBatchH\x00\x12\x43\n\x11get_session_stats\x18\x13 \x01(\x0b\x32&.livekit.proto.GetSessionStatsCallbackH\x00\x12%\n\x05panic\x18\x14 \x01(\x0b\x32\x14.livekit.proto.PanicH\x00\x12\x41\n\x10publish_sip_dtmf\x18\x15 \x01(\x0b\x32%.livekit.proto.PublishSipDtmfCallbackH\x00\x12>\n\x0c\x63hat_message\x18\x16 \x01(\x0b\x32&.livekit.proto.SendChatMessageCallbackH\x00\x12\x38\n\x0bperform_rpc\x18\x17 \x01(\x0b\x32!.livekit.proto.PerformRpcCallbackH\x00\x12H\n\x15rpc_method_invocation\x18\x18 \x01(\x0b\x32\'.livekit.proto.RpcMethodInvocationEventH\x00\x42\t\n\x07message\"\x1f\n\x0e\x44isposeRequest\x12\r\n\x05\x61sync\x18\x01 \x02(\x08\"#\n\x0f\x44isposeResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"#\n\x0f\x44isposeCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"\x85\x01\n\tLogRecord\x12&\n\x05level\x18\x01 \x02(\x0e\x32\x17.livekit.proto.LogLevel\x12\x0e\n\x06target\x18\x02 \x02(\t\x12\x13\n\x0bmodule_path\x18\x03 \x01(\t\x12\x0c\n\x04\x66ile\x18\x04 \x01(\t\x12\x0c\n\x04line\x18\x05 \x01(\r\x12\x0f\n\x07message\x18\x06 \x02(\t\"5\n\x08LogBatch\x12)\n\x07records\x18\x01 \x03(\x0b\x32\x18.livekit.proto.LogRecord\"\x18\n\x05Panic\x12\x0f\n\x07message\x18\x01 \x02(\t*S\n\x08LogLevel\x12\r\n\tLOG_ERROR\x10\x00\x12\x0c\n\x08LOG_WARN\x10\x01\x12\x0c\n\x08LOG_INFO\x10\x02\x12\r\n\tLOG_DEBUG\x10\x03\x12\r\n\tLOG_TRACE\x10\x04\x42\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -28,24 +29,24 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_LOGLEVEL']._serialized_start=7289 - _globals['_LOGLEVEL']._serialized_end=7372 - _globals['_FFIREQUEST']._serialized_start=115 - _globals['_FFIREQUEST']._serialized_end=2841 - _globals['_FFIRESPONSE']._serialized_start=2844 - _globals['_FFIRESPONSE']._serialized_end=5542 - _globals['_FFIEVENT']._serialized_start=5545 - _globals['_FFIEVENT']._serialized_end=6963 - _globals['_DISPOSEREQUEST']._serialized_start=6965 - _globals['_DISPOSEREQUEST']._serialized_end=6996 - _globals['_DISPOSERESPONSE']._serialized_start=6998 - _globals['_DISPOSERESPONSE']._serialized_end=7033 - _globals['_DISPOSECALLBACK']._serialized_start=7035 - _globals['_DISPOSECALLBACK']._serialized_end=7070 - _globals['_LOGRECORD']._serialized_start=7073 - _globals['_LOGRECORD']._serialized_end=7206 - _globals['_LOGBATCH']._serialized_start=7208 - _globals['_LOGBATCH']._serialized_end=7261 - _globals['_PANIC']._serialized_start=7263 - _globals['_PANIC']._serialized_end=7287 + _globals['_LOGLEVEL']._serialized_start=7734 + _globals['_LOGLEVEL']._serialized_end=7817 + _globals['_FFIREQUEST']._serialized_start=140 + _globals['_FFIREQUEST']._serialized_end=3075 + _globals['_FFIRESPONSE']._serialized_start=3078 + _globals['_FFIRESPONSE']._serialized_end=5987 + _globals['_FFIEVENT']._serialized_start=5990 + _globals['_FFIEVENT']._serialized_end=7408 + _globals['_DISPOSEREQUEST']._serialized_start=7410 + _globals['_DISPOSEREQUEST']._serialized_end=7441 + _globals['_DISPOSERESPONSE']._serialized_start=7443 + _globals['_DISPOSERESPONSE']._serialized_end=7478 + _globals['_DISPOSECALLBACK']._serialized_start=7480 + _globals['_DISPOSECALLBACK']._serialized_end=7515 + _globals['_LOGRECORD']._serialized_start=7518 + _globals['_LOGRECORD']._serialized_end=7651 + _globals['_LOGBATCH']._serialized_start=7653 + _globals['_LOGBATCH']._serialized_end=7706 + _globals['_PANIC']._serialized_start=7708 + _globals['_PANIC']._serialized_end=7732 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi index 5799ce3f..cc642eec 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi @@ -28,6 +28,7 @@ from . import room_pb2 from . import rpc_pb2 import sys from . import track_pb2 +import track_publication_pb2 import typing from . import video_frame_pb2 @@ -133,6 +134,8 @@ class FfiRequest(google.protobuf.message.Message): REGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int UNREGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int RPC_METHOD_INVOCATION_RESPONSE_FIELD_NUMBER: builtins.int + ENABLE_REMOTE_TRACK_PUBLICATION_FIELD_NUMBER: builtins.int + UPDATE_REMOTE_TRACK_PUBLICATION_DIMENSION_FIELD_NUMBER: builtins.int @property def dispose(self) -> global___DisposeRequest: ... @property @@ -223,6 +226,12 @@ class FfiRequest(google.protobuf.message.Message): def unregister_rpc_method(self) -> rpc_pb2.UnregisterRpcMethodRequest: ... @property def rpc_method_invocation_response(self) -> rpc_pb2.RpcMethodInvocationResponseRequest: ... + @property + def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationRequest: + """Track Publication""" + + @property + def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest: ... def __init__( self, *, @@ -266,10 +275,12 @@ class FfiRequest(google.protobuf.message.Message): register_rpc_method: rpc_pb2.RegisterRpcMethodRequest | None = ..., unregister_rpc_method: rpc_pb2.UnregisterRpcMethodRequest | None = ..., rpc_method_invocation_response: rpc_pb2.RpcMethodInvocationResponseRequest | None = ..., + enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationRequest | None = ..., + update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response"] | None: ... + def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... global___FfiRequest = FfiRequest @@ -318,6 +329,8 @@ class FfiResponse(google.protobuf.message.Message): REGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int UNREGISTER_RPC_METHOD_FIELD_NUMBER: builtins.int RPC_METHOD_INVOCATION_RESPONSE_FIELD_NUMBER: builtins.int + ENABLE_REMOTE_TRACK_PUBLICATION_FIELD_NUMBER: builtins.int + UPDATE_REMOTE_TRACK_PUBLICATION_DIMENSION_FIELD_NUMBER: builtins.int @property def dispose(self) -> global___DisposeResponse: ... @property @@ -406,6 +419,12 @@ class FfiResponse(google.protobuf.message.Message): def unregister_rpc_method(self) -> rpc_pb2.UnregisterRpcMethodResponse: ... @property def rpc_method_invocation_response(self) -> rpc_pb2.RpcMethodInvocationResponseResponse: ... + @property + def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationResponse: + """Track Publication""" + + @property + def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse: ... def __init__( self, *, @@ -448,10 +467,12 @@ class FfiResponse(google.protobuf.message.Message): register_rpc_method: rpc_pb2.RegisterRpcMethodResponse | None = ..., unregister_rpc_method: rpc_pb2.UnregisterRpcMethodResponse | None = ..., rpc_method_invocation_response: rpc_pb2.RpcMethodInvocationResponseResponse | None = ..., + enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationResponse | None = ..., + update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response"] | None: ... + def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... global___FfiResponse = FfiResponse diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py index 83812df2..4a2ef4ed 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py @@ -15,7 +15,7 @@ from . import handle_pb2 as handle__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11participant.proto\x12\rlivekit.proto\x1a\x0chandle.proto\"\xf5\x01\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x10\n\x08identity\x18\x03 \x02(\t\x12\x10\n\x08metadata\x18\x04 \x02(\t\x12\x42\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.proto.ParticipantInfo.AttributesEntry\x12,\n\x04kind\x18\x06 \x02(\x0e\x32\x1e.livekit.proto.ParticipantKind\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"o\n\x10OwnedParticipant\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.ParticipantInfo*\xa1\x01\n\x0fParticipantKind\x12\x1d\n\x19PARTICIPANT_KIND_STANDARD\x10\x00\x12\x1c\n\x18PARTICIPANT_KIND_INGRESS\x10\x01\x12\x1b\n\x17PARTICIPANT_KIND_EGRESS\x10\x02\x12\x18\n\x14PARTICIPANT_KIND_SIP\x10\x03\x12\x1a\n\x16PARTICIPANT_KIND_AGENT\x10\x04\x42\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11participant.proto\x12\rlivekit.proto\x1a\x0chandle.proto\"\xb1\x02\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x10\n\x08identity\x18\x03 \x02(\t\x12\x10\n\x08metadata\x18\x04 \x02(\t\x12\x42\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.proto.ParticipantInfo.AttributesEntry\x12,\n\x04kind\x18\x06 \x02(\x0e\x32\x1e.livekit.proto.ParticipantKind\x12:\n\x11\x64isconnect_reason\x18\x07 \x02(\x0e\x32\x1f.livekit.proto.DisconnectReason\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"o\n\x10OwnedParticipant\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.ParticipantInfo*\xa1\x01\n\x0fParticipantKind\x12\x1d\n\x19PARTICIPANT_KIND_STANDARD\x10\x00\x12\x1c\n\x18PARTICIPANT_KIND_INGRESS\x10\x01\x12\x1b\n\x17PARTICIPANT_KIND_EGRESS\x10\x02\x12\x18\n\x14PARTICIPANT_KIND_SIP\x10\x03\x12\x1a\n\x16PARTICIPANT_KIND_AGENT\x10\x04*\xac\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\rB\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,12 +25,14 @@ _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._options = None _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_PARTICIPANTKIND']._serialized_start=412 - _globals['_PARTICIPANTKIND']._serialized_end=573 + _globals['_PARTICIPANTKIND']._serialized_start=472 + _globals['_PARTICIPANTKIND']._serialized_end=633 + _globals['_DISCONNECTREASON']._serialized_start=636 + _globals['_DISCONNECTREASON']._serialized_end=936 _globals['_PARTICIPANTINFO']._serialized_start=51 - _globals['_PARTICIPANTINFO']._serialized_end=296 - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_start=247 - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_end=296 - _globals['_OWNEDPARTICIPANT']._serialized_start=298 - _globals['_OWNEDPARTICIPANT']._serialized_end=409 + _globals['_PARTICIPANTINFO']._serialized_end=356 + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_start=307 + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_end=356 + _globals['_OWNEDPARTICIPANT']._serialized_start=358 + _globals['_OWNEDPARTICIPANT']._serialized_end=469 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi index be5975d7..45332b50 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi @@ -54,6 +54,71 @@ PARTICIPANT_KIND_SIP: ParticipantKind.ValueType # 3 PARTICIPANT_KIND_AGENT: ParticipantKind.ValueType # 4 global___ParticipantKind = ParticipantKind +class _DisconnectReason: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _DisconnectReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DisconnectReason.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_REASON: _DisconnectReason.ValueType # 0 + CLIENT_INITIATED: _DisconnectReason.ValueType # 1 + """the client initiated the disconnect""" + DUPLICATE_IDENTITY: _DisconnectReason.ValueType # 2 + """another participant with the same identity has joined the room""" + SERVER_SHUTDOWN: _DisconnectReason.ValueType # 3 + """the server instance is shutting down""" + PARTICIPANT_REMOVED: _DisconnectReason.ValueType # 4 + """RoomService.RemoveParticipant was called""" + ROOM_DELETED: _DisconnectReason.ValueType # 5 + """RoomService.DeleteRoom was called""" + STATE_MISMATCH: _DisconnectReason.ValueType # 6 + """the client is attempting to resume a session, but server is not aware of it""" + JOIN_FAILURE: _DisconnectReason.ValueType # 7 + """client was unable to connect fully""" + MIGRATION: _DisconnectReason.ValueType # 8 + """Cloud-only, the server requested Participant to migrate the connection elsewhere""" + SIGNAL_CLOSE: _DisconnectReason.ValueType # 9 + """the signal websocket was closed unexpectedly""" + ROOM_CLOSED: _DisconnectReason.ValueType # 10 + """the room was closed, due to all Standard and Ingress participants having left""" + USER_UNAVAILABLE: _DisconnectReason.ValueType # 11 + """SIP callee did not respond in time""" + USER_REJECTED: _DisconnectReason.ValueType # 12 + """SIP callee rejected the call (busy)""" + SIP_TRUNK_FAILURE: _DisconnectReason.ValueType # 13 + """SIP protocol failure or unexpected response""" + +class DisconnectReason(_DisconnectReason, metaclass=_DisconnectReasonEnumTypeWrapper): ... + +UNKNOWN_REASON: DisconnectReason.ValueType # 0 +CLIENT_INITIATED: DisconnectReason.ValueType # 1 +"""the client initiated the disconnect""" +DUPLICATE_IDENTITY: DisconnectReason.ValueType # 2 +"""another participant with the same identity has joined the room""" +SERVER_SHUTDOWN: DisconnectReason.ValueType # 3 +"""the server instance is shutting down""" +PARTICIPANT_REMOVED: DisconnectReason.ValueType # 4 +"""RoomService.RemoveParticipant was called""" +ROOM_DELETED: DisconnectReason.ValueType # 5 +"""RoomService.DeleteRoom was called""" +STATE_MISMATCH: DisconnectReason.ValueType # 6 +"""the client is attempting to resume a session, but server is not aware of it""" +JOIN_FAILURE: DisconnectReason.ValueType # 7 +"""client was unable to connect fully""" +MIGRATION: DisconnectReason.ValueType # 8 +"""Cloud-only, the server requested Participant to migrate the connection elsewhere""" +SIGNAL_CLOSE: DisconnectReason.ValueType # 9 +"""the signal websocket was closed unexpectedly""" +ROOM_CLOSED: DisconnectReason.ValueType # 10 +"""the room was closed, due to all Standard and Ingress participants having left""" +USER_UNAVAILABLE: DisconnectReason.ValueType # 11 +"""SIP callee did not respond in time""" +USER_REJECTED: DisconnectReason.ValueType # 12 +"""SIP callee rejected the call (busy)""" +SIP_TRUNK_FAILURE: DisconnectReason.ValueType # 13 +"""SIP protocol failure or unexpected response""" +global___DisconnectReason = DisconnectReason + @typing.final class ParticipantInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -81,11 +146,13 @@ class ParticipantInfo(google.protobuf.message.Message): METADATA_FIELD_NUMBER: builtins.int ATTRIBUTES_FIELD_NUMBER: builtins.int KIND_FIELD_NUMBER: builtins.int + DISCONNECT_REASON_FIELD_NUMBER: builtins.int sid: builtins.str name: builtins.str identity: builtins.str metadata: builtins.str kind: global___ParticipantKind.ValueType + disconnect_reason: global___DisconnectReason.ValueType @property def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... def __init__( @@ -97,9 +164,10 @@ class ParticipantInfo(google.protobuf.message.Message): metadata: builtins.str | None = ..., attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., kind: global___ParticipantKind.ValueType | None = ..., + disconnect_reason: global___DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... global___ParticipantInfo = ParticipantInfo diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.py b/livekit-rtc/livekit/rtc/_proto/room_pb2.py index 0e0b910d..d1b3922c 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.py @@ -20,7 +20,7 @@ from . import stats_pb2 as stats__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\"Y\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\"#\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\"(\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\"&\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\"\x82\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\"(\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\"g\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\"*\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\"\xb9\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\"\'\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\"\xa6\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\"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\"v\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\"*\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\"M\n\x17SetLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08metadata\x18\x02 \x02(\t\",\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\"\x84\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\"\xbc\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\"+\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\"q\n\x19SetLocalAttributesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\"-\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\"E\n\x13SetLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x02(\t\"(\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\"-\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\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\"\x9a\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x0e\n\x06stream\x18\x08 \x01(\t\"=\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\"\xbe\x01\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12(\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptions\x12,\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfig\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\r\"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\"\xdd\x0e\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\x42\t\n\x07message\"7\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\"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\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"7\n\x17ParticipantDisconnected\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x02(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x02(\t\")\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\"D\n\x16ParticipantNameChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\"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\"\t\n\x07RoomEOS*P\n\x10IceTransportType\x12\x13\n\x0fTRANSPORT_RELAY\x10\x00\x12\x14\n\x10TRANSPORT_NOHOST\x10\x01\x12\x11\n\rTRANSPORT_ALL\x10\x02*C\n\x18\x43ontinualGatheringPolicy\x12\x0f\n\x0bGATHER_ONCE\x10\x00\x12\x16\n\x12GATHER_CONTINUALLY\x10\x01*`\n\x11\x43onnectionQuality\x12\x10\n\x0cQUALITY_POOR\x10\x00\x12\x10\n\x0cQUALITY_GOOD\x10\x01\x12\x15\n\x11QUALITY_EXCELLENT\x10\x02\x12\x10\n\x0cQUALITY_LOST\x10\x03*S\n\x0f\x43onnectionState\x12\x15\n\x11\x43ONN_DISCONNECTED\x10\x00\x12\x12\n\x0e\x43ONN_CONNECTED\x10\x01\x12\x15\n\x11\x43ONN_RECONNECTING\x10\x02*3\n\x0e\x44\x61taPacketKind\x12\x0e\n\nKIND_LOSSY\x10\x00\x12\x11\n\rKIND_RELIABLE\x10\x01*\xec\x01\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\nB\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\"Y\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\"#\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\"(\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\x04\"&\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\"\x82\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\"(\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\"g\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\"*\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\"\xb9\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\"\'\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\"\xa6\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\"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\"v\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\"*\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\"M\n\x17SetLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x10\n\x08metadata\x18\x02 \x02(\t\",\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\"\x84\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\"\xbc\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\"+\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\"q\n\x19SetLocalAttributesRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x32\n\nattributes\x18\x02 \x03(\x0b\x32\x1e.livekit.proto.AttributesEntry\"-\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\"E\n\x13SetLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x02(\x04\x12\x0c\n\x04name\x18\x02 \x02(\t\"(\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\"-\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x02(\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\"\x9a\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x0e\n\x06stream\x18\x08 \x01(\t\"=\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\"\xbe\x01\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12(\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptions\x12,\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfig\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\r\"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\"\xd1\x0f\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\x12\x39\n\rstream_header\x18\x1e \x01(\x0b\x32 .livekit.proto.DataStream.HeaderH\x00\x12\x37\n\x0cstream_chunk\x18\x1f \x01(\x0b\x32\x1f.livekit.proto.DataStream.ChunkH\x00\x42\t\n\x07message\"7\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\"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\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"7\n\x17ParticipantDisconnected\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x02(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x02(\t\")\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\"D\n\x16ParticipantNameChanged\x12\x1c\n\x14participant_identity\x18\x01 \x02(\t\x12\x0c\n\x04name\x18\x02 \x02(\t\"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\"\t\n\x07RoomEOS\"\x92\x06\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 \x02(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x02(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x02(\x08\x1a\x1f\n\nFileHeader\x12\x11\n\tfile_name\x18\x01 \x02(\t\x1a\x81\x03\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12\r\n\x05topic\x18\x03 \x02(\t\x12\x11\n\tmime_type\x18\x04 \x02(\t\x12\x14\n\x0ctotal_length\x18\x05 \x01(\x04\x12\x14\n\x0ctotal_chunks\x18\x06 \x01(\x04\x12\x44\n\nextensions\x18\x07 \x03(\x0b\x32\x30.livekit.proto.DataStream.Header.ExtensionsEntry\x12;\n\x0btext_header\x18\x08 \x01(\x0b\x32$.livekit.proto.DataStream.TextHeaderH\x00\x12;\n\x0b\x66ile_header\x18\t \x01(\x0b\x32$.livekit.proto.DataStream.FileHeaderH\x00\x1a\x31\n\x0f\x45xtensionsEntry\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\x1ao\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\x10\n\x08\x63omplete\x18\x04 \x02(\x08\x12\x0f\n\x07version\x18\x05 \x02(\x05\x12\n\n\x02iv\x18\x06 \x01(\x0c\"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*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) @@ -30,18 +30,18 @@ _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_PUBLISHDATAREQUEST'].fields_by_name['destination_sids']._options = None _globals['_PUBLISHDATAREQUEST'].fields_by_name['destination_sids']._serialized_options = b'\030\001' - _globals['_ICETRANSPORTTYPE']._serialized_start=9177 - _globals['_ICETRANSPORTTYPE']._serialized_end=9257 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=9259 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=9326 - _globals['_CONNECTIONQUALITY']._serialized_start=9328 - _globals['_CONNECTIONQUALITY']._serialized_end=9424 - _globals['_CONNECTIONSTATE']._serialized_start=9426 - _globals['_CONNECTIONSTATE']._serialized_end=9509 - _globals['_DATAPACKETKIND']._serialized_start=9511 - _globals['_DATAPACKETKIND']._serialized_end=9562 - _globals['_DISCONNECTREASON']._serialized_start=9565 - _globals['_DISCONNECTREASON']._serialized_end=9801 + _globals['_DATASTREAM_HEADER_EXTENSIONSENTRY']._options = None + _globals['_DATASTREAM_HEADER_EXTENSIONSENTRY']._serialized_options = b'8\001' + _globals['_ICETRANSPORTTYPE']._serialized_start=10082 + _globals['_ICETRANSPORTTYPE']._serialized_end=10162 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=10164 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=10231 + _globals['_CONNECTIONQUALITY']._serialized_start=10233 + _globals['_CONNECTIONQUALITY']._serialized_end=10329 + _globals['_CONNECTIONSTATE']._serialized_start=10331 + _globals['_CONNECTIONSTATE']._serialized_end=10414 + _globals['_DATAPACKETKIND']._serialized_start=10416 + _globals['_DATAPACKETKIND']._serialized_end=10467 _globals['_CONNECTREQUEST']._serialized_start=119 _globals['_CONNECTREQUEST']._serialized_end=208 _globals['_CONNECTRESPONSE']._serialized_start=210 @@ -147,73 +147,87 @@ _globals['_OWNEDBUFFER']._serialized_start=4699 _globals['_OWNEDBUFFER']._serialized_end=4800 _globals['_ROOMEVENT']._serialized_start=4803 - _globals['_ROOMEVENT']._serialized_end=6688 - _globals['_ROOMINFO']._serialized_start=6690 - _globals['_ROOMINFO']._serialized_end=6745 - _globals['_OWNEDROOM']._serialized_start=6747 - _globals['_OWNEDROOM']._serialized_end=6844 - _globals['_PARTICIPANTCONNECTED']._serialized_start=6846 - _globals['_PARTICIPANTCONNECTED']._serialized_end=6915 - _globals['_PARTICIPANTDISCONNECTED']._serialized_start=6917 - _globals['_PARTICIPANTDISCONNECTED']._serialized_end=6972 - _globals['_LOCALTRACKPUBLISHED']._serialized_start=6974 - _globals['_LOCALTRACKPUBLISHED']._serialized_end=7014 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=7016 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=7064 - _globals['_LOCALTRACKSUBSCRIBED']._serialized_start=7066 - _globals['_LOCALTRACKSUBSCRIBED']._serialized_end=7107 - _globals['_TRACKPUBLISHED']._serialized_start=7109 - _globals['_TRACKPUBLISHED']._serialized_end=7214 - _globals['_TRACKUNPUBLISHED']._serialized_start=7216 - _globals['_TRACKUNPUBLISHED']._serialized_end=7289 - _globals['_TRACKSUBSCRIBED']._serialized_start=7291 - _globals['_TRACKSUBSCRIBED']._serialized_end=7380 - _globals['_TRACKUNSUBSCRIBED']._serialized_start=7382 - _globals['_TRACKUNSUBSCRIBED']._serialized_end=7450 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=7452 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=7541 - _globals['_TRACKMUTED']._serialized_start=7543 - _globals['_TRACKMUTED']._serialized_end=7604 - _globals['_TRACKUNMUTED']._serialized_start=7606 - _globals['_TRACKUNMUTED']._serialized_end=7669 - _globals['_E2EESTATECHANGED']._serialized_start=7671 - _globals['_E2EESTATECHANGED']._serialized_end=7766 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=7768 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=7823 - _globals['_ROOMMETADATACHANGED']._serialized_start=7825 - _globals['_ROOMMETADATACHANGED']._serialized_end=7864 - _globals['_ROOMSIDCHANGED']._serialized_start=7866 - _globals['_ROOMSIDCHANGED']._serialized_end=7895 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=7897 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=7973 - _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_start=7976 - _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_end=8148 - _globals['_PARTICIPANTNAMECHANGED']._serialized_start=8150 - _globals['_PARTICIPANTNAMECHANGED']._serialized_end=8218 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=8220 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=8327 - _globals['_USERPACKET']._serialized_start=8329 - _globals['_USERPACKET']._serialized_end=8398 - _globals['_CHATMESSAGE']._serialized_start=8400 - _globals['_CHATMESSAGE']._serialized_end=8521 - _globals['_CHATMESSAGERECEIVED']._serialized_start=8523 - _globals['_CHATMESSAGERECEIVED']._serialized_end=8619 - _globals['_SIPDTMF']._serialized_start=8621 - _globals['_SIPDTMF']._serialized_end=8659 - _globals['_DATAPACKETRECEIVED']._serialized_start=8662 - _globals['_DATAPACKETRECEIVED']._serialized_end=8853 - _globals['_TRANSCRIPTIONRECEIVED']._serialized_start=8855 - _globals['_TRANSCRIPTIONRECEIVED']._serialized_end=8982 - _globals['_CONNECTIONSTATECHANGED']._serialized_start=8984 - _globals['_CONNECTIONSTATECHANGED']._serialized_end=9055 - _globals['_CONNECTED']._serialized_start=9057 - _globals['_CONNECTED']._serialized_end=9068 - _globals['_DISCONNECTED']._serialized_start=9070 - _globals['_DISCONNECTED']._serialized_end=9133 - _globals['_RECONNECTING']._serialized_start=9135 - _globals['_RECONNECTING']._serialized_end=9149 - _globals['_RECONNECTED']._serialized_start=9151 - _globals['_RECONNECTED']._serialized_end=9164 - _globals['_ROOMEOS']._serialized_start=9166 - _globals['_ROOMEOS']._serialized_end=9175 + _globals['_ROOMEVENT']._serialized_end=6804 + _globals['_ROOMINFO']._serialized_start=6806 + _globals['_ROOMINFO']._serialized_end=6861 + _globals['_OWNEDROOM']._serialized_start=6863 + _globals['_OWNEDROOM']._serialized_end=6960 + _globals['_PARTICIPANTCONNECTED']._serialized_start=6962 + _globals['_PARTICIPANTCONNECTED']._serialized_end=7031 + _globals['_PARTICIPANTDISCONNECTED']._serialized_start=7033 + _globals['_PARTICIPANTDISCONNECTED']._serialized_end=7088 + _globals['_LOCALTRACKPUBLISHED']._serialized_start=7090 + _globals['_LOCALTRACKPUBLISHED']._serialized_end=7130 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=7132 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=7180 + _globals['_LOCALTRACKSUBSCRIBED']._serialized_start=7182 + _globals['_LOCALTRACKSUBSCRIBED']._serialized_end=7223 + _globals['_TRACKPUBLISHED']._serialized_start=7225 + _globals['_TRACKPUBLISHED']._serialized_end=7330 + _globals['_TRACKUNPUBLISHED']._serialized_start=7332 + _globals['_TRACKUNPUBLISHED']._serialized_end=7405 + _globals['_TRACKSUBSCRIBED']._serialized_start=7407 + _globals['_TRACKSUBSCRIBED']._serialized_end=7496 + _globals['_TRACKUNSUBSCRIBED']._serialized_start=7498 + _globals['_TRACKUNSUBSCRIBED']._serialized_end=7566 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=7568 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=7657 + _globals['_TRACKMUTED']._serialized_start=7659 + _globals['_TRACKMUTED']._serialized_end=7720 + _globals['_TRACKUNMUTED']._serialized_start=7722 + _globals['_TRACKUNMUTED']._serialized_end=7785 + _globals['_E2EESTATECHANGED']._serialized_start=7787 + _globals['_E2EESTATECHANGED']._serialized_end=7882 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=7884 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=7939 + _globals['_ROOMMETADATACHANGED']._serialized_start=7941 + _globals['_ROOMMETADATACHANGED']._serialized_end=7980 + _globals['_ROOMSIDCHANGED']._serialized_start=7982 + _globals['_ROOMSIDCHANGED']._serialized_end=8011 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=8013 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=8089 + _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_start=8092 + _globals['_PARTICIPANTATTRIBUTESCHANGED']._serialized_end=8264 + _globals['_PARTICIPANTNAMECHANGED']._serialized_start=8266 + _globals['_PARTICIPANTNAMECHANGED']._serialized_end=8334 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=8336 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=8443 + _globals['_USERPACKET']._serialized_start=8445 + _globals['_USERPACKET']._serialized_end=8514 + _globals['_CHATMESSAGE']._serialized_start=8516 + _globals['_CHATMESSAGE']._serialized_end=8637 + _globals['_CHATMESSAGERECEIVED']._serialized_start=8639 + _globals['_CHATMESSAGERECEIVED']._serialized_end=8735 + _globals['_SIPDTMF']._serialized_start=8737 + _globals['_SIPDTMF']._serialized_end=8775 + _globals['_DATAPACKETRECEIVED']._serialized_start=8778 + _globals['_DATAPACKETRECEIVED']._serialized_end=8969 + _globals['_TRANSCRIPTIONRECEIVED']._serialized_start=8971 + _globals['_TRANSCRIPTIONRECEIVED']._serialized_end=9098 + _globals['_CONNECTIONSTATECHANGED']._serialized_start=9100 + _globals['_CONNECTIONSTATECHANGED']._serialized_end=9171 + _globals['_CONNECTED']._serialized_start=9173 + _globals['_CONNECTED']._serialized_end=9184 + _globals['_DISCONNECTED']._serialized_start=9186 + _globals['_DISCONNECTED']._serialized_end=9249 + _globals['_RECONNECTING']._serialized_start=9251 + _globals['_RECONNECTING']._serialized_end=9265 + _globals['_RECONNECTED']._serialized_start=9267 + _globals['_RECONNECTED']._serialized_end=9280 + _globals['_ROOMEOS']._serialized_start=9282 + _globals['_ROOMEOS']._serialized_end=9291 + _globals['_DATASTREAM']._serialized_start=9294 + _globals['_DATASTREAM']._serialized_end=10080 + _globals['_DATASTREAM_TEXTHEADER']._serialized_start=9309 + _globals['_DATASTREAM_TEXTHEADER']._serialized_end=9479 + _globals['_DATASTREAM_FILEHEADER']._serialized_start=9481 + _globals['_DATASTREAM_FILEHEADER']._serialized_end=9512 + _globals['_DATASTREAM_HEADER']._serialized_start=9515 + _globals['_DATASTREAM_HEADER']._serialized_end=9900 + _globals['_DATASTREAM_HEADER_EXTENSIONSENTRY']._serialized_start=9833 + _globals['_DATASTREAM_HEADER_EXTENSIONSENTRY']._serialized_end=9882 + _globals['_DATASTREAM_CHUNK']._serialized_start=9902 + _globals['_DATASTREAM_CHUNK']._serialized_end=10013 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=10015 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=10080 # @@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 fd5f7859..f78a2403 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi @@ -124,59 +124,6 @@ KIND_LOSSY: DataPacketKind.ValueType # 0 KIND_RELIABLE: DataPacketKind.ValueType # 1 global___DataPacketKind = DataPacketKind -class _DisconnectReason: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _DisconnectReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DisconnectReason.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN_REASON: _DisconnectReason.ValueType # 0 - CLIENT_INITIATED: _DisconnectReason.ValueType # 1 - """the client initiated the disconnect""" - DUPLICATE_IDENTITY: _DisconnectReason.ValueType # 2 - """another participant with the same identity has joined the room""" - SERVER_SHUTDOWN: _DisconnectReason.ValueType # 3 - """the server instance is shutting down""" - PARTICIPANT_REMOVED: _DisconnectReason.ValueType # 4 - """RoomService.RemoveParticipant was called""" - ROOM_DELETED: _DisconnectReason.ValueType # 5 - """RoomService.DeleteRoom was called""" - STATE_MISMATCH: _DisconnectReason.ValueType # 6 - """the client is attempting to resume a session, but server is not aware of it""" - JOIN_FAILURE: _DisconnectReason.ValueType # 7 - """client was unable to connect fully""" - MIGRATION: _DisconnectReason.ValueType # 8 - """Cloud-only, the server requested Participant to migrate the connection elsewhere""" - SIGNAL_CLOSE: _DisconnectReason.ValueType # 9 - """the signal websocket was closed unexpectedly""" - ROOM_CLOSED: _DisconnectReason.ValueType # 10 - """the room was closed, due to all Standard and Ingress participants having left""" - -class DisconnectReason(_DisconnectReason, metaclass=_DisconnectReasonEnumTypeWrapper): ... - -UNKNOWN_REASON: DisconnectReason.ValueType # 0 -CLIENT_INITIATED: DisconnectReason.ValueType # 1 -"""the client initiated the disconnect""" -DUPLICATE_IDENTITY: DisconnectReason.ValueType # 2 -"""another participant with the same identity has joined the room""" -SERVER_SHUTDOWN: DisconnectReason.ValueType # 3 -"""the server instance is shutting down""" -PARTICIPANT_REMOVED: DisconnectReason.ValueType # 4 -"""RoomService.RemoveParticipant was called""" -ROOM_DELETED: DisconnectReason.ValueType # 5 -"""RoomService.DeleteRoom was called""" -STATE_MISMATCH: DisconnectReason.ValueType # 6 -"""the client is attempting to resume a session, but server is not aware of it""" -JOIN_FAILURE: DisconnectReason.ValueType # 7 -"""client was unable to connect fully""" -MIGRATION: DisconnectReason.ValueType # 8 -"""Cloud-only, the server requested Participant to migrate the connection elsewhere""" -SIGNAL_CLOSE: DisconnectReason.ValueType # 9 -"""the signal websocket was closed unexpectedly""" -ROOM_CLOSED: DisconnectReason.ValueType # 10 -"""the room was closed, due to all Standard and Ingress participants having left""" -global___DisconnectReason = DisconnectReason - @typing.final class ConnectRequest(google.protobuf.message.Message): """Connect to a new LiveKit room""" @@ -1317,6 +1264,8 @@ class RoomEvent(google.protobuf.message.Message): DATA_PACKET_RECEIVED_FIELD_NUMBER: builtins.int TRANSCRIPTION_RECEIVED_FIELD_NUMBER: builtins.int CHAT_MESSAGE_FIELD_NUMBER: builtins.int + STREAM_HEADER_FIELD_NUMBER: builtins.int + STREAM_CHUNK_FIELD_NUMBER: builtins.int room_handle: builtins.int @property def participant_connected(self) -> global___ParticipantConnected: ... @@ -1378,6 +1327,10 @@ class RoomEvent(google.protobuf.message.Message): def transcription_received(self) -> global___TranscriptionReceived: ... @property def chat_message(self) -> global___ChatMessageReceived: ... + @property + def stream_header(self) -> global___DataStream.Header: ... + @property + def stream_chunk(self) -> global___DataStream.Chunk: ... def __init__( self, *, @@ -1410,10 +1363,12 @@ class RoomEvent(google.protobuf.message.Message): data_packet_received: global___DataPacketReceived | None = ..., transcription_received: global___TranscriptionReceived | None = ..., chat_message: global___ChatMessageReceived | None = ..., + stream_header: global___DataStream.Header | None = ..., + stream_chunk: global___DataStream.Chunk | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message"] | None: ... + def HasField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message", "stream_header", "stream_chunk"] | None: ... global___RoomEvent = RoomEvent @@ -2009,11 +1964,11 @@ class Disconnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor REASON_FIELD_NUMBER: builtins.int - reason: global___DisconnectReason.ValueType + reason: participant_pb2.DisconnectReason.ValueType def __init__( self, *, - reason: global___DisconnectReason.ValueType | None = ..., + reason: participant_pb2.DisconnectReason.ValueType | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["reason", b"reason"]) -> builtins.bool: ... def ClearField(self, field_name: typing.Literal["reason", b"reason"]) -> None: ... @@ -2049,3 +2004,184 @@ class RoomEOS(google.protobuf.message.Message): ) -> None: ... global___RoomEOS = RoomEOS + +@typing.final +class DataStream(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _OperationType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OperationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DataStream._OperationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CREATE: DataStream._OperationType.ValueType # 0 + UPDATE: DataStream._OperationType.ValueType # 1 + DELETE: DataStream._OperationType.ValueType # 2 + REACTION: DataStream._OperationType.ValueType # 3 + + class OperationType(_OperationType, metaclass=_OperationTypeEnumTypeWrapper): + """enum for operation types (specific to TextHeader)""" + + CREATE: DataStream.OperationType.ValueType # 0 + UPDATE: DataStream.OperationType.ValueType # 1 + DELETE: DataStream.OperationType.ValueType # 2 + REACTION: DataStream.OperationType.ValueType # 3 + + @typing.final + class TextHeader(google.protobuf.message.Message): + """header properties specific to text streams""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPERATION_TYPE_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + REPLY_TO_STREAM_ID_FIELD_NUMBER: builtins.int + ATTACHED_STREAM_IDS_FIELD_NUMBER: builtins.int + GENERATED_FIELD_NUMBER: builtins.int + operation_type: global___DataStream.OperationType.ValueType + version: builtins.int + """Optional: Version for updates/edits""" + reply_to_stream_id: builtins.str + """Optional: Reply to specific message""" + generated: builtins.bool + """true if the text has been generated by an agent from a participant's audio transcription""" + @property + def attached_stream_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + """file attachments for text streams""" + + def __init__( + self, + *, + operation_type: global___DataStream.OperationType.ValueType | None = ..., + version: builtins.int | None = ..., + reply_to_stream_id: builtins.str | None = ..., + attached_stream_ids: collections.abc.Iterable[builtins.str] | None = ..., + generated: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> None: ... + + @typing.final + class FileHeader(google.protobuf.message.Message): + """header properties specific to file or image streams""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILE_NAME_FIELD_NUMBER: builtins.int + file_name: builtins.str + """name of the file""" + def __init__( + self, + *, + file_name: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["file_name", b"file_name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["file_name", b"file_name"]) -> None: ... + + @typing.final + class Header(google.protobuf.message.Message): + """main DataStream.Header that contains a oneof for specific headers""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ExtensionsEntry(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: ... + + STREAM_ID_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + TOPIC_FIELD_NUMBER: builtins.int + MIME_TYPE_FIELD_NUMBER: builtins.int + TOTAL_LENGTH_FIELD_NUMBER: builtins.int + TOTAL_CHUNKS_FIELD_NUMBER: builtins.int + EXTENSIONS_FIELD_NUMBER: builtins.int + TEXT_HEADER_FIELD_NUMBER: builtins.int + FILE_HEADER_FIELD_NUMBER: builtins.int + stream_id: builtins.str + """unique identifier for this data stream""" + timestamp: builtins.int + """using int64 for Unix timestamp""" + topic: builtins.str + mime_type: builtins.str + total_length: builtins.int + """only populated for finite streams, if it's a stream of unknown size this stays empty""" + total_chunks: builtins.int + """only populated for finite streams, if it's a stream of unknown size this stays empty""" + @property + def extensions(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + """user defined extensions map that can carry additional info""" + + @property + def text_header(self) -> global___DataStream.TextHeader: ... + @property + def file_header(self) -> global___DataStream.FileHeader: ... + def __init__( + self, + *, + stream_id: builtins.str | None = ..., + timestamp: builtins.int | None = ..., + topic: builtins.str | None = ..., + mime_type: builtins.str | None = ..., + total_length: builtins.int | None = ..., + total_chunks: builtins.int | None = ..., + extensions: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., + text_header: global___DataStream.TextHeader | None = ..., + file_header: global___DataStream.FileHeader | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content_header", b"content_header", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content_header", b"content_header", "extensions", b"extensions", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content_header", b"content_header"]) -> typing.Literal["text_header", "file_header"] | None: ... + + @typing.final + class Chunk(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STREAM_ID_FIELD_NUMBER: builtins.int + CHUNK_INDEX_FIELD_NUMBER: builtins.int + CONTENT_FIELD_NUMBER: builtins.int + COMPLETE_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + IV_FIELD_NUMBER: builtins.int + stream_id: builtins.str + """unique identifier for this data stream to map it to the correct header""" + chunk_index: builtins.int + content: builtins.bytes + """content as binary (bytes)""" + complete: builtins.bool + """true only if this is the last chunk of this stream - can also be sent with empty content""" + version: builtins.int + """a version indicating that this chunk_index has been retroactively modified and the original one needs to be replaced""" + iv: builtins.bytes + """optional, initialization vector for AES-GCM encryption""" + def __init__( + self, + *, + stream_id: builtins.str | None = ..., + chunk_index: builtins.int | None = ..., + content: builtins.bytes | None = ..., + complete: builtins.bool | None = ..., + version: builtins.int | None = ..., + iv: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> None: ... + + def __init__( + self, + ) -> None: ... + +global___DataStream = DataStream diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py index 149afabb..ce7b411c 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bstats.proto\x12\rlivekit.proto\"\xd9\x17\n\x08RtcStats\x12.\n\x05\x63odec\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.RtcStats.CodecH\x00\x12\x39\n\x0binbound_rtp\x18\x04 \x01(\x0b\x32\".livekit.proto.RtcStats.InboundRtpH\x00\x12;\n\x0coutbound_rtp\x18\x05 \x01(\x0b\x32#.livekit.proto.RtcStats.OutboundRtpH\x00\x12\x46\n\x12remote_inbound_rtp\x18\x06 \x01(\x0b\x32(.livekit.proto.RtcStats.RemoteInboundRtpH\x00\x12H\n\x13remote_outbound_rtp\x18\x07 \x01(\x0b\x32).livekit.proto.RtcStats.RemoteOutboundRtpH\x00\x12;\n\x0cmedia_source\x18\x08 \x01(\x0b\x32#.livekit.proto.RtcStats.MediaSourceH\x00\x12=\n\rmedia_playout\x18\t \x01(\x0b\x32$.livekit.proto.RtcStats.MediaPlayoutH\x00\x12\x41\n\x0fpeer_connection\x18\n \x01(\x0b\x32&.livekit.proto.RtcStats.PeerConnectionH\x00\x12;\n\x0c\x64\x61ta_channel\x18\x0b \x01(\x0b\x32#.livekit.proto.RtcStats.DataChannelH\x00\x12\x36\n\ttransport\x18\x0c \x01(\x0b\x32!.livekit.proto.RtcStats.TransportH\x00\x12?\n\x0e\x63\x61ndidate_pair\x18\r \x01(\x0b\x32%.livekit.proto.RtcStats.CandidatePairH\x00\x12\x41\n\x0flocal_candidate\x18\x0e \x01(\x0b\x32&.livekit.proto.RtcStats.LocalCandidateH\x00\x12\x43\n\x10remote_candidate\x18\x0f \x01(\x0b\x32\'.livekit.proto.RtcStats.RemoteCandidateH\x00\x12:\n\x0b\x63\x65rtificate\x18\x10 \x01(\x0b\x32#.livekit.proto.RtcStats.CertificateH\x00\x12.\n\x05track\x18\x11 \x01(\x0b\x32\x1d.livekit.proto.RtcStats.TrackH\x00\x1a[\n\x05\x43odec\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12(\n\x05\x63odec\x18\x02 \x02(\x0b\x32\x19.livekit.proto.CodecStats\x1a\xd5\x01\n\nInboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12\x37\n\x08received\x18\x03 \x02(\x0b\x32%.livekit.proto.ReceivedRtpStreamStats\x12\x35\n\x07inbound\x18\x04 \x02(\x0b\x32$.livekit.proto.InboundRtpStreamStats\x1a\xd0\x01\n\x0bOutboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12/\n\x04sent\x18\x03 \x02(\x0b\x32!.livekit.proto.SentRtpStreamStats\x12\x37\n\x08outbound\x18\x04 \x02(\x0b\x32%.livekit.proto.OutboundRtpStreamStats\x1a\xe8\x01\n\x10RemoteInboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12\x37\n\x08received\x18\x03 \x02(\x0b\x32%.livekit.proto.ReceivedRtpStreamStats\x12\x42\n\x0eremote_inbound\x18\x04 \x02(\x0b\x32*.livekit.proto.RemoteInboundRtpStreamStats\x1a\xe3\x01\n\x11RemoteOutboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12/\n\x04sent\x18\x03 \x02(\x0b\x32!.livekit.proto.SentRtpStreamStats\x12\x44\n\x0fremote_outbound\x18\x04 \x02(\x0b\x32+.livekit.proto.RemoteOutboundRtpStreamStats\x1a\xc8\x01\n\x0bMediaSource\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12/\n\x06source\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.MediaSourceStats\x12.\n\x05\x61udio\x18\x03 \x02(\x0b\x32\x1f.livekit.proto.AudioSourceStats\x12.\n\x05video\x18\x04 \x02(\x0b\x32\x1f.livekit.proto.VideoSourceStats\x1aq\n\x0cMediaPlayout\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x37\n\raudio_playout\x18\x02 \x02(\x0b\x32 .livekit.proto.AudioPlayoutStats\x1aj\n\x0ePeerConnection\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12.\n\x02pc\x18\x02 \x02(\x0b\x32\".livekit.proto.PeerConnectionStats\x1a\x64\n\x0b\x44\x61taChannel\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12+\n\x02\x64\x63\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataChannelStats\x1ag\n\tTransport\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x30\n\ttransport\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.TransportStats\x1at\n\rCandidatePair\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x39\n\x0e\x63\x61ndidate_pair\x18\x02 \x02(\x0b\x32!.livekit.proto.CandidatePairStats\x1ao\n\x0eLocalCandidate\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x33\n\tcandidate\x18\x02 \x02(\x0b\x32 .livekit.proto.IceCandidateStats\x1ap\n\x0fRemoteCandidate\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x33\n\tcandidate\x18\x02 \x02(\x0b\x32 .livekit.proto.IceCandidateStats\x1am\n\x0b\x43\x65rtificate\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x34\n\x0b\x63\x65rtificate\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.CertificateStats\x1a\x07\n\x05TrackB\x07\n\x05stats\"-\n\x0cRtcStatsData\x12\n\n\x02id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\"\x88\x01\n\nCodecStats\x12\x14\n\x0cpayload_type\x18\x01 \x02(\r\x12\x14\n\x0ctransport_id\x18\x02 \x02(\t\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\x12\n\nclock_rate\x18\x04 \x02(\r\x12\x10\n\x08\x63hannels\x18\x05 \x02(\r\x12\x15\n\rsdp_fmtp_line\x18\x06 \x02(\t\"T\n\x0eRtpStreamStats\x12\x0c\n\x04ssrc\x18\x01 \x02(\r\x12\x0c\n\x04kind\x18\x02 \x02(\t\x12\x14\n\x0ctransport_id\x18\x03 \x02(\t\x12\x10\n\x08\x63odec_id\x18\x04 \x02(\t\"X\n\x16ReceivedRtpStreamStats\x12\x18\n\x10packets_received\x18\x01 \x02(\x04\x12\x14\n\x0cpackets_lost\x18\x02 \x02(\x03\x12\x0e\n\x06jitter\x18\x03 \x02(\x01\"\x82\x0c\n\x15InboundRtpStreamStats\x12\x18\n\x10track_identifier\x18\x01 \x02(\t\x12\x0b\n\x03mid\x18\x02 \x02(\t\x12\x11\n\tremote_id\x18\x03 \x02(\t\x12\x16\n\x0e\x66rames_decoded\x18\x04 \x02(\r\x12\x1a\n\x12key_frames_decoded\x18\x05 \x02(\r\x12\x17\n\x0f\x66rames_rendered\x18\x06 \x02(\r\x12\x16\n\x0e\x66rames_dropped\x18\x07 \x02(\r\x12\x13\n\x0b\x66rame_width\x18\x08 \x02(\r\x12\x14\n\x0c\x66rame_height\x18\t \x02(\r\x12\x19\n\x11\x66rames_per_second\x18\n \x02(\x01\x12\x0e\n\x06qp_sum\x18\x0b \x02(\x04\x12\x19\n\x11total_decode_time\x18\x0c \x02(\x01\x12\x1f\n\x17total_inter_frame_delay\x18\r \x02(\x01\x12\'\n\x1ftotal_squared_inter_frame_delay\x18\x0e \x02(\x01\x12\x13\n\x0bpause_count\x18\x0f \x02(\r\x12\x1c\n\x14total_pause_duration\x18\x10 \x02(\x01\x12\x14\n\x0c\x66reeze_count\x18\x11 \x02(\r\x12\x1d\n\x15total_freeze_duration\x18\x12 \x02(\x01\x12&\n\x1elast_packet_received_timestamp\x18\x13 \x02(\x01\x12\x1d\n\x15header_bytes_received\x18\x14 \x02(\x04\x12\x19\n\x11packets_discarded\x18\x15 \x02(\x04\x12\x1a\n\x12\x66\x65\x63_bytes_received\x18\x16 \x02(\x04\x12\x1c\n\x14\x66\x65\x63_packets_received\x18\x17 \x02(\x04\x12\x1d\n\x15\x66\x65\x63_packets_discarded\x18\x18 \x02(\x04\x12\x16\n\x0e\x62ytes_received\x18\x19 \x02(\x04\x12\x12\n\nnack_count\x18\x1a \x02(\r\x12\x11\n\tfir_count\x18\x1b \x02(\r\x12\x11\n\tpli_count\x18\x1c \x02(\r\x12\x1e\n\x16total_processing_delay\x18\x1d \x02(\x01\x12#\n\x1b\x65stimated_playout_timestamp\x18\x1e \x02(\x01\x12\x1b\n\x13jitter_buffer_delay\x18\x1f \x02(\x01\x12\"\n\x1ajitter_buffer_target_delay\x18 \x02(\x01\x12#\n\x1bjitter_buffer_emitted_count\x18! \x02(\x04\x12#\n\x1bjitter_buffer_minimum_delay\x18\" \x02(\x01\x12\x1e\n\x16total_samples_received\x18# \x02(\x04\x12\x19\n\x11\x63oncealed_samples\x18$ \x02(\x04\x12 \n\x18silent_concealed_samples\x18% \x02(\x04\x12\x1a\n\x12\x63oncealment_events\x18& \x02(\x04\x12)\n!inserted_samples_for_deceleration\x18\' \x02(\x04\x12(\n removed_samples_for_acceleration\x18( \x02(\x04\x12\x13\n\x0b\x61udio_level\x18) \x02(\x01\x12\x1a\n\x12total_audio_energy\x18* \x02(\x01\x12\x1e\n\x16total_samples_duration\x18+ \x02(\x01\x12\x17\n\x0f\x66rames_received\x18, \x02(\x04\x12\x1e\n\x16\x64\x65\x63oder_implementation\x18- \x02(\t\x12\x12\n\nplayout_id\x18. \x02(\t\x12\x1f\n\x17power_efficient_decoder\x18/ \x02(\x08\x12.\n&frames_assembled_from_multiple_packets\x18\x30 \x02(\x04\x12\x1b\n\x13total_assembly_time\x18\x31 \x02(\x01\x12&\n\x1eretransmitted_packets_received\x18\x32 \x02(\x04\x12$\n\x1cretransmitted_bytes_received\x18\x33 \x02(\x04\x12\x10\n\x08rtx_ssrc\x18\x34 \x02(\r\x12\x10\n\x08\x66\x65\x63_ssrc\x18\x35 \x02(\r\">\n\x12SentRtpStreamStats\x12\x14\n\x0cpackets_sent\x18\x01 \x02(\x04\x12\x12\n\nbytes_sent\x18\x02 \x02(\x04\"\xd1\x07\n\x16OutboundRtpStreamStats\x12\x0b\n\x03mid\x18\x01 \x02(\t\x12\x17\n\x0fmedia_source_id\x18\x02 \x02(\t\x12\x11\n\tremote_id\x18\x03 \x02(\t\x12\x0b\n\x03rid\x18\x04 \x02(\t\x12\x19\n\x11header_bytes_sent\x18\x05 \x02(\x04\x12\"\n\x1aretransmitted_packets_sent\x18\x06 \x02(\x04\x12 \n\x18retransmitted_bytes_sent\x18\x07 \x02(\x04\x12\x10\n\x08rtx_ssrc\x18\x08 \x02(\r\x12\x16\n\x0etarget_bitrate\x18\t \x02(\x01\x12\"\n\x1atotal_encoded_bytes_target\x18\n \x02(\x04\x12\x13\n\x0b\x66rame_width\x18\x0b \x02(\r\x12\x14\n\x0c\x66rame_height\x18\x0c \x02(\r\x12\x19\n\x11\x66rames_per_second\x18\r \x02(\x01\x12\x13\n\x0b\x66rames_sent\x18\x0e \x02(\r\x12\x18\n\x10huge_frames_sent\x18\x0f \x02(\r\x12\x16\n\x0e\x66rames_encoded\x18\x10 \x02(\r\x12\x1a\n\x12key_frames_encoded\x18\x11 \x02(\r\x12\x0e\n\x06qp_sum\x18\x12 \x02(\x04\x12\x19\n\x11total_encode_time\x18\x13 \x02(\x01\x12\x1f\n\x17total_packet_send_delay\x18\x14 \x02(\x01\x12I\n\x19quality_limitation_reason\x18\x15 \x02(\x0e\x32&.livekit.proto.QualityLimitationReason\x12k\n\x1cquality_limitation_durations\x18\x16 \x03(\x0b\x32\x45.livekit.proto.OutboundRtpStreamStats.QualityLimitationDurationsEntry\x12-\n%quality_limitation_resolution_changes\x18\x17 \x02(\r\x12\x12\n\nnack_count\x18\x18 \x02(\r\x12\x11\n\tfir_count\x18\x19 \x02(\r\x12\x11\n\tpli_count\x18\x1a \x02(\r\x12\x1e\n\x16\x65ncoder_implementation\x18\x1b \x02(\t\x12\x1f\n\x17power_efficient_encoder\x18\x1c \x02(\x08\x12\x0e\n\x06\x61\x63tive\x18\x1d \x02(\x08\x12\x18\n\x10scalability_mode\x18\x1e \x02(\t\x1a\x41\n\x1fQualityLimitationDurationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\"\xa4\x01\n\x1bRemoteInboundRtpStreamStats\x12\x10\n\x08local_id\x18\x01 \x02(\t\x12\x17\n\x0fround_trip_time\x18\x02 \x02(\x01\x12\x1d\n\x15total_round_trip_time\x18\x03 \x02(\x01\x12\x15\n\rfraction_lost\x18\x04 \x02(\x01\x12$\n\x1cround_trip_time_measurements\x18\x05 \x02(\x04\"\xbe\x01\n\x1cRemoteOutboundRtpStreamStats\x12\x10\n\x08local_id\x18\x01 \x02(\t\x12\x18\n\x10remote_timestamp\x18\x02 \x02(\x01\x12\x14\n\x0creports_sent\x18\x03 \x02(\x04\x12\x17\n\x0fround_trip_time\x18\x04 \x02(\x01\x12\x1d\n\x15total_round_trip_time\x18\x05 \x02(\x01\x12$\n\x1cround_trip_time_measurements\x18\x06 \x02(\x04\":\n\x10MediaSourceStats\x12\x18\n\x10track_identifier\x18\x01 \x02(\t\x12\x0c\n\x04kind\x18\x02 \x02(\t\"\xa2\x02\n\x10\x41udioSourceStats\x12\x13\n\x0b\x61udio_level\x18\x01 \x02(\x01\x12\x1a\n\x12total_audio_energy\x18\x02 \x02(\x01\x12\x1e\n\x16total_samples_duration\x18\x03 \x02(\x01\x12\x18\n\x10\x65\x63ho_return_loss\x18\x04 \x02(\x01\x12$\n\x1c\x65\x63ho_return_loss_enhancement\x18\x05 \x02(\x01\x12 \n\x18\x64ropped_samples_duration\x18\x06 \x02(\x01\x12\x1e\n\x16\x64ropped_samples_events\x18\x07 \x02(\r\x12\x1b\n\x13total_capture_delay\x18\x08 \x02(\x01\x12\x1e\n\x16total_samples_captured\x18\t \x02(\x04\"\\\n\x10VideoSourceStats\x12\r\n\x05width\x18\x01 \x02(\r\x12\x0e\n\x06height\x18\x02 \x02(\r\x12\x0e\n\x06\x66rames\x18\x03 \x02(\r\x12\x19\n\x11\x66rames_per_second\x18\x04 \x02(\x01\"\xc5\x01\n\x11\x41udioPlayoutStats\x12\x0c\n\x04kind\x18\x01 \x02(\t\x12$\n\x1csynthesized_samples_duration\x18\x02 \x02(\x01\x12\"\n\x1asynthesized_samples_events\x18\x03 \x02(\r\x12\x1e\n\x16total_samples_duration\x18\x04 \x02(\x01\x12\x1b\n\x13total_playout_delay\x18\x05 \x02(\x01\x12\x1b\n\x13total_samples_count\x18\x06 \x02(\x04\"Q\n\x13PeerConnectionStats\x12\x1c\n\x14\x64\x61ta_channels_opened\x18\x01 \x02(\r\x12\x1c\n\x14\x64\x61ta_channels_closed\x18\x02 \x02(\r\"\xe2\x01\n\x10\x44\x61taChannelStats\x12\r\n\x05label\x18\x01 \x02(\t\x12\x10\n\x08protocol\x18\x02 \x02(\t\x12\x1f\n\x17\x64\x61ta_channel_identifier\x18\x03 \x02(\x05\x12.\n\x05state\x18\x04 \x01(\x0e\x32\x1f.livekit.proto.DataChannelState\x12\x15\n\rmessages_sent\x18\x05 \x02(\r\x12\x12\n\nbytes_sent\x18\x06 \x02(\x04\x12\x19\n\x11messages_received\x18\x07 \x02(\r\x12\x16\n\x0e\x62ytes_received\x18\x08 \x02(\x04\"\x9c\x04\n\x0eTransportStats\x12\x14\n\x0cpackets_sent\x18\x01 \x02(\x04\x12\x18\n\x10packets_received\x18\x02 \x02(\x04\x12\x12\n\nbytes_sent\x18\x03 \x02(\x04\x12\x16\n\x0e\x62ytes_received\x18\x04 \x02(\x04\x12(\n\x08ice_role\x18\x05 \x02(\x0e\x32\x16.livekit.proto.IceRole\x12#\n\x1bice_local_username_fragment\x18\x06 \x02(\t\x12\x35\n\ndtls_state\x18\x07 \x01(\x0e\x32!.livekit.proto.DtlsTransportState\x12\x33\n\tice_state\x18\x08 \x01(\x0e\x32 .livekit.proto.IceTransportState\x12\"\n\x1aselected_candidate_pair_id\x18\t \x02(\t\x12\x1c\n\x14local_certificate_id\x18\n \x02(\t\x12\x1d\n\x15remote_certificate_id\x18\x0b \x02(\t\x12\x13\n\x0btls_version\x18\x0c \x02(\t\x12\x13\n\x0b\x64tls_cipher\x18\r \x02(\t\x12*\n\tdtls_role\x18\x0e \x02(\x0e\x32\x17.livekit.proto.DtlsRole\x12\x13\n\x0bsrtp_cipher\x18\x0f \x02(\t\x12\'\n\x1fselected_candidate_pair_changes\x18\x10 \x02(\r\"\xa4\x05\n\x12\x43\x61ndidatePairStats\x12\x14\n\x0ctransport_id\x18\x01 \x02(\t\x12\x1a\n\x12local_candidate_id\x18\x02 \x02(\t\x12\x1b\n\x13remote_candidate_id\x18\x03 \x02(\t\x12\x33\n\x05state\x18\x04 \x01(\x0e\x32$.livekit.proto.IceCandidatePairState\x12\x11\n\tnominated\x18\x05 \x02(\x08\x12\x14\n\x0cpackets_sent\x18\x06 \x02(\x04\x12\x18\n\x10packets_received\x18\x07 \x02(\x04\x12\x12\n\nbytes_sent\x18\x08 \x02(\x04\x12\x16\n\x0e\x62ytes_received\x18\t \x02(\x04\x12\"\n\x1alast_packet_sent_timestamp\x18\n \x02(\x01\x12&\n\x1elast_packet_received_timestamp\x18\x0b \x02(\x01\x12\x1d\n\x15total_round_trip_time\x18\x0c \x02(\x01\x12\x1f\n\x17\x63urrent_round_trip_time\x18\r \x02(\x01\x12\"\n\x1a\x61vailable_outgoing_bitrate\x18\x0e \x02(\x01\x12\"\n\x1a\x61vailable_incoming_bitrate\x18\x0f \x02(\x01\x12\x19\n\x11requests_received\x18\x10 \x02(\x04\x12\x15\n\rrequests_sent\x18\x11 \x02(\x04\x12\x1a\n\x12responses_received\x18\x12 \x02(\x04\x12\x16\n\x0eresponses_sent\x18\x13 \x02(\x04\x12\x1d\n\x15\x63onsent_requests_sent\x18\x14 \x02(\x04\x12!\n\x19packets_discarded_on_send\x18\x15 \x02(\r\x12\x1f\n\x17\x62ytes_discarded_on_send\x18\x16 \x02(\x04\"\x89\x03\n\x11IceCandidateStats\x12\x14\n\x0ctransport_id\x18\x01 \x02(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x02(\t\x12\x0c\n\x04port\x18\x03 \x02(\x05\x12\x10\n\x08protocol\x18\x04 \x02(\t\x12\x37\n\x0e\x63\x61ndidate_type\x18\x05 \x01(\x0e\x32\x1f.livekit.proto.IceCandidateType\x12\x10\n\x08priority\x18\x06 \x02(\x05\x12\x0b\n\x03url\x18\x07 \x02(\t\x12\x41\n\x0erelay_protocol\x18\x08 \x01(\x0e\x32).livekit.proto.IceServerTransportProtocol\x12\x12\n\nfoundation\x18\t \x02(\t\x12\x17\n\x0frelated_address\x18\n \x02(\t\x12\x14\n\x0crelated_port\x18\x0b \x02(\x05\x12\x19\n\x11username_fragment\x18\x0c \x02(\t\x12\x34\n\x08tcp_type\x18\r \x01(\x0e\x32\".livekit.proto.IceTcpCandidateType\"\x81\x01\n\x10\x43\x65rtificateStats\x12\x13\n\x0b\x66ingerprint\x18\x01 \x02(\t\x12\x1d\n\x15\x66ingerprint_algorithm\x18\x02 \x02(\t\x12\x1a\n\x12\x62\x61se64_certificate\x18\x03 \x02(\t\x12\x1d\n\x15issuer_certificate_id\x18\x04 \x02(\t*Q\n\x10\x44\x61taChannelState\x12\x11\n\rDC_CONNECTING\x10\x00\x12\x0b\n\x07\x44\x43_OPEN\x10\x01\x12\x0e\n\nDC_CLOSING\x10\x02\x12\r\n\tDC_CLOSED\x10\x03*r\n\x17QualityLimitationReason\x12\x13\n\x0fLIMITATION_NONE\x10\x00\x12\x12\n\x0eLIMITATION_CPU\x10\x01\x12\x18\n\x14LIMITATION_BANDWIDTH\x10\x02\x12\x14\n\x10LIMITATION_OTHER\x10\x03*C\n\x07IceRole\x12\x0f\n\x0bICE_UNKNOWN\x10\x00\x12\x13\n\x0fICE_CONTROLLING\x10\x01\x12\x12\n\x0eICE_CONTROLLED\x10\x02*\x9f\x01\n\x12\x44tlsTransportState\x12\x16\n\x12\x44TLS_TRANSPORT_NEW\x10\x00\x12\x1d\n\x19\x44TLS_TRANSPORT_CONNECTING\x10\x01\x12\x1c\n\x18\x44TLS_TRANSPORT_CONNECTED\x10\x02\x12\x19\n\x15\x44TLS_TRANSPORT_CLOSED\x10\x03\x12\x19\n\x15\x44TLS_TRANSPORT_FAILED\x10\x04*\xd4\x01\n\x11IceTransportState\x12\x15\n\x11ICE_TRANSPORT_NEW\x10\x00\x12\x1a\n\x16ICE_TRANSPORT_CHECKING\x10\x01\x12\x1b\n\x17ICE_TRANSPORT_CONNECTED\x10\x02\x12\x1b\n\x17ICE_TRANSPORT_COMPLETED\x10\x03\x12\x1e\n\x1aICE_TRANSPORT_DISCONNECTED\x10\x04\x12\x18\n\x14ICE_TRANSPORT_FAILED\x10\x05\x12\x18\n\x14ICE_TRANSPORT_CLOSED\x10\x06*>\n\x08\x44tlsRole\x12\x0f\n\x0b\x44TLS_CLIENT\x10\x00\x12\x0f\n\x0b\x44TLS_SERVER\x10\x01\x12\x10\n\x0c\x44TLS_UNKNOWN\x10\x02*u\n\x15IceCandidatePairState\x12\x0f\n\x0bPAIR_FROZEN\x10\x00\x12\x10\n\x0cPAIR_WAITING\x10\x01\x12\x14\n\x10PAIR_IN_PROGRESS\x10\x02\x12\x0f\n\x0bPAIR_FAILED\x10\x03\x12\x12\n\x0ePAIR_SUCCEEDED\x10\x04*=\n\x10IceCandidateType\x12\x08\n\x04HOST\x10\x00\x12\t\n\x05SRFLX\x10\x01\x12\t\n\x05PRFLX\x10\x02\x12\t\n\x05RELAY\x10\x03*U\n\x1aIceServerTransportProtocol\x12\x11\n\rTRANSPORT_UDP\x10\x00\x12\x11\n\rTRANSPORT_TCP\x10\x01\x12\x11\n\rTRANSPORT_TLS\x10\x02*T\n\x13IceTcpCandidateType\x12\x14\n\x10\x43\x41NDIDATE_ACTIVE\x10\x00\x12\x15\n\x11\x43\x41NDIDATE_PASSIVE\x10\x01\x12\x10\n\x0c\x43\x41NDIDATE_SO\x10\x02\x42\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bstats.proto\x12\rlivekit.proto\"\xeb\x18\n\x08RtcStats\x12.\n\x05\x63odec\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.RtcStats.CodecH\x00\x12\x39\n\x0binbound_rtp\x18\x04 \x01(\x0b\x32\".livekit.proto.RtcStats.InboundRtpH\x00\x12;\n\x0coutbound_rtp\x18\x05 \x01(\x0b\x32#.livekit.proto.RtcStats.OutboundRtpH\x00\x12\x46\n\x12remote_inbound_rtp\x18\x06 \x01(\x0b\x32(.livekit.proto.RtcStats.RemoteInboundRtpH\x00\x12H\n\x13remote_outbound_rtp\x18\x07 \x01(\x0b\x32).livekit.proto.RtcStats.RemoteOutboundRtpH\x00\x12;\n\x0cmedia_source\x18\x08 \x01(\x0b\x32#.livekit.proto.RtcStats.MediaSourceH\x00\x12=\n\rmedia_playout\x18\t \x01(\x0b\x32$.livekit.proto.RtcStats.MediaPlayoutH\x00\x12\x41\n\x0fpeer_connection\x18\n \x01(\x0b\x32&.livekit.proto.RtcStats.PeerConnectionH\x00\x12;\n\x0c\x64\x61ta_channel\x18\x0b \x01(\x0b\x32#.livekit.proto.RtcStats.DataChannelH\x00\x12\x36\n\ttransport\x18\x0c \x01(\x0b\x32!.livekit.proto.RtcStats.TransportH\x00\x12?\n\x0e\x63\x61ndidate_pair\x18\r \x01(\x0b\x32%.livekit.proto.RtcStats.CandidatePairH\x00\x12\x41\n\x0flocal_candidate\x18\x0e \x01(\x0b\x32&.livekit.proto.RtcStats.LocalCandidateH\x00\x12\x43\n\x10remote_candidate\x18\x0f \x01(\x0b\x32\'.livekit.proto.RtcStats.RemoteCandidateH\x00\x12:\n\x0b\x63\x65rtificate\x18\x10 \x01(\x0b\x32#.livekit.proto.RtcStats.CertificateH\x00\x12\x30\n\x06stream\x18\x11 \x01(\x0b\x32\x1e.livekit.proto.RtcStats.StreamH\x00\x12.\n\x05track\x18\x12 \x01(\x0b\x32\x1d.livekit.proto.RtcStats.TrackH\x00\x1a[\n\x05\x43odec\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12(\n\x05\x63odec\x18\x02 \x02(\x0b\x32\x19.livekit.proto.CodecStats\x1a\xd5\x01\n\nInboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12\x37\n\x08received\x18\x03 \x02(\x0b\x32%.livekit.proto.ReceivedRtpStreamStats\x12\x35\n\x07inbound\x18\x04 \x02(\x0b\x32$.livekit.proto.InboundRtpStreamStats\x1a\xd0\x01\n\x0bOutboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12/\n\x04sent\x18\x03 \x02(\x0b\x32!.livekit.proto.SentRtpStreamStats\x12\x37\n\x08outbound\x18\x04 \x02(\x0b\x32%.livekit.proto.OutboundRtpStreamStats\x1a\xe8\x01\n\x10RemoteInboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12\x37\n\x08received\x18\x03 \x02(\x0b\x32%.livekit.proto.ReceivedRtpStreamStats\x12\x42\n\x0eremote_inbound\x18\x04 \x02(\x0b\x32*.livekit.proto.RemoteInboundRtpStreamStats\x1a\xe3\x01\n\x11RemoteOutboundRtp\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12-\n\x06stream\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.RtpStreamStats\x12/\n\x04sent\x18\x03 \x02(\x0b\x32!.livekit.proto.SentRtpStreamStats\x12\x44\n\x0fremote_outbound\x18\x04 \x02(\x0b\x32+.livekit.proto.RemoteOutboundRtpStreamStats\x1a\xc8\x01\n\x0bMediaSource\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12/\n\x06source\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.MediaSourceStats\x12.\n\x05\x61udio\x18\x03 \x02(\x0b\x32\x1f.livekit.proto.AudioSourceStats\x12.\n\x05video\x18\x04 \x02(\x0b\x32\x1f.livekit.proto.VideoSourceStats\x1aq\n\x0cMediaPlayout\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x37\n\raudio_playout\x18\x02 \x02(\x0b\x32 .livekit.proto.AudioPlayoutStats\x1aj\n\x0ePeerConnection\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12.\n\x02pc\x18\x02 \x02(\x0b\x32\".livekit.proto.PeerConnectionStats\x1a\x64\n\x0b\x44\x61taChannel\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12+\n\x02\x64\x63\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.DataChannelStats\x1ag\n\tTransport\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x30\n\ttransport\x18\x02 \x02(\x0b\x32\x1d.livekit.proto.TransportStats\x1at\n\rCandidatePair\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x39\n\x0e\x63\x61ndidate_pair\x18\x02 \x02(\x0b\x32!.livekit.proto.CandidatePairStats\x1ao\n\x0eLocalCandidate\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x33\n\tcandidate\x18\x02 \x02(\x0b\x32 .livekit.proto.IceCandidateStats\x1ap\n\x0fRemoteCandidate\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x33\n\tcandidate\x18\x02 \x02(\x0b\x32 .livekit.proto.IceCandidateStats\x1am\n\x0b\x43\x65rtificate\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12\x34\n\x0b\x63\x65rtificate\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.CertificateStats\x1a^\n\x06Stream\x12(\n\x03rtc\x18\x01 \x02(\x0b\x32\x1b.livekit.proto.RtcStatsData\x12*\n\x06stream\x18\x02 \x02(\x0b\x32\x1a.livekit.proto.StreamStats\x1a\x07\n\x05TrackB\x07\n\x05stats\"-\n\x0cRtcStatsData\x12\n\n\x02id\x18\x01 \x02(\t\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\"\x88\x01\n\nCodecStats\x12\x14\n\x0cpayload_type\x18\x01 \x02(\r\x12\x14\n\x0ctransport_id\x18\x02 \x02(\t\x12\x11\n\tmime_type\x18\x03 \x02(\t\x12\x12\n\nclock_rate\x18\x04 \x02(\r\x12\x10\n\x08\x63hannels\x18\x05 \x02(\r\x12\x15\n\rsdp_fmtp_line\x18\x06 \x02(\t\"T\n\x0eRtpStreamStats\x12\x0c\n\x04ssrc\x18\x01 \x02(\r\x12\x0c\n\x04kind\x18\x02 \x02(\t\x12\x14\n\x0ctransport_id\x18\x03 \x02(\t\x12\x10\n\x08\x63odec_id\x18\x04 \x02(\t\"X\n\x16ReceivedRtpStreamStats\x12\x18\n\x10packets_received\x18\x01 \x02(\x04\x12\x14\n\x0cpackets_lost\x18\x02 \x02(\x03\x12\x0e\n\x06jitter\x18\x03 \x02(\x01\"\x82\x0c\n\x15InboundRtpStreamStats\x12\x18\n\x10track_identifier\x18\x01 \x02(\t\x12\x0b\n\x03mid\x18\x02 \x02(\t\x12\x11\n\tremote_id\x18\x03 \x02(\t\x12\x16\n\x0e\x66rames_decoded\x18\x04 \x02(\r\x12\x1a\n\x12key_frames_decoded\x18\x05 \x02(\r\x12\x17\n\x0f\x66rames_rendered\x18\x06 \x02(\r\x12\x16\n\x0e\x66rames_dropped\x18\x07 \x02(\r\x12\x13\n\x0b\x66rame_width\x18\x08 \x02(\r\x12\x14\n\x0c\x66rame_height\x18\t \x02(\r\x12\x19\n\x11\x66rames_per_second\x18\n \x02(\x01\x12\x0e\n\x06qp_sum\x18\x0b \x02(\x04\x12\x19\n\x11total_decode_time\x18\x0c \x02(\x01\x12\x1f\n\x17total_inter_frame_delay\x18\r \x02(\x01\x12\'\n\x1ftotal_squared_inter_frame_delay\x18\x0e \x02(\x01\x12\x13\n\x0bpause_count\x18\x0f \x02(\r\x12\x1c\n\x14total_pause_duration\x18\x10 \x02(\x01\x12\x14\n\x0c\x66reeze_count\x18\x11 \x02(\r\x12\x1d\n\x15total_freeze_duration\x18\x12 \x02(\x01\x12&\n\x1elast_packet_received_timestamp\x18\x13 \x02(\x01\x12\x1d\n\x15header_bytes_received\x18\x14 \x02(\x04\x12\x19\n\x11packets_discarded\x18\x15 \x02(\x04\x12\x1a\n\x12\x66\x65\x63_bytes_received\x18\x16 \x02(\x04\x12\x1c\n\x14\x66\x65\x63_packets_received\x18\x17 \x02(\x04\x12\x1d\n\x15\x66\x65\x63_packets_discarded\x18\x18 \x02(\x04\x12\x16\n\x0e\x62ytes_received\x18\x19 \x02(\x04\x12\x12\n\nnack_count\x18\x1a \x02(\r\x12\x11\n\tfir_count\x18\x1b \x02(\r\x12\x11\n\tpli_count\x18\x1c \x02(\r\x12\x1e\n\x16total_processing_delay\x18\x1d \x02(\x01\x12#\n\x1b\x65stimated_playout_timestamp\x18\x1e \x02(\x01\x12\x1b\n\x13jitter_buffer_delay\x18\x1f \x02(\x01\x12\"\n\x1ajitter_buffer_target_delay\x18 \x02(\x01\x12#\n\x1bjitter_buffer_emitted_count\x18! \x02(\x04\x12#\n\x1bjitter_buffer_minimum_delay\x18\" \x02(\x01\x12\x1e\n\x16total_samples_received\x18# \x02(\x04\x12\x19\n\x11\x63oncealed_samples\x18$ \x02(\x04\x12 \n\x18silent_concealed_samples\x18% \x02(\x04\x12\x1a\n\x12\x63oncealment_events\x18& \x02(\x04\x12)\n!inserted_samples_for_deceleration\x18\' \x02(\x04\x12(\n removed_samples_for_acceleration\x18( \x02(\x04\x12\x13\n\x0b\x61udio_level\x18) \x02(\x01\x12\x1a\n\x12total_audio_energy\x18* \x02(\x01\x12\x1e\n\x16total_samples_duration\x18+ \x02(\x01\x12\x17\n\x0f\x66rames_received\x18, \x02(\x04\x12\x1e\n\x16\x64\x65\x63oder_implementation\x18- \x02(\t\x12\x12\n\nplayout_id\x18. \x02(\t\x12\x1f\n\x17power_efficient_decoder\x18/ \x02(\x08\x12.\n&frames_assembled_from_multiple_packets\x18\x30 \x02(\x04\x12\x1b\n\x13total_assembly_time\x18\x31 \x02(\x01\x12&\n\x1eretransmitted_packets_received\x18\x32 \x02(\x04\x12$\n\x1cretransmitted_bytes_received\x18\x33 \x02(\x04\x12\x10\n\x08rtx_ssrc\x18\x34 \x02(\r\x12\x10\n\x08\x66\x65\x63_ssrc\x18\x35 \x02(\r\">\n\x12SentRtpStreamStats\x12\x14\n\x0cpackets_sent\x18\x01 \x02(\x04\x12\x12\n\nbytes_sent\x18\x02 \x02(\x04\"\xd1\x07\n\x16OutboundRtpStreamStats\x12\x0b\n\x03mid\x18\x01 \x02(\t\x12\x17\n\x0fmedia_source_id\x18\x02 \x02(\t\x12\x11\n\tremote_id\x18\x03 \x02(\t\x12\x0b\n\x03rid\x18\x04 \x02(\t\x12\x19\n\x11header_bytes_sent\x18\x05 \x02(\x04\x12\"\n\x1aretransmitted_packets_sent\x18\x06 \x02(\x04\x12 \n\x18retransmitted_bytes_sent\x18\x07 \x02(\x04\x12\x10\n\x08rtx_ssrc\x18\x08 \x02(\r\x12\x16\n\x0etarget_bitrate\x18\t \x02(\x01\x12\"\n\x1atotal_encoded_bytes_target\x18\n \x02(\x04\x12\x13\n\x0b\x66rame_width\x18\x0b \x02(\r\x12\x14\n\x0c\x66rame_height\x18\x0c \x02(\r\x12\x19\n\x11\x66rames_per_second\x18\r \x02(\x01\x12\x13\n\x0b\x66rames_sent\x18\x0e \x02(\r\x12\x18\n\x10huge_frames_sent\x18\x0f \x02(\r\x12\x16\n\x0e\x66rames_encoded\x18\x10 \x02(\r\x12\x1a\n\x12key_frames_encoded\x18\x11 \x02(\r\x12\x0e\n\x06qp_sum\x18\x12 \x02(\x04\x12\x19\n\x11total_encode_time\x18\x13 \x02(\x01\x12\x1f\n\x17total_packet_send_delay\x18\x14 \x02(\x01\x12I\n\x19quality_limitation_reason\x18\x15 \x02(\x0e\x32&.livekit.proto.QualityLimitationReason\x12k\n\x1cquality_limitation_durations\x18\x16 \x03(\x0b\x32\x45.livekit.proto.OutboundRtpStreamStats.QualityLimitationDurationsEntry\x12-\n%quality_limitation_resolution_changes\x18\x17 \x02(\r\x12\x12\n\nnack_count\x18\x18 \x02(\r\x12\x11\n\tfir_count\x18\x19 \x02(\r\x12\x11\n\tpli_count\x18\x1a \x02(\r\x12\x1e\n\x16\x65ncoder_implementation\x18\x1b \x02(\t\x12\x1f\n\x17power_efficient_encoder\x18\x1c \x02(\x08\x12\x0e\n\x06\x61\x63tive\x18\x1d \x02(\x08\x12\x18\n\x10scalability_mode\x18\x1e \x02(\t\x1a\x41\n\x1fQualityLimitationDurationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\"\xa4\x01\n\x1bRemoteInboundRtpStreamStats\x12\x10\n\x08local_id\x18\x01 \x02(\t\x12\x17\n\x0fround_trip_time\x18\x02 \x02(\x01\x12\x1d\n\x15total_round_trip_time\x18\x03 \x02(\x01\x12\x15\n\rfraction_lost\x18\x04 \x02(\x01\x12$\n\x1cround_trip_time_measurements\x18\x05 \x02(\x04\"\xbe\x01\n\x1cRemoteOutboundRtpStreamStats\x12\x10\n\x08local_id\x18\x01 \x02(\t\x12\x18\n\x10remote_timestamp\x18\x02 \x02(\x01\x12\x14\n\x0creports_sent\x18\x03 \x02(\x04\x12\x17\n\x0fround_trip_time\x18\x04 \x02(\x01\x12\x1d\n\x15total_round_trip_time\x18\x05 \x02(\x01\x12$\n\x1cround_trip_time_measurements\x18\x06 \x02(\x04\":\n\x10MediaSourceStats\x12\x18\n\x10track_identifier\x18\x01 \x02(\t\x12\x0c\n\x04kind\x18\x02 \x02(\t\"\xa2\x02\n\x10\x41udioSourceStats\x12\x13\n\x0b\x61udio_level\x18\x01 \x02(\x01\x12\x1a\n\x12total_audio_energy\x18\x02 \x02(\x01\x12\x1e\n\x16total_samples_duration\x18\x03 \x02(\x01\x12\x18\n\x10\x65\x63ho_return_loss\x18\x04 \x02(\x01\x12$\n\x1c\x65\x63ho_return_loss_enhancement\x18\x05 \x02(\x01\x12 \n\x18\x64ropped_samples_duration\x18\x06 \x02(\x01\x12\x1e\n\x16\x64ropped_samples_events\x18\x07 \x02(\r\x12\x1b\n\x13total_capture_delay\x18\x08 \x02(\x01\x12\x1e\n\x16total_samples_captured\x18\t \x02(\x04\"\\\n\x10VideoSourceStats\x12\r\n\x05width\x18\x01 \x02(\r\x12\x0e\n\x06height\x18\x02 \x02(\r\x12\x0e\n\x06\x66rames\x18\x03 \x02(\r\x12\x19\n\x11\x66rames_per_second\x18\x04 \x02(\x01\"\xc5\x01\n\x11\x41udioPlayoutStats\x12\x0c\n\x04kind\x18\x01 \x02(\t\x12$\n\x1csynthesized_samples_duration\x18\x02 \x02(\x01\x12\"\n\x1asynthesized_samples_events\x18\x03 \x02(\r\x12\x1e\n\x16total_samples_duration\x18\x04 \x02(\x01\x12\x1b\n\x13total_playout_delay\x18\x05 \x02(\x01\x12\x1b\n\x13total_samples_count\x18\x06 \x02(\x04\"Q\n\x13PeerConnectionStats\x12\x1c\n\x14\x64\x61ta_channels_opened\x18\x01 \x02(\r\x12\x1c\n\x14\x64\x61ta_channels_closed\x18\x02 \x02(\r\"\xe2\x01\n\x10\x44\x61taChannelStats\x12\r\n\x05label\x18\x01 \x02(\t\x12\x10\n\x08protocol\x18\x02 \x02(\t\x12\x1f\n\x17\x64\x61ta_channel_identifier\x18\x03 \x02(\x05\x12.\n\x05state\x18\x04 \x01(\x0e\x32\x1f.livekit.proto.DataChannelState\x12\x15\n\rmessages_sent\x18\x05 \x02(\r\x12\x12\n\nbytes_sent\x18\x06 \x02(\x04\x12\x19\n\x11messages_received\x18\x07 \x02(\r\x12\x16\n\x0e\x62ytes_received\x18\x08 \x02(\x04\"\x9c\x04\n\x0eTransportStats\x12\x14\n\x0cpackets_sent\x18\x01 \x02(\x04\x12\x18\n\x10packets_received\x18\x02 \x02(\x04\x12\x12\n\nbytes_sent\x18\x03 \x02(\x04\x12\x16\n\x0e\x62ytes_received\x18\x04 \x02(\x04\x12(\n\x08ice_role\x18\x05 \x02(\x0e\x32\x16.livekit.proto.IceRole\x12#\n\x1bice_local_username_fragment\x18\x06 \x02(\t\x12\x35\n\ndtls_state\x18\x07 \x01(\x0e\x32!.livekit.proto.DtlsTransportState\x12\x33\n\tice_state\x18\x08 \x01(\x0e\x32 .livekit.proto.IceTransportState\x12\"\n\x1aselected_candidate_pair_id\x18\t \x02(\t\x12\x1c\n\x14local_certificate_id\x18\n \x02(\t\x12\x1d\n\x15remote_certificate_id\x18\x0b \x02(\t\x12\x13\n\x0btls_version\x18\x0c \x02(\t\x12\x13\n\x0b\x64tls_cipher\x18\r \x02(\t\x12*\n\tdtls_role\x18\x0e \x02(\x0e\x32\x17.livekit.proto.DtlsRole\x12\x13\n\x0bsrtp_cipher\x18\x0f \x02(\t\x12\'\n\x1fselected_candidate_pair_changes\x18\x10 \x02(\r\"\xa4\x05\n\x12\x43\x61ndidatePairStats\x12\x14\n\x0ctransport_id\x18\x01 \x02(\t\x12\x1a\n\x12local_candidate_id\x18\x02 \x02(\t\x12\x1b\n\x13remote_candidate_id\x18\x03 \x02(\t\x12\x33\n\x05state\x18\x04 \x01(\x0e\x32$.livekit.proto.IceCandidatePairState\x12\x11\n\tnominated\x18\x05 \x02(\x08\x12\x14\n\x0cpackets_sent\x18\x06 \x02(\x04\x12\x18\n\x10packets_received\x18\x07 \x02(\x04\x12\x12\n\nbytes_sent\x18\x08 \x02(\x04\x12\x16\n\x0e\x62ytes_received\x18\t \x02(\x04\x12\"\n\x1alast_packet_sent_timestamp\x18\n \x02(\x01\x12&\n\x1elast_packet_received_timestamp\x18\x0b \x02(\x01\x12\x1d\n\x15total_round_trip_time\x18\x0c \x02(\x01\x12\x1f\n\x17\x63urrent_round_trip_time\x18\r \x02(\x01\x12\"\n\x1a\x61vailable_outgoing_bitrate\x18\x0e \x02(\x01\x12\"\n\x1a\x61vailable_incoming_bitrate\x18\x0f \x02(\x01\x12\x19\n\x11requests_received\x18\x10 \x02(\x04\x12\x15\n\rrequests_sent\x18\x11 \x02(\x04\x12\x1a\n\x12responses_received\x18\x12 \x02(\x04\x12\x16\n\x0eresponses_sent\x18\x13 \x02(\x04\x12\x1d\n\x15\x63onsent_requests_sent\x18\x14 \x02(\x04\x12!\n\x19packets_discarded_on_send\x18\x15 \x02(\r\x12\x1f\n\x17\x62ytes_discarded_on_send\x18\x16 \x02(\x04\"\x89\x03\n\x11IceCandidateStats\x12\x14\n\x0ctransport_id\x18\x01 \x02(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x02(\t\x12\x0c\n\x04port\x18\x03 \x02(\x05\x12\x10\n\x08protocol\x18\x04 \x02(\t\x12\x37\n\x0e\x63\x61ndidate_type\x18\x05 \x01(\x0e\x32\x1f.livekit.proto.IceCandidateType\x12\x10\n\x08priority\x18\x06 \x02(\x05\x12\x0b\n\x03url\x18\x07 \x02(\t\x12\x41\n\x0erelay_protocol\x18\x08 \x01(\x0e\x32).livekit.proto.IceServerTransportProtocol\x12\x12\n\nfoundation\x18\t \x02(\t\x12\x17\n\x0frelated_address\x18\n \x02(\t\x12\x14\n\x0crelated_port\x18\x0b \x02(\x05\x12\x19\n\x11username_fragment\x18\x0c \x02(\t\x12\x34\n\x08tcp_type\x18\r \x01(\x0e\x32\".livekit.proto.IceTcpCandidateType\"\x81\x01\n\x10\x43\x65rtificateStats\x12\x13\n\x0b\x66ingerprint\x18\x01 \x02(\t\x12\x1d\n\x15\x66ingerprint_algorithm\x18\x02 \x02(\t\x12\x1a\n\x12\x62\x61se64_certificate\x18\x03 \x02(\t\x12\x1d\n\x15issuer_certificate_id\x18\x04 \x02(\t\"4\n\x0bStreamStats\x12\n\n\x02id\x18\x01 \x02(\t\x12\x19\n\x11stream_identifier\x18\x02 \x02(\t*Q\n\x10\x44\x61taChannelState\x12\x11\n\rDC_CONNECTING\x10\x00\x12\x0b\n\x07\x44\x43_OPEN\x10\x01\x12\x0e\n\nDC_CLOSING\x10\x02\x12\r\n\tDC_CLOSED\x10\x03*r\n\x17QualityLimitationReason\x12\x13\n\x0fLIMITATION_NONE\x10\x00\x12\x12\n\x0eLIMITATION_CPU\x10\x01\x12\x18\n\x14LIMITATION_BANDWIDTH\x10\x02\x12\x14\n\x10LIMITATION_OTHER\x10\x03*C\n\x07IceRole\x12\x0f\n\x0bICE_UNKNOWN\x10\x00\x12\x13\n\x0fICE_CONTROLLING\x10\x01\x12\x12\n\x0eICE_CONTROLLED\x10\x02*\x9f\x01\n\x12\x44tlsTransportState\x12\x16\n\x12\x44TLS_TRANSPORT_NEW\x10\x00\x12\x1d\n\x19\x44TLS_TRANSPORT_CONNECTING\x10\x01\x12\x1c\n\x18\x44TLS_TRANSPORT_CONNECTED\x10\x02\x12\x19\n\x15\x44TLS_TRANSPORT_CLOSED\x10\x03\x12\x19\n\x15\x44TLS_TRANSPORT_FAILED\x10\x04*\xd4\x01\n\x11IceTransportState\x12\x15\n\x11ICE_TRANSPORT_NEW\x10\x00\x12\x1a\n\x16ICE_TRANSPORT_CHECKING\x10\x01\x12\x1b\n\x17ICE_TRANSPORT_CONNECTED\x10\x02\x12\x1b\n\x17ICE_TRANSPORT_COMPLETED\x10\x03\x12\x1e\n\x1aICE_TRANSPORT_DISCONNECTED\x10\x04\x12\x18\n\x14ICE_TRANSPORT_FAILED\x10\x05\x12\x18\n\x14ICE_TRANSPORT_CLOSED\x10\x06*>\n\x08\x44tlsRole\x12\x0f\n\x0b\x44TLS_CLIENT\x10\x00\x12\x0f\n\x0b\x44TLS_SERVER\x10\x01\x12\x10\n\x0c\x44TLS_UNKNOWN\x10\x02*u\n\x15IceCandidatePairState\x12\x0f\n\x0bPAIR_FROZEN\x10\x00\x12\x10\n\x0cPAIR_WAITING\x10\x01\x12\x14\n\x10PAIR_IN_PROGRESS\x10\x02\x12\x0f\n\x0bPAIR_FAILED\x10\x03\x12\x12\n\x0ePAIR_SUCCEEDED\x10\x04*=\n\x10IceCandidateType\x12\x08\n\x04HOST\x10\x00\x12\t\n\x05SRFLX\x10\x01\x12\t\n\x05PRFLX\x10\x02\x12\t\n\x05RELAY\x10\x03*U\n\x1aIceServerTransportProtocol\x12\x11\n\rTRANSPORT_UDP\x10\x00\x12\x11\n\rTRANSPORT_TCP\x10\x01\x12\x11\n\rTRANSPORT_TLS\x10\x02*T\n\x13IceTcpCandidateType\x12\x14\n\x10\x43\x41NDIDATE_ACTIVE\x10\x00\x12\x15\n\x11\x43\x41NDIDATE_PASSIVE\x10\x01\x12\x10\n\x0c\x43\x41NDIDATE_SO\x10\x02\x42\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,96 +24,100 @@ _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._options = None _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._serialized_options = b'8\001' - _globals['_DATACHANNELSTATE']._serialized_start=9082 - _globals['_DATACHANNELSTATE']._serialized_end=9163 - _globals['_QUALITYLIMITATIONREASON']._serialized_start=9165 - _globals['_QUALITYLIMITATIONREASON']._serialized_end=9279 - _globals['_ICEROLE']._serialized_start=9281 - _globals['_ICEROLE']._serialized_end=9348 - _globals['_DTLSTRANSPORTSTATE']._serialized_start=9351 - _globals['_DTLSTRANSPORTSTATE']._serialized_end=9510 - _globals['_ICETRANSPORTSTATE']._serialized_start=9513 - _globals['_ICETRANSPORTSTATE']._serialized_end=9725 - _globals['_DTLSROLE']._serialized_start=9727 - _globals['_DTLSROLE']._serialized_end=9789 - _globals['_ICECANDIDATEPAIRSTATE']._serialized_start=9791 - _globals['_ICECANDIDATEPAIRSTATE']._serialized_end=9908 - _globals['_ICECANDIDATETYPE']._serialized_start=9910 - _globals['_ICECANDIDATETYPE']._serialized_end=9971 - _globals['_ICESERVERTRANSPORTPROTOCOL']._serialized_start=9973 - _globals['_ICESERVERTRANSPORTPROTOCOL']._serialized_end=10058 - _globals['_ICETCPCANDIDATETYPE']._serialized_start=10060 - _globals['_ICETCPCANDIDATETYPE']._serialized_end=10144 + _globals['_DATACHANNELSTATE']._serialized_start=9282 + _globals['_DATACHANNELSTATE']._serialized_end=9363 + _globals['_QUALITYLIMITATIONREASON']._serialized_start=9365 + _globals['_QUALITYLIMITATIONREASON']._serialized_end=9479 + _globals['_ICEROLE']._serialized_start=9481 + _globals['_ICEROLE']._serialized_end=9548 + _globals['_DTLSTRANSPORTSTATE']._serialized_start=9551 + _globals['_DTLSTRANSPORTSTATE']._serialized_end=9710 + _globals['_ICETRANSPORTSTATE']._serialized_start=9713 + _globals['_ICETRANSPORTSTATE']._serialized_end=9925 + _globals['_DTLSROLE']._serialized_start=9927 + _globals['_DTLSROLE']._serialized_end=9989 + _globals['_ICECANDIDATEPAIRSTATE']._serialized_start=9991 + _globals['_ICECANDIDATEPAIRSTATE']._serialized_end=10108 + _globals['_ICECANDIDATETYPE']._serialized_start=10110 + _globals['_ICECANDIDATETYPE']._serialized_end=10171 + _globals['_ICESERVERTRANSPORTPROTOCOL']._serialized_start=10173 + _globals['_ICESERVERTRANSPORTPROTOCOL']._serialized_end=10258 + _globals['_ICETCPCANDIDATETYPE']._serialized_start=10260 + _globals['_ICETCPCANDIDATETYPE']._serialized_end=10344 _globals['_RTCSTATS']._serialized_start=31 - _globals['_RTCSTATS']._serialized_end=3064 - _globals['_RTCSTATS_CODEC']._serialized_start=974 - _globals['_RTCSTATS_CODEC']._serialized_end=1065 - _globals['_RTCSTATS_INBOUNDRTP']._serialized_start=1068 - _globals['_RTCSTATS_INBOUNDRTP']._serialized_end=1281 - _globals['_RTCSTATS_OUTBOUNDRTP']._serialized_start=1284 - _globals['_RTCSTATS_OUTBOUNDRTP']._serialized_end=1492 - _globals['_RTCSTATS_REMOTEINBOUNDRTP']._serialized_start=1495 - _globals['_RTCSTATS_REMOTEINBOUNDRTP']._serialized_end=1727 - _globals['_RTCSTATS_REMOTEOUTBOUNDRTP']._serialized_start=1730 - _globals['_RTCSTATS_REMOTEOUTBOUNDRTP']._serialized_end=1957 - _globals['_RTCSTATS_MEDIASOURCE']._serialized_start=1960 - _globals['_RTCSTATS_MEDIASOURCE']._serialized_end=2160 - _globals['_RTCSTATS_MEDIAPLAYOUT']._serialized_start=2162 - _globals['_RTCSTATS_MEDIAPLAYOUT']._serialized_end=2275 - _globals['_RTCSTATS_PEERCONNECTION']._serialized_start=2277 - _globals['_RTCSTATS_PEERCONNECTION']._serialized_end=2383 - _globals['_RTCSTATS_DATACHANNEL']._serialized_start=2385 - _globals['_RTCSTATS_DATACHANNEL']._serialized_end=2485 - _globals['_RTCSTATS_TRANSPORT']._serialized_start=2487 - _globals['_RTCSTATS_TRANSPORT']._serialized_end=2590 - _globals['_RTCSTATS_CANDIDATEPAIR']._serialized_start=2592 - _globals['_RTCSTATS_CANDIDATEPAIR']._serialized_end=2708 - _globals['_RTCSTATS_LOCALCANDIDATE']._serialized_start=2710 - _globals['_RTCSTATS_LOCALCANDIDATE']._serialized_end=2821 - _globals['_RTCSTATS_REMOTECANDIDATE']._serialized_start=2823 - _globals['_RTCSTATS_REMOTECANDIDATE']._serialized_end=2935 - _globals['_RTCSTATS_CERTIFICATE']._serialized_start=2937 - _globals['_RTCSTATS_CERTIFICATE']._serialized_end=3046 - _globals['_RTCSTATS_TRACK']._serialized_start=3048 - _globals['_RTCSTATS_TRACK']._serialized_end=3055 - _globals['_RTCSTATSDATA']._serialized_start=3066 - _globals['_RTCSTATSDATA']._serialized_end=3111 - _globals['_CODECSTATS']._serialized_start=3114 - _globals['_CODECSTATS']._serialized_end=3250 - _globals['_RTPSTREAMSTATS']._serialized_start=3252 - _globals['_RTPSTREAMSTATS']._serialized_end=3336 - _globals['_RECEIVEDRTPSTREAMSTATS']._serialized_start=3338 - _globals['_RECEIVEDRTPSTREAMSTATS']._serialized_end=3426 - _globals['_INBOUNDRTPSTREAMSTATS']._serialized_start=3429 - _globals['_INBOUNDRTPSTREAMSTATS']._serialized_end=4967 - _globals['_SENTRTPSTREAMSTATS']._serialized_start=4969 - _globals['_SENTRTPSTREAMSTATS']._serialized_end=5031 - _globals['_OUTBOUNDRTPSTREAMSTATS']._serialized_start=5034 - _globals['_OUTBOUNDRTPSTREAMSTATS']._serialized_end=6011 - _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._serialized_start=5946 - _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._serialized_end=6011 - _globals['_REMOTEINBOUNDRTPSTREAMSTATS']._serialized_start=6014 - _globals['_REMOTEINBOUNDRTPSTREAMSTATS']._serialized_end=6178 - _globals['_REMOTEOUTBOUNDRTPSTREAMSTATS']._serialized_start=6181 - _globals['_REMOTEOUTBOUNDRTPSTREAMSTATS']._serialized_end=6371 - _globals['_MEDIASOURCESTATS']._serialized_start=6373 - _globals['_MEDIASOURCESTATS']._serialized_end=6431 - _globals['_AUDIOSOURCESTATS']._serialized_start=6434 - _globals['_AUDIOSOURCESTATS']._serialized_end=6724 - _globals['_VIDEOSOURCESTATS']._serialized_start=6726 - _globals['_VIDEOSOURCESTATS']._serialized_end=6818 - _globals['_AUDIOPLAYOUTSTATS']._serialized_start=6821 - _globals['_AUDIOPLAYOUTSTATS']._serialized_end=7018 - _globals['_PEERCONNECTIONSTATS']._serialized_start=7020 - _globals['_PEERCONNECTIONSTATS']._serialized_end=7101 - _globals['_DATACHANNELSTATS']._serialized_start=7104 - _globals['_DATACHANNELSTATS']._serialized_end=7330 - _globals['_TRANSPORTSTATS']._serialized_start=7333 - _globals['_TRANSPORTSTATS']._serialized_end=7873 - _globals['_CANDIDATEPAIRSTATS']._serialized_start=7876 - _globals['_CANDIDATEPAIRSTATS']._serialized_end=8552 - _globals['_ICECANDIDATESTATS']._serialized_start=8555 - _globals['_ICECANDIDATESTATS']._serialized_end=8948 - _globals['_CERTIFICATESTATS']._serialized_start=8951 - _globals['_CERTIFICATESTATS']._serialized_end=9080 + _globals['_RTCSTATS']._serialized_end=3210 + _globals['_RTCSTATS_CODEC']._serialized_start=1024 + _globals['_RTCSTATS_CODEC']._serialized_end=1115 + _globals['_RTCSTATS_INBOUNDRTP']._serialized_start=1118 + _globals['_RTCSTATS_INBOUNDRTP']._serialized_end=1331 + _globals['_RTCSTATS_OUTBOUNDRTP']._serialized_start=1334 + _globals['_RTCSTATS_OUTBOUNDRTP']._serialized_end=1542 + _globals['_RTCSTATS_REMOTEINBOUNDRTP']._serialized_start=1545 + _globals['_RTCSTATS_REMOTEINBOUNDRTP']._serialized_end=1777 + _globals['_RTCSTATS_REMOTEOUTBOUNDRTP']._serialized_start=1780 + _globals['_RTCSTATS_REMOTEOUTBOUNDRTP']._serialized_end=2007 + _globals['_RTCSTATS_MEDIASOURCE']._serialized_start=2010 + _globals['_RTCSTATS_MEDIASOURCE']._serialized_end=2210 + _globals['_RTCSTATS_MEDIAPLAYOUT']._serialized_start=2212 + _globals['_RTCSTATS_MEDIAPLAYOUT']._serialized_end=2325 + _globals['_RTCSTATS_PEERCONNECTION']._serialized_start=2327 + _globals['_RTCSTATS_PEERCONNECTION']._serialized_end=2433 + _globals['_RTCSTATS_DATACHANNEL']._serialized_start=2435 + _globals['_RTCSTATS_DATACHANNEL']._serialized_end=2535 + _globals['_RTCSTATS_TRANSPORT']._serialized_start=2537 + _globals['_RTCSTATS_TRANSPORT']._serialized_end=2640 + _globals['_RTCSTATS_CANDIDATEPAIR']._serialized_start=2642 + _globals['_RTCSTATS_CANDIDATEPAIR']._serialized_end=2758 + _globals['_RTCSTATS_LOCALCANDIDATE']._serialized_start=2760 + _globals['_RTCSTATS_LOCALCANDIDATE']._serialized_end=2871 + _globals['_RTCSTATS_REMOTECANDIDATE']._serialized_start=2873 + _globals['_RTCSTATS_REMOTECANDIDATE']._serialized_end=2985 + _globals['_RTCSTATS_CERTIFICATE']._serialized_start=2987 + _globals['_RTCSTATS_CERTIFICATE']._serialized_end=3096 + _globals['_RTCSTATS_STREAM']._serialized_start=3098 + _globals['_RTCSTATS_STREAM']._serialized_end=3192 + _globals['_RTCSTATS_TRACK']._serialized_start=3194 + _globals['_RTCSTATS_TRACK']._serialized_end=3201 + _globals['_RTCSTATSDATA']._serialized_start=3212 + _globals['_RTCSTATSDATA']._serialized_end=3257 + _globals['_CODECSTATS']._serialized_start=3260 + _globals['_CODECSTATS']._serialized_end=3396 + _globals['_RTPSTREAMSTATS']._serialized_start=3398 + _globals['_RTPSTREAMSTATS']._serialized_end=3482 + _globals['_RECEIVEDRTPSTREAMSTATS']._serialized_start=3484 + _globals['_RECEIVEDRTPSTREAMSTATS']._serialized_end=3572 + _globals['_INBOUNDRTPSTREAMSTATS']._serialized_start=3575 + _globals['_INBOUNDRTPSTREAMSTATS']._serialized_end=5113 + _globals['_SENTRTPSTREAMSTATS']._serialized_start=5115 + _globals['_SENTRTPSTREAMSTATS']._serialized_end=5177 + _globals['_OUTBOUNDRTPSTREAMSTATS']._serialized_start=5180 + _globals['_OUTBOUNDRTPSTREAMSTATS']._serialized_end=6157 + _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._serialized_start=6092 + _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._serialized_end=6157 + _globals['_REMOTEINBOUNDRTPSTREAMSTATS']._serialized_start=6160 + _globals['_REMOTEINBOUNDRTPSTREAMSTATS']._serialized_end=6324 + _globals['_REMOTEOUTBOUNDRTPSTREAMSTATS']._serialized_start=6327 + _globals['_REMOTEOUTBOUNDRTPSTREAMSTATS']._serialized_end=6517 + _globals['_MEDIASOURCESTATS']._serialized_start=6519 + _globals['_MEDIASOURCESTATS']._serialized_end=6577 + _globals['_AUDIOSOURCESTATS']._serialized_start=6580 + _globals['_AUDIOSOURCESTATS']._serialized_end=6870 + _globals['_VIDEOSOURCESTATS']._serialized_start=6872 + _globals['_VIDEOSOURCESTATS']._serialized_end=6964 + _globals['_AUDIOPLAYOUTSTATS']._serialized_start=6967 + _globals['_AUDIOPLAYOUTSTATS']._serialized_end=7164 + _globals['_PEERCONNECTIONSTATS']._serialized_start=7166 + _globals['_PEERCONNECTIONSTATS']._serialized_end=7247 + _globals['_DATACHANNELSTATS']._serialized_start=7250 + _globals['_DATACHANNELSTATS']._serialized_end=7476 + _globals['_TRANSPORTSTATS']._serialized_start=7479 + _globals['_TRANSPORTSTATS']._serialized_end=8019 + _globals['_CANDIDATEPAIRSTATS']._serialized_start=8022 + _globals['_CANDIDATEPAIRSTATS']._serialized_end=8698 + _globals['_ICECANDIDATESTATS']._serialized_start=8701 + _globals['_ICECANDIDATESTATS']._serialized_end=9094 + _globals['_CERTIFICATESTATS']._serialized_start=9097 + _globals['_CERTIFICATESTATS']._serialized_end=9226 + _globals['_STREAMSTATS']._serialized_start=9228 + _globals['_STREAMSTATS']._serialized_end=9280 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi index 03553831..09c81a99 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi @@ -534,6 +534,25 @@ class RtcStats(google.protobuf.message.Message): def HasField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> builtins.bool: ... def ClearField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> None: ... + @typing.final + class Stream(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RTC_FIELD_NUMBER: builtins.int + STREAM_FIELD_NUMBER: builtins.int + @property + def rtc(self) -> global___RtcStatsData: ... + @property + def stream(self) -> global___StreamStats: ... + def __init__( + self, + *, + rtc: global___RtcStatsData | None = ..., + stream: global___StreamStats | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> None: ... + @typing.final class Track(google.protobuf.message.Message): """Deprecated""" @@ -558,6 +577,7 @@ class RtcStats(google.protobuf.message.Message): LOCAL_CANDIDATE_FIELD_NUMBER: builtins.int REMOTE_CANDIDATE_FIELD_NUMBER: builtins.int CERTIFICATE_FIELD_NUMBER: builtins.int + STREAM_FIELD_NUMBER: builtins.int TRACK_FIELD_NUMBER: builtins.int @property def codec(self) -> global___RtcStats.Codec: ... @@ -588,6 +608,8 @@ class RtcStats(google.protobuf.message.Message): @property def certificate(self) -> global___RtcStats.Certificate: ... @property + def stream(self) -> global___RtcStats.Stream: ... + @property def track(self) -> global___RtcStats.Track: ... def __init__( self, @@ -606,11 +628,12 @@ class RtcStats(google.protobuf.message.Message): local_candidate: global___RtcStats.LocalCandidate | None = ..., remote_candidate: global___RtcStats.RemoteCandidate | None = ..., certificate: global___RtcStats.Certificate | None = ..., + stream: global___RtcStats.Stream | None = ..., track: global___RtcStats.Track | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "track", b"track", "transport", b"transport"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "track", b"track", "transport", b"transport"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["stats", b"stats"]) -> typing.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "track"] | None: ... + def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["stats", b"stats"]) -> typing.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "stream", "track"] | None: ... global___RtcStats = RtcStats @@ -1469,3 +1492,23 @@ class CertificateStats(google.protobuf.message.Message): def ClearField(self, field_name: typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> None: ... global___CertificateStats = CertificateStats + +@typing.final +class StreamStats(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + STREAM_IDENTIFIER_FIELD_NUMBER: builtins.int + id: builtins.str + stream_identifier: builtins.str + """required int64 timestamp = 3;""" + def __init__( + self, + *, + id: builtins.str | None = ..., + stream_identifier: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> None: ... + +global___StreamStats = StreamStats From 455a2bd3f7d34b617479f2e2004be57e0141e9b1 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sat, 28 Dec 2024 23:51:56 -0700 Subject: [PATCH 03/10] include missing track_publications --- .github/workflows/build-rtc.yml | 5 +- livekit-rtc/generate_proto.sh | 3 +- .../livekit/rtc/_proto/audio_frame_pb2.py | 16 +- .../livekit/rtc/_proto/audio_frame_pb2.pyi | 205 +++--- livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py | 16 +- livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi | 129 ++-- livekit-rtc/livekit/rtc/_proto/ffi_pb2.py | 18 +- livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi | 73 +-- livekit-rtc/livekit/rtc/_proto/handle_pb2.py | 16 +- livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi | 14 +- .../livekit/rtc/_proto/participant_pb2.py | 18 +- .../livekit/rtc/_proto/participant_pb2.pyi | 23 +- livekit-rtc/livekit/rtc/_proto/room_pb2.py | 20 +- livekit-rtc/livekit/rtc/_proto/room_pb2.pyi | 583 +++++++++--------- livekit-rtc/livekit/rtc/_proto/rpc_pb2.py | 16 +- livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi | 66 +- livekit-rtc/livekit/rtc/_proto/stats_pb2.py | 18 +- livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi | 231 ++++--- livekit-rtc/livekit/rtc/_proto/track_pb2.py | 16 +- livekit-rtc/livekit/rtc/_proto/track_pb2.pyi | 93 ++- .../livekit/rtc/_proto/video_frame_pb2.py | 16 +- .../livekit/rtc/_proto/video_frame_pb2.pyi | 140 +++-- livekit-rtc/setup.py | 2 +- 23 files changed, 908 insertions(+), 829 deletions(-) diff --git a/.github/workflows/build-rtc.yml b/.github/workflows/build-rtc.yml index 093fb39b..f43d534f 100644 --- a/.github/workflows/build-rtc.yml +++ b/.github/workflows/build-rtc.yml @@ -36,9 +36,9 @@ jobs: - uses: actions/setup-python@v4 - name: Install Protoc - uses: arduino/setup-protoc@v2 + uses: arduino/setup-protoc@v3 with: - version: "25.1" + version: "26.x" repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install deps @@ -55,7 +55,6 @@ jobs: default_author: github_actions message: generated protobuf - build_wheels: name: Build RTC wheels (${{ matrix.archs }}) runs-on: ${{ matrix.os }} diff --git a/livekit-rtc/generate_proto.sh b/livekit-rtc/generate_proto.sh index 14defb6d..71cf1849 100755 --- a/livekit-rtc/generate_proto.sh +++ b/livekit-rtc/generate_proto.sh @@ -34,10 +34,11 @@ protoc \ $FFI_PROTOCOL/video_frame.proto \ $FFI_PROTOCOL/e2ee.proto \ $FFI_PROTOCOL/stats.proto \ + $FFI_PROTOCOL/track_publication.proto \ $FFI_PROTOCOL/rpc.proto touch -a "$FFI_OUT_PYTHON/__init__.py" for f in "$FFI_OUT_PYTHON"/*.py "$FFI_OUT_PYTHON"/*.pyi; do - perl -i -pe 's|^(import (audio_frame_pb2\|ffi_pb2\|handle_pb2\|participant_pb2\|room_pb2\|track_pb2\|video_frame_pb2\|e2ee_pb2\|stats_pb2\|rpc_pb2))|from . $1|g' "$f" + perl -i -pe 's|^(import (audio_frame_pb2\|ffi_pb2\|handle_pb2\|participant_pb2\|room_pb2\|track_pb2\|video_frame_pb2\|e2ee_pb2\|stats_pb2\|rpc_pb2\|track_publication_pb2))|from . $1|g' "$f" done diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py index e16f0176..23520114 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: audio_frame.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'audio_frame.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'audio_frame_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_SOXRESAMPLERDATATYPE']._serialized_start=3385 _globals['_SOXRESAMPLERDATATYPE']._serialized_end=3459 diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi index 797521d5..e8c2b5b7 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import google.protobuf.descriptor import google.protobuf.internal.enum_type_wrapper @@ -136,7 +135,7 @@ class AudioSourceType(_AudioSourceType, metaclass=_AudioSourceTypeEnumTypeWrappe AUDIO_SOURCE_NATIVE: AudioSourceType.ValueType # 0 global___AudioSourceType = AudioSourceType -@typing.final +@typing_extensions.final class NewAudioStreamRequest(google.protobuf.message.Message): """Create a new AudioStream AudioStream is used to receive audio frames from a track @@ -160,12 +159,12 @@ class NewAudioStreamRequest(google.protobuf.message.Message): sample_rate: builtins.int | None = ..., num_channels: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... global___NewAudioStreamRequest = NewAudioStreamRequest -@typing.final +@typing_extensions.final class NewAudioStreamResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -177,12 +176,12 @@ class NewAudioStreamResponse(google.protobuf.message.Message): *, stream: global___OwnedAudioStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... global___NewAudioStreamResponse = NewAudioStreamResponse -@typing.final +@typing_extensions.final class AudioStreamFromParticipantRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -205,12 +204,12 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): sample_rate: builtins.int | None = ..., num_channels: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... global___AudioStreamFromParticipantRequest = AudioStreamFromParticipantRequest -@typing.final +@typing_extensions.final class AudioStreamFromParticipantResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -222,12 +221,12 @@ class AudioStreamFromParticipantResponse(google.protobuf.message.Message): *, stream: global___OwnedAudioStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... global___AudioStreamFromParticipantResponse = AudioStreamFromParticipantResponse -@typing.final +@typing_extensions.final class NewAudioSourceRequest(google.protobuf.message.Message): """Create a new AudioSource""" @@ -239,11 +238,11 @@ class NewAudioSourceRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int QUEUE_SIZE_MS_FIELD_NUMBER: builtins.int type: global___AudioSourceType.ValueType + @property + def options(self) -> global___AudioSourceOptions: ... sample_rate: builtins.int num_channels: builtins.int queue_size_ms: builtins.int - @property - def options(self) -> global___AudioSourceOptions: ... def __init__( self, *, @@ -253,12 +252,12 @@ class NewAudioSourceRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., queue_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> None: ... global___NewAudioSourceRequest = NewAudioSourceRequest -@typing.final +@typing_extensions.final class NewAudioSourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -270,12 +269,12 @@ class NewAudioSourceResponse(google.protobuf.message.Message): *, source: global___OwnedAudioSource | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["source", b"source"]) -> None: ... global___NewAudioSourceResponse = NewAudioSourceResponse -@typing.final +@typing_extensions.final class CaptureAudioFrameRequest(google.protobuf.message.Message): """Push a frame to an AudioSource The data provided must be available as long as the client receive the callback. @@ -294,12 +293,12 @@ class CaptureAudioFrameRequest(google.protobuf.message.Message): source_handle: builtins.int | None = ..., buffer: global___AudioFrameBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> None: ... global___CaptureAudioFrameRequest = CaptureAudioFrameRequest -@typing.final +@typing_extensions.final class CaptureAudioFrameResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -310,12 +309,12 @@ class CaptureAudioFrameResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___CaptureAudioFrameResponse = CaptureAudioFrameResponse -@typing.final +@typing_extensions.final class CaptureAudioFrameCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -329,12 +328,12 @@ class CaptureAudioFrameCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___CaptureAudioFrameCallback = CaptureAudioFrameCallback -@typing.final +@typing_extensions.final class ClearAudioBufferRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -345,12 +344,12 @@ class ClearAudioBufferRequest(google.protobuf.message.Message): *, source_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["source_handle", b"source_handle"]) -> None: ... global___ClearAudioBufferRequest = ClearAudioBufferRequest -@typing.final +@typing_extensions.final class ClearAudioBufferResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -360,7 +359,7 @@ class ClearAudioBufferResponse(google.protobuf.message.Message): global___ClearAudioBufferResponse = ClearAudioBufferResponse -@typing.final +@typing_extensions.final class NewAudioResamplerRequest(google.protobuf.message.Message): """Create a new AudioResampler""" @@ -372,7 +371,7 @@ class NewAudioResamplerRequest(google.protobuf.message.Message): global___NewAudioResamplerRequest = NewAudioResamplerRequest -@typing.final +@typing_extensions.final class NewAudioResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -384,12 +383,12 @@ class NewAudioResamplerResponse(google.protobuf.message.Message): *, resampler: global___OwnedAudioResampler | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["resampler", b"resampler"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resampler", b"resampler"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["resampler", b"resampler"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["resampler", b"resampler"]) -> None: ... global___NewAudioResamplerResponse = NewAudioResamplerResponse -@typing.final +@typing_extensions.final class RemixAndResampleRequest(google.protobuf.message.Message): """Remix and resample an audio frame""" @@ -400,10 +399,10 @@ class RemixAndResampleRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int SAMPLE_RATE_FIELD_NUMBER: builtins.int resampler_handle: builtins.int - num_channels: builtins.int - sample_rate: builtins.int @property def buffer(self) -> global___AudioFrameBufferInfo: ... + num_channels: builtins.int + sample_rate: builtins.int def __init__( self, *, @@ -412,12 +411,12 @@ class RemixAndResampleRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., sample_rate: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> None: ... global___RemixAndResampleRequest = RemixAndResampleRequest -@typing.final +@typing_extensions.final class RemixAndResampleResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -429,12 +428,12 @@ class RemixAndResampleResponse(google.protobuf.message.Message): *, buffer: global___OwnedAudioFrameBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer"]) -> None: ... global___RemixAndResampleResponse = RemixAndResampleResponse -@typing.final +@typing_extensions.final class NewSoxResamplerRequest(google.protobuf.message.Message): """New resampler using SoX (much better quality)""" @@ -465,33 +464,33 @@ class NewSoxResamplerRequest(google.protobuf.message.Message): quality_recipe: global___SoxQualityRecipe.ValueType | None = ..., flags: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> None: ... global___NewSoxResamplerRequest = NewSoxResamplerRequest -@typing.final +@typing_extensions.final class NewSoxResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor RESAMPLER_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int - error: builtins.str @property def resampler(self) -> global___OwnedSoxResampler: ... + error: builtins.str def __init__( self, *, resampler: global___OwnedSoxResampler | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["resampler", "error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["resampler", "error"] | None: ... global___NewSoxResamplerResponse = NewSoxResamplerResponse -@typing.final +@typing_extensions.final class PushSoxResamplerRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -510,12 +509,12 @@ class PushSoxResamplerRequest(google.protobuf.message.Message): data_ptr: builtins.int | None = ..., size: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> None: ... global___PushSoxResamplerRequest = PushSoxResamplerRequest -@typing.final +@typing_extensions.final class PushSoxResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -534,12 +533,12 @@ class PushSoxResamplerResponse(google.protobuf.message.Message): size: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... global___PushSoxResamplerResponse = PushSoxResamplerResponse -@typing.final +@typing_extensions.final class FlushSoxResamplerRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -550,12 +549,12 @@ class FlushSoxResamplerRequest(google.protobuf.message.Message): *, resampler_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["resampler_handle", b"resampler_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resampler_handle", b"resampler_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["resampler_handle", b"resampler_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["resampler_handle", b"resampler_handle"]) -> None: ... global___FlushSoxResamplerRequest = FlushSoxResamplerRequest -@typing.final +@typing_extensions.final class FlushSoxResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -574,12 +573,12 @@ class FlushSoxResamplerResponse(google.protobuf.message.Message): size: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... global___FlushSoxResamplerResponse = FlushSoxResamplerResponse -@typing.final +@typing_extensions.final class AudioFrameBufferInfo(google.protobuf.message.Message): """ AudioFrame buffer @@ -604,12 +603,12 @@ class AudioFrameBufferInfo(google.protobuf.message.Message): sample_rate: builtins.int | None = ..., samples_per_channel: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> None: ... global___AudioFrameBufferInfo = AudioFrameBufferInfo -@typing.final +@typing_extensions.final class OwnedAudioFrameBuffer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -625,12 +624,12 @@ class OwnedAudioFrameBuffer(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioFrameBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioFrameBuffer = OwnedAudioFrameBuffer -@typing.final +@typing_extensions.final class AudioStreamInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -641,12 +640,12 @@ class AudioStreamInfo(google.protobuf.message.Message): *, type: global___AudioStreamType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... global___AudioStreamInfo = AudioStreamInfo -@typing.final +@typing_extensions.final class OwnedAudioStream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -662,12 +661,12 @@ class OwnedAudioStream(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioStream = OwnedAudioStream -@typing.final +@typing_extensions.final class AudioStreamEvent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -686,13 +685,13 @@ class AudioStreamEvent(google.protobuf.message.Message): frame_received: global___AudioFrameReceived | None = ..., eos: global___AudioStreamEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["frame_received", "eos"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["frame_received", "eos"] | None: ... global___AudioStreamEvent = AudioStreamEvent -@typing.final +@typing_extensions.final class AudioFrameReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -704,12 +703,12 @@ class AudioFrameReceived(google.protobuf.message.Message): *, frame: global___OwnedAudioFrameBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frame", b"frame"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frame", b"frame"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["frame", b"frame"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["frame", b"frame"]) -> None: ... global___AudioFrameReceived = AudioFrameReceived -@typing.final +@typing_extensions.final class AudioStreamEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -719,7 +718,7 @@ class AudioStreamEOS(google.protobuf.message.Message): global___AudioStreamEOS = AudioStreamEOS -@typing.final +@typing_extensions.final class AudioSourceOptions(google.protobuf.message.Message): """ AudioSource @@ -740,12 +739,12 @@ class AudioSourceOptions(google.protobuf.message.Message): noise_suppression: builtins.bool | None = ..., auto_gain_control: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> None: ... global___AudioSourceOptions = AudioSourceOptions -@typing.final +@typing_extensions.final class AudioSourceInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -756,12 +755,12 @@ class AudioSourceInfo(google.protobuf.message.Message): *, type: global___AudioSourceType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... global___AudioSourceInfo = AudioSourceInfo -@typing.final +@typing_extensions.final class OwnedAudioSource(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -777,12 +776,12 @@ class OwnedAudioSource(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioSourceInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioSource = OwnedAudioSource -@typing.final +@typing_extensions.final class AudioResamplerInfo(google.protobuf.message.Message): """ AudioResampler @@ -796,7 +795,7 @@ class AudioResamplerInfo(google.protobuf.message.Message): global___AudioResamplerInfo = AudioResamplerInfo -@typing.final +@typing_extensions.final class OwnedAudioResampler(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -812,12 +811,12 @@ class OwnedAudioResampler(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioResamplerInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioResampler = OwnedAudioResampler -@typing.final +@typing_extensions.final class SoxResamplerInfo(google.protobuf.message.Message): """ Sox AudioResampler @@ -831,7 +830,7 @@ class SoxResamplerInfo(google.protobuf.message.Message): global___SoxResamplerInfo = SoxResamplerInfo -@typing.final +@typing_extensions.final class OwnedSoxResampler(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -847,7 +846,7 @@ class OwnedSoxResampler(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___SoxResamplerInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedSoxResampler = OwnedSoxResampler diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py index 0b5f8554..3d5d637a 100644 --- a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: e2ee.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'e2ee.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +29,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'e2ee_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_ENCRYPTIONTYPE']._serialized_start=2856 _globals['_ENCRYPTIONTYPE']._serialized_end=2903 diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi index 31e9d423..c29cd4ee 100644 --- a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import collections.abc import google.protobuf.descriptor @@ -75,7 +74,7 @@ KEY_RATCHETED: EncryptionState.ValueType # 5 INTERNAL_ERROR: EncryptionState.ValueType # 6 global___EncryptionState = EncryptionState -@typing.final +@typing_extensions.final class FrameCryptor(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -95,12 +94,12 @@ class FrameCryptor(google.protobuf.message.Message): key_index: builtins.int | None = ..., enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___FrameCryptor = FrameCryptor -@typing.final +@typing_extensions.final class KeyProviderOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -122,12 +121,12 @@ class KeyProviderOptions(google.protobuf.message.Message): ratchet_salt: builtins.bytes | None = ..., failure_tolerance: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> None: ... global___KeyProviderOptions = KeyProviderOptions -@typing.final +@typing_extensions.final class E2eeOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -142,12 +141,12 @@ class E2eeOptions(google.protobuf.message.Message): encryption_type: global___EncryptionType.ValueType | None = ..., key_provider_options: global___KeyProviderOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> None: ... global___E2eeOptions = E2eeOptions -@typing.final +@typing_extensions.final class E2eeManagerSetEnabledRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -158,12 +157,12 @@ class E2eeManagerSetEnabledRequest(google.protobuf.message.Message): *, enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> None: ... global___E2eeManagerSetEnabledRequest = E2eeManagerSetEnabledRequest -@typing.final +@typing_extensions.final class E2eeManagerSetEnabledResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -173,7 +172,7 @@ class E2eeManagerSetEnabledResponse(google.protobuf.message.Message): global___E2eeManagerSetEnabledResponse = E2eeManagerSetEnabledResponse -@typing.final +@typing_extensions.final class E2eeManagerGetFrameCryptorsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -183,7 +182,7 @@ class E2eeManagerGetFrameCryptorsRequest(google.protobuf.message.Message): global___E2eeManagerGetFrameCryptorsRequest = E2eeManagerGetFrameCryptorsRequest -@typing.final +@typing_extensions.final class E2eeManagerGetFrameCryptorsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -195,11 +194,11 @@ class E2eeManagerGetFrameCryptorsResponse(google.protobuf.message.Message): *, frame_cryptors: collections.abc.Iterable[global___FrameCryptor] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["frame_cryptors", b"frame_cryptors"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["frame_cryptors", b"frame_cryptors"]) -> None: ... global___E2eeManagerGetFrameCryptorsResponse = E2eeManagerGetFrameCryptorsResponse -@typing.final +@typing_extensions.final class FrameCryptorSetEnabledRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -216,12 +215,12 @@ class FrameCryptorSetEnabledRequest(google.protobuf.message.Message): track_sid: builtins.str | None = ..., enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___FrameCryptorSetEnabledRequest = FrameCryptorSetEnabledRequest -@typing.final +@typing_extensions.final class FrameCryptorSetEnabledResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -231,7 +230,7 @@ class FrameCryptorSetEnabledResponse(google.protobuf.message.Message): global___FrameCryptorSetEnabledResponse = FrameCryptorSetEnabledResponse -@typing.final +@typing_extensions.final class FrameCryptorSetKeyIndexRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -248,12 +247,12 @@ class FrameCryptorSetKeyIndexRequest(google.protobuf.message.Message): track_sid: builtins.str | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___FrameCryptorSetKeyIndexRequest = FrameCryptorSetKeyIndexRequest -@typing.final +@typing_extensions.final class FrameCryptorSetKeyIndexResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -263,7 +262,7 @@ class FrameCryptorSetKeyIndexResponse(google.protobuf.message.Message): global___FrameCryptorSetKeyIndexResponse = FrameCryptorSetKeyIndexResponse -@typing.final +@typing_extensions.final class SetSharedKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -277,12 +276,12 @@ class SetSharedKeyRequest(google.protobuf.message.Message): shared_key: builtins.bytes | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> None: ... global___SetSharedKeyRequest = SetSharedKeyRequest -@typing.final +@typing_extensions.final class SetSharedKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -292,7 +291,7 @@ class SetSharedKeyResponse(google.protobuf.message.Message): global___SetSharedKeyResponse = SetSharedKeyResponse -@typing.final +@typing_extensions.final class RatchetSharedKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -303,12 +302,12 @@ class RatchetSharedKeyRequest(google.protobuf.message.Message): *, key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> None: ... global___RatchetSharedKeyRequest = RatchetSharedKeyRequest -@typing.final +@typing_extensions.final class RatchetSharedKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -319,12 +318,12 @@ class RatchetSharedKeyResponse(google.protobuf.message.Message): *, new_key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["new_key", b"new_key"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> None: ... global___RatchetSharedKeyResponse = RatchetSharedKeyResponse -@typing.final +@typing_extensions.final class GetSharedKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -335,12 +334,12 @@ class GetSharedKeyRequest(google.protobuf.message.Message): *, key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> None: ... global___GetSharedKeyRequest = GetSharedKeyRequest -@typing.final +@typing_extensions.final class GetSharedKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -351,12 +350,12 @@ class GetSharedKeyResponse(google.protobuf.message.Message): *, key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... global___GetSharedKeyResponse = GetSharedKeyResponse -@typing.final +@typing_extensions.final class SetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -373,12 +372,12 @@ class SetKeyRequest(google.protobuf.message.Message): key: builtins.bytes | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... global___SetKeyRequest = SetKeyRequest -@typing.final +@typing_extensions.final class SetKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -388,7 +387,7 @@ class SetKeyResponse(google.protobuf.message.Message): global___SetKeyResponse = SetKeyResponse -@typing.final +@typing_extensions.final class RatchetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -402,12 +401,12 @@ class RatchetKeyRequest(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... global___RatchetKeyRequest = RatchetKeyRequest -@typing.final +@typing_extensions.final class RatchetKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -418,12 +417,12 @@ class RatchetKeyResponse(google.protobuf.message.Message): *, new_key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["new_key", b"new_key"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> None: ... global___RatchetKeyResponse = RatchetKeyResponse -@typing.final +@typing_extensions.final class GetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -437,12 +436,12 @@ class GetKeyRequest(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... global___GetKeyRequest = GetKeyRequest -@typing.final +@typing_extensions.final class GetKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -453,12 +452,12 @@ class GetKeyResponse(google.protobuf.message.Message): *, key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... global___GetKeyResponse = GetKeyResponse -@typing.final +@typing_extensions.final class E2eeRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -509,13 +508,13 @@ class E2eeRequest(google.protobuf.message.Message): ratchet_key: global___RatchetKeyRequest | None = ..., get_key: global___GetKeyRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... global___E2eeRequest = E2eeRequest -@typing.final +@typing_extensions.final class E2eeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -563,8 +562,8 @@ class E2eeResponse(google.protobuf.message.Message): ratchet_key: global___RatchetKeyResponse | None = ..., get_key: global___GetKeyResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... global___E2eeResponse = E2eeResponse diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py index 24a70903..9d517615 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: ffi.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'ffi.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -14,7 +24,7 @@ from . import e2ee_pb2 as e2ee__pb2 from . import track_pb2 as track__pb2 -import track_publication_pb2 as track__publication__pb2 +from . import track_publication_pb2 as track__publication__pb2 from . import room_pb2 as room__pb2 from . import video_frame_pb2 as video__frame__pb2 from . import audio_frame_pb2 as audio__frame__pb2 @@ -26,8 +36,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ffi_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_LOGLEVEL']._serialized_start=7734 _globals['_LOGLEVEL']._serialized_end=7817 diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi index cc642eec..d3905cd7 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - from . import audio_frame_pb2 import builtins import collections.abc @@ -28,7 +27,7 @@ from . import room_pb2 from . import rpc_pb2 import sys from . import track_pb2 -import track_publication_pb2 +from . import track_publication_pb2 import typing from . import video_frame_pb2 @@ -60,7 +59,7 @@ LOG_DEBUG: LogLevel.ValueType # 3 LOG_TRACE: LogLevel.ValueType # 4 global___LogLevel = LogLevel -@typing.final +@typing_extensions.final class FfiRequest(google.protobuf.message.Message): """**How is the livekit-ffi working: We refer as the ffi server the Rust server that is running the LiveKit client implementation, and we @@ -141,7 +140,6 @@ class FfiRequest(google.protobuf.message.Message): @property def connect(self) -> room_pb2.ConnectRequest: """Room""" - @property def disconnect(self) -> room_pb2.DisconnectRequest: ... @property @@ -167,7 +165,6 @@ class FfiRequest(google.protobuf.message.Message): @property def create_video_track(self) -> track_pb2.CreateVideoTrackRequest: """Track""" - @property def create_audio_track(self) -> track_pb2.CreateAudioTrackRequest: ... @property @@ -179,7 +176,6 @@ class FfiRequest(google.protobuf.message.Message): @property def new_video_stream(self) -> video_frame_pb2.NewVideoStreamRequest: """Video""" - @property def new_video_source(self) -> video_frame_pb2.NewVideoSourceRequest: ... @property @@ -191,7 +187,6 @@ class FfiRequest(google.protobuf.message.Message): @property def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamRequest: """Audio""" - @property def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceRequest: ... @property @@ -219,7 +214,6 @@ class FfiRequest(google.protobuf.message.Message): @property def perform_rpc(self) -> rpc_pb2.PerformRpcRequest: """RPC""" - @property def register_rpc_method(self) -> rpc_pb2.RegisterRpcMethodRequest: ... @property @@ -229,7 +223,6 @@ class FfiRequest(google.protobuf.message.Message): @property def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationRequest: """Track Publication""" - @property def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest: ... def __init__( @@ -278,13 +271,13 @@ class FfiRequest(google.protobuf.message.Message): enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationRequest | None = ..., update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... global___FfiRequest = FfiRequest -@typing.final +@typing_extensions.final class FfiResponse(google.protobuf.message.Message): """This is the output of livekit_ffi_request function.""" @@ -336,7 +329,6 @@ class FfiResponse(google.protobuf.message.Message): @property def connect(self) -> room_pb2.ConnectResponse: """Room""" - @property def disconnect(self) -> room_pb2.DisconnectResponse: ... @property @@ -362,7 +354,6 @@ class FfiResponse(google.protobuf.message.Message): @property def create_video_track(self) -> track_pb2.CreateVideoTrackResponse: """Track""" - @property def create_audio_track(self) -> track_pb2.CreateAudioTrackResponse: ... @property @@ -374,7 +365,6 @@ class FfiResponse(google.protobuf.message.Message): @property def new_video_stream(self) -> video_frame_pb2.NewVideoStreamResponse: """Video""" - @property def new_video_source(self) -> video_frame_pb2.NewVideoSourceResponse: ... @property @@ -386,7 +376,6 @@ class FfiResponse(google.protobuf.message.Message): @property def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamResponse: """Audio""" - @property def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceResponse: ... @property @@ -412,7 +401,6 @@ class FfiResponse(google.protobuf.message.Message): @property def perform_rpc(self) -> rpc_pb2.PerformRpcResponse: """RPC""" - @property def register_rpc_method(self) -> rpc_pb2.RegisterRpcMethodResponse: ... @property @@ -422,7 +410,6 @@ class FfiResponse(google.protobuf.message.Message): @property def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationResponse: """Track Publication""" - @property def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse: ... def __init__( @@ -470,13 +457,13 @@ class FfiResponse(google.protobuf.message.Message): enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationResponse | None = ..., update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... global___FfiResponse = FfiResponse -@typing.final +@typing_extensions.final class FfiEvent(google.protobuf.message.Message): """To minimize complexity, participant events are not included in the protocol. It is easily deducible from the room events and it turned out that is is easier to implement @@ -581,13 +568,13 @@ class FfiEvent(google.protobuf.message.Message): perform_rpc: rpc_pb2.PerformRpcCallback | None = ..., rpc_method_invocation: rpc_pb2.RpcMethodInvocationEvent | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["room_event", "track_event", "video_stream_event", "audio_stream_event", "connect", "disconnect", "dispose", "publish_track", "unpublish_track", "publish_data", "publish_transcription", "capture_audio_frame", "set_local_metadata", "set_local_name", "set_local_attributes", "get_stats", "logs", "get_session_stats", "panic", "publish_sip_dtmf", "chat_message", "perform_rpc", "rpc_method_invocation"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["room_event", "track_event", "video_stream_event", "audio_stream_event", "connect", "disconnect", "dispose", "publish_track", "unpublish_track", "publish_data", "publish_transcription", "capture_audio_frame", "set_local_metadata", "set_local_name", "set_local_attributes", "get_stats", "logs", "get_session_stats", "panic", "publish_sip_dtmf", "chat_message", "perform_rpc", "rpc_method_invocation"] | None: ... global___FfiEvent = FfiEvent -@typing.final +@typing_extensions.final class DisposeRequest(google.protobuf.message.Message): """Stop all rooms synchronously (Do we need async here?). e.g: This is used for the Unity Editor after each assemblies reload. @@ -600,12 +587,12 @@ class DisposeRequest(google.protobuf.message.Message): def __init__( self, ) -> None: ... - def HasField(self, field_name: typing.Literal["async", b"async"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async", b"async"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async", b"async"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async", b"async"]) -> None: ... global___DisposeRequest = DisposeRequest -@typing.final +@typing_extensions.final class DisposeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -617,12 +604,12 @@ class DisposeResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___DisposeResponse = DisposeResponse -@typing.final +@typing_extensions.final class DisposeCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -633,12 +620,12 @@ class DisposeCallback(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___DisposeCallback = DisposeCallback -@typing.final +@typing_extensions.final class LogRecord(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -665,12 +652,12 @@ class LogRecord(google.protobuf.message.Message): line: builtins.int | None = ..., message: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> None: ... global___LogRecord = LogRecord -@typing.final +@typing_extensions.final class LogBatch(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -682,11 +669,11 @@ class LogBatch(google.protobuf.message.Message): *, records: collections.abc.Iterable[global___LogRecord] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["records", b"records"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["records", b"records"]) -> None: ... global___LogBatch = LogBatch -@typing.final +@typing_extensions.final class Panic(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -697,7 +684,7 @@ class Panic(google.protobuf.message.Message): *, message: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["message", b"message"]) -> None: ... global___Panic = Panic diff --git a/livekit-rtc/livekit/rtc/_proto/handle_pb2.py b/livekit-rtc/livekit/rtc/_proto/handle_pb2.py index 2ae2db78..2c19a638 100644 --- a/livekit-rtc/livekit/rtc/_proto/handle_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/handle_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: handle.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'handle.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +29,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'handle_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_FFIOWNEDHANDLE']._serialized_start=31 _globals['_FFIOWNEDHANDLE']._serialized_end=59 diff --git a/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi index ce29050f..2f5062ac 100644 --- a/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi @@ -15,15 +15,19 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import google.protobuf.descriptor import google.protobuf.message -import typing +import sys + +if sys.version_info >= (3, 8): + import typing as typing_extensions +else: + import typing_extensions DESCRIPTOR: google.protobuf.descriptor.FileDescriptor -@typing.final +@typing_extensions.final class FfiOwnedHandle(google.protobuf.message.Message): """# Safety The foreign language is responsable for disposing handles @@ -45,7 +49,7 @@ class FfiOwnedHandle(google.protobuf.message.Message): *, id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["id", b"id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ... global___FfiOwnedHandle = FfiOwnedHandle diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py index 4a2ef4ed..88eff7e4 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: participant.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'participant.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,10 +30,10 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'participant_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._options = None + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._loaded_options = None _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_PARTICIPANTKIND']._serialized_start=472 _globals['_PARTICIPANTKIND']._serialized_end=633 diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi index 45332b50..49d1c1c1 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import collections.abc import google.protobuf.descriptor @@ -119,11 +118,11 @@ SIP_TRUNK_FAILURE: DisconnectReason.ValueType # 13 """SIP protocol failure or unexpected response""" global___DisconnectReason = DisconnectReason -@typing.final +@typing_extensions.final class ParticipantInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing.final + @typing_extensions.final class AttributesEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -137,8 +136,8 @@ class ParticipantInfo(google.protobuf.message.Message): 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: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... SID_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int @@ -151,10 +150,10 @@ class ParticipantInfo(google.protobuf.message.Message): name: builtins.str identity: builtins.str metadata: builtins.str - kind: global___ParticipantKind.ValueType - disconnect_reason: global___DisconnectReason.ValueType @property def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... + kind: global___ParticipantKind.ValueType + disconnect_reason: global___DisconnectReason.ValueType def __init__( self, *, @@ -166,12 +165,12 @@ class ParticipantInfo(google.protobuf.message.Message): kind: global___ParticipantKind.ValueType | None = ..., disconnect_reason: global___DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... global___ParticipantInfo = ParticipantInfo -@typing.final +@typing_extensions.final class OwnedParticipant(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -187,7 +186,7 @@ class OwnedParticipant(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___ParticipantInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedParticipant = OwnedParticipant diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.py b/livekit-rtc/livekit/rtc/_proto/room_pb2.py index d1b3922c..6a6a1cad 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: room.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'room.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -25,12 +35,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'room_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_PUBLISHDATAREQUEST'].fields_by_name['destination_sids']._options = None + _globals['_PUBLISHDATAREQUEST'].fields_by_name['destination_sids']._loaded_options = None _globals['_PUBLISHDATAREQUEST'].fields_by_name['destination_sids']._serialized_options = b'\030\001' - _globals['_DATASTREAM_HEADER_EXTENSIONSENTRY']._options = None + _globals['_DATASTREAM_HEADER_EXTENSIONSENTRY']._loaded_options = None _globals['_DATASTREAM_HEADER_EXTENSIONSENTRY']._serialized_options = b'8\001' _globals['_ICETRANSPORTTYPE']._serialized_start=10082 _globals['_ICETRANSPORTTYPE']._serialized_end=10162 diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi index f78a2403..bc15c7d8 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import collections.abc from . import e2ee_pb2 @@ -124,7 +123,7 @@ KIND_LOSSY: DataPacketKind.ValueType # 0 KIND_RELIABLE: DataPacketKind.ValueType # 1 global___DataPacketKind = DataPacketKind -@typing.final +@typing_extensions.final class ConnectRequest(google.protobuf.message.Message): """Connect to a new LiveKit room""" @@ -144,12 +143,12 @@ class ConnectRequest(google.protobuf.message.Message): token: builtins.str | None = ..., options: global___RoomOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["options", b"options", "token", b"token", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["options", b"options", "token", b"token", "url", b"url"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["options", b"options", "token", b"token", "url", b"url"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["options", b"options", "token", b"token", "url", b"url"]) -> None: ... global___ConnectRequest = ConnectRequest -@typing.final +@typing_extensions.final class ConnectResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -160,16 +159,16 @@ class ConnectResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___ConnectResponse = ConnectResponse -@typing.final +@typing_extensions.final class ConnectCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing.final + @typing_extensions.final class ParticipantWithTracks(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -182,17 +181,16 @@ class ConnectCallback(google.protobuf.message.Message): """TrackInfo are not needed here, if we're subscribed to a track, the FfiServer will send a TrackSubscribed event """ - def __init__( self, *, participant: participant_pb2.OwnedParticipant | None = ..., publications: collections.abc.Iterable[track_pb2.OwnedTrackPublication] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant", b"participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant", b"participant", "publications", b"publications"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant", b"participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant", b"participant", "publications", b"publications"]) -> None: ... - @typing.final + @typing_extensions.final class Result(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -212,8 +210,8 @@ class ConnectCallback(google.protobuf.message.Message): local_participant: participant_pb2.OwnedParticipant | None = ..., participants: collections.abc.Iterable[global___ConnectCallback.ParticipantWithTracks] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant", b"local_participant", "room", b"room"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant", b"local_participant", "participants", b"participants", "room", b"room"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant", b"local_participant", "room", b"room"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant", b"local_participant", "participants", b"participants", "room", b"room"]) -> None: ... ASYNC_ID_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int @@ -229,13 +227,13 @@ class ConnectCallback(google.protobuf.message.Message): error: builtins.str | None = ..., result: global___ConnectCallback.Result | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "result"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "result"] | None: ... global___ConnectCallback = ConnectCallback -@typing.final +@typing_extensions.final class DisconnectRequest(google.protobuf.message.Message): """Disconnect from the a room""" @@ -248,12 +246,12 @@ class DisconnectRequest(google.protobuf.message.Message): *, room_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> None: ... global___DisconnectRequest = DisconnectRequest -@typing.final +@typing_extensions.final class DisconnectResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -264,12 +262,12 @@ class DisconnectResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___DisconnectResponse = DisconnectResponse -@typing.final +@typing_extensions.final class DisconnectCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -280,12 +278,12 @@ class DisconnectCallback(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___DisconnectCallback = DisconnectCallback -@typing.final +@typing_extensions.final class PublishTrackRequest(google.protobuf.message.Message): """Publish a track to the room""" @@ -305,12 +303,12 @@ class PublishTrackRequest(google.protobuf.message.Message): track_handle: builtins.int | None = ..., options: global___TrackPublishOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> None: ... global___PublishTrackRequest = PublishTrackRequest -@typing.final +@typing_extensions.final class PublishTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -321,12 +319,12 @@ class PublishTrackResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___PublishTrackResponse = PublishTrackResponse -@typing.final +@typing_extensions.final class PublishTrackCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -344,13 +342,13 @@ class PublishTrackCallback(google.protobuf.message.Message): error: builtins.str | None = ..., publication: track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "publication"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "publication"] | None: ... global___PublishTrackCallback = PublishTrackCallback -@typing.final +@typing_extensions.final class UnpublishTrackRequest(google.protobuf.message.Message): """Unpublish a track from the room""" @@ -369,12 +367,12 @@ class UnpublishTrackRequest(google.protobuf.message.Message): track_sid: builtins.str | None = ..., stop_on_unpublish: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> None: ... global___UnpublishTrackRequest = UnpublishTrackRequest -@typing.final +@typing_extensions.final class UnpublishTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -385,12 +383,12 @@ class UnpublishTrackResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___UnpublishTrackResponse = UnpublishTrackResponse -@typing.final +@typing_extensions.final class UnpublishTrackCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -404,12 +402,12 @@ class UnpublishTrackCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___UnpublishTrackCallback = UnpublishTrackCallback -@typing.final +@typing_extensions.final class PublishDataRequest(google.protobuf.message.Message): """Publish data to other participants""" @@ -426,9 +424,9 @@ class PublishDataRequest(google.protobuf.message.Message): data_ptr: builtins.int data_len: builtins.int reliable: builtins.bool - topic: builtins.str @property def destination_sids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + topic: builtins.str @property def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... def __init__( @@ -442,12 +440,12 @@ class PublishDataRequest(google.protobuf.message.Message): topic: builtins.str | None = ..., destination_identities: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "destination_identities", b"destination_identities", "destination_sids", b"destination_sids", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "destination_identities", b"destination_identities", "destination_sids", b"destination_sids", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> None: ... global___PublishDataRequest = PublishDataRequest -@typing.final +@typing_extensions.final class PublishDataResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -458,12 +456,12 @@ class PublishDataResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___PublishDataResponse = PublishDataResponse -@typing.final +@typing_extensions.final class PublishDataCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -477,12 +475,12 @@ class PublishDataCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___PublishDataCallback = PublishDataCallback -@typing.final +@typing_extensions.final class PublishTranscriptionRequest(google.protobuf.message.Message): """Publish transcription messages to room""" @@ -505,12 +503,12 @@ class PublishTranscriptionRequest(google.protobuf.message.Message): track_id: builtins.str | None = ..., segments: collections.abc.Iterable[global___TranscriptionSegment] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "track_id", b"track_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "segments", b"segments", "track_id", b"track_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "track_id", b"track_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "segments", b"segments", "track_id", b"track_id"]) -> None: ... global___PublishTranscriptionRequest = PublishTranscriptionRequest -@typing.final +@typing_extensions.final class PublishTranscriptionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -521,12 +519,12 @@ class PublishTranscriptionResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___PublishTranscriptionResponse = PublishTranscriptionResponse -@typing.final +@typing_extensions.final class PublishTranscriptionCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -540,12 +538,12 @@ class PublishTranscriptionCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___PublishTranscriptionCallback = PublishTranscriptionCallback -@typing.final +@typing_extensions.final class PublishSipDtmfRequest(google.protobuf.message.Message): """Publish Sip DTMF messages to other participants""" @@ -568,12 +566,12 @@ class PublishSipDtmfRequest(google.protobuf.message.Message): digit: builtins.str | None = ..., destination_identities: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "destination_identities", b"destination_identities", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["code", b"code", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "destination_identities", b"destination_identities", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> None: ... global___PublishSipDtmfRequest = PublishSipDtmfRequest -@typing.final +@typing_extensions.final class PublishSipDtmfResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -584,12 +582,12 @@ class PublishSipDtmfResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___PublishSipDtmfResponse = PublishSipDtmfResponse -@typing.final +@typing_extensions.final class PublishSipDtmfCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -603,12 +601,12 @@ class PublishSipDtmfCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___PublishSipDtmfCallback = PublishSipDtmfCallback -@typing.final +@typing_extensions.final class SetLocalMetadataRequest(google.protobuf.message.Message): """Change the local participant's metadata""" @@ -624,12 +622,12 @@ class SetLocalMetadataRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> None: ... global___SetLocalMetadataRequest = SetLocalMetadataRequest -@typing.final +@typing_extensions.final class SetLocalMetadataResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -640,12 +638,12 @@ class SetLocalMetadataResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___SetLocalMetadataResponse = SetLocalMetadataResponse -@typing.final +@typing_extensions.final class SetLocalMetadataCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -659,12 +657,12 @@ class SetLocalMetadataCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___SetLocalMetadataCallback = SetLocalMetadataCallback -@typing.final +@typing_extensions.final class SendChatMessageRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -674,9 +672,9 @@ class SendChatMessageRequest(google.protobuf.message.Message): SENDER_IDENTITY_FIELD_NUMBER: builtins.int local_participant_handle: builtins.int message: builtins.str - sender_identity: builtins.str @property def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + sender_identity: builtins.str def __init__( self, *, @@ -685,12 +683,12 @@ class SendChatMessageRequest(google.protobuf.message.Message): destination_identities: collections.abc.Iterable[builtins.str] | None = ..., sender_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> None: ... global___SendChatMessageRequest = SendChatMessageRequest -@typing.final +@typing_extensions.final class EditChatMessageRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -701,11 +699,11 @@ class EditChatMessageRequest(google.protobuf.message.Message): SENDER_IDENTITY_FIELD_NUMBER: builtins.int local_participant_handle: builtins.int edit_text: builtins.str - sender_identity: builtins.str @property def original_message(self) -> global___ChatMessage: ... @property def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + sender_identity: builtins.str def __init__( self, *, @@ -715,12 +713,12 @@ class EditChatMessageRequest(google.protobuf.message.Message): destination_identities: collections.abc.Iterable[builtins.str] | None = ..., sender_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["destination_identities", b"destination_identities", "edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> None: ... global___EditChatMessageRequest = EditChatMessageRequest -@typing.final +@typing_extensions.final class SendChatMessageResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -731,12 +729,12 @@ class SendChatMessageResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___SendChatMessageResponse = SendChatMessageResponse -@typing.final +@typing_extensions.final class SendChatMessageCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -754,13 +752,13 @@ class SendChatMessageCallback(google.protobuf.message.Message): error: builtins.str | None = ..., chat_message: global___ChatMessage | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "chat_message"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "chat_message"] | None: ... global___SendChatMessageCallback = SendChatMessageCallback -@typing.final +@typing_extensions.final class SetLocalAttributesRequest(google.protobuf.message.Message): """Change the local participant's attributes""" @@ -777,12 +775,12 @@ class SetLocalAttributesRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "local_participant_handle", b"local_participant_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "local_participant_handle", b"local_participant_handle"]) -> None: ... global___SetLocalAttributesRequest = SetLocalAttributesRequest -@typing.final +@typing_extensions.final class AttributesEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -796,12 +794,12 @@ class AttributesEntry(google.protobuf.message.Message): 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: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... global___AttributesEntry = AttributesEntry -@typing.final +@typing_extensions.final class SetLocalAttributesResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -812,12 +810,12 @@ class SetLocalAttributesResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___SetLocalAttributesResponse = SetLocalAttributesResponse -@typing.final +@typing_extensions.final class SetLocalAttributesCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -831,12 +829,12 @@ class SetLocalAttributesCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___SetLocalAttributesCallback = SetLocalAttributesCallback -@typing.final +@typing_extensions.final class SetLocalNameRequest(google.protobuf.message.Message): """Change the local participant's name""" @@ -852,12 +850,12 @@ class SetLocalNameRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., name: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> None: ... global___SetLocalNameRequest = SetLocalNameRequest -@typing.final +@typing_extensions.final class SetLocalNameResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -868,12 +866,12 @@ class SetLocalNameResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___SetLocalNameResponse = SetLocalNameResponse -@typing.final +@typing_extensions.final class SetLocalNameCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -887,12 +885,12 @@ class SetLocalNameCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___SetLocalNameCallback = SetLocalNameCallback -@typing.final +@typing_extensions.final class SetSubscribedRequest(google.protobuf.message.Message): """Change the "desire" to subs2ribe to a track""" @@ -908,12 +906,12 @@ class SetSubscribedRequest(google.protobuf.message.Message): subscribe: builtins.bool | None = ..., publication_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> None: ... global___SetSubscribedRequest = SetSubscribedRequest -@typing.final +@typing_extensions.final class SetSubscribedResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -923,7 +921,7 @@ class SetSubscribedResponse(google.protobuf.message.Message): global___SetSubscribedResponse = SetSubscribedResponse -@typing.final +@typing_extensions.final class GetSessionStatsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -934,12 +932,12 @@ class GetSessionStatsRequest(google.protobuf.message.Message): *, room_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> None: ... global___GetSessionStatsRequest = GetSessionStatsRequest -@typing.final +@typing_extensions.final class GetSessionStatsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -950,16 +948,16 @@ class GetSessionStatsResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___GetSessionStatsResponse = GetSessionStatsResponse -@typing.final +@typing_extensions.final class GetSessionStatsCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing.final + @typing_extensions.final class Result(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -975,7 +973,7 @@ class GetSessionStatsCallback(google.protobuf.message.Message): publisher_stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., subscriber_stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"]) -> None: ... ASYNC_ID_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int @@ -991,13 +989,13 @@ class GetSessionStatsCallback(google.protobuf.message.Message): error: builtins.str | None = ..., result: global___GetSessionStatsCallback.Result | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "result"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "result"] | None: ... global___GetSessionStatsCallback = GetSessionStatsCallback -@typing.final +@typing_extensions.final class VideoEncoding(google.protobuf.message.Message): """ Options @@ -1015,12 +1013,12 @@ class VideoEncoding(google.protobuf.message.Message): max_bitrate: builtins.int | None = ..., max_framerate: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> None: ... global___VideoEncoding = VideoEncoding -@typing.final +@typing_extensions.final class AudioEncoding(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1031,12 +1029,12 @@ class AudioEncoding(google.protobuf.message.Message): *, max_bitrate: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate"]) -> None: ... global___AudioEncoding = AudioEncoding -@typing.final +@typing_extensions.final class TrackPublishOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1048,18 +1046,17 @@ class TrackPublishOptions(google.protobuf.message.Message): SIMULCAST_FIELD_NUMBER: builtins.int SOURCE_FIELD_NUMBER: builtins.int STREAM_FIELD_NUMBER: builtins.int + @property + def video_encoding(self) -> global___VideoEncoding: + """encodings are optional""" + @property + def audio_encoding(self) -> global___AudioEncoding: ... video_codec: video_frame_pb2.VideoCodec.ValueType dtx: builtins.bool red: builtins.bool simulcast: builtins.bool source: track_pb2.TrackSource.ValueType stream: builtins.str - @property - def video_encoding(self) -> global___VideoEncoding: - """encodings are optional""" - - @property - def audio_encoding(self) -> global___AudioEncoding: ... def __init__( self, *, @@ -1072,22 +1069,22 @@ class TrackPublishOptions(google.protobuf.message.Message): source: track_pb2.TrackSource.ValueType | None = ..., stream: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> None: ... global___TrackPublishOptions = TrackPublishOptions -@typing.final +@typing_extensions.final class IceServer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor URLS_FIELD_NUMBER: builtins.int USERNAME_FIELD_NUMBER: builtins.int PASSWORD_FIELD_NUMBER: builtins.int - username: builtins.str - password: builtins.str @property def urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + username: builtins.str + password: builtins.str def __init__( self, *, @@ -1095,12 +1092,12 @@ class IceServer(google.protobuf.message.Message): username: builtins.str | None = ..., password: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["password", b"password", "username", b"username"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["password", b"password", "urls", b"urls", "username", b"username"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["password", b"password", "username", b"username"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["password", b"password", "urls", b"urls", "username", b"username"]) -> None: ... global___IceServer = IceServer -@typing.final +@typing_extensions.final class RtcConfig(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1112,7 +1109,6 @@ class RtcConfig(google.protobuf.message.Message): @property def ice_servers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IceServer]: """empty fallback to default""" - def __init__( self, *, @@ -1120,12 +1116,12 @@ class RtcConfig(google.protobuf.message.Message): continual_gathering_policy: global___ContinualGatheringPolicy.ValueType | None = ..., ice_servers: collections.abc.Iterable[global___IceServer] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_transport_type", b"ice_transport_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_servers", b"ice_servers", "ice_transport_type", b"ice_transport_type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_transport_type", b"ice_transport_type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_servers", b"ice_servers", "ice_transport_type", b"ice_transport_type"]) -> None: ... global___RtcConfig = RtcConfig -@typing.final +@typing_extensions.final class RoomOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1138,13 +1134,12 @@ class RoomOptions(google.protobuf.message.Message): auto_subscribe: builtins.bool adaptive_stream: builtins.bool dynacast: builtins.bool - join_retries: builtins.int @property def e2ee(self) -> e2ee_pb2.E2eeOptions: ... @property def rtc_config(self) -> global___RtcConfig: """allow to setup a custom RtcConfiguration""" - + join_retries: builtins.int def __init__( self, *, @@ -1155,12 +1150,12 @@ class RoomOptions(google.protobuf.message.Message): rtc_config: global___RtcConfig | None = ..., join_retries: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> None: ... global___RoomOptions = RoomOptions -@typing.final +@typing_extensions.final class TranscriptionSegment(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1186,12 +1181,12 @@ class TranscriptionSegment(google.protobuf.message.Message): final: builtins.bool | None = ..., language: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> None: ... global___TranscriptionSegment = TranscriptionSegment -@typing.final +@typing_extensions.final class BufferInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1205,12 +1200,12 @@ class BufferInfo(google.protobuf.message.Message): data_ptr: builtins.int | None = ..., data_len: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> None: ... global___BufferInfo = BufferInfo -@typing.final +@typing_extensions.final class OwnedBuffer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1226,12 +1221,12 @@ class OwnedBuffer(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., data: global___BufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data", b"data", "handle", b"handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data", b"data", "handle", b"handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data", b"data", "handle", b"handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "handle", b"handle"]) -> None: ... global___OwnedBuffer = OwnedBuffer -@typing.final +@typing_extensions.final class RoomEvent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1310,7 +1305,6 @@ class RoomEvent(google.protobuf.message.Message): @property def disconnected(self) -> global___Disconnected: """Connected connected = 21;""" - @property def reconnecting(self) -> global___Reconnecting: ... @property @@ -1320,7 +1314,6 @@ class RoomEvent(google.protobuf.message.Message): @property def eos(self) -> global___RoomEOS: """The stream of room events has ended""" - @property def data_packet_received(self) -> global___DataPacketReceived: ... @property @@ -1366,13 +1359,13 @@ class RoomEvent(google.protobuf.message.Message): stream_header: global___DataStream.Header | None = ..., stream_chunk: global___DataStream.Chunk | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message", "stream_header", "stream_chunk"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message", "stream_header", "stream_chunk"] | None: ... global___RoomEvent = RoomEvent -@typing.final +@typing_extensions.final class RoomInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1389,12 +1382,12 @@ class RoomInfo(google.protobuf.message.Message): name: builtins.str | None = ..., metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... global___RoomInfo = RoomInfo -@typing.final +@typing_extensions.final class OwnedRoom(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1410,12 +1403,12 @@ class OwnedRoom(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___RoomInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedRoom = OwnedRoom -@typing.final +@typing_extensions.final class ParticipantConnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1427,12 +1420,12 @@ class ParticipantConnected(google.protobuf.message.Message): *, info: participant_pb2.OwnedParticipant | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["info", b"info"]) -> None: ... global___ParticipantConnected = ParticipantConnected -@typing.final +@typing_extensions.final class ParticipantDisconnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1443,12 +1436,12 @@ class ParticipantDisconnected(google.protobuf.message.Message): *, participant_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity"]) -> None: ... global___ParticipantDisconnected = ParticipantDisconnected -@typing.final +@typing_extensions.final class LocalTrackPublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1462,12 +1455,12 @@ class LocalTrackPublished(google.protobuf.message.Message): *, track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> None: ... global___LocalTrackPublished = LocalTrackPublished -@typing.final +@typing_extensions.final class LocalTrackUnpublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1478,12 +1471,12 @@ class LocalTrackUnpublished(google.protobuf.message.Message): *, publication_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["publication_sid", b"publication_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["publication_sid", b"publication_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["publication_sid", b"publication_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["publication_sid", b"publication_sid"]) -> None: ... global___LocalTrackUnpublished = LocalTrackUnpublished -@typing.final +@typing_extensions.final class LocalTrackSubscribed(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1494,12 +1487,12 @@ class LocalTrackSubscribed(google.protobuf.message.Message): *, track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> None: ... global___LocalTrackSubscribed = LocalTrackSubscribed -@typing.final +@typing_extensions.final class TrackPublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1514,12 +1507,12 @@ class TrackPublished(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., publication: track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> None: ... global___TrackPublished = TrackPublished -@typing.final +@typing_extensions.final class TrackUnpublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1533,12 +1526,12 @@ class TrackUnpublished(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., publication_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> None: ... global___TrackUnpublished = TrackUnpublished -@typing.final +@typing_extensions.final class TrackSubscribed(google.protobuf.message.Message): """Publication isn't needed for subscription events on the FFI The FFI will retrieve the publication using the Track sid @@ -1557,12 +1550,12 @@ class TrackSubscribed(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track: track_pb2.OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> None: ... global___TrackSubscribed = TrackSubscribed -@typing.final +@typing_extensions.final class TrackUnsubscribed(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1577,12 +1570,12 @@ class TrackUnsubscribed(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackUnsubscribed = TrackUnsubscribed -@typing.final +@typing_extensions.final class TrackSubscriptionFailed(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1599,12 +1592,12 @@ class TrackSubscriptionFailed(google.protobuf.message.Message): track_sid: builtins.str | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackSubscriptionFailed = TrackSubscriptionFailed -@typing.final +@typing_extensions.final class TrackMuted(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1618,12 +1611,12 @@ class TrackMuted(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackMuted = TrackMuted -@typing.final +@typing_extensions.final class TrackUnmuted(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1637,12 +1630,12 @@ class TrackUnmuted(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackUnmuted = TrackUnmuted -@typing.final +@typing_extensions.final class E2eeStateChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1657,12 +1650,12 @@ class E2eeStateChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., state: e2ee_pb2.EncryptionState.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> None: ... global___E2eeStateChanged = E2eeStateChanged -@typing.final +@typing_extensions.final class ActiveSpeakersChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1674,11 +1667,11 @@ class ActiveSpeakersChanged(google.protobuf.message.Message): *, participant_identities: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_identities", b"participant_identities"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identities", b"participant_identities"]) -> None: ... global___ActiveSpeakersChanged = ActiveSpeakersChanged -@typing.final +@typing_extensions.final class RoomMetadataChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1689,12 +1682,12 @@ class RoomMetadataChanged(google.protobuf.message.Message): *, metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["metadata", b"metadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> None: ... global___RoomMetadataChanged = RoomMetadataChanged -@typing.final +@typing_extensions.final class RoomSidChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1705,12 +1698,12 @@ class RoomSidChanged(google.protobuf.message.Message): *, sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["sid", b"sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["sid", b"sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["sid", b"sid"]) -> None: ... global___RoomSidChanged = RoomSidChanged -@typing.final +@typing_extensions.final class ParticipantMetadataChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1724,12 +1717,12 @@ class ParticipantMetadataChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> None: ... global___ParticipantMetadataChanged = ParticipantMetadataChanged -@typing.final +@typing_extensions.final class ParticipantAttributesChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1748,12 +1741,12 @@ class ParticipantAttributesChanged(google.protobuf.message.Message): attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., changed_attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "changed_attributes", b"changed_attributes", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "changed_attributes", b"changed_attributes", "participant_identity", b"participant_identity"]) -> None: ... global___ParticipantAttributesChanged = ParticipantAttributesChanged -@typing.final +@typing_extensions.final class ParticipantNameChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1767,12 +1760,12 @@ class ParticipantNameChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., name: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> None: ... global___ParticipantNameChanged = ParticipantNameChanged -@typing.final +@typing_extensions.final class ConnectionQualityChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1786,32 +1779,32 @@ class ConnectionQualityChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., quality: global___ConnectionQuality.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> None: ... global___ConnectionQualityChanged = ConnectionQualityChanged -@typing.final +@typing_extensions.final class UserPacket(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int TOPIC_FIELD_NUMBER: builtins.int - topic: builtins.str @property def data(self) -> global___OwnedBuffer: ... + topic: builtins.str def __init__( self, *, data: global___OwnedBuffer | None = ..., topic: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data", b"data", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data", b"data", "topic", b"topic"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data", b"data", "topic", b"topic"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "topic", b"topic"]) -> None: ... global___UserPacket = UserPacket -@typing.final +@typing_extensions.final class ChatMessage(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1837,32 +1830,32 @@ class ChatMessage(google.protobuf.message.Message): deleted: builtins.bool | None = ..., generated: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> None: ... global___ChatMessage = ChatMessage -@typing.final +@typing_extensions.final class ChatMessageReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor MESSAGE_FIELD_NUMBER: builtins.int PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int - participant_identity: builtins.str @property def message(self) -> global___ChatMessage: ... + participant_identity: builtins.str def __init__( self, *, message: global___ChatMessage | None = ..., participant_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> None: ... global___ChatMessageReceived = ChatMessageReceived -@typing.final +@typing_extensions.final class SipDTMF(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1876,12 +1869,12 @@ class SipDTMF(google.protobuf.message.Message): code: builtins.int | None = ..., digit: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "digit", b"digit"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "digit", b"digit"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["code", b"code", "digit", b"digit"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "digit", b"digit"]) -> None: ... global___SipDTMF = SipDTMF -@typing.final +@typing_extensions.final class DataPacketReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1904,13 +1897,13 @@ class DataPacketReceived(google.protobuf.message.Message): user: global___UserPacket | None = ..., sip_dtmf: global___SipDTMF | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["user", "sip_dtmf"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["user", "sip_dtmf"] | None: ... global___DataPacketReceived = DataPacketReceived -@typing.final +@typing_extensions.final class TranscriptionReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1928,12 +1921,12 @@ class TranscriptionReceived(google.protobuf.message.Message): track_sid: builtins.str | None = ..., segments: collections.abc.Iterable[global___TranscriptionSegment] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "segments", b"segments", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "segments", b"segments", "track_sid", b"track_sid"]) -> None: ... global___TranscriptionReceived = TranscriptionReceived -@typing.final +@typing_extensions.final class ConnectionStateChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1944,12 +1937,12 @@ class ConnectionStateChanged(google.protobuf.message.Message): *, state: global___ConnectionState.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["state", b"state"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["state", b"state"]) -> None: ... global___ConnectionStateChanged = ConnectionStateChanged -@typing.final +@typing_extensions.final class Connected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1959,7 +1952,7 @@ class Connected(google.protobuf.message.Message): global___Connected = Connected -@typing.final +@typing_extensions.final class Disconnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1970,12 +1963,12 @@ class Disconnected(google.protobuf.message.Message): *, reason: participant_pb2.DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["reason", b"reason"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["reason", b"reason"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["reason", b"reason"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["reason", b"reason"]) -> None: ... global___Disconnected = Disconnected -@typing.final +@typing_extensions.final class Reconnecting(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1985,7 +1978,7 @@ class Reconnecting(google.protobuf.message.Message): global___Reconnecting = Reconnecting -@typing.final +@typing_extensions.final class Reconnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1995,7 +1988,7 @@ class Reconnected(google.protobuf.message.Message): global___Reconnected = Reconnected -@typing.final +@typing_extensions.final class RoomEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2005,7 +1998,7 @@ class RoomEOS(google.protobuf.message.Message): global___RoomEOS = RoomEOS -@typing.final +@typing_extensions.final class DataStream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2028,7 +2021,7 @@ class DataStream(google.protobuf.message.Message): DELETE: DataStream.OperationType.ValueType # 2 REACTION: DataStream.OperationType.ValueType # 3 - @typing.final + @typing_extensions.final class TextHeader(google.protobuf.message.Message): """header properties specific to text streams""" @@ -2044,12 +2037,11 @@ class DataStream(google.protobuf.message.Message): """Optional: Version for updates/edits""" reply_to_stream_id: builtins.str """Optional: Reply to specific message""" - generated: builtins.bool - """true if the text has been generated by an agent from a participant's audio transcription""" @property def attached_stream_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """file attachments for text streams""" - + generated: builtins.bool + """true if the text has been generated by an agent from a participant's audio transcription""" def __init__( self, *, @@ -2059,10 +2051,10 @@ class DataStream(google.protobuf.message.Message): attached_stream_ids: collections.abc.Iterable[builtins.str] | None = ..., generated: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["attached_stream_ids", b"attached_stream_ids", "generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> None: ... - @typing.final + @typing_extensions.final class FileHeader(google.protobuf.message.Message): """header properties specific to file or image streams""" @@ -2076,16 +2068,16 @@ class DataStream(google.protobuf.message.Message): *, file_name: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["file_name", b"file_name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["file_name", b"file_name"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["file_name", b"file_name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["file_name", b"file_name"]) -> None: ... - @typing.final + @typing_extensions.final class Header(google.protobuf.message.Message): """main DataStream.Header that contains a oneof for specific headers""" DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing.final + @typing_extensions.final class ExtensionsEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2099,8 +2091,8 @@ class DataStream(google.protobuf.message.Message): 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: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... STREAM_ID_FIELD_NUMBER: builtins.int TIMESTAMP_FIELD_NUMBER: builtins.int @@ -2124,7 +2116,6 @@ class DataStream(google.protobuf.message.Message): @property def extensions(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: """user defined extensions map that can carry additional info""" - @property def text_header(self) -> global___DataStream.TextHeader: ... @property @@ -2142,11 +2133,11 @@ class DataStream(google.protobuf.message.Message): text_header: global___DataStream.TextHeader | None = ..., file_header: global___DataStream.FileHeader | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["content_header", b"content_header", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["content_header", b"content_header", "extensions", b"extensions", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["content_header", b"content_header"]) -> typing.Literal["text_header", "file_header"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["content_header", b"content_header", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["content_header", b"content_header", "extensions", b"extensions", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["content_header", b"content_header"]) -> typing_extensions.Literal["text_header", "file_header"] | None: ... - @typing.final + @typing_extensions.final class Chunk(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2177,8 +2168,8 @@ class DataStream(google.protobuf.message.Message): version: builtins.int | None = ..., iv: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> None: ... def __init__( self, diff --git a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py index eeb1f9ff..8742ff25 100644 --- a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: rpc.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'rpc.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,8 +29,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rpc_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_RPCERROR']._serialized_start=28 _globals['_RPCERROR']._serialized_end=83 diff --git a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi index 20330912..8783ec4c 100644 --- a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi @@ -15,15 +15,19 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import google.protobuf.descriptor import google.protobuf.message -import typing +import sys + +if sys.version_info >= (3, 8): + import typing as typing_extensions +else: + import typing_extensions DESCRIPTOR: google.protobuf.descriptor.FileDescriptor -@typing.final +@typing_extensions.final class RpcError(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -40,12 +44,12 @@ class RpcError(google.protobuf.message.Message): message: builtins.str | None = ..., data: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["code", b"code", "data", b"data", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["code", b"code", "data", b"data", "message", b"message"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["code", b"code", "data", b"data", "message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "data", b"data", "message", b"message"]) -> None: ... global___RpcError = RpcError -@typing.final +@typing_extensions.final class PerformRpcRequest(google.protobuf.message.Message): """FFI Requests""" @@ -70,12 +74,12 @@ class PerformRpcRequest(google.protobuf.message.Message): payload: builtins.str | None = ..., response_timeout_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... global___PerformRpcRequest = PerformRpcRequest -@typing.final +@typing_extensions.final class RegisterRpcMethodRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -89,12 +93,12 @@ class RegisterRpcMethodRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., method: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... global___RegisterRpcMethodRequest = RegisterRpcMethodRequest -@typing.final +@typing_extensions.final class UnregisterRpcMethodRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -108,12 +112,12 @@ class UnregisterRpcMethodRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., method: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... global___UnregisterRpcMethodRequest = UnregisterRpcMethodRequest -@typing.final +@typing_extensions.final class RpcMethodInvocationResponseRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -134,12 +138,12 @@ class RpcMethodInvocationResponseRequest(google.protobuf.message.Message): payload: builtins.str | None = ..., error: global___RpcError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> None: ... global___RpcMethodInvocationResponseRequest = RpcMethodInvocationResponseRequest -@typing.final +@typing_extensions.final class PerformRpcResponse(google.protobuf.message.Message): """FFI Responses""" @@ -152,12 +156,12 @@ class PerformRpcResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___PerformRpcResponse = PerformRpcResponse -@typing.final +@typing_extensions.final class RegisterRpcMethodResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -167,7 +171,7 @@ class RegisterRpcMethodResponse(google.protobuf.message.Message): global___RegisterRpcMethodResponse = RegisterRpcMethodResponse -@typing.final +@typing_extensions.final class UnregisterRpcMethodResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -177,7 +181,7 @@ class UnregisterRpcMethodResponse(google.protobuf.message.Message): global___UnregisterRpcMethodResponse = UnregisterRpcMethodResponse -@typing.final +@typing_extensions.final class RpcMethodInvocationResponseResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -188,12 +192,12 @@ class RpcMethodInvocationResponseResponse(google.protobuf.message.Message): *, error: 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 HasField(self, field_name: typing_extensions.Literal["error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["error", b"error"]) -> None: ... global___RpcMethodInvocationResponseResponse = RpcMethodInvocationResponseResponse -@typing.final +@typing_extensions.final class PerformRpcCallback(google.protobuf.message.Message): """FFI Callbacks""" @@ -213,12 +217,12 @@ class PerformRpcCallback(google.protobuf.message.Message): payload: builtins.str | None = ..., error: global___RpcError | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> None: ... global___PerformRpcCallback = PerformRpcCallback -@typing.final +@typing_extensions.final class RpcMethodInvocationEvent(google.protobuf.message.Message): """FFI Events""" @@ -249,7 +253,7 @@ class RpcMethodInvocationEvent(google.protobuf.message.Message): payload: builtins.str | None = ..., response_timeout_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... global___RpcMethodInvocationEvent = RpcMethodInvocationEvent diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py index ce7b411c..5d980d06 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: stats.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'stats.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -19,10 +29,10 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'stats_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._options = None + _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._loaded_options = None _globals['_OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY']._serialized_options = b'8\001' _globals['_DATACHANNELSTATE']._serialized_start=9282 _globals['_DATACHANNELSTATE']._serialized_end=9363 diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi index 09c81a99..89999043 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import collections.abc import google.protobuf.descriptor @@ -224,11 +223,11 @@ CANDIDATE_PASSIVE: IceTcpCandidateType.ValueType # 1 CANDIDATE_SO: IceTcpCandidateType.ValueType # 2 global___IceTcpCandidateType = IceTcpCandidateType -@typing.final +@typing_extensions.final class RtcStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing.final + @typing_extensions.final class Codec(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -244,10 +243,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., codec: global___CodecStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["codec", b"codec", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["codec", b"codec", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["codec", b"codec", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["codec", b"codec", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class InboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -271,10 +270,10 @@ class RtcStats(google.protobuf.message.Message): received: global___ReceivedRtpStreamStats | None = ..., inbound: global___InboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> None: ... - @typing.final + @typing_extensions.final class OutboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -298,10 +297,10 @@ class RtcStats(google.protobuf.message.Message): sent: global___SentRtpStreamStats | None = ..., outbound: global___OutboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... - @typing.final + @typing_extensions.final class RemoteInboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -325,10 +324,10 @@ class RtcStats(google.protobuf.message.Message): received: global___ReceivedRtpStreamStats | None = ..., remote_inbound: global___RemoteInboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> None: ... - @typing.final + @typing_extensions.final class RemoteOutboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -352,10 +351,10 @@ class RtcStats(google.protobuf.message.Message): sent: global___SentRtpStreamStats | None = ..., remote_outbound: global___RemoteOutboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... - @typing.final + @typing_extensions.final class MediaSource(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -379,10 +378,10 @@ class RtcStats(google.protobuf.message.Message): audio: global___AudioSourceStats | None = ..., video: global___VideoSourceStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> None: ... - @typing.final + @typing_extensions.final class MediaPlayout(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -398,10 +397,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., audio_playout: global___AudioPlayoutStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class PeerConnection(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -417,10 +416,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., pc: global___PeerConnectionStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["pc", b"pc", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["pc", b"pc", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["pc", b"pc", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["pc", b"pc", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class DataChannel(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -436,10 +435,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., dc: global___DataChannelStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["dc", b"dc", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["dc", b"dc", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["dc", b"dc", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["dc", b"dc", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class Transport(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -455,10 +454,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., transport: global___TransportStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["rtc", b"rtc", "transport", b"transport"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["rtc", b"rtc", "transport", b"transport"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "transport", b"transport"]) -> None: ... - @typing.final + @typing_extensions.final class CandidatePair(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -474,10 +473,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., candidate_pair: global___CandidatePairStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class LocalCandidate(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -493,10 +492,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., candidate: global___IceCandidateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class RemoteCandidate(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -512,10 +511,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., candidate: global___IceCandidateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class Certificate(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -531,10 +530,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., certificate: global___CertificateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> None: ... - @typing.final + @typing_extensions.final class Stream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -550,10 +549,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., stream: global___StreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "stream", b"stream"]) -> None: ... - @typing.final + @typing_extensions.final class Track(google.protobuf.message.Message): """Deprecated""" @@ -631,13 +630,13 @@ class RtcStats(google.protobuf.message.Message): stream: global___RtcStats.Stream | None = ..., track: global___RtcStats.Track | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["stats", b"stats"]) -> typing.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "stream", "track"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["stats", b"stats"]) -> typing_extensions.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "stream", "track"] | None: ... global___RtcStats = RtcStats -@typing.final +@typing_extensions.final class RtcStatsData(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -651,12 +650,12 @@ class RtcStatsData(google.protobuf.message.Message): id: builtins.str | None = ..., timestamp: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["id", b"id", "timestamp", b"timestamp"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["id", b"id", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "timestamp", b"timestamp"]) -> None: ... global___RtcStatsData = RtcStatsData -@typing.final +@typing_extensions.final class CodecStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -682,12 +681,12 @@ class CodecStats(google.protobuf.message.Message): channels: builtins.int | None = ..., sdp_fmtp_line: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> None: ... global___CodecStats = CodecStats -@typing.final +@typing_extensions.final class RtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -707,12 +706,12 @@ class RtpStreamStats(google.protobuf.message.Message): transport_id: builtins.str | None = ..., codec_id: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> None: ... global___RtpStreamStats = RtpStreamStats -@typing.final +@typing_extensions.final class ReceivedRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -729,12 +728,12 @@ class ReceivedRtpStreamStats(google.protobuf.message.Message): packets_lost: builtins.int | None = ..., jitter: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> None: ... global___ReceivedRtpStreamStats = ReceivedRtpStreamStats -@typing.final +@typing_extensions.final class InboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -901,12 +900,12 @@ class InboundRtpStreamStats(google.protobuf.message.Message): rtx_ssrc: builtins.int | None = ..., fec_ssrc: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> None: ... global___InboundRtpStreamStats = InboundRtpStreamStats -@typing.final +@typing_extensions.final class SentRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -920,16 +919,16 @@ class SentRtpStreamStats(google.protobuf.message.Message): packets_sent: builtins.int | None = ..., bytes_sent: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> None: ... global___SentRtpStreamStats = SentRtpStreamStats -@typing.final +@typing_extensions.final class OutboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing.final + @typing_extensions.final class QualityLimitationDurationsEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -943,8 +942,8 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): key: builtins.str | None = ..., value: builtins.float | 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: ... + def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... MID_FIELD_NUMBER: builtins.int MEDIA_SOURCE_ID_FIELD_NUMBER: builtins.int @@ -997,6 +996,8 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): total_encode_time: builtins.float total_packet_send_delay: builtins.float quality_limitation_reason: global___QualityLimitationReason.ValueType + @property + def quality_limitation_durations(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: ... quality_limitation_resolution_changes: builtins.int nack_count: builtins.int fir_count: builtins.int @@ -1005,8 +1006,6 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): power_efficient_encoder: builtins.bool active: builtins.bool scalability_mode: builtins.str - @property - def quality_limitation_durations(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: ... def __init__( self, *, @@ -1041,12 +1040,12 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): active: builtins.bool | None = ..., scalability_mode: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_durations", b"quality_limitation_durations", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_durations", b"quality_limitation_durations", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> None: ... global___OutboundRtpStreamStats = OutboundRtpStreamStats -@typing.final +@typing_extensions.final class RemoteInboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1069,12 +1068,12 @@ class RemoteInboundRtpStreamStats(google.protobuf.message.Message): fraction_lost: builtins.float | None = ..., round_trip_time_measurements: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... global___RemoteInboundRtpStreamStats = RemoteInboundRtpStreamStats -@typing.final +@typing_extensions.final class RemoteOutboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1100,12 +1099,12 @@ class RemoteOutboundRtpStreamStats(google.protobuf.message.Message): total_round_trip_time: builtins.float | None = ..., round_trip_time_measurements: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... global___RemoteOutboundRtpStreamStats = RemoteOutboundRtpStreamStats -@typing.final +@typing_extensions.final class MediaSourceStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1119,12 +1118,12 @@ class MediaSourceStats(google.protobuf.message.Message): track_identifier: builtins.str | None = ..., kind: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> None: ... global___MediaSourceStats = MediaSourceStats -@typing.final +@typing_extensions.final class AudioSourceStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1159,12 +1158,12 @@ class AudioSourceStats(google.protobuf.message.Message): total_capture_delay: builtins.float | None = ..., total_samples_captured: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> None: ... global___AudioSourceStats = AudioSourceStats -@typing.final +@typing_extensions.final class VideoSourceStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1184,12 +1183,12 @@ class VideoSourceStats(google.protobuf.message.Message): frames: builtins.int | None = ..., frames_per_second: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> None: ... global___VideoSourceStats = VideoSourceStats -@typing.final +@typing_extensions.final class AudioPlayoutStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1215,12 +1214,12 @@ class AudioPlayoutStats(google.protobuf.message.Message): total_playout_delay: builtins.float | None = ..., total_samples_count: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> None: ... global___AudioPlayoutStats = AudioPlayoutStats -@typing.final +@typing_extensions.final class PeerConnectionStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1234,12 +1233,12 @@ class PeerConnectionStats(google.protobuf.message.Message): data_channels_opened: builtins.int | None = ..., data_channels_closed: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> None: ... global___PeerConnectionStats = PeerConnectionStats -@typing.final +@typing_extensions.final class DataChannelStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1271,12 +1270,12 @@ class DataChannelStats(google.protobuf.message.Message): messages_received: builtins.int | None = ..., bytes_received: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> None: ... global___DataChannelStats = DataChannelStats -@typing.final +@typing_extensions.final class TransportStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1332,12 +1331,12 @@ class TransportStats(google.protobuf.message.Message): srtp_cipher: builtins.str | None = ..., selected_candidate_pair_changes: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> None: ... global___TransportStats = TransportStats -@typing.final +@typing_extensions.final class CandidatePairStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1411,12 +1410,12 @@ class CandidatePairStats(google.protobuf.message.Message): packets_discarded_on_send: builtins.int | None = ..., bytes_discarded_on_send: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> None: ... global___CandidatePairStats = CandidatePairStats -@typing.final +@typing_extensions.final class IceCandidateStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1463,12 +1462,12 @@ class IceCandidateStats(google.protobuf.message.Message): username_fragment: builtins.str | None = ..., tcp_type: global___IceTcpCandidateType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> None: ... global___IceCandidateStats = IceCandidateStats -@typing.final +@typing_extensions.final class CertificateStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1488,12 +1487,12 @@ class CertificateStats(google.protobuf.message.Message): base64_certificate: builtins.str | None = ..., issuer_certificate_id: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> None: ... global___CertificateStats = CertificateStats -@typing.final +@typing_extensions.final class StreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1508,7 +1507,7 @@ class StreamStats(google.protobuf.message.Message): id: builtins.str | None = ..., stream_identifier: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> None: ... global___StreamStats = StreamStats diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.py b/livekit-rtc/livekit/rtc/_proto/track_pb2.py index 866397e7..2561f7dd 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/track_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: track.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'track.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -22,8 +32,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'track_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_TRACKKIND']._serialized_start=1418 _globals['_TRACKKIND']._serialized_end=1479 diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi index 92792d05..17dd2f2b 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import collections.abc from . import e2ee_pb2 @@ -90,7 +89,7 @@ STATE_ACTIVE: StreamState.ValueType # 1 STATE_PAUSED: StreamState.ValueType # 2 global___StreamState = StreamState -@typing.final +@typing_extensions.final class CreateVideoTrackRequest(google.protobuf.message.Message): """Create a new VideoTrack from a VideoSource""" @@ -106,12 +105,12 @@ class CreateVideoTrackRequest(google.protobuf.message.Message): name: builtins.str | None = ..., source_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... global___CreateVideoTrackRequest = CreateVideoTrackRequest -@typing.final +@typing_extensions.final class CreateVideoTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -123,12 +122,12 @@ class CreateVideoTrackResponse(google.protobuf.message.Message): *, track: global___OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track", b"track"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["track", b"track"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["track", b"track"]) -> None: ... global___CreateVideoTrackResponse = CreateVideoTrackResponse -@typing.final +@typing_extensions.final class CreateAudioTrackRequest(google.protobuf.message.Message): """Create a new AudioTrack from a AudioSource""" @@ -144,12 +143,12 @@ class CreateAudioTrackRequest(google.protobuf.message.Message): name: builtins.str | None = ..., source_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... global___CreateAudioTrackRequest = CreateAudioTrackRequest -@typing.final +@typing_extensions.final class CreateAudioTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -161,12 +160,12 @@ class CreateAudioTrackResponse(google.protobuf.message.Message): *, track: global___OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track", b"track"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["track", b"track"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["track", b"track"]) -> None: ... global___CreateAudioTrackResponse = CreateAudioTrackResponse -@typing.final +@typing_extensions.final class GetStatsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -177,12 +176,12 @@ class GetStatsRequest(google.protobuf.message.Message): *, track_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["track_handle", b"track_handle"]) -> None: ... global___GetStatsRequest = GetStatsRequest -@typing.final +@typing_extensions.final class GetStatsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -193,12 +192,12 @@ class GetStatsResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___GetStatsResponse = GetStatsResponse -@typing.final +@typing_extensions.final class GetStatsCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -216,12 +215,12 @@ class GetStatsCallback(google.protobuf.message.Message): error: builtins.str | None = ..., stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "stats", b"stats"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "stats", b"stats"]) -> None: ... global___GetStatsCallback = GetStatsCallback -@typing.final +@typing_extensions.final class TrackEvent(google.protobuf.message.Message): """ Track @@ -235,7 +234,7 @@ class TrackEvent(google.protobuf.message.Message): global___TrackEvent = TrackEvent -@typing.final +@typing_extensions.final class TrackPublicationInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -276,12 +275,12 @@ class TrackPublicationInfo(google.protobuf.message.Message): remote: builtins.bool | None = ..., encryption_type: e2ee_pb2.EncryptionType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> None: ... global___TrackPublicationInfo = TrackPublicationInfo -@typing.final +@typing_extensions.final class OwnedTrackPublication(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -297,12 +296,12 @@ class OwnedTrackPublication(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___TrackPublicationInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedTrackPublication = OwnedTrackPublication -@typing.final +@typing_extensions.final class TrackInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -328,12 +327,12 @@ class TrackInfo(google.protobuf.message.Message): muted: builtins.bool | None = ..., remote: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> None: ... global___TrackInfo = TrackInfo -@typing.final +@typing_extensions.final class OwnedTrack(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -349,12 +348,12 @@ class OwnedTrack(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___TrackInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedTrack = OwnedTrack -@typing.final +@typing_extensions.final class LocalTrackMuteRequest(google.protobuf.message.Message): """Mute/UnMute a track""" @@ -370,12 +369,12 @@ class LocalTrackMuteRequest(google.protobuf.message.Message): track_handle: builtins.int | None = ..., mute: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> None: ... global___LocalTrackMuteRequest = LocalTrackMuteRequest -@typing.final +@typing_extensions.final class LocalTrackMuteResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -386,12 +385,12 @@ class LocalTrackMuteResponse(google.protobuf.message.Message): *, muted: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["muted", b"muted"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["muted", b"muted"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> None: ... global___LocalTrackMuteResponse = LocalTrackMuteResponse -@typing.final +@typing_extensions.final class EnableRemoteTrackRequest(google.protobuf.message.Message): """Enable/Disable a remote track""" @@ -407,12 +406,12 @@ class EnableRemoteTrackRequest(google.protobuf.message.Message): track_handle: builtins.int | None = ..., enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> None: ... global___EnableRemoteTrackRequest = EnableRemoteTrackRequest -@typing.final +@typing_extensions.final class EnableRemoteTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -423,7 +422,7 @@ class EnableRemoteTrackResponse(google.protobuf.message.Message): *, enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["enabled", b"enabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> None: ... global___EnableRemoteTrackResponse = EnableRemoteTrackResponse diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py index 4bdbbf4c..623d0d7b 100644 --- a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: video_frame.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 5.29.2 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 2, + '', + 'video_frame.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,8 +31,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'video_frame_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_VIDEOCODEC']._serialized_start=2452 _globals['_VIDEOCODEC']._serialized_end=2501 diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi index 313cb77d..330839aa 100644 --- a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi @@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ - import builtins import collections.abc import google.protobuf.descriptor @@ -138,7 +137,7 @@ class VideoSourceType(_VideoSourceType, metaclass=_VideoSourceTypeEnumTypeWrappe VIDEO_SOURCE_NATIVE: VideoSourceType.ValueType # 0 global___VideoSourceType = VideoSourceType -@typing.final +@typing_extensions.final class NewVideoStreamRequest(google.protobuf.message.Message): """Create a new VideoStream VideoStream is used to receive video frames from a track @@ -164,12 +163,12 @@ class NewVideoStreamRequest(google.protobuf.message.Message): format: global___VideoBufferType.ValueType | None = ..., normalize_stride: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> None: ... global___NewVideoStreamRequest = NewVideoStreamRequest -@typing.final +@typing_extensions.final class NewVideoStreamResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -181,12 +180,12 @@ class NewVideoStreamResponse(google.protobuf.message.Message): *, stream: global___OwnedVideoStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... global___NewVideoStreamResponse = NewVideoStreamResponse -@typing.final +@typing_extensions.final class VideoStreamFromParticipantRequest(google.protobuf.message.Message): """Request a video stream from a participant""" @@ -211,12 +210,12 @@ class VideoStreamFromParticipantRequest(google.protobuf.message.Message): format: global___VideoBufferType.ValueType | None = ..., normalize_stride: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> None: ... global___VideoStreamFromParticipantRequest = VideoStreamFromParticipantRequest -@typing.final +@typing_extensions.final class VideoStreamFromParticipantResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -228,12 +227,12 @@ class VideoStreamFromParticipantResponse(google.protobuf.message.Message): *, stream: global___OwnedVideoStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... global___VideoStreamFromParticipantResponse = VideoStreamFromParticipantResponse -@typing.final +@typing_extensions.final class NewVideoSourceRequest(google.protobuf.message.Message): """Create a new VideoSource VideoSource is used to send video frame to a track @@ -249,19 +248,18 @@ class NewVideoSourceRequest(google.protobuf.message.Message): """Used to determine which encodings to use + simulcast layers Most of the time it corresponds to the source resolution """ - def __init__( self, *, type: global___VideoSourceType.ValueType | None = ..., resolution: global___VideoSourceResolution | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["resolution", b"resolution", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resolution", b"resolution", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["resolution", b"resolution", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["resolution", b"resolution", "type", b"type"]) -> None: ... global___NewVideoSourceRequest = NewVideoSourceRequest -@typing.final +@typing_extensions.final class NewVideoSourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -273,12 +271,12 @@ class NewVideoSourceResponse(google.protobuf.message.Message): *, source: global___OwnedVideoSource | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["source", b"source"]) -> None: ... global___NewVideoSourceResponse = NewVideoSourceResponse -@typing.final +@typing_extensions.final class CaptureVideoFrameRequest(google.protobuf.message.Message): """Push a frame to a VideoSource""" @@ -289,11 +287,11 @@ class CaptureVideoFrameRequest(google.protobuf.message.Message): TIMESTAMP_US_FIELD_NUMBER: builtins.int ROTATION_FIELD_NUMBER: builtins.int source_handle: builtins.int + @property + def buffer(self) -> global___VideoBufferInfo: ... timestamp_us: builtins.int """In microseconds""" rotation: global___VideoRotation.ValueType - @property - def buffer(self) -> global___VideoBufferInfo: ... def __init__( self, *, @@ -302,12 +300,12 @@ class CaptureVideoFrameRequest(google.protobuf.message.Message): timestamp_us: builtins.int | None = ..., rotation: global___VideoRotation.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> None: ... global___CaptureVideoFrameRequest = CaptureVideoFrameRequest -@typing.final +@typing_extensions.final class CaptureVideoFrameResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -317,7 +315,7 @@ class CaptureVideoFrameResponse(google.protobuf.message.Message): global___CaptureVideoFrameResponse = CaptureVideoFrameResponse -@typing.final +@typing_extensions.final class VideoConvertRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -325,9 +323,9 @@ class VideoConvertRequest(google.protobuf.message.Message): BUFFER_FIELD_NUMBER: builtins.int DST_TYPE_FIELD_NUMBER: builtins.int flip_y: builtins.bool - dst_type: global___VideoBufferType.ValueType @property def buffer(self) -> global___VideoBufferInfo: ... + dst_type: global___VideoBufferType.ValueType def __init__( self, *, @@ -335,12 +333,12 @@ class VideoConvertRequest(google.protobuf.message.Message): buffer: global___VideoBufferInfo | None = ..., dst_type: global___VideoBufferType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> None: ... global___VideoConvertRequest = VideoConvertRequest -@typing.final +@typing_extensions.final class VideoConvertResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -355,13 +353,13 @@ class VideoConvertResponse(google.protobuf.message.Message): error: builtins.str | None = ..., buffer: global___OwnedVideoBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "buffer"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "buffer"] | None: ... global___VideoConvertResponse = VideoConvertResponse -@typing.final +@typing_extensions.final class VideoResolution(google.protobuf.message.Message): """ VideoFrame buffers @@ -382,16 +380,16 @@ class VideoResolution(google.protobuf.message.Message): height: builtins.int | None = ..., frame_rate: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> None: ... global___VideoResolution = VideoResolution -@typing.final +@typing_extensions.final class VideoBufferInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing.final + @typing_extensions.final class ComponentInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -408,8 +406,8 @@ class VideoBufferInfo(google.protobuf.message.Message): stride: builtins.int | None = ..., size: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> None: ... TYPE_FIELD_NUMBER: builtins.int WIDTH_FIELD_NUMBER: builtins.int @@ -435,12 +433,12 @@ class VideoBufferInfo(google.protobuf.message.Message): stride: builtins.int | None = ..., components: collections.abc.Iterable[global___VideoBufferInfo.ComponentInfo] | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["components", b"components", "data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["components", b"components", "data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> None: ... global___VideoBufferInfo = VideoBufferInfo -@typing.final +@typing_extensions.final class OwnedVideoBuffer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -456,12 +454,12 @@ class OwnedVideoBuffer(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___VideoBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedVideoBuffer = OwnedVideoBuffer -@typing.final +@typing_extensions.final class VideoStreamInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -472,12 +470,12 @@ class VideoStreamInfo(google.protobuf.message.Message): *, type: global___VideoStreamType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... global___VideoStreamInfo = VideoStreamInfo -@typing.final +@typing_extensions.final class OwnedVideoStream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -493,12 +491,12 @@ class OwnedVideoStream(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___VideoStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedVideoStream = OwnedVideoStream -@typing.final +@typing_extensions.final class VideoStreamEvent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -517,24 +515,24 @@ class VideoStreamEvent(google.protobuf.message.Message): frame_received: global___VideoFrameReceived | None = ..., eos: global___VideoStreamEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["frame_received", "eos"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["frame_received", "eos"] | None: ... global___VideoStreamEvent = VideoStreamEvent -@typing.final +@typing_extensions.final class VideoFrameReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor BUFFER_FIELD_NUMBER: builtins.int TIMESTAMP_US_FIELD_NUMBER: builtins.int ROTATION_FIELD_NUMBER: builtins.int + @property + def buffer(self) -> global___OwnedVideoBuffer: ... timestamp_us: builtins.int """In microseconds""" rotation: global___VideoRotation.ValueType - @property - def buffer(self) -> global___OwnedVideoBuffer: ... def __init__( self, *, @@ -542,12 +540,12 @@ class VideoFrameReceived(google.protobuf.message.Message): timestamp_us: builtins.int | None = ..., rotation: global___VideoRotation.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> None: ... global___VideoFrameReceived = VideoFrameReceived -@typing.final +@typing_extensions.final class VideoStreamEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -557,7 +555,7 @@ class VideoStreamEOS(google.protobuf.message.Message): global___VideoStreamEOS = VideoStreamEOS -@typing.final +@typing_extensions.final class VideoSourceResolution(google.protobuf.message.Message): """ VideoSource @@ -575,12 +573,12 @@ class VideoSourceResolution(google.protobuf.message.Message): width: builtins.int | None = ..., height: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["height", b"height", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["height", b"height", "width", b"width"]) -> None: ... global___VideoSourceResolution = VideoSourceResolution -@typing.final +@typing_extensions.final class VideoSourceInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -591,12 +589,12 @@ class VideoSourceInfo(google.protobuf.message.Message): *, type: global___VideoSourceType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... global___VideoSourceInfo = VideoSourceInfo -@typing.final +@typing_extensions.final class OwnedVideoSource(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -612,7 +610,7 @@ class OwnedVideoSource(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___VideoSourceInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedVideoSource = OwnedVideoSource diff --git a/livekit-rtc/setup.py b/livekit-rtc/setup.py index 5643dc20..c2bab585 100644 --- a/livekit-rtc/setup.py +++ b/livekit-rtc/setup.py @@ -58,7 +58,7 @@ def finalize_options(self): license="Apache-2.0", packages=setuptools.find_namespace_packages(include=["livekit.*"]), python_requires=">=3.9.0", - install_requires=["protobuf>=3", "types-protobuf>=3"], + install_requires=["protobuf>=5", "types-protobuf>=3"], package_data={ "livekit.rtc": ["_proto/*.py", "py.typed", "*.pyi", "**/*.pyi"], "livekit.rtc.resources": ["*.so", "*.dylib", "*.dll", "LICENSE.md", "*.h"], From a523449dd20a4dc5c1765e99ee813bb78d4b05d3 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 29 Dec 2024 06:52:30 +0000 Subject: [PATCH 04/10] generated protobuf --- .../livekit/rtc/_proto/audio_frame_pb2.py | 12 +- .../livekit/rtc/_proto/audio_frame_pb2.pyi | 205 +++--- livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py | 12 +- livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi | 129 ++-- livekit-rtc/livekit/rtc/_proto/ffi_pb2.py | 12 +- livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi | 71 ++- livekit-rtc/livekit/rtc/_proto/handle_pb2.py | 12 +- livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi | 14 +- .../livekit/rtc/_proto/participant_pb2.py | 12 +- .../livekit/rtc/_proto/participant_pb2.pyi | 23 +- livekit-rtc/livekit/rtc/_proto/room_pb2.py | 12 +- livekit-rtc/livekit/rtc/_proto/room_pb2.pyi | 583 +++++++++--------- livekit-rtc/livekit/rtc/_proto/rpc_pb2.py | 12 +- livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi | 66 +- livekit-rtc/livekit/rtc/_proto/stats_pb2.py | 12 +- livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi | 231 +++---- livekit-rtc/livekit/rtc/_proto/track_pb2.py | 12 +- livekit-rtc/livekit/rtc/_proto/track_pb2.pyi | 93 +-- .../rtc/_proto/track_publication_pb2.py | 33 + .../rtc/_proto/track_publication_pb2.pyi | 89 +++ .../livekit/rtc/_proto/video_frame_pb2.py | 12 +- .../livekit/rtc/_proto/video_frame_pb2.pyi | 140 ++--- 22 files changed, 920 insertions(+), 877 deletions(-) create mode 100644 livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py create mode 100644 livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py index 23520114..503e58ae 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: audio_frame.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'audio_frame.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi index e8c2b5b7..797521d5 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import google.protobuf.descriptor import google.protobuf.internal.enum_type_wrapper @@ -135,7 +136,7 @@ class AudioSourceType(_AudioSourceType, metaclass=_AudioSourceTypeEnumTypeWrappe AUDIO_SOURCE_NATIVE: AudioSourceType.ValueType # 0 global___AudioSourceType = AudioSourceType -@typing_extensions.final +@typing.final class NewAudioStreamRequest(google.protobuf.message.Message): """Create a new AudioStream AudioStream is used to receive audio frames from a track @@ -159,12 +160,12 @@ class NewAudioStreamRequest(google.protobuf.message.Message): sample_rate: builtins.int | None = ..., num_channels: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... global___NewAudioStreamRequest = NewAudioStreamRequest -@typing_extensions.final +@typing.final class NewAudioStreamResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -176,12 +177,12 @@ class NewAudioStreamResponse(google.protobuf.message.Message): *, stream: global___OwnedAudioStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... global___NewAudioStreamResponse = NewAudioStreamResponse -@typing_extensions.final +@typing.final class AudioStreamFromParticipantRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -204,12 +205,12 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): sample_rate: builtins.int | None = ..., num_channels: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... global___AudioStreamFromParticipantRequest = AudioStreamFromParticipantRequest -@typing_extensions.final +@typing.final class AudioStreamFromParticipantResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -221,12 +222,12 @@ class AudioStreamFromParticipantResponse(google.protobuf.message.Message): *, stream: global___OwnedAudioStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... global___AudioStreamFromParticipantResponse = AudioStreamFromParticipantResponse -@typing_extensions.final +@typing.final class NewAudioSourceRequest(google.protobuf.message.Message): """Create a new AudioSource""" @@ -238,11 +239,11 @@ class NewAudioSourceRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int QUEUE_SIZE_MS_FIELD_NUMBER: builtins.int type: global___AudioSourceType.ValueType - @property - def options(self) -> global___AudioSourceOptions: ... sample_rate: builtins.int num_channels: builtins.int queue_size_ms: builtins.int + @property + def options(self) -> global___AudioSourceOptions: ... def __init__( self, *, @@ -252,12 +253,12 @@ class NewAudioSourceRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., queue_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["num_channels", b"num_channels", "options", b"options", "queue_size_ms", b"queue_size_ms", "sample_rate", b"sample_rate", "type", b"type"]) -> None: ... global___NewAudioSourceRequest = NewAudioSourceRequest -@typing_extensions.final +@typing.final class NewAudioSourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -269,12 +270,12 @@ class NewAudioSourceResponse(google.protobuf.message.Message): *, source: global___OwnedAudioSource | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["source", b"source"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["source", b"source"]) -> None: ... + def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... global___NewAudioSourceResponse = NewAudioSourceResponse -@typing_extensions.final +@typing.final class CaptureAudioFrameRequest(google.protobuf.message.Message): """Push a frame to an AudioSource The data provided must be available as long as the client receive the callback. @@ -293,12 +294,12 @@ class CaptureAudioFrameRequest(google.protobuf.message.Message): source_handle: builtins.int | None = ..., buffer: global___AudioFrameBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "source_handle", b"source_handle"]) -> None: ... global___CaptureAudioFrameRequest = CaptureAudioFrameRequest -@typing_extensions.final +@typing.final class CaptureAudioFrameResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -309,12 +310,12 @@ class CaptureAudioFrameResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___CaptureAudioFrameResponse = CaptureAudioFrameResponse -@typing_extensions.final +@typing.final class CaptureAudioFrameCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -328,12 +329,12 @@ class CaptureAudioFrameCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___CaptureAudioFrameCallback = CaptureAudioFrameCallback -@typing_extensions.final +@typing.final class ClearAudioBufferRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -344,12 +345,12 @@ class ClearAudioBufferRequest(google.protobuf.message.Message): *, source_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["source_handle", b"source_handle"]) -> None: ... global___ClearAudioBufferRequest = ClearAudioBufferRequest -@typing_extensions.final +@typing.final class ClearAudioBufferResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -359,7 +360,7 @@ class ClearAudioBufferResponse(google.protobuf.message.Message): global___ClearAudioBufferResponse = ClearAudioBufferResponse -@typing_extensions.final +@typing.final class NewAudioResamplerRequest(google.protobuf.message.Message): """Create a new AudioResampler""" @@ -371,7 +372,7 @@ class NewAudioResamplerRequest(google.protobuf.message.Message): global___NewAudioResamplerRequest = NewAudioResamplerRequest -@typing_extensions.final +@typing.final class NewAudioResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -383,12 +384,12 @@ class NewAudioResamplerResponse(google.protobuf.message.Message): *, resampler: global___OwnedAudioResampler | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["resampler", b"resampler"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["resampler", b"resampler"]) -> None: ... + def HasField(self, field_name: typing.Literal["resampler", b"resampler"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["resampler", b"resampler"]) -> None: ... global___NewAudioResamplerResponse = NewAudioResamplerResponse -@typing_extensions.final +@typing.final class RemixAndResampleRequest(google.protobuf.message.Message): """Remix and resample an audio frame""" @@ -399,10 +400,10 @@ class RemixAndResampleRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int SAMPLE_RATE_FIELD_NUMBER: builtins.int resampler_handle: builtins.int - @property - def buffer(self) -> global___AudioFrameBufferInfo: ... num_channels: builtins.int sample_rate: builtins.int + @property + def buffer(self) -> global___AudioFrameBufferInfo: ... def __init__( self, *, @@ -411,12 +412,12 @@ class RemixAndResampleRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., sample_rate: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> None: ... + def HasField(self, field_name: typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "num_channels", b"num_channels", "resampler_handle", b"resampler_handle", "sample_rate", b"sample_rate"]) -> None: ... global___RemixAndResampleRequest = RemixAndResampleRequest -@typing_extensions.final +@typing.final class RemixAndResampleResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -428,12 +429,12 @@ class RemixAndResampleResponse(google.protobuf.message.Message): *, buffer: global___OwnedAudioFrameBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer"]) -> None: ... + def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buffer", b"buffer"]) -> None: ... global___RemixAndResampleResponse = RemixAndResampleResponse -@typing_extensions.final +@typing.final class NewSoxResamplerRequest(google.protobuf.message.Message): """New resampler using SoX (much better quality)""" @@ -464,33 +465,33 @@ class NewSoxResamplerRequest(google.protobuf.message.Message): quality_recipe: global___SoxQualityRecipe.ValueType | None = ..., flags: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> None: ... + def HasField(self, field_name: typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["flags", b"flags", "input_data_type", b"input_data_type", "input_rate", b"input_rate", "num_channels", b"num_channels", "output_data_type", b"output_data_type", "output_rate", b"output_rate", "quality_recipe", b"quality_recipe"]) -> None: ... global___NewSoxResamplerRequest = NewSoxResamplerRequest -@typing_extensions.final +@typing.final class NewSoxResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor RESAMPLER_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + error: builtins.str @property def resampler(self) -> global___OwnedSoxResampler: ... - error: builtins.str def __init__( self, *, resampler: global___OwnedSoxResampler | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["resampler", "error"] | None: ... + def HasField(self, field_name: typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["error", b"error", "message", b"message", "resampler", b"resampler"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["resampler", "error"] | None: ... global___NewSoxResamplerResponse = NewSoxResamplerResponse -@typing_extensions.final +@typing.final class PushSoxResamplerRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -509,12 +510,12 @@ class PushSoxResamplerRequest(google.protobuf.message.Message): data_ptr: builtins.int | None = ..., size: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> None: ... + def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "resampler_handle", b"resampler_handle", "size", b"size"]) -> None: ... global___PushSoxResamplerRequest = PushSoxResamplerRequest -@typing_extensions.final +@typing.final class PushSoxResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -533,12 +534,12 @@ class PushSoxResamplerResponse(google.protobuf.message.Message): size: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... + def HasField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... global___PushSoxResamplerResponse = PushSoxResamplerResponse -@typing_extensions.final +@typing.final class FlushSoxResamplerRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -549,12 +550,12 @@ class FlushSoxResamplerRequest(google.protobuf.message.Message): *, resampler_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["resampler_handle", b"resampler_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["resampler_handle", b"resampler_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["resampler_handle", b"resampler_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["resampler_handle", b"resampler_handle"]) -> None: ... global___FlushSoxResamplerRequest = FlushSoxResamplerRequest -@typing_extensions.final +@typing.final class FlushSoxResamplerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -573,12 +574,12 @@ class FlushSoxResamplerResponse(google.protobuf.message.Message): size: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... + def HasField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["error", b"error", "output_ptr", b"output_ptr", "size", b"size"]) -> None: ... global___FlushSoxResamplerResponse = FlushSoxResamplerResponse -@typing_extensions.final +@typing.final class AudioFrameBufferInfo(google.protobuf.message.Message): """ AudioFrame buffer @@ -603,12 +604,12 @@ class AudioFrameBufferInfo(google.protobuf.message.Message): sample_rate: builtins.int | None = ..., samples_per_channel: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> None: ... + def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "samples_per_channel", b"samples_per_channel"]) -> None: ... global___AudioFrameBufferInfo = AudioFrameBufferInfo -@typing_extensions.final +@typing.final class OwnedAudioFrameBuffer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -624,12 +625,12 @@ class OwnedAudioFrameBuffer(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioFrameBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioFrameBuffer = OwnedAudioFrameBuffer -@typing_extensions.final +@typing.final class AudioStreamInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -640,12 +641,12 @@ class AudioStreamInfo(google.protobuf.message.Message): *, type: global___AudioStreamType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... global___AudioStreamInfo = AudioStreamInfo -@typing_extensions.final +@typing.final class OwnedAudioStream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -661,12 +662,12 @@ class OwnedAudioStream(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioStream = OwnedAudioStream -@typing_extensions.final +@typing.final class AudioStreamEvent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -685,13 +686,13 @@ class AudioStreamEvent(google.protobuf.message.Message): frame_received: global___AudioFrameReceived | None = ..., eos: global___AudioStreamEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["frame_received", "eos"] | None: ... + def HasField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["frame_received", "eos"] | None: ... global___AudioStreamEvent = AudioStreamEvent -@typing_extensions.final +@typing.final class AudioFrameReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -703,12 +704,12 @@ class AudioFrameReceived(google.protobuf.message.Message): *, frame: global___OwnedAudioFrameBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["frame", b"frame"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["frame", b"frame"]) -> None: ... + def HasField(self, field_name: typing.Literal["frame", b"frame"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["frame", b"frame"]) -> None: ... global___AudioFrameReceived = AudioFrameReceived -@typing_extensions.final +@typing.final class AudioStreamEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -718,7 +719,7 @@ class AudioStreamEOS(google.protobuf.message.Message): global___AudioStreamEOS = AudioStreamEOS -@typing_extensions.final +@typing.final class AudioSourceOptions(google.protobuf.message.Message): """ AudioSource @@ -739,12 +740,12 @@ class AudioSourceOptions(google.protobuf.message.Message): noise_suppression: builtins.bool | None = ..., auto_gain_control: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> None: ... + def HasField(self, field_name: typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["auto_gain_control", b"auto_gain_control", "echo_cancellation", b"echo_cancellation", "noise_suppression", b"noise_suppression"]) -> None: ... global___AudioSourceOptions = AudioSourceOptions -@typing_extensions.final +@typing.final class AudioSourceInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -755,12 +756,12 @@ class AudioSourceInfo(google.protobuf.message.Message): *, type: global___AudioSourceType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... global___AudioSourceInfo = AudioSourceInfo -@typing_extensions.final +@typing.final class OwnedAudioSource(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -776,12 +777,12 @@ class OwnedAudioSource(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioSourceInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioSource = OwnedAudioSource -@typing_extensions.final +@typing.final class AudioResamplerInfo(google.protobuf.message.Message): """ AudioResampler @@ -795,7 +796,7 @@ class AudioResamplerInfo(google.protobuf.message.Message): global___AudioResamplerInfo = AudioResamplerInfo -@typing_extensions.final +@typing.final class OwnedAudioResampler(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -811,12 +812,12 @@ class OwnedAudioResampler(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___AudioResamplerInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedAudioResampler = OwnedAudioResampler -@typing_extensions.final +@typing.final class SoxResamplerInfo(google.protobuf.message.Message): """ Sox AudioResampler @@ -830,7 +831,7 @@ class SoxResamplerInfo(google.protobuf.message.Message): global___SoxResamplerInfo = SoxResamplerInfo -@typing_extensions.final +@typing.final class OwnedSoxResampler(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -846,7 +847,7 @@ class OwnedSoxResampler(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___SoxResamplerInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedSoxResampler = OwnedSoxResampler diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py index 3d5d637a..482deb8a 100644 --- a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: e2ee.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'e2ee.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi index c29cd4ee..31e9d423 100644 --- a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import collections.abc import google.protobuf.descriptor @@ -74,7 +75,7 @@ KEY_RATCHETED: EncryptionState.ValueType # 5 INTERNAL_ERROR: EncryptionState.ValueType # 6 global___EncryptionState = EncryptionState -@typing_extensions.final +@typing.final class FrameCryptor(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -94,12 +95,12 @@ class FrameCryptor(google.protobuf.message.Message): key_index: builtins.int | None = ..., enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___FrameCryptor = FrameCryptor -@typing_extensions.final +@typing.final class KeyProviderOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -121,12 +122,12 @@ class KeyProviderOptions(google.protobuf.message.Message): ratchet_salt: builtins.bytes | None = ..., failure_tolerance: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> None: ... + def HasField(self, field_name: typing.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> None: ... global___KeyProviderOptions = KeyProviderOptions -@typing_extensions.final +@typing.final class E2eeOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -141,12 +142,12 @@ class E2eeOptions(google.protobuf.message.Message): encryption_type: global___EncryptionType.ValueType | None = ..., key_provider_options: global___KeyProviderOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> None: ... + def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "key_provider_options", b"key_provider_options"]) -> None: ... global___E2eeOptions = E2eeOptions -@typing_extensions.final +@typing.final class E2eeManagerSetEnabledRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -157,12 +158,12 @@ class E2eeManagerSetEnabledRequest(google.protobuf.message.Message): *, enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> None: ... + def HasField(self, field_name: typing.Literal["enabled", b"enabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... global___E2eeManagerSetEnabledRequest = E2eeManagerSetEnabledRequest -@typing_extensions.final +@typing.final class E2eeManagerSetEnabledResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -172,7 +173,7 @@ class E2eeManagerSetEnabledResponse(google.protobuf.message.Message): global___E2eeManagerSetEnabledResponse = E2eeManagerSetEnabledResponse -@typing_extensions.final +@typing.final class E2eeManagerGetFrameCryptorsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -182,7 +183,7 @@ class E2eeManagerGetFrameCryptorsRequest(google.protobuf.message.Message): global___E2eeManagerGetFrameCryptorsRequest = E2eeManagerGetFrameCryptorsRequest -@typing_extensions.final +@typing.final class E2eeManagerGetFrameCryptorsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -194,11 +195,11 @@ class E2eeManagerGetFrameCryptorsResponse(google.protobuf.message.Message): *, frame_cryptors: collections.abc.Iterable[global___FrameCryptor] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["frame_cryptors", b"frame_cryptors"]) -> None: ... + def ClearField(self, field_name: typing.Literal["frame_cryptors", b"frame_cryptors"]) -> None: ... global___E2eeManagerGetFrameCryptorsResponse = E2eeManagerGetFrameCryptorsResponse -@typing_extensions.final +@typing.final class FrameCryptorSetEnabledRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -215,12 +216,12 @@ class FrameCryptorSetEnabledRequest(google.protobuf.message.Message): track_sid: builtins.str | None = ..., enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___FrameCryptorSetEnabledRequest = FrameCryptorSetEnabledRequest -@typing_extensions.final +@typing.final class FrameCryptorSetEnabledResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -230,7 +231,7 @@ class FrameCryptorSetEnabledResponse(google.protobuf.message.Message): global___FrameCryptorSetEnabledResponse = FrameCryptorSetEnabledResponse -@typing_extensions.final +@typing.final class FrameCryptorSetKeyIndexRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -247,12 +248,12 @@ class FrameCryptorSetKeyIndexRequest(google.protobuf.message.Message): track_sid: builtins.str | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___FrameCryptorSetKeyIndexRequest = FrameCryptorSetKeyIndexRequest -@typing_extensions.final +@typing.final class FrameCryptorSetKeyIndexResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -262,7 +263,7 @@ class FrameCryptorSetKeyIndexResponse(google.protobuf.message.Message): global___FrameCryptorSetKeyIndexResponse = FrameCryptorSetKeyIndexResponse -@typing_extensions.final +@typing.final class SetSharedKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -276,12 +277,12 @@ class SetSharedKeyRequest(google.protobuf.message.Message): shared_key: builtins.bytes | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> None: ... + def HasField(self, field_name: typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> None: ... global___SetSharedKeyRequest = SetSharedKeyRequest -@typing_extensions.final +@typing.final class SetSharedKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -291,7 +292,7 @@ class SetSharedKeyResponse(google.protobuf.message.Message): global___SetSharedKeyResponse = SetSharedKeyResponse -@typing_extensions.final +@typing.final class RatchetSharedKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -302,12 +303,12 @@ class RatchetSharedKeyRequest(google.protobuf.message.Message): *, key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> None: ... + def HasField(self, field_name: typing.Literal["key_index", b"key_index"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... global___RatchetSharedKeyRequest = RatchetSharedKeyRequest -@typing_extensions.final +@typing.final class RatchetSharedKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -318,12 +319,12 @@ class RatchetSharedKeyResponse(google.protobuf.message.Message): *, new_key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> None: ... + def HasField(self, field_name: typing.Literal["new_key", b"new_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["new_key", b"new_key"]) -> None: ... global___RatchetSharedKeyResponse = RatchetSharedKeyResponse -@typing_extensions.final +@typing.final class GetSharedKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -334,12 +335,12 @@ class GetSharedKeyRequest(google.protobuf.message.Message): *, key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index"]) -> None: ... + def HasField(self, field_name: typing.Literal["key_index", b"key_index"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... global___GetSharedKeyRequest = GetSharedKeyRequest -@typing_extensions.final +@typing.final class GetSharedKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -350,12 +351,12 @@ class GetSharedKeyResponse(google.protobuf.message.Message): *, key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... global___GetSharedKeyResponse = GetSharedKeyResponse -@typing_extensions.final +@typing.final class SetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -372,12 +373,12 @@ class SetKeyRequest(google.protobuf.message.Message): key: builtins.bytes | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... global___SetKeyRequest = SetKeyRequest -@typing_extensions.final +@typing.final class SetKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -387,7 +388,7 @@ class SetKeyResponse(google.protobuf.message.Message): global___SetKeyResponse = SetKeyResponse -@typing_extensions.final +@typing.final class RatchetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -401,12 +402,12 @@ class RatchetKeyRequest(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... global___RatchetKeyRequest = RatchetKeyRequest -@typing_extensions.final +@typing.final class RatchetKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -417,12 +418,12 @@ class RatchetKeyResponse(google.protobuf.message.Message): *, new_key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["new_key", b"new_key"]) -> None: ... + def HasField(self, field_name: typing.Literal["new_key", b"new_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["new_key", b"new_key"]) -> None: ... global___RatchetKeyResponse = RatchetKeyResponse -@typing_extensions.final +@typing.final class GetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -436,12 +437,12 @@ class GetKeyRequest(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., key_index: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... global___GetKeyRequest = GetKeyRequest -@typing_extensions.final +@typing.final class GetKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -452,12 +453,12 @@ class GetKeyResponse(google.protobuf.message.Message): *, key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... global___GetKeyResponse = GetKeyResponse -@typing_extensions.final +@typing.final class E2eeRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -508,13 +509,13 @@ class E2eeRequest(google.protobuf.message.Message): ratchet_key: global___RatchetKeyRequest | None = ..., get_key: global___GetKeyRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... + def HasField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "room_handle", b"room_handle", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... global___E2eeRequest = E2eeRequest -@typing_extensions.final +@typing.final class E2eeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -562,8 +563,8 @@ class E2eeResponse(google.protobuf.message.Message): ratchet_key: global___RatchetKeyResponse | None = ..., get_key: global___GetKeyResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... + def HasField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cryptor_set_enabled", b"cryptor_set_enabled", "cryptor_set_key_index", b"cryptor_set_key_index", "get_key", b"get_key", "get_shared_key", b"get_shared_key", "manager_get_frame_cryptors", b"manager_get_frame_cryptors", "manager_set_enabled", b"manager_set_enabled", "message", b"message", "ratchet_key", b"ratchet_key", "ratchet_shared_key", b"ratchet_shared_key", "set_key", b"set_key", "set_shared_key", b"set_shared_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["manager_set_enabled", "manager_get_frame_cryptors", "cryptor_set_enabled", "cryptor_set_key_index", "set_shared_key", "ratchet_shared_key", "get_shared_key", "set_key", "ratchet_key", "get_key"] | None: ... global___E2eeResponse = E2eeResponse diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py index 9d517615..5cc9e307 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: ffi.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'ffi.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi index d3905cd7..45c2e073 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + from . import audio_frame_pb2 import builtins import collections.abc @@ -59,7 +60,7 @@ LOG_DEBUG: LogLevel.ValueType # 3 LOG_TRACE: LogLevel.ValueType # 4 global___LogLevel = LogLevel -@typing_extensions.final +@typing.final class FfiRequest(google.protobuf.message.Message): """**How is the livekit-ffi working: We refer as the ffi server the Rust server that is running the LiveKit client implementation, and we @@ -140,6 +141,7 @@ class FfiRequest(google.protobuf.message.Message): @property def connect(self) -> room_pb2.ConnectRequest: """Room""" + @property def disconnect(self) -> room_pb2.DisconnectRequest: ... @property @@ -165,6 +167,7 @@ class FfiRequest(google.protobuf.message.Message): @property def create_video_track(self) -> track_pb2.CreateVideoTrackRequest: """Track""" + @property def create_audio_track(self) -> track_pb2.CreateAudioTrackRequest: ... @property @@ -176,6 +179,7 @@ class FfiRequest(google.protobuf.message.Message): @property def new_video_stream(self) -> video_frame_pb2.NewVideoStreamRequest: """Video""" + @property def new_video_source(self) -> video_frame_pb2.NewVideoSourceRequest: ... @property @@ -187,6 +191,7 @@ class FfiRequest(google.protobuf.message.Message): @property def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamRequest: """Audio""" + @property def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceRequest: ... @property @@ -214,6 +219,7 @@ class FfiRequest(google.protobuf.message.Message): @property def perform_rpc(self) -> rpc_pb2.PerformRpcRequest: """RPC""" + @property def register_rpc_method(self) -> rpc_pb2.RegisterRpcMethodRequest: ... @property @@ -223,6 +229,7 @@ class FfiRequest(google.protobuf.message.Message): @property def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationRequest: """Track Publication""" + @property def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest: ... def __init__( @@ -271,13 +278,13 @@ class FfiRequest(google.protobuf.message.Message): enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationRequest | None = ..., update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... + def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "edit_chat_message", b"edit_chat_message", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "e2ee", "audio_stream_from_participant", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "edit_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... global___FfiRequest = FfiRequest -@typing_extensions.final +@typing.final class FfiResponse(google.protobuf.message.Message): """This is the output of livekit_ffi_request function.""" @@ -329,6 +336,7 @@ class FfiResponse(google.protobuf.message.Message): @property def connect(self) -> room_pb2.ConnectResponse: """Room""" + @property def disconnect(self) -> room_pb2.DisconnectResponse: ... @property @@ -354,6 +362,7 @@ class FfiResponse(google.protobuf.message.Message): @property def create_video_track(self) -> track_pb2.CreateVideoTrackResponse: """Track""" + @property def create_audio_track(self) -> track_pb2.CreateAudioTrackResponse: ... @property @@ -365,6 +374,7 @@ class FfiResponse(google.protobuf.message.Message): @property def new_video_stream(self) -> video_frame_pb2.NewVideoStreamResponse: """Video""" + @property def new_video_source(self) -> video_frame_pb2.NewVideoSourceResponse: ... @property @@ -376,6 +386,7 @@ class FfiResponse(google.protobuf.message.Message): @property def new_audio_stream(self) -> audio_frame_pb2.NewAudioStreamResponse: """Audio""" + @property def new_audio_source(self) -> audio_frame_pb2.NewAudioSourceResponse: ... @property @@ -401,6 +412,7 @@ class FfiResponse(google.protobuf.message.Message): @property def perform_rpc(self) -> rpc_pb2.PerformRpcResponse: """RPC""" + @property def register_rpc_method(self) -> rpc_pb2.RegisterRpcMethodResponse: ... @property @@ -410,6 +422,7 @@ class FfiResponse(google.protobuf.message.Message): @property def enable_remote_track_publication(self) -> track_publication_pb2.EnableRemoteTrackPublicationResponse: """Track Publication""" + @property def update_remote_track_publication_dimension(self) -> track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse: ... def __init__( @@ -457,13 +470,13 @@ class FfiResponse(google.protobuf.message.Message): enable_remote_track_publication: track_publication_pb2.EnableRemoteTrackPublicationResponse | None = ..., update_remote_track_publication_dimension: track_publication_pb2.UpdateRemoteTrackPublicationDimensionResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... + def HasField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_stream_from_participant", b"audio_stream_from_participant", "capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "clear_audio_buffer", b"clear_audio_buffer", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "enable_remote_track", b"enable_remote_track", "enable_remote_track_publication", b"enable_remote_track_publication", "flush_sox_resampler", b"flush_sox_resampler", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "local_track_mute", b"local_track_mute", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_sox_resampler", b"new_sox_resampler", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "push_sox_resampler", b"push_sox_resampler", "register_rpc_method", b"register_rpc_method", "remix_and_resample", b"remix_and_resample", "rpc_method_invocation_response", b"rpc_method_invocation_response", "send_chat_message", b"send_chat_message", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "unregister_rpc_method", b"unregister_rpc_method", "update_remote_track_publication_dimension", b"update_remote_track_publication_dimension", "video_convert", b"video_convert", "video_stream_from_participant", b"video_stream_from_participant"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "set_local_metadata", "set_local_name", "set_local_attributes", "get_session_stats", "publish_transcription", "publish_sip_dtmf", "create_video_track", "create_audio_track", "local_track_mute", "enable_remote_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "video_stream_from_participant", "new_audio_stream", "new_audio_source", "capture_audio_frame", "clear_audio_buffer", "new_audio_resampler", "remix_and_resample", "audio_stream_from_participant", "e2ee", "new_sox_resampler", "push_sox_resampler", "flush_sox_resampler", "send_chat_message", "perform_rpc", "register_rpc_method", "unregister_rpc_method", "rpc_method_invocation_response", "enable_remote_track_publication", "update_remote_track_publication_dimension"] | None: ... global___FfiResponse = FfiResponse -@typing_extensions.final +@typing.final class FfiEvent(google.protobuf.message.Message): """To minimize complexity, participant events are not included in the protocol. It is easily deducible from the room events and it turned out that is is easier to implement @@ -568,13 +581,13 @@ class FfiEvent(google.protobuf.message.Message): perform_rpc: rpc_pb2.PerformRpcCallback | None = ..., rpc_method_invocation: rpc_pb2.RpcMethodInvocationEvent | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["room_event", "track_event", "video_stream_event", "audio_stream_event", "connect", "disconnect", "dispose", "publish_track", "unpublish_track", "publish_data", "publish_transcription", "capture_audio_frame", "set_local_metadata", "set_local_name", "set_local_attributes", "get_stats", "logs", "get_session_stats", "panic", "publish_sip_dtmf", "chat_message", "perform_rpc", "rpc_method_invocation"] | None: ... + def HasField(self, field_name: typing.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "chat_message", b"chat_message", "connect", b"connect", "disconnect", b"disconnect", "dispose", b"dispose", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "logs", b"logs", "message", b"message", "panic", b"panic", "perform_rpc", b"perform_rpc", "publish_data", b"publish_data", "publish_sip_dtmf", b"publish_sip_dtmf", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "rpc_method_invocation", b"rpc_method_invocation", "set_local_attributes", b"set_local_attributes", "set_local_metadata", b"set_local_metadata", "set_local_name", b"set_local_name", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "video_stream_event", b"video_stream_event"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["room_event", "track_event", "video_stream_event", "audio_stream_event", "connect", "disconnect", "dispose", "publish_track", "unpublish_track", "publish_data", "publish_transcription", "capture_audio_frame", "set_local_metadata", "set_local_name", "set_local_attributes", "get_stats", "logs", "get_session_stats", "panic", "publish_sip_dtmf", "chat_message", "perform_rpc", "rpc_method_invocation"] | None: ... global___FfiEvent = FfiEvent -@typing_extensions.final +@typing.final class DisposeRequest(google.protobuf.message.Message): """Stop all rooms synchronously (Do we need async here?). e.g: This is used for the Unity Editor after each assemblies reload. @@ -587,12 +600,12 @@ class DisposeRequest(google.protobuf.message.Message): def __init__( self, ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async", b"async"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async", b"async"]) -> None: ... + def HasField(self, field_name: typing.Literal["async", b"async"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async", b"async"]) -> None: ... global___DisposeRequest = DisposeRequest -@typing_extensions.final +@typing.final class DisposeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -604,12 +617,12 @@ class DisposeResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___DisposeResponse = DisposeResponse -@typing_extensions.final +@typing.final class DisposeCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -620,12 +633,12 @@ class DisposeCallback(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___DisposeCallback = DisposeCallback -@typing_extensions.final +@typing.final class LogRecord(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -652,12 +665,12 @@ class LogRecord(google.protobuf.message.Message): line: builtins.int | None = ..., message: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> None: ... + def HasField(self, field_name: typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> None: ... global___LogRecord = LogRecord -@typing_extensions.final +@typing.final class LogBatch(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -669,11 +682,11 @@ class LogBatch(google.protobuf.message.Message): *, records: collections.abc.Iterable[global___LogRecord] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["records", b"records"]) -> None: ... + def ClearField(self, field_name: typing.Literal["records", b"records"]) -> None: ... global___LogBatch = LogBatch -@typing_extensions.final +@typing.final class Panic(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -684,7 +697,7 @@ class Panic(google.protobuf.message.Message): *, message: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["message", b"message"]) -> None: ... + def HasField(self, field_name: typing.Literal["message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ... global___Panic = Panic diff --git a/livekit-rtc/livekit/rtc/_proto/handle_pb2.py b/livekit-rtc/livekit/rtc/_proto/handle_pb2.py index 2c19a638..98d253b4 100644 --- a/livekit-rtc/livekit/rtc/_proto/handle_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/handle_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: handle.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'handle.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi index 2f5062ac..ce29050f 100644 --- a/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi @@ -15,19 +15,15 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import google.protobuf.descriptor import google.protobuf.message -import sys - -if sys.version_info >= (3, 8): - import typing as typing_extensions -else: - import typing_extensions +import typing DESCRIPTOR: google.protobuf.descriptor.FileDescriptor -@typing_extensions.final +@typing.final class FfiOwnedHandle(google.protobuf.message.Message): """# Safety The foreign language is responsable for disposing handles @@ -49,7 +45,7 @@ class FfiOwnedHandle(google.protobuf.message.Message): *, id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["id", b"id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ... + def HasField(self, field_name: typing.Literal["id", b"id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... global___FfiOwnedHandle = FfiOwnedHandle diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py index 88eff7e4..b4425bd1 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: participant.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'participant.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi index 49d1c1c1..45332b50 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import collections.abc import google.protobuf.descriptor @@ -118,11 +119,11 @@ SIP_TRUNK_FAILURE: DisconnectReason.ValueType # 13 """SIP protocol failure or unexpected response""" global___DisconnectReason = DisconnectReason -@typing_extensions.final +@typing.final class ParticipantInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing_extensions.final + @typing.final class AttributesEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -136,8 +137,8 @@ class ParticipantInfo(google.protobuf.message.Message): key: builtins.str | None = ..., value: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> 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: ... SID_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int @@ -150,10 +151,10 @@ class ParticipantInfo(google.protobuf.message.Message): name: builtins.str identity: builtins.str metadata: builtins.str - @property - def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... kind: global___ParticipantKind.ValueType disconnect_reason: global___DisconnectReason.ValueType + @property + def attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... def __init__( self, *, @@ -165,12 +166,12 @@ class ParticipantInfo(google.protobuf.message.Message): kind: global___ParticipantKind.ValueType | None = ..., disconnect_reason: global___DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "disconnect_reason", b"disconnect_reason", "identity", b"identity", "kind", b"kind", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... global___ParticipantInfo = ParticipantInfo -@typing_extensions.final +@typing.final class OwnedParticipant(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -186,7 +187,7 @@ class OwnedParticipant(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___ParticipantInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedParticipant = OwnedParticipant diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.py b/livekit-rtc/livekit/rtc/_proto/room_pb2.py index 6a6a1cad..b1462331 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: room.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'room.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi index bc15c7d8..f78a2403 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import collections.abc from . import e2ee_pb2 @@ -123,7 +124,7 @@ KIND_LOSSY: DataPacketKind.ValueType # 0 KIND_RELIABLE: DataPacketKind.ValueType # 1 global___DataPacketKind = DataPacketKind -@typing_extensions.final +@typing.final class ConnectRequest(google.protobuf.message.Message): """Connect to a new LiveKit room""" @@ -143,12 +144,12 @@ class ConnectRequest(google.protobuf.message.Message): token: builtins.str | None = ..., options: global___RoomOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["options", b"options", "token", b"token", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["options", b"options", "token", b"token", "url", b"url"]) -> None: ... + def HasField(self, field_name: typing.Literal["options", b"options", "token", b"token", "url", b"url"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["options", b"options", "token", b"token", "url", b"url"]) -> None: ... global___ConnectRequest = ConnectRequest -@typing_extensions.final +@typing.final class ConnectResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -159,16 +160,16 @@ class ConnectResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___ConnectResponse = ConnectResponse -@typing_extensions.final +@typing.final class ConnectCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing_extensions.final + @typing.final class ParticipantWithTracks(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -181,16 +182,17 @@ class ConnectCallback(google.protobuf.message.Message): """TrackInfo are not needed here, if we're subscribed to a track, the FfiServer will send a TrackSubscribed event """ + def __init__( self, *, participant: participant_pb2.OwnedParticipant | None = ..., publications: collections.abc.Iterable[track_pb2.OwnedTrackPublication] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant", b"participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant", b"participant", "publications", b"publications"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant", b"participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant", b"participant", "publications", b"publications"]) -> None: ... - @typing_extensions.final + @typing.final class Result(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -210,8 +212,8 @@ class ConnectCallback(google.protobuf.message.Message): local_participant: participant_pb2.OwnedParticipant | None = ..., participants: collections.abc.Iterable[global___ConnectCallback.ParticipantWithTracks] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant", b"local_participant", "room", b"room"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant", b"local_participant", "participants", b"participants", "room", b"room"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant", b"local_participant", "room", b"room"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant", b"local_participant", "participants", b"participants", "room", b"room"]) -> None: ... ASYNC_ID_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int @@ -227,13 +229,13 @@ class ConnectCallback(google.protobuf.message.Message): error: builtins.str | None = ..., result: global___ConnectCallback.Result | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "result"] | None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "result"] | None: ... global___ConnectCallback = ConnectCallback -@typing_extensions.final +@typing.final class DisconnectRequest(google.protobuf.message.Message): """Disconnect from the a room""" @@ -246,12 +248,12 @@ class DisconnectRequest(google.protobuf.message.Message): *, room_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> None: ... global___DisconnectRequest = DisconnectRequest -@typing_extensions.final +@typing.final class DisconnectResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -262,12 +264,12 @@ class DisconnectResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___DisconnectResponse = DisconnectResponse -@typing_extensions.final +@typing.final class DisconnectCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -278,12 +280,12 @@ class DisconnectCallback(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___DisconnectCallback = DisconnectCallback -@typing_extensions.final +@typing.final class PublishTrackRequest(google.protobuf.message.Message): """Publish a track to the room""" @@ -303,12 +305,12 @@ class PublishTrackRequest(google.protobuf.message.Message): track_handle: builtins.int | None = ..., options: global___TrackPublishOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "options", b"options", "track_handle", b"track_handle"]) -> None: ... global___PublishTrackRequest = PublishTrackRequest -@typing_extensions.final +@typing.final class PublishTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -319,12 +321,12 @@ class PublishTrackResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___PublishTrackResponse = PublishTrackResponse -@typing_extensions.final +@typing.final class PublishTrackCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -342,13 +344,13 @@ class PublishTrackCallback(google.protobuf.message.Message): error: builtins.str | None = ..., publication: track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "publication"] | None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "publication", b"publication"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "publication"] | None: ... global___PublishTrackCallback = PublishTrackCallback -@typing_extensions.final +@typing.final class UnpublishTrackRequest(google.protobuf.message.Message): """Unpublish a track from the room""" @@ -367,12 +369,12 @@ class UnpublishTrackRequest(google.protobuf.message.Message): track_sid: builtins.str | None = ..., stop_on_unpublish: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "stop_on_unpublish", b"stop_on_unpublish", "track_sid", b"track_sid"]) -> None: ... global___UnpublishTrackRequest = UnpublishTrackRequest -@typing_extensions.final +@typing.final class UnpublishTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -383,12 +385,12 @@ class UnpublishTrackResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___UnpublishTrackResponse = UnpublishTrackResponse -@typing_extensions.final +@typing.final class UnpublishTrackCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -402,12 +404,12 @@ class UnpublishTrackCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___UnpublishTrackCallback = UnpublishTrackCallback -@typing_extensions.final +@typing.final class PublishDataRequest(google.protobuf.message.Message): """Publish data to other participants""" @@ -424,9 +426,9 @@ class PublishDataRequest(google.protobuf.message.Message): data_ptr: builtins.int data_len: builtins.int reliable: builtins.bool + topic: builtins.str @property def destination_sids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - topic: builtins.str @property def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... def __init__( @@ -440,12 +442,12 @@ class PublishDataRequest(google.protobuf.message.Message): topic: builtins.str | None = ..., destination_identities: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "destination_identities", b"destination_identities", "destination_sids", b"destination_sids", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> None: ... + def HasField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr", "destination_identities", b"destination_identities", "destination_sids", b"destination_sids", "local_participant_handle", b"local_participant_handle", "reliable", b"reliable", "topic", b"topic"]) -> None: ... global___PublishDataRequest = PublishDataRequest -@typing_extensions.final +@typing.final class PublishDataResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -456,12 +458,12 @@ class PublishDataResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___PublishDataResponse = PublishDataResponse -@typing_extensions.final +@typing.final class PublishDataCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -475,12 +477,12 @@ class PublishDataCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___PublishDataCallback = PublishDataCallback -@typing_extensions.final +@typing.final class PublishTranscriptionRequest(google.protobuf.message.Message): """Publish transcription messages to room""" @@ -503,12 +505,12 @@ class PublishTranscriptionRequest(google.protobuf.message.Message): track_id: builtins.str | None = ..., segments: collections.abc.Iterable[global___TranscriptionSegment] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "track_id", b"track_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "segments", b"segments", "track_id", b"track_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "track_id", b"track_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "participant_identity", b"participant_identity", "segments", b"segments", "track_id", b"track_id"]) -> None: ... global___PublishTranscriptionRequest = PublishTranscriptionRequest -@typing_extensions.final +@typing.final class PublishTranscriptionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -519,12 +521,12 @@ class PublishTranscriptionResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___PublishTranscriptionResponse = PublishTranscriptionResponse -@typing_extensions.final +@typing.final class PublishTranscriptionCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -538,12 +540,12 @@ class PublishTranscriptionCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___PublishTranscriptionCallback = PublishTranscriptionCallback -@typing_extensions.final +@typing.final class PublishSipDtmfRequest(google.protobuf.message.Message): """Publish Sip DTMF messages to other participants""" @@ -566,12 +568,12 @@ class PublishSipDtmfRequest(google.protobuf.message.Message): digit: builtins.str | None = ..., destination_identities: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["code", b"code", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "destination_identities", b"destination_identities", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["code", b"code", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["code", b"code", "destination_identities", b"destination_identities", "digit", b"digit", "local_participant_handle", b"local_participant_handle"]) -> None: ... global___PublishSipDtmfRequest = PublishSipDtmfRequest -@typing_extensions.final +@typing.final class PublishSipDtmfResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -582,12 +584,12 @@ class PublishSipDtmfResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___PublishSipDtmfResponse = PublishSipDtmfResponse -@typing_extensions.final +@typing.final class PublishSipDtmfCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -601,12 +603,12 @@ class PublishSipDtmfCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___PublishSipDtmfCallback = PublishSipDtmfCallback -@typing_extensions.final +@typing.final class SetLocalMetadataRequest(google.protobuf.message.Message): """Change the local participant's metadata""" @@ -622,12 +624,12 @@ class SetLocalMetadataRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> None: ... global___SetLocalMetadataRequest = SetLocalMetadataRequest -@typing_extensions.final +@typing.final class SetLocalMetadataResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -638,12 +640,12 @@ class SetLocalMetadataResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___SetLocalMetadataResponse = SetLocalMetadataResponse -@typing_extensions.final +@typing.final class SetLocalMetadataCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -657,12 +659,12 @@ class SetLocalMetadataCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___SetLocalMetadataCallback = SetLocalMetadataCallback -@typing_extensions.final +@typing.final class SendChatMessageRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -672,9 +674,9 @@ class SendChatMessageRequest(google.protobuf.message.Message): SENDER_IDENTITY_FIELD_NUMBER: builtins.int local_participant_handle: builtins.int message: builtins.str + sender_identity: builtins.str @property def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - sender_identity: builtins.str def __init__( self, *, @@ -683,12 +685,12 @@ class SendChatMessageRequest(google.protobuf.message.Message): destination_identities: collections.abc.Iterable[builtins.str] | None = ..., sender_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "local_participant_handle", b"local_participant_handle", "message", b"message", "sender_identity", b"sender_identity"]) -> None: ... global___SendChatMessageRequest = SendChatMessageRequest -@typing_extensions.final +@typing.final class EditChatMessageRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -699,11 +701,11 @@ class EditChatMessageRequest(google.protobuf.message.Message): SENDER_IDENTITY_FIELD_NUMBER: builtins.int local_participant_handle: builtins.int edit_text: builtins.str + sender_identity: builtins.str @property def original_message(self) -> global___ChatMessage: ... @property def destination_identities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - sender_identity: builtins.str def __init__( self, *, @@ -713,12 +715,12 @@ class EditChatMessageRequest(google.protobuf.message.Message): destination_identities: collections.abc.Iterable[builtins.str] | None = ..., sender_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["destination_identities", b"destination_identities", "edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destination_identities", b"destination_identities", "edit_text", b"edit_text", "local_participant_handle", b"local_participant_handle", "original_message", b"original_message", "sender_identity", b"sender_identity"]) -> None: ... global___EditChatMessageRequest = EditChatMessageRequest -@typing_extensions.final +@typing.final class SendChatMessageResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -729,12 +731,12 @@ class SendChatMessageResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___SendChatMessageResponse = SendChatMessageResponse -@typing_extensions.final +@typing.final class SendChatMessageCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -752,13 +754,13 @@ class SendChatMessageCallback(google.protobuf.message.Message): error: builtins.str | None = ..., chat_message: global___ChatMessage | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "chat_message"] | None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "chat_message", b"chat_message", "error", b"error", "message", b"message"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "chat_message"] | None: ... global___SendChatMessageCallback = SendChatMessageCallback -@typing_extensions.final +@typing.final class SetLocalAttributesRequest(google.protobuf.message.Message): """Change the local participant's attributes""" @@ -775,12 +777,12 @@ class SetLocalAttributesRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "local_participant_handle", b"local_participant_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "local_participant_handle", b"local_participant_handle"]) -> None: ... global___SetLocalAttributesRequest = SetLocalAttributesRequest -@typing_extensions.final +@typing.final class AttributesEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -794,12 +796,12 @@ class AttributesEntry(google.protobuf.message.Message): key: builtins.str | None = ..., value: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> 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: ... global___AttributesEntry = AttributesEntry -@typing_extensions.final +@typing.final class SetLocalAttributesResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -810,12 +812,12 @@ class SetLocalAttributesResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___SetLocalAttributesResponse = SetLocalAttributesResponse -@typing_extensions.final +@typing.final class SetLocalAttributesCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -829,12 +831,12 @@ class SetLocalAttributesCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___SetLocalAttributesCallback = SetLocalAttributesCallback -@typing_extensions.final +@typing.final class SetLocalNameRequest(google.protobuf.message.Message): """Change the local participant's name""" @@ -850,12 +852,12 @@ class SetLocalNameRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., name: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> None: ... global___SetLocalNameRequest = SetLocalNameRequest -@typing_extensions.final +@typing.final class SetLocalNameResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -866,12 +868,12 @@ class SetLocalNameResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___SetLocalNameResponse = SetLocalNameResponse -@typing_extensions.final +@typing.final class SetLocalNameCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -885,12 +887,12 @@ class SetLocalNameCallback(google.protobuf.message.Message): async_id: builtins.int | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> None: ... global___SetLocalNameCallback = SetLocalNameCallback -@typing_extensions.final +@typing.final class SetSubscribedRequest(google.protobuf.message.Message): """Change the "desire" to subs2ribe to a track""" @@ -906,12 +908,12 @@ class SetSubscribedRequest(google.protobuf.message.Message): subscribe: builtins.bool | None = ..., publication_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> None: ... + def HasField(self, field_name: typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> None: ... global___SetSubscribedRequest = SetSubscribedRequest -@typing_extensions.final +@typing.final class SetSubscribedResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -921,7 +923,7 @@ class SetSubscribedResponse(google.protobuf.message.Message): global___SetSubscribedResponse = SetSubscribedResponse -@typing_extensions.final +@typing.final class GetSessionStatsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -932,12 +934,12 @@ class GetSessionStatsRequest(google.protobuf.message.Message): *, room_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["room_handle", b"room_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> None: ... global___GetSessionStatsRequest = GetSessionStatsRequest -@typing_extensions.final +@typing.final class GetSessionStatsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -948,16 +950,16 @@ class GetSessionStatsResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___GetSessionStatsResponse = GetSessionStatsResponse -@typing_extensions.final +@typing.final class GetSessionStatsCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing_extensions.final + @typing.final class Result(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -973,7 +975,7 @@ class GetSessionStatsCallback(google.protobuf.message.Message): publisher_stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., subscriber_stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"]) -> None: ... + def ClearField(self, field_name: typing.Literal["publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"]) -> None: ... ASYNC_ID_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int @@ -989,13 +991,13 @@ class GetSessionStatsCallback(google.protobuf.message.Message): error: builtins.str | None = ..., result: global___GetSessionStatsCallback.Result | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "result"] | None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "result", b"result"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "result"] | None: ... global___GetSessionStatsCallback = GetSessionStatsCallback -@typing_extensions.final +@typing.final class VideoEncoding(google.protobuf.message.Message): """ Options @@ -1013,12 +1015,12 @@ class VideoEncoding(google.protobuf.message.Message): max_bitrate: builtins.int | None = ..., max_framerate: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> None: ... + def HasField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> None: ... global___VideoEncoding = VideoEncoding -@typing_extensions.final +@typing.final class AudioEncoding(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1029,12 +1031,12 @@ class AudioEncoding(google.protobuf.message.Message): *, max_bitrate: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["max_bitrate", b"max_bitrate"]) -> None: ... + def HasField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate"]) -> None: ... global___AudioEncoding = AudioEncoding -@typing_extensions.final +@typing.final class TrackPublishOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1046,17 +1048,18 @@ class TrackPublishOptions(google.protobuf.message.Message): SIMULCAST_FIELD_NUMBER: builtins.int SOURCE_FIELD_NUMBER: builtins.int STREAM_FIELD_NUMBER: builtins.int - @property - def video_encoding(self) -> global___VideoEncoding: - """encodings are optional""" - @property - def audio_encoding(self) -> global___AudioEncoding: ... video_codec: video_frame_pb2.VideoCodec.ValueType dtx: builtins.bool red: builtins.bool simulcast: builtins.bool source: track_pb2.TrackSource.ValueType stream: builtins.str + @property + def video_encoding(self) -> global___VideoEncoding: + """encodings are optional""" + + @property + def audio_encoding(self) -> global___AudioEncoding: ... def __init__( self, *, @@ -1069,22 +1072,22 @@ class TrackPublishOptions(google.protobuf.message.Message): source: track_pb2.TrackSource.ValueType | None = ..., stream: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_encoding", b"audio_encoding", "dtx", b"dtx", "red", b"red", "simulcast", b"simulcast", "source", b"source", "stream", b"stream", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> None: ... global___TrackPublishOptions = TrackPublishOptions -@typing_extensions.final +@typing.final class IceServer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor URLS_FIELD_NUMBER: builtins.int USERNAME_FIELD_NUMBER: builtins.int PASSWORD_FIELD_NUMBER: builtins.int - @property - def urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... username: builtins.str password: builtins.str + @property + def urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... def __init__( self, *, @@ -1092,12 +1095,12 @@ class IceServer(google.protobuf.message.Message): username: builtins.str | None = ..., password: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["password", b"password", "username", b"username"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["password", b"password", "urls", b"urls", "username", b"username"]) -> None: ... + def HasField(self, field_name: typing.Literal["password", b"password", "username", b"username"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["password", b"password", "urls", b"urls", "username", b"username"]) -> None: ... global___IceServer = IceServer -@typing_extensions.final +@typing.final class RtcConfig(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1109,6 +1112,7 @@ class RtcConfig(google.protobuf.message.Message): @property def ice_servers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IceServer]: """empty fallback to default""" + def __init__( self, *, @@ -1116,12 +1120,12 @@ class RtcConfig(google.protobuf.message.Message): continual_gathering_policy: global___ContinualGatheringPolicy.ValueType | None = ..., ice_servers: collections.abc.Iterable[global___IceServer] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_transport_type", b"ice_transport_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_servers", b"ice_servers", "ice_transport_type", b"ice_transport_type"]) -> None: ... + def HasField(self, field_name: typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_transport_type", b"ice_transport_type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["continual_gathering_policy", b"continual_gathering_policy", "ice_servers", b"ice_servers", "ice_transport_type", b"ice_transport_type"]) -> None: ... global___RtcConfig = RtcConfig -@typing_extensions.final +@typing.final class RoomOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1134,12 +1138,13 @@ class RoomOptions(google.protobuf.message.Message): auto_subscribe: builtins.bool adaptive_stream: builtins.bool dynacast: builtins.bool + join_retries: builtins.int @property def e2ee(self) -> e2ee_pb2.E2eeOptions: ... @property def rtc_config(self) -> global___RtcConfig: """allow to setup a custom RtcConfiguration""" - join_retries: builtins.int + def __init__( self, *, @@ -1150,12 +1155,12 @@ class RoomOptions(google.protobuf.message.Message): rtc_config: global___RtcConfig | None = ..., join_retries: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> None: ... + def HasField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["adaptive_stream", b"adaptive_stream", "auto_subscribe", b"auto_subscribe", "dynacast", b"dynacast", "e2ee", b"e2ee", "join_retries", b"join_retries", "rtc_config", b"rtc_config"]) -> None: ... global___RoomOptions = RoomOptions -@typing_extensions.final +@typing.final class TranscriptionSegment(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1181,12 +1186,12 @@ class TranscriptionSegment(google.protobuf.message.Message): final: builtins.bool | None = ..., language: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> None: ... + def HasField(self, field_name: typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "language", b"language", "start_time", b"start_time", "text", b"text"]) -> None: ... global___TranscriptionSegment = TranscriptionSegment -@typing_extensions.final +@typing.final class BufferInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1200,12 +1205,12 @@ class BufferInfo(google.protobuf.message.Message): data_ptr: builtins.int | None = ..., data_len: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> None: ... + def HasField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> None: ... global___BufferInfo = BufferInfo -@typing_extensions.final +@typing.final class OwnedBuffer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1221,12 +1226,12 @@ class OwnedBuffer(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., data: global___BufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data", b"data", "handle", b"handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "handle", b"handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["data", b"data", "handle", b"handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data", b"data", "handle", b"handle"]) -> None: ... global___OwnedBuffer = OwnedBuffer -@typing_extensions.final +@typing.final class RoomEvent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1305,6 +1310,7 @@ class RoomEvent(google.protobuf.message.Message): @property def disconnected(self) -> global___Disconnected: """Connected connected = 21;""" + @property def reconnecting(self) -> global___Reconnecting: ... @property @@ -1314,6 +1320,7 @@ class RoomEvent(google.protobuf.message.Message): @property def eos(self) -> global___RoomEOS: """The stream of room events has ended""" + @property def data_packet_received(self) -> global___DataPacketReceived: ... @property @@ -1359,13 +1366,13 @@ class RoomEvent(google.protobuf.message.Message): stream_header: global___DataStream.Header | None = ..., stream_chunk: global___DataStream.Chunk | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message", "stream_header", "stream_chunk"] | None: ... + def HasField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "chat_message", b"chat_message", "connection_quality_changed", b"connection_quality_changed", "connection_state_changed", b"connection_state_changed", "data_packet_received", b"data_packet_received", "disconnected", b"disconnected", "e2ee_state_changed", b"e2ee_state_changed", "eos", b"eos", "local_track_published", b"local_track_published", "local_track_subscribed", b"local_track_subscribed", "local_track_unpublished", b"local_track_unpublished", "message", b"message", "participant_attributes_changed", b"participant_attributes_changed", "participant_connected", b"participant_connected", "participant_disconnected", b"participant_disconnected", "participant_metadata_changed", b"participant_metadata_changed", "participant_name_changed", b"participant_name_changed", "reconnected", b"reconnected", "reconnecting", b"reconnecting", "room_handle", b"room_handle", "room_metadata_changed", b"room_metadata_changed", "room_sid_changed", b"room_sid_changed", "stream_chunk", b"stream_chunk", "stream_header", b"stream_header", "track_muted", b"track_muted", "track_published", b"track_published", "track_subscribed", b"track_subscribed", "track_subscription_failed", b"track_subscription_failed", "track_unmuted", b"track_unmuted", "track_unpublished", b"track_unpublished", "track_unsubscribed", b"track_unsubscribed", "transcription_received", b"transcription_received"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "local_track_subscribed", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "room_sid_changed", "participant_metadata_changed", "participant_name_changed", "participant_attributes_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received", "transcription_received", "chat_message", "stream_header", "stream_chunk"] | None: ... global___RoomEvent = RoomEvent -@typing_extensions.final +@typing.final class RoomInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1382,12 +1389,12 @@ class RoomInfo(google.protobuf.message.Message): name: builtins.str | None = ..., metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... global___RoomInfo = RoomInfo -@typing_extensions.final +@typing.final class OwnedRoom(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1403,12 +1410,12 @@ class OwnedRoom(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___RoomInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedRoom = OwnedRoom -@typing_extensions.final +@typing.final class ParticipantConnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1420,12 +1427,12 @@ class ParticipantConnected(google.protobuf.message.Message): *, info: participant_pb2.OwnedParticipant | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["info", b"info"]) -> None: ... global___ParticipantConnected = ParticipantConnected -@typing_extensions.final +@typing.final class ParticipantDisconnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1436,12 +1443,12 @@ class ParticipantDisconnected(google.protobuf.message.Message): *, participant_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> None: ... global___ParticipantDisconnected = ParticipantDisconnected -@typing_extensions.final +@typing.final class LocalTrackPublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1455,12 +1462,12 @@ class LocalTrackPublished(google.protobuf.message.Message): *, track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> None: ... global___LocalTrackPublished = LocalTrackPublished -@typing_extensions.final +@typing.final class LocalTrackUnpublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1471,12 +1478,12 @@ class LocalTrackUnpublished(google.protobuf.message.Message): *, publication_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["publication_sid", b"publication_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["publication_sid", b"publication_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["publication_sid", b"publication_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["publication_sid", b"publication_sid"]) -> None: ... global___LocalTrackUnpublished = LocalTrackUnpublished -@typing_extensions.final +@typing.final class LocalTrackSubscribed(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1487,12 +1494,12 @@ class LocalTrackSubscribed(google.protobuf.message.Message): *, track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> None: ... global___LocalTrackSubscribed = LocalTrackSubscribed -@typing_extensions.final +@typing.final class TrackPublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1507,12 +1514,12 @@ class TrackPublished(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., publication: track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication", b"publication"]) -> None: ... global___TrackPublished = TrackPublished -@typing_extensions.final +@typing.final class TrackUnpublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1526,12 +1533,12 @@ class TrackUnpublished(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., publication_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "publication_sid", b"publication_sid"]) -> None: ... global___TrackUnpublished = TrackUnpublished -@typing_extensions.final +@typing.final class TrackSubscribed(google.protobuf.message.Message): """Publication isn't needed for subscription events on the FFI The FFI will retrieve the publication using the Track sid @@ -1550,12 +1557,12 @@ class TrackSubscribed(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track: track_pb2.OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track", b"track"]) -> None: ... global___TrackSubscribed = TrackSubscribed -@typing_extensions.final +@typing.final class TrackUnsubscribed(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1570,12 +1577,12 @@ class TrackUnsubscribed(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackUnsubscribed = TrackUnsubscribed -@typing_extensions.final +@typing.final class TrackSubscriptionFailed(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1592,12 +1599,12 @@ class TrackSubscriptionFailed(google.protobuf.message.Message): track_sid: builtins.str | None = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["error", b"error", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackSubscriptionFailed = TrackSubscriptionFailed -@typing_extensions.final +@typing.final class TrackMuted(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1611,12 +1618,12 @@ class TrackMuted(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackMuted = TrackMuted -@typing_extensions.final +@typing.final class TrackUnmuted(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1630,12 +1637,12 @@ class TrackUnmuted(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., track_sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... global___TrackUnmuted = TrackUnmuted -@typing_extensions.final +@typing.final class E2eeStateChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1650,12 +1657,12 @@ class E2eeStateChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., state: e2ee_pb2.EncryptionState.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "state", b"state"]) -> None: ... global___E2eeStateChanged = E2eeStateChanged -@typing_extensions.final +@typing.final class ActiveSpeakersChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1667,11 +1674,11 @@ class ActiveSpeakersChanged(google.protobuf.message.Message): *, participant_identities: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identities", b"participant_identities"]) -> None: ... + def ClearField(self, field_name: typing.Literal["participant_identities", b"participant_identities"]) -> None: ... global___ActiveSpeakersChanged = ActiveSpeakersChanged -@typing_extensions.final +@typing.final class RoomMetadataChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1682,12 +1689,12 @@ class RoomMetadataChanged(google.protobuf.message.Message): *, metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata"]) -> None: ... global___RoomMetadataChanged = RoomMetadataChanged -@typing_extensions.final +@typing.final class RoomSidChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1698,12 +1705,12 @@ class RoomSidChanged(google.protobuf.message.Message): *, sid: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["sid", b"sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["sid", b"sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["sid", b"sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sid", b"sid"]) -> None: ... global___RoomSidChanged = RoomSidChanged -@typing_extensions.final +@typing.final class ParticipantMetadataChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1717,12 +1724,12 @@ class ParticipantMetadataChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., metadata: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "participant_identity", b"participant_identity"]) -> None: ... global___ParticipantMetadataChanged = ParticipantMetadataChanged -@typing_extensions.final +@typing.final class ParticipantAttributesChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1741,12 +1748,12 @@ class ParticipantAttributesChanged(google.protobuf.message.Message): attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., changed_attributes: collections.abc.Iterable[global___AttributesEntry] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "changed_attributes", b"changed_attributes", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attributes", b"attributes", "changed_attributes", b"changed_attributes", "participant_identity", b"participant_identity"]) -> None: ... global___ParticipantAttributesChanged = ParticipantAttributesChanged -@typing_extensions.final +@typing.final class ParticipantNameChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1760,12 +1767,12 @@ class ParticipantNameChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., name: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["name", b"name", "participant_identity", b"participant_identity"]) -> None: ... global___ParticipantNameChanged = ParticipantNameChanged -@typing_extensions.final +@typing.final class ConnectionQualityChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1779,32 +1786,32 @@ class ConnectionQualityChanged(google.protobuf.message.Message): participant_identity: builtins.str | None = ..., quality: global___ConnectionQuality.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "quality", b"quality"]) -> None: ... global___ConnectionQualityChanged = ConnectionQualityChanged -@typing_extensions.final +@typing.final class UserPacket(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int TOPIC_FIELD_NUMBER: builtins.int + topic: builtins.str @property def data(self) -> global___OwnedBuffer: ... - topic: builtins.str def __init__( self, *, data: global___OwnedBuffer | None = ..., topic: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data", b"data", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "topic", b"topic"]) -> None: ... + def HasField(self, field_name: typing.Literal["data", b"data", "topic", b"topic"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data", b"data", "topic", b"topic"]) -> None: ... global___UserPacket = UserPacket -@typing_extensions.final +@typing.final class ChatMessage(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1830,32 +1837,32 @@ class ChatMessage(google.protobuf.message.Message): deleted: builtins.bool | None = ..., generated: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> None: ... + def HasField(self, field_name: typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deleted", b"deleted", "edit_timestamp", b"edit_timestamp", "generated", b"generated", "id", b"id", "message", b"message", "timestamp", b"timestamp"]) -> None: ... global___ChatMessage = ChatMessage -@typing_extensions.final +@typing.final class ChatMessageReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor MESSAGE_FIELD_NUMBER: builtins.int PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int + participant_identity: builtins.str @property def message(self) -> global___ChatMessage: ... - participant_identity: builtins.str def __init__( self, *, message: global___ChatMessage | None = ..., participant_identity: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> None: ... + def HasField(self, field_name: typing.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["message", b"message", "participant_identity", b"participant_identity"]) -> None: ... global___ChatMessageReceived = ChatMessageReceived -@typing_extensions.final +@typing.final class SipDTMF(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1869,12 +1876,12 @@ class SipDTMF(google.protobuf.message.Message): code: builtins.int | None = ..., digit: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["code", b"code", "digit", b"digit"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "digit", b"digit"]) -> None: ... + def HasField(self, field_name: typing.Literal["code", b"code", "digit", b"digit"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["code", b"code", "digit", b"digit"]) -> None: ... global___SipDTMF = SipDTMF -@typing_extensions.final +@typing.final class DataPacketReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1897,13 +1904,13 @@ class DataPacketReceived(google.protobuf.message.Message): user: global___UserPacket | None = ..., sip_dtmf: global___SipDTMF | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["user", "sip_dtmf"] | None: ... + def HasField(self, field_name: typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["kind", b"kind", "participant_identity", b"participant_identity", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["user", "sip_dtmf"] | None: ... global___DataPacketReceived = DataPacketReceived -@typing_extensions.final +@typing.final class TranscriptionReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1921,12 +1928,12 @@ class TranscriptionReceived(google.protobuf.message.Message): track_sid: builtins.str | None = ..., segments: collections.abc.Iterable[global___TranscriptionSegment] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["participant_identity", b"participant_identity", "segments", b"segments", "track_sid", b"track_sid"]) -> None: ... + def HasField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant_identity", b"participant_identity", "segments", b"segments", "track_sid", b"track_sid"]) -> None: ... global___TranscriptionReceived = TranscriptionReceived -@typing_extensions.final +@typing.final class ConnectionStateChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1937,12 +1944,12 @@ class ConnectionStateChanged(google.protobuf.message.Message): *, state: global___ConnectionState.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["state", b"state"]) -> None: ... + def HasField(self, field_name: typing.Literal["state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["state", b"state"]) -> None: ... global___ConnectionStateChanged = ConnectionStateChanged -@typing_extensions.final +@typing.final class Connected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1952,7 +1959,7 @@ class Connected(google.protobuf.message.Message): global___Connected = Connected -@typing_extensions.final +@typing.final class Disconnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1963,12 +1970,12 @@ class Disconnected(google.protobuf.message.Message): *, reason: participant_pb2.DisconnectReason.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["reason", b"reason"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["reason", b"reason"]) -> None: ... + def HasField(self, field_name: typing.Literal["reason", b"reason"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["reason", b"reason"]) -> None: ... global___Disconnected = Disconnected -@typing_extensions.final +@typing.final class Reconnecting(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1978,7 +1985,7 @@ class Reconnecting(google.protobuf.message.Message): global___Reconnecting = Reconnecting -@typing_extensions.final +@typing.final class Reconnected(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1988,7 +1995,7 @@ class Reconnected(google.protobuf.message.Message): global___Reconnected = Reconnected -@typing_extensions.final +@typing.final class RoomEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1998,7 +2005,7 @@ class RoomEOS(google.protobuf.message.Message): global___RoomEOS = RoomEOS -@typing_extensions.final +@typing.final class DataStream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2021,7 +2028,7 @@ class DataStream(google.protobuf.message.Message): DELETE: DataStream.OperationType.ValueType # 2 REACTION: DataStream.OperationType.ValueType # 3 - @typing_extensions.final + @typing.final class TextHeader(google.protobuf.message.Message): """header properties specific to text streams""" @@ -2037,11 +2044,12 @@ class DataStream(google.protobuf.message.Message): """Optional: Version for updates/edits""" reply_to_stream_id: builtins.str """Optional: Reply to specific message""" + generated: builtins.bool + """true if the text has been generated by an agent from a participant's audio transcription""" @property def attached_stream_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """file attachments for text streams""" - generated: builtins.bool - """true if the text has been generated by an agent from a participant's audio transcription""" + def __init__( self, *, @@ -2051,10 +2059,10 @@ class DataStream(google.protobuf.message.Message): attached_stream_ids: collections.abc.Iterable[builtins.str] | None = ..., generated: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["attached_stream_ids", b"attached_stream_ids", "generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> None: ... + def HasField(self, field_name: typing.Literal["generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attached_stream_ids", b"attached_stream_ids", "generated", b"generated", "operation_type", b"operation_type", "reply_to_stream_id", b"reply_to_stream_id", "version", b"version"]) -> None: ... - @typing_extensions.final + @typing.final class FileHeader(google.protobuf.message.Message): """header properties specific to file or image streams""" @@ -2068,16 +2076,16 @@ class DataStream(google.protobuf.message.Message): *, file_name: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["file_name", b"file_name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["file_name", b"file_name"]) -> None: ... + def HasField(self, field_name: typing.Literal["file_name", b"file_name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["file_name", b"file_name"]) -> None: ... - @typing_extensions.final + @typing.final class Header(google.protobuf.message.Message): """main DataStream.Header that contains a oneof for specific headers""" DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing_extensions.final + @typing.final class ExtensionsEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2091,8 +2099,8 @@ class DataStream(google.protobuf.message.Message): key: builtins.str | None = ..., value: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> 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: ... STREAM_ID_FIELD_NUMBER: builtins.int TIMESTAMP_FIELD_NUMBER: builtins.int @@ -2116,6 +2124,7 @@ class DataStream(google.protobuf.message.Message): @property def extensions(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: """user defined extensions map that can carry additional info""" + @property def text_header(self) -> global___DataStream.TextHeader: ... @property @@ -2133,11 +2142,11 @@ class DataStream(google.protobuf.message.Message): text_header: global___DataStream.TextHeader | None = ..., file_header: global___DataStream.FileHeader | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["content_header", b"content_header", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["content_header", b"content_header", "extensions", b"extensions", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["content_header", b"content_header"]) -> typing_extensions.Literal["text_header", "file_header"] | None: ... + def HasField(self, field_name: typing.Literal["content_header", b"content_header", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content_header", b"content_header", "extensions", b"extensions", "file_header", b"file_header", "mime_type", b"mime_type", "stream_id", b"stream_id", "text_header", b"text_header", "timestamp", b"timestamp", "topic", b"topic", "total_chunks", b"total_chunks", "total_length", b"total_length"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content_header", b"content_header"]) -> typing.Literal["text_header", "file_header"] | None: ... - @typing_extensions.final + @typing.final class Chunk(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2168,8 +2177,8 @@ class DataStream(google.protobuf.message.Message): version: builtins.int | None = ..., iv: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> None: ... + def HasField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chunk_index", b"chunk_index", "complete", b"complete", "content", b"content", "iv", b"iv", "stream_id", b"stream_id", "version", b"version"]) -> None: ... def __init__( self, diff --git a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py index 8742ff25..1b6302cd 100644 --- a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: rpc.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'rpc.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi index 8783ec4c..20330912 100644 --- a/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/rpc_pb2.pyi @@ -15,19 +15,15 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import google.protobuf.descriptor import google.protobuf.message -import sys - -if sys.version_info >= (3, 8): - import typing as typing_extensions -else: - import typing_extensions +import typing DESCRIPTOR: google.protobuf.descriptor.FileDescriptor -@typing_extensions.final +@typing.final class RpcError(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -44,12 +40,12 @@ class RpcError(google.protobuf.message.Message): message: builtins.str | None = ..., data: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["code", b"code", "data", b"data", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "data", b"data", "message", b"message"]) -> None: ... + def HasField(self, field_name: typing.Literal["code", b"code", "data", b"data", "message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["code", b"code", "data", b"data", "message", b"message"]) -> None: ... global___RpcError = RpcError -@typing_extensions.final +@typing.final class PerformRpcRequest(google.protobuf.message.Message): """FFI Requests""" @@ -74,12 +70,12 @@ class PerformRpcRequest(google.protobuf.message.Message): payload: builtins.str | None = ..., response_timeout_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... + def HasField(self, field_name: typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destination_identity", b"destination_identity", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... global___PerformRpcRequest = PerformRpcRequest -@typing_extensions.final +@typing.final class RegisterRpcMethodRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -93,12 +89,12 @@ class RegisterRpcMethodRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., method: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... global___RegisterRpcMethodRequest = RegisterRpcMethodRequest -@typing_extensions.final +@typing.final class UnregisterRpcMethodRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -112,12 +108,12 @@ class UnregisterRpcMethodRequest(google.protobuf.message.Message): local_participant_handle: builtins.int | None = ..., method: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "method", b"method"]) -> None: ... global___UnregisterRpcMethodRequest = UnregisterRpcMethodRequest -@typing_extensions.final +@typing.final class RpcMethodInvocationResponseRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -138,12 +134,12 @@ class RpcMethodInvocationResponseRequest(google.protobuf.message.Message): payload: builtins.str | None = ..., error: global___RpcError | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> None: ... + def HasField(self, field_name: typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["error", b"error", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "payload", b"payload"]) -> None: ... global___RpcMethodInvocationResponseRequest = RpcMethodInvocationResponseRequest -@typing_extensions.final +@typing.final class PerformRpcResponse(google.protobuf.message.Message): """FFI Responses""" @@ -156,12 +152,12 @@ class PerformRpcResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___PerformRpcResponse = PerformRpcResponse -@typing_extensions.final +@typing.final class RegisterRpcMethodResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -171,7 +167,7 @@ class RegisterRpcMethodResponse(google.protobuf.message.Message): global___RegisterRpcMethodResponse = RegisterRpcMethodResponse -@typing_extensions.final +@typing.final class UnregisterRpcMethodResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -181,7 +177,7 @@ class UnregisterRpcMethodResponse(google.protobuf.message.Message): global___UnregisterRpcMethodResponse = UnregisterRpcMethodResponse -@typing_extensions.final +@typing.final class RpcMethodInvocationResponseResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -192,12 +188,12 @@ class RpcMethodInvocationResponseResponse(google.protobuf.message.Message): *, error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["error", b"error"]) -> None: ... + def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ... global___RpcMethodInvocationResponseResponse = RpcMethodInvocationResponseResponse -@typing_extensions.final +@typing.final class PerformRpcCallback(google.protobuf.message.Message): """FFI Callbacks""" @@ -217,12 +213,12 @@ class PerformRpcCallback(google.protobuf.message.Message): payload: builtins.str | None = ..., error: global___RpcError | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "payload", b"payload"]) -> None: ... global___PerformRpcCallback = PerformRpcCallback -@typing_extensions.final +@typing.final class RpcMethodInvocationEvent(google.protobuf.message.Message): """FFI Events""" @@ -253,7 +249,7 @@ class RpcMethodInvocationEvent(google.protobuf.message.Message): payload: builtins.str | None = ..., response_timeout_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... + def HasField(self, field_name: typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caller_identity", b"caller_identity", "invocation_id", b"invocation_id", "local_participant_handle", b"local_participant_handle", "method", b"method", "payload", b"payload", "request_id", b"request_id", "response_timeout_ms", b"response_timeout_ms"]) -> None: ... global___RpcMethodInvocationEvent = RpcMethodInvocationEvent diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py index 5d980d06..2cbdb1cd 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: stats.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'stats.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi index 89999043..09c81a99 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import collections.abc import google.protobuf.descriptor @@ -223,11 +224,11 @@ CANDIDATE_PASSIVE: IceTcpCandidateType.ValueType # 1 CANDIDATE_SO: IceTcpCandidateType.ValueType # 2 global___IceTcpCandidateType = IceTcpCandidateType -@typing_extensions.final +@typing.final class RtcStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing_extensions.final + @typing.final class Codec(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -243,10 +244,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., codec: global___CodecStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["codec", b"codec", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["codec", b"codec", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["codec", b"codec", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["codec", b"codec", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class InboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -270,10 +271,10 @@ class RtcStats(google.protobuf.message.Message): received: global___ReceivedRtpStreamStats | None = ..., inbound: global___InboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["inbound", b"inbound", "received", b"received", "rtc", b"rtc", "stream", b"stream"]) -> None: ... - @typing_extensions.final + @typing.final class OutboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -297,10 +298,10 @@ class RtcStats(google.protobuf.message.Message): sent: global___SentRtpStreamStats | None = ..., outbound: global___OutboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["outbound", b"outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... - @typing_extensions.final + @typing.final class RemoteInboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -324,10 +325,10 @@ class RtcStats(google.protobuf.message.Message): received: global___ReceivedRtpStreamStats | None = ..., remote_inbound: global___RemoteInboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["received", b"received", "remote_inbound", b"remote_inbound", "rtc", b"rtc", "stream", b"stream"]) -> None: ... - @typing_extensions.final + @typing.final class RemoteOutboundRtp(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -351,10 +352,10 @@ class RtcStats(google.protobuf.message.Message): sent: global___SentRtpStreamStats | None = ..., remote_outbound: global___RemoteOutboundRtpStreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["remote_outbound", b"remote_outbound", "rtc", b"rtc", "sent", b"sent", "stream", b"stream"]) -> None: ... - @typing_extensions.final + @typing.final class MediaSource(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -378,10 +379,10 @@ class RtcStats(google.protobuf.message.Message): audio: global___AudioSourceStats | None = ..., video: global___VideoSourceStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio", b"audio", "rtc", b"rtc", "source", b"source", "video", b"video"]) -> None: ... - @typing_extensions.final + @typing.final class MediaPlayout(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -397,10 +398,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., audio_playout: global___AudioPlayoutStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_playout", b"audio_playout", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class PeerConnection(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -416,10 +417,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., pc: global___PeerConnectionStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["pc", b"pc", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["pc", b"pc", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["pc", b"pc", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pc", b"pc", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class DataChannel(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -435,10 +436,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., dc: global___DataChannelStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["dc", b"dc", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["dc", b"dc", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["dc", b"dc", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["dc", b"dc", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class Transport(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -454,10 +455,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., transport: global___TransportStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "transport", b"transport"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "transport", b"transport"]) -> None: ... + def HasField(self, field_name: typing.Literal["rtc", b"rtc", "transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["rtc", b"rtc", "transport", b"transport"]) -> None: ... - @typing_extensions.final + @typing.final class CandidatePair(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -473,10 +474,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., candidate_pair: global___CandidatePairStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class LocalCandidate(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -492,10 +493,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., candidate: global___IceCandidateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class RemoteCandidate(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -511,10 +512,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., candidate: global___IceCandidateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["candidate", b"candidate", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class Certificate(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -530,10 +531,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., certificate: global___CertificateStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> None: ... + def HasField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["certificate", b"certificate", "rtc", b"rtc"]) -> None: ... - @typing_extensions.final + @typing.final class Stream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -549,10 +550,10 @@ class RtcStats(google.protobuf.message.Message): rtc: global___RtcStatsData | None = ..., stream: global___StreamStats | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["rtc", b"rtc", "stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["rtc", b"rtc", "stream", b"stream"]) -> None: ... - @typing_extensions.final + @typing.final class Track(google.protobuf.message.Message): """Deprecated""" @@ -630,13 +631,13 @@ class RtcStats(google.protobuf.message.Message): stream: global___RtcStats.Stream | None = ..., track: global___RtcStats.Track | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["stats", b"stats"]) -> typing_extensions.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "stream", "track"] | None: ... + def HasField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["candidate_pair", b"candidate_pair", "certificate", b"certificate", "codec", b"codec", "data_channel", b"data_channel", "inbound_rtp", b"inbound_rtp", "local_candidate", b"local_candidate", "media_playout", b"media_playout", "media_source", b"media_source", "outbound_rtp", b"outbound_rtp", "peer_connection", b"peer_connection", "remote_candidate", b"remote_candidate", "remote_inbound_rtp", b"remote_inbound_rtp", "remote_outbound_rtp", b"remote_outbound_rtp", "stats", b"stats", "stream", b"stream", "track", b"track", "transport", b"transport"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["stats", b"stats"]) -> typing.Literal["codec", "inbound_rtp", "outbound_rtp", "remote_inbound_rtp", "remote_outbound_rtp", "media_source", "media_playout", "peer_connection", "data_channel", "transport", "candidate_pair", "local_candidate", "remote_candidate", "certificate", "stream", "track"] | None: ... global___RtcStats = RtcStats -@typing_extensions.final +@typing.final class RtcStatsData(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -650,12 +651,12 @@ class RtcStatsData(google.protobuf.message.Message): id: builtins.str | None = ..., timestamp: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["id", b"id", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "timestamp", b"timestamp"]) -> None: ... + def HasField(self, field_name: typing.Literal["id", b"id", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["id", b"id", "timestamp", b"timestamp"]) -> None: ... global___RtcStatsData = RtcStatsData -@typing_extensions.final +@typing.final class CodecStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -681,12 +682,12 @@ class CodecStats(google.protobuf.message.Message): channels: builtins.int | None = ..., sdp_fmtp_line: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["channels", b"channels", "clock_rate", b"clock_rate", "mime_type", b"mime_type", "payload_type", b"payload_type", "sdp_fmtp_line", b"sdp_fmtp_line", "transport_id", b"transport_id"]) -> None: ... global___CodecStats = CodecStats -@typing_extensions.final +@typing.final class RtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -706,12 +707,12 @@ class RtpStreamStats(google.protobuf.message.Message): transport_id: builtins.str | None = ..., codec_id: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["codec_id", b"codec_id", "kind", b"kind", "ssrc", b"ssrc", "transport_id", b"transport_id"]) -> None: ... global___RtpStreamStats = RtpStreamStats -@typing_extensions.final +@typing.final class ReceivedRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -728,12 +729,12 @@ class ReceivedRtpStreamStats(google.protobuf.message.Message): packets_lost: builtins.int | None = ..., jitter: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> None: ... + def HasField(self, field_name: typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> None: ... global___ReceivedRtpStreamStats = ReceivedRtpStreamStats -@typing_extensions.final +@typing.final class InboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -900,12 +901,12 @@ class InboundRtpStreamStats(google.protobuf.message.Message): rtx_ssrc: builtins.int | None = ..., fec_ssrc: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_level", b"audio_level", "bytes_received", b"bytes_received", "concealed_samples", b"concealed_samples", "concealment_events", b"concealment_events", "decoder_implementation", b"decoder_implementation", "estimated_playout_timestamp", b"estimated_playout_timestamp", "fec_bytes_received", b"fec_bytes_received", "fec_packets_discarded", b"fec_packets_discarded", "fec_packets_received", b"fec_packets_received", "fec_ssrc", b"fec_ssrc", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_assembled_from_multiple_packets", b"frames_assembled_from_multiple_packets", "frames_decoded", b"frames_decoded", "frames_dropped", b"frames_dropped", "frames_per_second", b"frames_per_second", "frames_received", b"frames_received", "frames_rendered", b"frames_rendered", "freeze_count", b"freeze_count", "header_bytes_received", b"header_bytes_received", "inserted_samples_for_deceleration", b"inserted_samples_for_deceleration", "jitter_buffer_delay", b"jitter_buffer_delay", "jitter_buffer_emitted_count", b"jitter_buffer_emitted_count", "jitter_buffer_minimum_delay", b"jitter_buffer_minimum_delay", "jitter_buffer_target_delay", b"jitter_buffer_target_delay", "key_frames_decoded", b"key_frames_decoded", "last_packet_received_timestamp", b"last_packet_received_timestamp", "mid", b"mid", "nack_count", b"nack_count", "packets_discarded", b"packets_discarded", "pause_count", b"pause_count", "playout_id", b"playout_id", "pli_count", b"pli_count", "power_efficient_decoder", b"power_efficient_decoder", "qp_sum", b"qp_sum", "remote_id", b"remote_id", "removed_samples_for_acceleration", b"removed_samples_for_acceleration", "retransmitted_bytes_received", b"retransmitted_bytes_received", "retransmitted_packets_received", b"retransmitted_packets_received", "rtx_ssrc", b"rtx_ssrc", "silent_concealed_samples", b"silent_concealed_samples", "total_assembly_time", b"total_assembly_time", "total_audio_energy", b"total_audio_energy", "total_decode_time", b"total_decode_time", "total_freeze_duration", b"total_freeze_duration", "total_inter_frame_delay", b"total_inter_frame_delay", "total_pause_duration", b"total_pause_duration", "total_processing_delay", b"total_processing_delay", "total_samples_duration", b"total_samples_duration", "total_samples_received", b"total_samples_received", "total_squared_inter_frame_delay", b"total_squared_inter_frame_delay", "track_identifier", b"track_identifier"]) -> None: ... global___InboundRtpStreamStats = InboundRtpStreamStats -@typing_extensions.final +@typing.final class SentRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -919,16 +920,16 @@ class SentRtpStreamStats(google.protobuf.message.Message): packets_sent: builtins.int | None = ..., bytes_sent: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> None: ... + def HasField(self, field_name: typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> None: ... global___SentRtpStreamStats = SentRtpStreamStats -@typing_extensions.final +@typing.final class OutboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing_extensions.final + @typing.final class QualityLimitationDurationsEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -942,8 +943,8 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): key: builtins.str | None = ..., value: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> 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: ... MID_FIELD_NUMBER: builtins.int MEDIA_SOURCE_ID_FIELD_NUMBER: builtins.int @@ -996,8 +997,6 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): total_encode_time: builtins.float total_packet_send_delay: builtins.float quality_limitation_reason: global___QualityLimitationReason.ValueType - @property - def quality_limitation_durations(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: ... quality_limitation_resolution_changes: builtins.int nack_count: builtins.int fir_count: builtins.int @@ -1006,6 +1005,8 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): power_efficient_encoder: builtins.bool active: builtins.bool scalability_mode: builtins.str + @property + def quality_limitation_durations(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: ... def __init__( self, *, @@ -1040,12 +1041,12 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): active: builtins.bool | None = ..., scalability_mode: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_durations", b"quality_limitation_durations", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> None: ... + def HasField(self, field_name: typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["active", b"active", "encoder_implementation", b"encoder_implementation", "fir_count", b"fir_count", "frame_height", b"frame_height", "frame_width", b"frame_width", "frames_encoded", b"frames_encoded", "frames_per_second", b"frames_per_second", "frames_sent", b"frames_sent", "header_bytes_sent", b"header_bytes_sent", "huge_frames_sent", b"huge_frames_sent", "key_frames_encoded", b"key_frames_encoded", "media_source_id", b"media_source_id", "mid", b"mid", "nack_count", b"nack_count", "pli_count", b"pli_count", "power_efficient_encoder", b"power_efficient_encoder", "qp_sum", b"qp_sum", "quality_limitation_durations", b"quality_limitation_durations", "quality_limitation_reason", b"quality_limitation_reason", "quality_limitation_resolution_changes", b"quality_limitation_resolution_changes", "remote_id", b"remote_id", "retransmitted_bytes_sent", b"retransmitted_bytes_sent", "retransmitted_packets_sent", b"retransmitted_packets_sent", "rid", b"rid", "rtx_ssrc", b"rtx_ssrc", "scalability_mode", b"scalability_mode", "target_bitrate", b"target_bitrate", "total_encode_time", b"total_encode_time", "total_encoded_bytes_target", b"total_encoded_bytes_target", "total_packet_send_delay", b"total_packet_send_delay"]) -> None: ... global___OutboundRtpStreamStats = OutboundRtpStreamStats -@typing_extensions.final +@typing.final class RemoteInboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1068,12 +1069,12 @@ class RemoteInboundRtpStreamStats(google.protobuf.message.Message): fraction_lost: builtins.float | None = ..., round_trip_time_measurements: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... + def HasField(self, field_name: typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fraction_lost", b"fraction_lost", "local_id", b"local_id", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... global___RemoteInboundRtpStreamStats = RemoteInboundRtpStreamStats -@typing_extensions.final +@typing.final class RemoteOutboundRtpStreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1099,12 +1100,12 @@ class RemoteOutboundRtpStreamStats(google.protobuf.message.Message): total_round_trip_time: builtins.float | None = ..., round_trip_time_measurements: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... + def HasField(self, field_name: typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["local_id", b"local_id", "remote_timestamp", b"remote_timestamp", "reports_sent", b"reports_sent", "round_trip_time", b"round_trip_time", "round_trip_time_measurements", b"round_trip_time_measurements", "total_round_trip_time", b"total_round_trip_time"]) -> None: ... global___RemoteOutboundRtpStreamStats = RemoteOutboundRtpStreamStats -@typing_extensions.final +@typing.final class MediaSourceStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1118,12 +1119,12 @@ class MediaSourceStats(google.protobuf.message.Message): track_identifier: builtins.str | None = ..., kind: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> None: ... + def HasField(self, field_name: typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> None: ... global___MediaSourceStats = MediaSourceStats -@typing_extensions.final +@typing.final class AudioSourceStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1158,12 +1159,12 @@ class AudioSourceStats(google.protobuf.message.Message): total_capture_delay: builtins.float | None = ..., total_samples_captured: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_level", b"audio_level", "dropped_samples_duration", b"dropped_samples_duration", "dropped_samples_events", b"dropped_samples_events", "echo_return_loss", b"echo_return_loss", "echo_return_loss_enhancement", b"echo_return_loss_enhancement", "total_audio_energy", b"total_audio_energy", "total_capture_delay", b"total_capture_delay", "total_samples_captured", b"total_samples_captured", "total_samples_duration", b"total_samples_duration"]) -> None: ... global___AudioSourceStats = AudioSourceStats -@typing_extensions.final +@typing.final class VideoSourceStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1183,12 +1184,12 @@ class VideoSourceStats(google.protobuf.message.Message): frames: builtins.int | None = ..., frames_per_second: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["frames", b"frames", "frames_per_second", b"frames_per_second", "height", b"height", "width", b"width"]) -> None: ... global___VideoSourceStats = VideoSourceStats -@typing_extensions.final +@typing.final class AudioPlayoutStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1214,12 +1215,12 @@ class AudioPlayoutStats(google.protobuf.message.Message): total_playout_delay: builtins.float | None = ..., total_samples_count: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> None: ... + def HasField(self, field_name: typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["kind", b"kind", "synthesized_samples_duration", b"synthesized_samples_duration", "synthesized_samples_events", b"synthesized_samples_events", "total_playout_delay", b"total_playout_delay", "total_samples_count", b"total_samples_count", "total_samples_duration", b"total_samples_duration"]) -> None: ... global___AudioPlayoutStats = AudioPlayoutStats -@typing_extensions.final +@typing.final class PeerConnectionStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1233,12 +1234,12 @@ class PeerConnectionStats(google.protobuf.message.Message): data_channels_opened: builtins.int | None = ..., data_channels_closed: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> None: ... + def HasField(self, field_name: typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> None: ... global___PeerConnectionStats = PeerConnectionStats -@typing_extensions.final +@typing.final class DataChannelStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1270,12 +1271,12 @@ class DataChannelStats(google.protobuf.message.Message): messages_received: builtins.int | None = ..., bytes_received: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> None: ... + def HasField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "data_channel_identifier", b"data_channel_identifier", "label", b"label", "messages_received", b"messages_received", "messages_sent", b"messages_sent", "protocol", b"protocol", "state", b"state"]) -> None: ... global___DataChannelStats = DataChannelStats -@typing_extensions.final +@typing.final class TransportStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1331,12 +1332,12 @@ class TransportStats(google.protobuf.message.Message): srtp_cipher: builtins.str | None = ..., selected_candidate_pair_changes: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> None: ... + def HasField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "dtls_cipher", b"dtls_cipher", "dtls_role", b"dtls_role", "dtls_state", b"dtls_state", "ice_local_username_fragment", b"ice_local_username_fragment", "ice_role", b"ice_role", "ice_state", b"ice_state", "local_certificate_id", b"local_certificate_id", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_certificate_id", b"remote_certificate_id", "selected_candidate_pair_changes", b"selected_candidate_pair_changes", "selected_candidate_pair_id", b"selected_candidate_pair_id", "srtp_cipher", b"srtp_cipher", "tls_version", b"tls_version"]) -> None: ... global___TransportStats = TransportStats -@typing_extensions.final +@typing.final class CandidatePairStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1410,12 +1411,12 @@ class CandidatePairStats(google.protobuf.message.Message): packets_discarded_on_send: builtins.int | None = ..., bytes_discarded_on_send: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["available_incoming_bitrate", b"available_incoming_bitrate", "available_outgoing_bitrate", b"available_outgoing_bitrate", "bytes_discarded_on_send", b"bytes_discarded_on_send", "bytes_received", b"bytes_received", "bytes_sent", b"bytes_sent", "consent_requests_sent", b"consent_requests_sent", "current_round_trip_time", b"current_round_trip_time", "last_packet_received_timestamp", b"last_packet_received_timestamp", "last_packet_sent_timestamp", b"last_packet_sent_timestamp", "local_candidate_id", b"local_candidate_id", "nominated", b"nominated", "packets_discarded_on_send", b"packets_discarded_on_send", "packets_received", b"packets_received", "packets_sent", b"packets_sent", "remote_candidate_id", b"remote_candidate_id", "requests_received", b"requests_received", "requests_sent", b"requests_sent", "responses_received", b"responses_received", "responses_sent", b"responses_sent", "state", b"state", "total_round_trip_time", b"total_round_trip_time", "transport_id", b"transport_id"]) -> None: ... global___CandidatePairStats = CandidatePairStats -@typing_extensions.final +@typing.final class IceCandidateStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1462,12 +1463,12 @@ class IceCandidateStats(google.protobuf.message.Message): username_fragment: builtins.str | None = ..., tcp_type: global___IceTcpCandidateType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> None: ... + def HasField(self, field_name: typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["address", b"address", "candidate_type", b"candidate_type", "foundation", b"foundation", "port", b"port", "priority", b"priority", "protocol", b"protocol", "related_address", b"related_address", "related_port", b"related_port", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type", "transport_id", b"transport_id", "url", b"url", "username_fragment", b"username_fragment"]) -> None: ... global___IceCandidateStats = IceCandidateStats -@typing_extensions.final +@typing.final class CertificateStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1487,12 +1488,12 @@ class CertificateStats(google.protobuf.message.Message): base64_certificate: builtins.str | None = ..., issuer_certificate_id: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["base64_certificate", b"base64_certificate", "fingerprint", b"fingerprint", "fingerprint_algorithm", b"fingerprint_algorithm", "issuer_certificate_id", b"issuer_certificate_id"]) -> None: ... global___CertificateStats = CertificateStats -@typing_extensions.final +@typing.final class StreamStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1507,7 +1508,7 @@ class StreamStats(google.protobuf.message.Message): id: builtins.str | None = ..., stream_identifier: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> None: ... + def HasField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["id", b"id", "stream_identifier", b"stream_identifier"]) -> None: ... global___StreamStats = StreamStats diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.py b/livekit-rtc/livekit/rtc/_proto/track_pb2.py index 2561f7dd..fcf32b38 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/track_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: track.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'track.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi index 17dd2f2b..92792d05 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import collections.abc from . import e2ee_pb2 @@ -89,7 +90,7 @@ STATE_ACTIVE: StreamState.ValueType # 1 STATE_PAUSED: StreamState.ValueType # 2 global___StreamState = StreamState -@typing_extensions.final +@typing.final class CreateVideoTrackRequest(google.protobuf.message.Message): """Create a new VideoTrack from a VideoSource""" @@ -105,12 +106,12 @@ class CreateVideoTrackRequest(google.protobuf.message.Message): name: builtins.str | None = ..., source_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... global___CreateVideoTrackRequest = CreateVideoTrackRequest -@typing_extensions.final +@typing.final class CreateVideoTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -122,12 +123,12 @@ class CreateVideoTrackResponse(google.protobuf.message.Message): *, track: global___OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["track", b"track"]) -> None: ... + def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["track", b"track"]) -> None: ... global___CreateVideoTrackResponse = CreateVideoTrackResponse -@typing_extensions.final +@typing.final class CreateAudioTrackRequest(google.protobuf.message.Message): """Create a new AudioTrack from a AudioSource""" @@ -143,12 +144,12 @@ class CreateAudioTrackRequest(google.protobuf.message.Message): name: builtins.str | None = ..., source_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... global___CreateAudioTrackRequest = CreateAudioTrackRequest -@typing_extensions.final +@typing.final class CreateAudioTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -160,12 +161,12 @@ class CreateAudioTrackResponse(google.protobuf.message.Message): *, track: global___OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["track", b"track"]) -> None: ... + def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["track", b"track"]) -> None: ... global___CreateAudioTrackResponse = CreateAudioTrackResponse -@typing_extensions.final +@typing.final class GetStatsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -176,12 +177,12 @@ class GetStatsRequest(google.protobuf.message.Message): *, track_handle: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> None: ... global___GetStatsRequest = GetStatsRequest -@typing_extensions.final +@typing.final class GetStatsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -192,12 +193,12 @@ class GetStatsResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... global___GetStatsResponse = GetStatsResponse -@typing_extensions.final +@typing.final class GetStatsCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -215,12 +216,12 @@ class GetStatsCallback(google.protobuf.message.Message): error: builtins.str | None = ..., stats: collections.abc.Iterable[stats_pb2.RtcStats] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id", "error", b"error", "stats", b"stats"]) -> None: ... + def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "stats", b"stats"]) -> None: ... global___GetStatsCallback = GetStatsCallback -@typing_extensions.final +@typing.final class TrackEvent(google.protobuf.message.Message): """ Track @@ -234,7 +235,7 @@ class TrackEvent(google.protobuf.message.Message): global___TrackEvent = TrackEvent -@typing_extensions.final +@typing.final class TrackPublicationInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -275,12 +276,12 @@ class TrackPublicationInfo(google.protobuf.message.Message): remote: builtins.bool | None = ..., encryption_type: e2ee_pb2.EncryptionType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encryption_type", b"encryption_type", "height", b"height", "kind", b"kind", "mime_type", b"mime_type", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "simulcasted", b"simulcasted", "source", b"source", "width", b"width"]) -> None: ... global___TrackPublicationInfo = TrackPublicationInfo -@typing_extensions.final +@typing.final class OwnedTrackPublication(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -296,12 +297,12 @@ class OwnedTrackPublication(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___TrackPublicationInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedTrackPublication = OwnedTrackPublication -@typing_extensions.final +@typing.final class TrackInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -327,12 +328,12 @@ class TrackInfo(google.protobuf.message.Message): muted: builtins.bool | None = ..., remote: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> None: ... + def HasField(self, field_name: typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["kind", b"kind", "muted", b"muted", "name", b"name", "remote", b"remote", "sid", b"sid", "stream_state", b"stream_state"]) -> None: ... global___TrackInfo = TrackInfo -@typing_extensions.final +@typing.final class OwnedTrack(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -348,12 +349,12 @@ class OwnedTrack(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___TrackInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedTrack = OwnedTrack -@typing_extensions.final +@typing.final class LocalTrackMuteRequest(google.protobuf.message.Message): """Mute/UnMute a track""" @@ -369,12 +370,12 @@ class LocalTrackMuteRequest(google.protobuf.message.Message): track_handle: builtins.int | None = ..., mute: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mute", b"mute", "track_handle", b"track_handle"]) -> None: ... global___LocalTrackMuteRequest = LocalTrackMuteRequest -@typing_extensions.final +@typing.final class LocalTrackMuteResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -385,12 +386,12 @@ class LocalTrackMuteResponse(google.protobuf.message.Message): *, muted: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> None: ... + def HasField(self, field_name: typing.Literal["muted", b"muted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["muted", b"muted"]) -> None: ... global___LocalTrackMuteResponse = LocalTrackMuteResponse -@typing_extensions.final +@typing.final class EnableRemoteTrackRequest(google.protobuf.message.Message): """Enable/Disable a remote track""" @@ -406,12 +407,12 @@ class EnableRemoteTrackRequest(google.protobuf.message.Message): track_handle: builtins.int | None = ..., enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> None: ... + def HasField(self, field_name: typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "track_handle", b"track_handle"]) -> None: ... global___EnableRemoteTrackRequest = EnableRemoteTrackRequest -@typing_extensions.final +@typing.final class EnableRemoteTrackResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -422,7 +423,7 @@ class EnableRemoteTrackResponse(google.protobuf.message.Message): *, enabled: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["enabled", b"enabled"]) -> None: ... + def HasField(self, field_name: typing.Literal["enabled", b"enabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... global___EnableRemoteTrackResponse = EnableRemoteTrackResponse diff --git a/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py new file mode 100644 index 00000000..22a19081 --- /dev/null +++ b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: track_publication.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17track_publication.proto\x12\rlivekit.proto\"X\n#EnableRemoteTrackPublicationRequest\x12 \n\x18track_publication_handle\x18\x01 \x02(\x04\x12\x0f\n\x07\x65nabled\x18\x02 \x02(\x08\"&\n$EnableRemoteTrackPublicationResponse\"o\n,UpdateRemoteTrackPublicationDimensionRequest\x12 \n\x18track_publication_handle\x18\x01 \x02(\x04\x12\r\n\x05width\x18\x02 \x02(\r\x12\x0e\n\x06height\x18\x03 \x02(\r\"/\n-UpdateRemoteTrackPublicationDimensionResponseB\x10\xaa\x02\rLiveKit.Proto') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'track_publication_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['_ENABLEREMOTETRACKPUBLICATIONREQUEST']._serialized_start=42 + _globals['_ENABLEREMOTETRACKPUBLICATIONREQUEST']._serialized_end=130 + _globals['_ENABLEREMOTETRACKPUBLICATIONRESPONSE']._serialized_start=132 + _globals['_ENABLEREMOTETRACKPUBLICATIONRESPONSE']._serialized_end=170 + _globals['_UPDATEREMOTETRACKPUBLICATIONDIMENSIONREQUEST']._serialized_start=172 + _globals['_UPDATEREMOTETRACKPUBLICATIONDIMENSIONREQUEST']._serialized_end=283 + _globals['_UPDATEREMOTETRACKPUBLICATIONDIMENSIONRESPONSE']._serialized_start=285 + _globals['_UPDATEREMOTETRACKPUBLICATIONDIMENSIONRESPONSE']._serialized_end=332 +# @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi new file mode 100644 index 00000000..c39bb80d --- /dev/null +++ b/livekit-rtc/livekit/rtc/_proto/track_publication_pb2.pyi @@ -0,0 +1,89 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +Copyright 2023 LiveKit, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class EnableRemoteTrackPublicationRequest(google.protobuf.message.Message): + """Enable/Disable a remote track publication""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int + ENABLED_FIELD_NUMBER: builtins.int + track_publication_handle: builtins.int + enabled: builtins.bool + def __init__( + self, + *, + track_publication_handle: builtins.int | None = ..., + enabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "track_publication_handle", b"track_publication_handle"]) -> None: ... + +global___EnableRemoteTrackPublicationRequest = EnableRemoteTrackPublicationRequest + +@typing.final +class EnableRemoteTrackPublicationResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___EnableRemoteTrackPublicationResponse = EnableRemoteTrackPublicationResponse + +@typing.final +class UpdateRemoteTrackPublicationDimensionRequest(google.protobuf.message.Message): + """update a remote track publication dimension""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TRACK_PUBLICATION_HANDLE_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + track_publication_handle: builtins.int + width: builtins.int + height: builtins.int + def __init__( + self, + *, + track_publication_handle: builtins.int | None = ..., + width: builtins.int | None = ..., + height: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["height", b"height", "track_publication_handle", b"track_publication_handle", "width", b"width"]) -> None: ... + +global___UpdateRemoteTrackPublicationDimensionRequest = UpdateRemoteTrackPublicationDimensionRequest + +@typing.final +class UpdateRemoteTrackPublicationDimensionResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___UpdateRemoteTrackPublicationDimensionResponse = UpdateRemoteTrackPublicationDimensionResponse diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py index 623d0d7b..ba410f44 100644 --- a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py @@ -1,22 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: video_frame.proto -# Protobuf Python Version: 5.29.2 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 5, - 29, - 2, - '', - 'video_frame.proto' -) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi index 330839aa..313cb77d 100644 --- a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi @@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. """ + import builtins import collections.abc import google.protobuf.descriptor @@ -137,7 +138,7 @@ class VideoSourceType(_VideoSourceType, metaclass=_VideoSourceTypeEnumTypeWrappe VIDEO_SOURCE_NATIVE: VideoSourceType.ValueType # 0 global___VideoSourceType = VideoSourceType -@typing_extensions.final +@typing.final class NewVideoStreamRequest(google.protobuf.message.Message): """Create a new VideoStream VideoStream is used to receive video frames from a track @@ -163,12 +164,12 @@ class NewVideoStreamRequest(google.protobuf.message.Message): format: global___VideoBufferType.ValueType | None = ..., normalize_stride: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> None: ... global___NewVideoStreamRequest = NewVideoStreamRequest -@typing_extensions.final +@typing.final class NewVideoStreamResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -180,12 +181,12 @@ class NewVideoStreamResponse(google.protobuf.message.Message): *, stream: global___OwnedVideoStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... global___NewVideoStreamResponse = NewVideoStreamResponse -@typing_extensions.final +@typing.final class VideoStreamFromParticipantRequest(google.protobuf.message.Message): """Request a video stream from a participant""" @@ -210,12 +211,12 @@ class VideoStreamFromParticipantRequest(google.protobuf.message.Message): format: global___VideoBufferType.ValueType | None = ..., normalize_stride: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["format", b"format", "normalize_stride", b"normalize_stride", "participant_handle", b"participant_handle", "track_source", b"track_source", "type", b"type"]) -> None: ... global___VideoStreamFromParticipantRequest = VideoStreamFromParticipantRequest -@typing_extensions.final +@typing.final class VideoStreamFromParticipantResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -227,12 +228,12 @@ class VideoStreamFromParticipantResponse(google.protobuf.message.Message): *, stream: global___OwnedVideoStream | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["stream", b"stream"]) -> None: ... + def HasField(self, field_name: typing.Literal["stream", b"stream"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["stream", b"stream"]) -> None: ... global___VideoStreamFromParticipantResponse = VideoStreamFromParticipantResponse -@typing_extensions.final +@typing.final class NewVideoSourceRequest(google.protobuf.message.Message): """Create a new VideoSource VideoSource is used to send video frame to a track @@ -248,18 +249,19 @@ class NewVideoSourceRequest(google.protobuf.message.Message): """Used to determine which encodings to use + simulcast layers Most of the time it corresponds to the source resolution """ + def __init__( self, *, type: global___VideoSourceType.ValueType | None = ..., resolution: global___VideoSourceResolution | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["resolution", b"resolution", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["resolution", b"resolution", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["resolution", b"resolution", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["resolution", b"resolution", "type", b"type"]) -> None: ... global___NewVideoSourceRequest = NewVideoSourceRequest -@typing_extensions.final +@typing.final class NewVideoSourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -271,12 +273,12 @@ class NewVideoSourceResponse(google.protobuf.message.Message): *, source: global___OwnedVideoSource | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["source", b"source"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["source", b"source"]) -> None: ... + def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... global___NewVideoSourceResponse = NewVideoSourceResponse -@typing_extensions.final +@typing.final class CaptureVideoFrameRequest(google.protobuf.message.Message): """Push a frame to a VideoSource""" @@ -287,11 +289,11 @@ class CaptureVideoFrameRequest(google.protobuf.message.Message): TIMESTAMP_US_FIELD_NUMBER: builtins.int ROTATION_FIELD_NUMBER: builtins.int source_handle: builtins.int - @property - def buffer(self) -> global___VideoBufferInfo: ... timestamp_us: builtins.int """In microseconds""" rotation: global___VideoRotation.ValueType + @property + def buffer(self) -> global___VideoBufferInfo: ... def __init__( self, *, @@ -300,12 +302,12 @@ class CaptureVideoFrameRequest(google.protobuf.message.Message): timestamp_us: builtins.int | None = ..., rotation: global___VideoRotation.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> None: ... + def HasField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "source_handle", b"source_handle", "timestamp_us", b"timestamp_us"]) -> None: ... global___CaptureVideoFrameRequest = CaptureVideoFrameRequest -@typing_extensions.final +@typing.final class CaptureVideoFrameResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -315,7 +317,7 @@ class CaptureVideoFrameResponse(google.protobuf.message.Message): global___CaptureVideoFrameResponse = CaptureVideoFrameResponse -@typing_extensions.final +@typing.final class VideoConvertRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -323,9 +325,9 @@ class VideoConvertRequest(google.protobuf.message.Message): BUFFER_FIELD_NUMBER: builtins.int DST_TYPE_FIELD_NUMBER: builtins.int flip_y: builtins.bool + dst_type: global___VideoBufferType.ValueType @property def buffer(self) -> global___VideoBufferInfo: ... - dst_type: global___VideoBufferType.ValueType def __init__( self, *, @@ -333,12 +335,12 @@ class VideoConvertRequest(google.protobuf.message.Message): buffer: global___VideoBufferInfo | None = ..., dst_type: global___VideoBufferType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> None: ... + def HasField(self, field_name: typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "dst_type", b"dst_type", "flip_y", b"flip_y"]) -> None: ... global___VideoConvertRequest = VideoConvertRequest -@typing_extensions.final +@typing.final class VideoConvertResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -353,13 +355,13 @@ class VideoConvertResponse(google.protobuf.message.Message): error: builtins.str | None = ..., buffer: global___OwnedVideoBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["error", "buffer"] | None: ... + def HasField(self, field_name: typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "error", b"error", "message", b"message"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "buffer"] | None: ... global___VideoConvertResponse = VideoConvertResponse -@typing_extensions.final +@typing.final class VideoResolution(google.protobuf.message.Message): """ VideoFrame buffers @@ -380,16 +382,16 @@ class VideoResolution(google.protobuf.message.Message): height: builtins.int | None = ..., frame_rate: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> None: ... global___VideoResolution = VideoResolution -@typing_extensions.final +@typing.final class VideoBufferInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - @typing_extensions.final + @typing.final class ComponentInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -406,8 +408,8 @@ class VideoBufferInfo(google.protobuf.message.Message): stride: builtins.int | None = ..., size: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> None: ... + def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> None: ... TYPE_FIELD_NUMBER: builtins.int WIDTH_FIELD_NUMBER: builtins.int @@ -433,12 +435,12 @@ class VideoBufferInfo(google.protobuf.message.Message): stride: builtins.int | None = ..., components: collections.abc.Iterable[global___VideoBufferInfo.ComponentInfo] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["components", b"components", "data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["components", b"components", "data_ptr", b"data_ptr", "height", b"height", "stride", b"stride", "type", b"type", "width", b"width"]) -> None: ... global___VideoBufferInfo = VideoBufferInfo -@typing_extensions.final +@typing.final class OwnedVideoBuffer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -454,12 +456,12 @@ class OwnedVideoBuffer(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___VideoBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedVideoBuffer = OwnedVideoBuffer -@typing_extensions.final +@typing.final class VideoStreamInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -470,12 +472,12 @@ class VideoStreamInfo(google.protobuf.message.Message): *, type: global___VideoStreamType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... global___VideoStreamInfo = VideoStreamInfo -@typing_extensions.final +@typing.final class OwnedVideoStream(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -491,12 +493,12 @@ class OwnedVideoStream(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___VideoStreamInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedVideoStream = OwnedVideoStream -@typing_extensions.final +@typing.final class VideoStreamEvent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -515,24 +517,24 @@ class VideoStreamEvent(google.protobuf.message.Message): frame_received: global___VideoFrameReceived | None = ..., eos: global___VideoStreamEOS | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["frame_received", "eos"] | None: ... + def HasField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["eos", b"eos", "frame_received", b"frame_received", "message", b"message", "stream_handle", b"stream_handle"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["frame_received", "eos"] | None: ... global___VideoStreamEvent = VideoStreamEvent -@typing_extensions.final +@typing.final class VideoFrameReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor BUFFER_FIELD_NUMBER: builtins.int TIMESTAMP_US_FIELD_NUMBER: builtins.int ROTATION_FIELD_NUMBER: builtins.int - @property - def buffer(self) -> global___OwnedVideoBuffer: ... timestamp_us: builtins.int """In microseconds""" rotation: global___VideoRotation.ValueType + @property + def buffer(self) -> global___OwnedVideoBuffer: ... def __init__( self, *, @@ -540,12 +542,12 @@ class VideoFrameReceived(google.protobuf.message.Message): timestamp_us: builtins.int | None = ..., rotation: global___VideoRotation.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> None: ... + def HasField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buffer", b"buffer", "rotation", b"rotation", "timestamp_us", b"timestamp_us"]) -> None: ... global___VideoFrameReceived = VideoFrameReceived -@typing_extensions.final +@typing.final class VideoStreamEOS(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -555,7 +557,7 @@ class VideoStreamEOS(google.protobuf.message.Message): global___VideoStreamEOS = VideoStreamEOS -@typing_extensions.final +@typing.final class VideoSourceResolution(google.protobuf.message.Message): """ VideoSource @@ -573,12 +575,12 @@ class VideoSourceResolution(google.protobuf.message.Message): width: builtins.int | None = ..., height: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["height", b"height", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["height", b"height", "width", b"width"]) -> None: ... + def HasField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> None: ... global___VideoSourceResolution = VideoSourceResolution -@typing_extensions.final +@typing.final class VideoSourceInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -589,12 +591,12 @@ class VideoSourceInfo(google.protobuf.message.Message): *, type: global___VideoSourceType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... global___VideoSourceInfo = VideoSourceInfo -@typing_extensions.final +@typing.final class OwnedVideoSource(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -610,7 +612,7 @@ class OwnedVideoSource(google.protobuf.message.Message): handle: handle_pb2.FfiOwnedHandle | None = ..., info: global___VideoSourceInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["handle", b"handle", "info", b"info"]) -> None: ... + def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ... global___OwnedVideoSource = OwnedVideoSource From 66c2121220b6a19acaa1d7d984f7313cb0f04d12 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sat, 28 Dec 2024 23:54:08 -0700 Subject: [PATCH 05/10] raise protobuf version to match generator --- livekit-rtc/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/livekit-rtc/setup.py b/livekit-rtc/setup.py index c2bab585..20bbb1b8 100644 --- a/livekit-rtc/setup.py +++ b/livekit-rtc/setup.py @@ -58,7 +58,7 @@ def finalize_options(self): license="Apache-2.0", packages=setuptools.find_namespace_packages(include=["livekit.*"]), python_requires=">=3.9.0", - install_requires=["protobuf>=5", "types-protobuf>=3"], + install_requires=["protobuf>=5.26.1", "types-protobuf>=3"], package_data={ "livekit.rtc": ["_proto/*.py", "py.typed", "*.pyi", "**/*.pyi"], "livekit.rtc.resources": ["*.so", "*.dylib", "*.dll", "LICENSE.md", "*.h"], From 692cb120d46a5d887306e0f284e21b7df06223c7 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sun, 29 Dec 2024 00:00:55 -0700 Subject: [PATCH 06/10] adding disconnect reason --- livekit-rtc/livekit/rtc/__init__.py | 3 ++- livekit-rtc/livekit/rtc/participant.py | 11 +++++++++-- livekit-rtc/livekit/rtc/version.py | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/livekit-rtc/livekit/rtc/__init__.py b/livekit-rtc/livekit/rtc/__init__.py index bfecba2b..b6784af7 100644 --- a/livekit-rtc/livekit/rtc/__init__.py +++ b/livekit-rtc/livekit/rtc/__init__.py @@ -16,7 +16,7 @@ from ._proto import stats_pb2 as stats from ._proto.e2ee_pb2 import EncryptionState, EncryptionType -from ._proto.participant_pb2 import ParticipantKind +from ._proto.participant_pb2 import ParticipantKind, DisconnectReason from ._proto.room_pb2 import ( ConnectionQuality, ConnectionState, @@ -98,6 +98,7 @@ "LocalParticipant", "Participant", "ParticipantKind", + "DisconnectReason", "RemoteParticipant", "ConnectError", "Room", diff --git a/livekit-rtc/livekit/rtc/participant.py b/livekit-rtc/livekit/rtc/participant.py index 351182b8..6b4ae805 100644 --- a/livekit-rtc/livekit/rtc/participant.py +++ b/livekit-rtc/livekit/rtc/participant.py @@ -107,6 +107,11 @@ def kind(self) -> proto_participant.ParticipantKind.ValueType: """Participant's kind (e.g., regular participant, ingress, egress, sip, agent).""" return self._info.kind + @property + def disconnect_reason(self) -> proto_participant.DisconnectReason.ValueType: + """Reason for the participant's disconnection.""" + return self._info.disconnect_reason + class LocalParticipant(Participant): """Represents the local participant in a room.""" @@ -413,7 +418,8 @@ async def run_handler(): response_error = error except Exception as error: logger.exception( - f"Uncaught error returned by RPC handler for {method}. Returning APPLICATION_ERROR instead. Original error: {error}", + f"Uncaught error returned by RPC handler for { + method}. Returning APPLICATION_ERROR instead. Original error: {error}", ) response_error = RpcError._built_in( RpcError.ErrorCode.APPLICATION_ERROR @@ -432,7 +438,8 @@ async def run_handler(): if res.rpc_method_invocation_response.error: logger.exception( - f"error sending rpc method invocation response: {res.rpc_method_invocation_response.error}" + f"error sending rpc method invocation response: { + res.rpc_method_invocation_response.error}" ) async def set_metadata(self, metadata: str) -> None: diff --git a/livekit-rtc/livekit/rtc/version.py b/livekit-rtc/livekit/rtc/version.py index e61f7a55..11ac8e1a 100644 --- a/livekit-rtc/livekit/rtc/version.py +++ b/livekit-rtc/livekit/rtc/version.py @@ -1 +1 @@ -__version__ = "0.18.4" +__version__ = "0.19.0" From 7c35ce676707ae19513d17c04611c7595f5a892f Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sun, 29 Dec 2024 00:04:33 -0700 Subject: [PATCH 07/10] format --- livekit-rtc/livekit/rtc/participant.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/livekit-rtc/livekit/rtc/participant.py b/livekit-rtc/livekit/rtc/participant.py index 6b4ae805..c4508dca 100644 --- a/livekit-rtc/livekit/rtc/participant.py +++ b/livekit-rtc/livekit/rtc/participant.py @@ -418,8 +418,8 @@ async def run_handler(): response_error = error except Exception as error: logger.exception( - f"Uncaught error returned by RPC handler for { - method}. Returning APPLICATION_ERROR instead. Original error: {error}", + f"Uncaught error returned by RPC handler for {method}." + f" Returning APPLICATION_ERROR instead. Original error: {error}" ) response_error = RpcError._built_in( RpcError.ErrorCode.APPLICATION_ERROR From 1358f4cb65833b32196c608b275b6b7817501cee Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sun, 29 Dec 2024 00:09:13 -0700 Subject: [PATCH 08/10] fix --- livekit-rtc/livekit/rtc/participant.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/livekit-rtc/livekit/rtc/participant.py b/livekit-rtc/livekit/rtc/participant.py index c4508dca..97e937c4 100644 --- a/livekit-rtc/livekit/rtc/participant.py +++ b/livekit-rtc/livekit/rtc/participant.py @@ -418,8 +418,9 @@ async def run_handler(): response_error = error except Exception as error: logger.exception( - f"Uncaught error returned by RPC handler for {method}." - f" Returning APPLICATION_ERROR instead. Original error: {error}" + f"Uncaught error returned by RPC handler for {method}. " + "Returning APPLICATION_ERROR instead. " + f"Original error: {error}" ) response_error = RpcError._built_in( RpcError.ErrorCode.APPLICATION_ERROR @@ -437,10 +438,8 @@ async def run_handler(): res = FfiClient.instance.request(req) if res.rpc_method_invocation_response.error: - logger.exception( - f"error sending rpc method invocation response: { - res.rpc_method_invocation_response.error}" - ) + message = res.rpc_method_invocation_response.error + logger.exception(f"error sending rpc method invocation response: {message}") async def set_metadata(self, metadata: str) -> None: """ From 940bafb5050ba36c8dc24a195f5f7ac3bd261f55 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sun, 29 Dec 2024 20:33:47 -0700 Subject: [PATCH 09/10] return None for disconnect reason --- livekit-rtc/livekit/rtc/participant.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/livekit-rtc/livekit/rtc/participant.py b/livekit-rtc/livekit/rtc/participant.py index 97e937c4..dddf9420 100644 --- a/livekit-rtc/livekit/rtc/participant.py +++ b/livekit-rtc/livekit/rtc/participant.py @@ -108,8 +108,30 @@ def kind(self) -> proto_participant.ParticipantKind.ValueType: return self._info.kind @property - def disconnect_reason(self) -> proto_participant.DisconnectReason.ValueType: - """Reason for the participant's disconnection.""" + def disconnect_reason( + self, + ) -> Optional[proto_participant.DisconnectReason.ValueType]: + """Reason for the participant's disconnection. + + Returns one of DisconnectReasons or None if the participant isn't disconnected. Common reasons are: + - CLIENT_INITIATED - the client initiated the disconnect + - DUPLICATE_IDENTITY - another participant with the same identity has joined the room + - SERVER_SHUTDOWN - the server instance is shutting down + - PARTICIPANT_REMOVED - RoomService.RemoveParticipant was called + - ROOM_DELETED - RoomService.DeleteRoom was called + - STATE_MISMATCH - the client is attempting to resume a session, but server is not aware of it + - JOIN_FAILURE - client was unable to connect fully + + When dialing a participant via SIP, you may see the following reasons: + - USER_UNAVAILABLE - SIP callee did not respond in time + - USER_REJECTED - SIP callee rejected the call (busy) + - SIP_TRUNK_FAILURE - SIP protocol failure or unexpected response + """ + if ( + self._info.disconnect_reason + == proto_participant.DisconnectReason.DISCONNECT_REASON_UNKNOWN + ): + return None return self._info.disconnect_reason From a92624b93bb798a62716987d61763705bbbc2685 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sun, 29 Dec 2024 20:52:37 -0700 Subject: [PATCH 10/10] fix --- livekit-rtc/livekit/rtc/participant.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/livekit-rtc/livekit/rtc/participant.py b/livekit-rtc/livekit/rtc/participant.py index dddf9420..96976857 100644 --- a/livekit-rtc/livekit/rtc/participant.py +++ b/livekit-rtc/livekit/rtc/participant.py @@ -129,7 +129,7 @@ def disconnect_reason( """ if ( self._info.disconnect_reason - == proto_participant.DisconnectReason.DISCONNECT_REASON_UNKNOWN + == proto_participant.DisconnectReason.UNKNOWN_REASON ): return None return self._info.disconnect_reason