diff --git a/.github/workflows/build-rtc.yml b/.github/workflows/build-rtc.yml index ded3905b..5c7a8a39 100644 --- a/.github/workflows/build-rtc.yml +++ b/.github/workflows/build-rtc.yml @@ -46,7 +46,12 @@ jobs: - uses: actions/setup-python@v4 - name: Install cibuildwheel + if: runner.os != 'macOS' run: python3 -m pip install cibuildwheel==2.15.0 + + - name: Install cibuildwheel on macOS + if: runner.os == 'macOS' + run: python3 -m pip install --break-system-packages cibuildwheel==2.15.0 - name: Build wheels run: python3 -m cibuildwheel --output-dir dist diff --git a/livekit-rtc/livekit/rtc/__init__.py b/livekit-rtc/livekit/rtc/__init__.py index e556e187..c04d96a0 100644 --- a/livekit-rtc/livekit/rtc/__init__.py +++ b/livekit-rtc/livekit/rtc/__init__.py @@ -56,6 +56,7 @@ RemoteTrackPublication, TrackPublication, ) +from .transcription import Transcription, TranscriptionSegment from .version import __version__ from .video_frame import ( VideoFrame, @@ -109,6 +110,8 @@ "LocalTrackPublication", "RemoteTrackPublication", "TrackPublication", + "Transcription", + "TranscriptionSegment", "VideoFrame", "VideoSource", "VideoStream", diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py index 7a3e6261..7bf9939a 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: audio_frame.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,9 +21,8 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'audio_frame_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_AUDIOSTREAMTYPE']._serialized_start=2141 _globals['_AUDIOSTREAMTYPE']._serialized_end=2206 _globals['_AUDIOSOURCETYPE']._serialized_start=2208 diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi index d25cc776..a5097d6b 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 @@ -62,7 +61,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 @@ -80,11 +79,11 @@ class NewAudioStreamRequest(google.protobuf.message.Message): track_handle: builtins.int = ..., type: global___AudioStreamType.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["track_handle", b"track_handle", "type", b"type"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["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 @@ -96,12 +95,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 NewAudioSourceRequest(google.protobuf.message.Message): """Create a new AudioSource""" @@ -112,10 +111,10 @@ class NewAudioSourceRequest(google.protobuf.message.Message): SAMPLE_RATE_FIELD_NUMBER: builtins.int NUM_CHANNELS_FIELD_NUMBER: builtins.int type: global___AudioSourceType.ValueType - sample_rate: builtins.int - num_channels: builtins.int @property def options(self) -> global___AudioSourceOptions: ... + sample_rate: builtins.int + num_channels: builtins.int def __init__( self, *, @@ -124,13 +123,13 @@ class NewAudioSourceRequest(google.protobuf.message.Message): sample_rate: builtins.int = ..., num_channels: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_options", b"_options", "options", b"options"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_options", b"_options", "num_channels", b"num_channels", "options", b"options", "sample_rate", b"sample_rate", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_options", b"_options"]) -> typing.Literal["options"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_options", b"_options", "options", b"options"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_options", b"_options", "num_channels", b"num_channels", "options", b"options", "sample_rate", b"sample_rate", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_options", b"_options"]) -> typing_extensions.Literal["options"] | None: ... global___NewAudioSourceRequest = NewAudioSourceRequest -@typing.final +@typing_extensions.final class NewAudioSourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -142,12 +141,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. @@ -166,12 +165,12 @@ class CaptureAudioFrameRequest(google.protobuf.message.Message): source_handle: builtins.int = ..., buffer: global___AudioFrameBufferInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> 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"]) -> 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 @@ -182,11 +181,11 @@ class CaptureAudioFrameResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -200,13 +199,13 @@ class CaptureAudioFrameCallback(google.protobuf.message.Message): async_id: builtins.int = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___CaptureAudioFrameCallback = CaptureAudioFrameCallback -@typing.final +@typing_extensions.final class NewAudioResamplerRequest(google.protobuf.message.Message): """Create a new AudioResampler""" @@ -218,7 +217,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 @@ -230,12 +229,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""" @@ -246,10 +245,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, *, @@ -258,12 +257,12 @@ class RemixAndResampleRequest(google.protobuf.message.Message): num_channels: builtins.int = ..., sample_rate: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> 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"]) -> 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 @@ -275,12 +274,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 AudioFrameBufferInfo(google.protobuf.message.Message): """ AudioFrame buffer @@ -305,11 +304,11 @@ class AudioFrameBufferInfo(google.protobuf.message.Message): sample_rate: builtins.int = ..., samples_per_channel: builtins.int = ..., ) -> None: ... - 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 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 @@ -325,12 +324,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 @@ -341,11 +340,11 @@ class AudioStreamInfo(google.protobuf.message.Message): *, type: global___AudioStreamType.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + 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 @@ -361,12 +360,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 @@ -385,13 +384,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"]) -> 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"]) -> 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 @@ -403,12 +402,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 @@ -418,7 +417,7 @@ class AudioStreamEOS(google.protobuf.message.Message): global___AudioStreamEOS = AudioStreamEOS -@typing.final +@typing_extensions.final class AudioSourceOptions(google.protobuf.message.Message): """ AudioSource @@ -439,11 +438,11 @@ class AudioSourceOptions(google.protobuf.message.Message): noise_suppression: builtins.bool = ..., auto_gain_control: builtins.bool = ..., ) -> None: ... - 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 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 @@ -454,11 +453,11 @@ class AudioSourceInfo(google.protobuf.message.Message): *, type: global___AudioSourceType.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + 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 @@ -474,12 +473,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 @@ -493,7 +492,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 @@ -509,7 +508,7 @@ 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 diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py index 093b68ba..9794751d 100644 --- a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: e2ee.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -19,9 +20,8 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'e2ee_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_ENCRYPTIONTYPE']._serialized_start=2937 _globals['_ENCRYPTIONTYPE']._serialized_end=2984 _globals['_ENCRYPTIONSTATE']._serialized_start=2987 diff --git a/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/e2ee_pb2.pyi index cdba2c8f..a34cf52d 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,11 +94,11 @@ class FrameCryptor(google.protobuf.message.Message): key_index: builtins.int = ..., enabled: builtins.bool = ..., ) -> None: ... - 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 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 @@ -121,13 +120,13 @@ class KeyProviderOptions(google.protobuf.message.Message): ratchet_salt: builtins.bytes = ..., failure_tolerance: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_shared_key", b"_shared_key", "shared_key", b"shared_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_shared_key", b"_shared_key", "failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_shared_key", b"_shared_key"]) -> typing.Literal["shared_key"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_shared_key", b"_shared_key", "shared_key", b"shared_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_shared_key", b"_shared_key", "failure_tolerance", b"failure_tolerance", "ratchet_salt", b"ratchet_salt", "ratchet_window_size", b"ratchet_window_size", "shared_key", b"shared_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shared_key", b"_shared_key"]) -> typing_extensions.Literal["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 = ..., key_provider_options: global___KeyProviderOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["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["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,11 +157,11 @@ class E2eeManagerSetEnabledRequest(google.protobuf.message.Message): *, enabled: builtins.bool = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... + 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 @@ -172,7 +171,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 @@ -182,7 +181,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 @@ -194,11 +193,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 @@ -215,11 +214,11 @@ class FrameCryptorSetEnabledRequest(google.protobuf.message.Message): track_sid: builtins.str = ..., enabled: builtins.bool = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + 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 @@ -229,7 +228,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 @@ -246,11 +245,11 @@ class FrameCryptorSetKeyIndexRequest(google.protobuf.message.Message): track_sid: builtins.str = ..., key_index: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity", "track_sid", b"track_sid"]) -> None: ... + 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 @@ -260,7 +259,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 @@ -274,11 +273,11 @@ class SetSharedKeyRequest(google.protobuf.message.Message): shared_key: builtins.bytes = ..., key_index: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "shared_key", b"shared_key"]) -> None: ... + 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 @@ -288,7 +287,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 @@ -299,11 +298,11 @@ class RatchetSharedKeyRequest(google.protobuf.message.Message): *, key_index: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... + 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 @@ -314,13 +313,13 @@ class RatchetSharedKeyResponse(google.protobuf.message.Message): *, new_key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_new_key", b"_new_key"]) -> typing.Literal["new_key"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_new_key", b"_new_key"]) -> typing_extensions.Literal["new_key"] | None: ... global___RatchetSharedKeyResponse = RatchetSharedKeyResponse -@typing.final +@typing_extensions.final class GetSharedKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -331,11 +330,11 @@ class GetSharedKeyRequest(google.protobuf.message.Message): *, key_index: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index"]) -> None: ... + 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 @@ -346,13 +345,13 @@ class GetSharedKeyResponse(google.protobuf.message.Message): *, key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_key", b"_key", "key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_key", b"_key", "key", b"key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_key", b"_key"]) -> typing.Literal["key"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_key", b"_key", "key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_key", b"_key", "key", b"key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_key", b"_key"]) -> typing_extensions.Literal["key"] | None: ... global___GetSharedKeyResponse = GetSharedKeyResponse -@typing.final +@typing_extensions.final class SetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -369,11 +368,11 @@ class SetKeyRequest(google.protobuf.message.Message): key: builtins.bytes = ..., key_index: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + 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 @@ -383,7 +382,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 @@ -397,11 +396,11 @@ class RatchetKeyRequest(google.protobuf.message.Message): participant_identity: builtins.str = ..., key_index: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + 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 @@ -412,13 +411,13 @@ class RatchetKeyResponse(google.protobuf.message.Message): *, new_key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_new_key", b"_new_key"]) -> typing.Literal["new_key"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_new_key", b"_new_key", "new_key", b"new_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_new_key", b"_new_key"]) -> typing_extensions.Literal["new_key"] | None: ... global___RatchetKeyResponse = RatchetKeyResponse -@typing.final +@typing_extensions.final class GetKeyRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -432,11 +431,11 @@ class GetKeyRequest(google.protobuf.message.Message): participant_identity: builtins.str = ..., key_index: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key_index", b"key_index", "participant_identity", b"participant_identity"]) -> None: ... + 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 @@ -447,13 +446,13 @@ class GetKeyResponse(google.protobuf.message.Message): *, key: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_key", b"_key", "key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_key", b"_key", "key", b"key"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_key", b"_key"]) -> typing.Literal["key"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_key", b"_key", "key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_key", b"_key", "key", b"key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_key", b"_key"]) -> typing_extensions.Literal["key"] | None: ... global___GetKeyResponse = GetKeyResponse -@typing.final +@typing_extensions.final class E2eeRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -504,13 +503,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", "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", "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 @@ -558,8 +557,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 d8430fec..e414f0ca 100644 --- a/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/ffi_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: ffi.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -18,33 +19,32 @@ from . import audio_frame_pb2 as audio__frame__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\"\xcf\x0b\n\nFfiRequest\x12\x30\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.DisposeRequestH\x00\x12\x30\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.ConnectRequestH\x00\x12\x36\n\ndisconnect\x18\x04 \x01(\x0b\x32 .livekit.proto.DisconnectRequestH\x00\x12;\n\rpublish_track\x18\x05 \x01(\x0b\x32\".livekit.proto.PublishTrackRequestH\x00\x12?\n\x0funpublish_track\x18\x06 \x01(\x0b\x32$.livekit.proto.UnpublishTrackRequestH\x00\x12\x39\n\x0cpublish_data\x18\x07 \x01(\x0b\x32!.livekit.proto.PublishDataRequestH\x00\x12=\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32#.livekit.proto.SetSubscribedRequestH\x00\x12J\n\x15update_local_metadata\x18\t \x01(\x0b\x32).livekit.proto.UpdateLocalMetadataRequestH\x00\x12\x42\n\x11update_local_name\x18\n \x01(\x0b\x32%.livekit.proto.UpdateLocalNameRequestH\x00\x12\x42\n\x11get_session_stats\x18\x0b \x01(\x0b\x32%.livekit.proto.GetSessionStatsRequestH\x00\x12\x44\n\x12\x63reate_video_track\x18\x0c \x01(\x0b\x32&.livekit.proto.CreateVideoTrackRequestH\x00\x12\x44\n\x12\x63reate_audio_track\x18\r \x01(\x0b\x32&.livekit.proto.CreateAudioTrackRequestH\x00\x12\x33\n\tget_stats\x18\x0e \x01(\x0b\x32\x1e.livekit.proto.GetStatsRequestH\x00\x12@\n\x10new_video_stream\x18\x10 \x01(\x0b\x32$.livekit.proto.NewVideoStreamRequestH\x00\x12@\n\x10new_video_source\x18\x11 \x01(\x0b\x32$.livekit.proto.NewVideoSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_video_frame\x18\x12 \x01(\x0b\x32\'.livekit.proto.CaptureVideoFrameRequestH\x00\x12;\n\rvideo_convert\x18\x13 \x01(\x0b\x32\".livekit.proto.VideoConvertRequestH\x00\x12@\n\x10new_audio_stream\x18\x16 \x01(\x0b\x32$.livekit.proto.NewAudioStreamRequestH\x00\x12@\n\x10new_audio_source\x18\x17 \x01(\x0b\x32$.livekit.proto.NewAudioSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_audio_frame\x18\x18 \x01(\x0b\x32\'.livekit.proto.CaptureAudioFrameRequestH\x00\x12\x46\n\x13new_audio_resampler\x18\x19 \x01(\x0b\x32\'.livekit.proto.NewAudioResamplerRequestH\x00\x12\x44\n\x12remix_and_resample\x18\x1a \x01(\x0b\x32&.livekit.proto.RemixAndResampleRequestH\x00\x12*\n\x04\x65\x32\x65\x65\x18\x1b \x01(\x0b\x32\x1a.livekit.proto.E2eeRequestH\x00\x42\t\n\x07message\"\xe7\x0b\n\x0b\x46\x66iResponse\x12\x31\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.DisposeResponseH\x00\x12\x31\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1e.livekit.proto.ConnectResponseH\x00\x12\x37\n\ndisconnect\x18\x04 \x01(\x0b\x32!.livekit.proto.DisconnectResponseH\x00\x12<\n\rpublish_track\x18\x05 \x01(\x0b\x32#.livekit.proto.PublishTrackResponseH\x00\x12@\n\x0funpublish_track\x18\x06 \x01(\x0b\x32%.livekit.proto.UnpublishTrackResponseH\x00\x12:\n\x0cpublish_data\x18\x07 \x01(\x0b\x32\".livekit.proto.PublishDataResponseH\x00\x12>\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32$.livekit.proto.SetSubscribedResponseH\x00\x12K\n\x15update_local_metadata\x18\t \x01(\x0b\x32*.livekit.proto.UpdateLocalMetadataResponseH\x00\x12\x43\n\x11update_local_name\x18\n \x01(\x0b\x32&.livekit.proto.UpdateLocalNameResponseH\x00\x12\x43\n\x11get_session_stats\x18\x0b \x01(\x0b\x32&.livekit.proto.GetSessionStatsResponseH\x00\x12\x45\n\x12\x63reate_video_track\x18\x0c \x01(\x0b\x32\'.livekit.proto.CreateVideoTrackResponseH\x00\x12\x45\n\x12\x63reate_audio_track\x18\r \x01(\x0b\x32\'.livekit.proto.CreateAudioTrackResponseH\x00\x12\x34\n\tget_stats\x18\x0e \x01(\x0b\x32\x1f.livekit.proto.GetStatsResponseH\x00\x12\x41\n\x10new_video_stream\x18\x10 \x01(\x0b\x32%.livekit.proto.NewVideoStreamResponseH\x00\x12\x41\n\x10new_video_source\x18\x11 \x01(\x0b\x32%.livekit.proto.NewVideoSourceResponseH\x00\x12G\n\x13\x63\x61pture_video_frame\x18\x12 \x01(\x0b\x32(.livekit.proto.CaptureVideoFrameResponseH\x00\x12<\n\rvideo_convert\x18\x13 \x01(\x0b\x32#.livekit.proto.VideoConvertResponseH\x00\x12\x41\n\x10new_audio_stream\x18\x16 \x01(\x0b\x32%.livekit.proto.NewAudioStreamResponseH\x00\x12\x41\n\x10new_audio_source\x18\x17 \x01(\x0b\x32%.livekit.proto.NewAudioSourceResponseH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x18 \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameResponseH\x00\x12G\n\x13new_audio_resampler\x18\x19 \x01(\x0b\x32(.livekit.proto.NewAudioResamplerResponseH\x00\x12\x45\n\x12remix_and_resample\x18\x1a \x01(\x0b\x32\'.livekit.proto.RemixAndResampleResponseH\x00\x12+\n\x04\x65\x32\x65\x65\x18\x1b \x01(\x0b\x32\x1b.livekit.proto.E2eeResponseH\x00\x42\t\n\x07message\"\xf6\x07\n\x08\x46\x66iEvent\x12.\n\nroom_event\x18\x01 \x01(\x0b\x32\x18.livekit.proto.RoomEventH\x00\x12\x30\n\x0btrack_event\x18\x02 \x01(\x0b\x32\x19.livekit.proto.TrackEventH\x00\x12=\n\x12video_stream_event\x18\x03 \x01(\x0b\x32\x1f.livekit.proto.VideoStreamEventH\x00\x12=\n\x12\x61udio_stream_event\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.AudioStreamEventH\x00\x12\x31\n\x07\x63onnect\x18\x05 \x01(\x0b\x32\x1e.livekit.proto.ConnectCallbackH\x00\x12\x37\n\ndisconnect\x18\x06 \x01(\x0b\x32!.livekit.proto.DisconnectCallbackH\x00\x12\x31\n\x07\x64ispose\x18\x07 \x01(\x0b\x32\x1e.livekit.proto.DisposeCallbackH\x00\x12<\n\rpublish_track\x18\x08 \x01(\x0b\x32#.livekit.proto.PublishTrackCallbackH\x00\x12@\n\x0funpublish_track\x18\t \x01(\x0b\x32%.livekit.proto.UnpublishTrackCallbackH\x00\x12:\n\x0cpublish_data\x18\n \x01(\x0b\x32\".livekit.proto.PublishDataCallbackH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x0b \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameCallbackH\x00\x12K\n\x15update_local_metadata\x18\x0c \x01(\x0b\x32*.livekit.proto.UpdateLocalMetadataCallbackH\x00\x12\x43\n\x11update_local_name\x18\r \x01(\x0b\x32&.livekit.proto.UpdateLocalNameCallbackH\x00\x12\x34\n\tget_stats\x18\x0e \x01(\x0b\x32\x1f.livekit.proto.GetStatsCallbackH\x00\x12\'\n\x04logs\x18\x0f \x01(\x0b\x32\x17.livekit.proto.LogBatchH\x00\x12\x43\n\x11get_session_stats\x18\x10 \x01(\x0b\x32&.livekit.proto.GetSessionStatsCallbackH\x00\x12%\n\x05panic\x18\x11 \x01(\x0b\x32\x14.livekit.proto.PanicH\x00\x42\t\n\x07message\"\x1f\n\x0e\x44isposeRequest\x12\r\n\x05\x61sync\x18\x01 \x01(\x08\"5\n\x0f\x44isposeResponse\x12\x15\n\x08\x61sync_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\x0b\n\t_async_id\"#\n\x0f\x44isposeCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xb6\x01\n\tLogRecord\x12&\n\x05level\x18\x01 \x01(\x0e\x32\x17.livekit.proto.LogLevel\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x18\n\x0bmodule_path\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04\x66ile\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04line\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x0f\n\x07message\x18\x06 \x01(\tB\x0e\n\x0c_module_pathB\x07\n\x05_fileB\x07\n\x05_line\"5\n\x08LogBatch\x12)\n\x07records\x18\x01 \x03(\x0b\x32\x18.livekit.proto.LogRecord\"\x18\n\x05Panic\x12\x0f\n\x07message\x18\x01 \x01(\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.Protob\x06proto3') +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\"\x9c\x0c\n\nFfiRequest\x12\x30\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1d.livekit.proto.DisposeRequestH\x00\x12\x30\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.ConnectRequestH\x00\x12\x36\n\ndisconnect\x18\x04 \x01(\x0b\x32 .livekit.proto.DisconnectRequestH\x00\x12;\n\rpublish_track\x18\x05 \x01(\x0b\x32\".livekit.proto.PublishTrackRequestH\x00\x12?\n\x0funpublish_track\x18\x06 \x01(\x0b\x32$.livekit.proto.UnpublishTrackRequestH\x00\x12\x39\n\x0cpublish_data\x18\x07 \x01(\x0b\x32!.livekit.proto.PublishDataRequestH\x00\x12=\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32#.livekit.proto.SetSubscribedRequestH\x00\x12J\n\x15update_local_metadata\x18\t \x01(\x0b\x32).livekit.proto.UpdateLocalMetadataRequestH\x00\x12\x42\n\x11update_local_name\x18\n \x01(\x0b\x32%.livekit.proto.UpdateLocalNameRequestH\x00\x12\x42\n\x11get_session_stats\x18\x0b \x01(\x0b\x32%.livekit.proto.GetSessionStatsRequestH\x00\x12K\n\x15publish_transcription\x18\x0c \x01(\x0b\x32*.livekit.proto.PublishTranscriptionRequestH\x00\x12\x44\n\x12\x63reate_video_track\x18\r \x01(\x0b\x32&.livekit.proto.CreateVideoTrackRequestH\x00\x12\x44\n\x12\x63reate_audio_track\x18\x0e \x01(\x0b\x32&.livekit.proto.CreateAudioTrackRequestH\x00\x12\x33\n\tget_stats\x18\x0f \x01(\x0b\x32\x1e.livekit.proto.GetStatsRequestH\x00\x12@\n\x10new_video_stream\x18\x10 \x01(\x0b\x32$.livekit.proto.NewVideoStreamRequestH\x00\x12@\n\x10new_video_source\x18\x11 \x01(\x0b\x32$.livekit.proto.NewVideoSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_video_frame\x18\x12 \x01(\x0b\x32\'.livekit.proto.CaptureVideoFrameRequestH\x00\x12;\n\rvideo_convert\x18\x13 \x01(\x0b\x32\".livekit.proto.VideoConvertRequestH\x00\x12@\n\x10new_audio_stream\x18\x16 \x01(\x0b\x32$.livekit.proto.NewAudioStreamRequestH\x00\x12@\n\x10new_audio_source\x18\x17 \x01(\x0b\x32$.livekit.proto.NewAudioSourceRequestH\x00\x12\x46\n\x13\x63\x61pture_audio_frame\x18\x18 \x01(\x0b\x32\'.livekit.proto.CaptureAudioFrameRequestH\x00\x12\x46\n\x13new_audio_resampler\x18\x19 \x01(\x0b\x32\'.livekit.proto.NewAudioResamplerRequestH\x00\x12\x44\n\x12remix_and_resample\x18\x1a \x01(\x0b\x32&.livekit.proto.RemixAndResampleRequestH\x00\x12*\n\x04\x65\x32\x65\x65\x18\x1b \x01(\x0b\x32\x1a.livekit.proto.E2eeRequestH\x00\x42\t\n\x07message\"\xb5\x0c\n\x0b\x46\x66iResponse\x12\x31\n\x07\x64ispose\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.DisposeResponseH\x00\x12\x31\n\x07\x63onnect\x18\x03 \x01(\x0b\x32\x1e.livekit.proto.ConnectResponseH\x00\x12\x37\n\ndisconnect\x18\x04 \x01(\x0b\x32!.livekit.proto.DisconnectResponseH\x00\x12<\n\rpublish_track\x18\x05 \x01(\x0b\x32#.livekit.proto.PublishTrackResponseH\x00\x12@\n\x0funpublish_track\x18\x06 \x01(\x0b\x32%.livekit.proto.UnpublishTrackResponseH\x00\x12:\n\x0cpublish_data\x18\x07 \x01(\x0b\x32\".livekit.proto.PublishDataResponseH\x00\x12>\n\x0eset_subscribed\x18\x08 \x01(\x0b\x32$.livekit.proto.SetSubscribedResponseH\x00\x12K\n\x15update_local_metadata\x18\t \x01(\x0b\x32*.livekit.proto.UpdateLocalMetadataResponseH\x00\x12\x43\n\x11update_local_name\x18\n \x01(\x0b\x32&.livekit.proto.UpdateLocalNameResponseH\x00\x12\x43\n\x11get_session_stats\x18\x0b \x01(\x0b\x32&.livekit.proto.GetSessionStatsResponseH\x00\x12L\n\x15publish_transcription\x18\x0c \x01(\x0b\x32+.livekit.proto.PublishTranscriptionResponseH\x00\x12\x45\n\x12\x63reate_video_track\x18\r \x01(\x0b\x32\'.livekit.proto.CreateVideoTrackResponseH\x00\x12\x45\n\x12\x63reate_audio_track\x18\x0e \x01(\x0b\x32\'.livekit.proto.CreateAudioTrackResponseH\x00\x12\x34\n\tget_stats\x18\x0f \x01(\x0b\x32\x1f.livekit.proto.GetStatsResponseH\x00\x12\x41\n\x10new_video_stream\x18\x10 \x01(\x0b\x32%.livekit.proto.NewVideoStreamResponseH\x00\x12\x41\n\x10new_video_source\x18\x11 \x01(\x0b\x32%.livekit.proto.NewVideoSourceResponseH\x00\x12G\n\x13\x63\x61pture_video_frame\x18\x12 \x01(\x0b\x32(.livekit.proto.CaptureVideoFrameResponseH\x00\x12<\n\rvideo_convert\x18\x13 \x01(\x0b\x32#.livekit.proto.VideoConvertResponseH\x00\x12\x41\n\x10new_audio_stream\x18\x16 \x01(\x0b\x32%.livekit.proto.NewAudioStreamResponseH\x00\x12\x41\n\x10new_audio_source\x18\x17 \x01(\x0b\x32%.livekit.proto.NewAudioSourceResponseH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x18 \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameResponseH\x00\x12G\n\x13new_audio_resampler\x18\x19 \x01(\x0b\x32(.livekit.proto.NewAudioResamplerResponseH\x00\x12\x45\n\x12remix_and_resample\x18\x1a \x01(\x0b\x32\'.livekit.proto.RemixAndResampleResponseH\x00\x12+\n\x04\x65\x32\x65\x65\x18\x1b \x01(\x0b\x32\x1b.livekit.proto.E2eeResponseH\x00\x42\t\n\x07message\"\xc4\x08\n\x08\x46\x66iEvent\x12.\n\nroom_event\x18\x01 \x01(\x0b\x32\x18.livekit.proto.RoomEventH\x00\x12\x30\n\x0btrack_event\x18\x02 \x01(\x0b\x32\x19.livekit.proto.TrackEventH\x00\x12=\n\x12video_stream_event\x18\x03 \x01(\x0b\x32\x1f.livekit.proto.VideoStreamEventH\x00\x12=\n\x12\x61udio_stream_event\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.AudioStreamEventH\x00\x12\x31\n\x07\x63onnect\x18\x05 \x01(\x0b\x32\x1e.livekit.proto.ConnectCallbackH\x00\x12\x37\n\ndisconnect\x18\x06 \x01(\x0b\x32!.livekit.proto.DisconnectCallbackH\x00\x12\x31\n\x07\x64ispose\x18\x07 \x01(\x0b\x32\x1e.livekit.proto.DisposeCallbackH\x00\x12<\n\rpublish_track\x18\x08 \x01(\x0b\x32#.livekit.proto.PublishTrackCallbackH\x00\x12@\n\x0funpublish_track\x18\t \x01(\x0b\x32%.livekit.proto.UnpublishTrackCallbackH\x00\x12:\n\x0cpublish_data\x18\n \x01(\x0b\x32\".livekit.proto.PublishDataCallbackH\x00\x12L\n\x15publish_transcription\x18\x0b \x01(\x0b\x32+.livekit.proto.PublishTranscriptionCallbackH\x00\x12G\n\x13\x63\x61pture_audio_frame\x18\x0c \x01(\x0b\x32(.livekit.proto.CaptureAudioFrameCallbackH\x00\x12K\n\x15update_local_metadata\x18\r \x01(\x0b\x32*.livekit.proto.UpdateLocalMetadataCallbackH\x00\x12\x43\n\x11update_local_name\x18\x0e \x01(\x0b\x32&.livekit.proto.UpdateLocalNameCallbackH\x00\x12\x34\n\tget_stats\x18\x0f \x01(\x0b\x32\x1f.livekit.proto.GetStatsCallbackH\x00\x12\'\n\x04logs\x18\x10 \x01(\x0b\x32\x17.livekit.proto.LogBatchH\x00\x12\x43\n\x11get_session_stats\x18\x11 \x01(\x0b\x32&.livekit.proto.GetSessionStatsCallbackH\x00\x12%\n\x05panic\x18\x12 \x01(\x0b\x32\x14.livekit.proto.PanicH\x00\x42\t\n\x07message\"\x1f\n\x0e\x44isposeRequest\x12\r\n\x05\x61sync\x18\x01 \x01(\x08\"5\n\x0f\x44isposeResponse\x12\x15\n\x08\x61sync_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\x0b\n\t_async_id\"#\n\x0f\x44isposeCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xb6\x01\n\tLogRecord\x12&\n\x05level\x18\x01 \x01(\x0e\x32\x17.livekit.proto.LogLevel\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x18\n\x0bmodule_path\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04\x66ile\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04line\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x0f\n\x07message\x18\x06 \x01(\tB\x0e\n\x0c_module_pathB\x07\n\x05_fileB\x07\n\x05_line\"5\n\x08LogBatch\x12)\n\x07records\x18\x01 \x03(\x0b\x32\x18.livekit.proto.LogRecord\"\x18\n\x05Panic\x12\x0f\n\x07message\x18\x01 \x01(\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.Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ffi_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_LOGLEVEL']._serialized_start=4515 - _globals['_LOGLEVEL']._serialized_end=4598 + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['_LOGLEVEL']._serialized_start=4748 + _globals['_LOGLEVEL']._serialized_end=4831 _globals['_FFIREQUEST']._serialized_start=104 - _globals['_FFIREQUEST']._serialized_end=1591 - _globals['_FFIRESPONSE']._serialized_start=1594 - _globals['_FFIRESPONSE']._serialized_end=3105 - _globals['_FFIEVENT']._serialized_start=3108 - _globals['_FFIEVENT']._serialized_end=4122 - _globals['_DISPOSEREQUEST']._serialized_start=4124 - _globals['_DISPOSEREQUEST']._serialized_end=4155 - _globals['_DISPOSERESPONSE']._serialized_start=4157 - _globals['_DISPOSERESPONSE']._serialized_end=4210 - _globals['_DISPOSECALLBACK']._serialized_start=4212 - _globals['_DISPOSECALLBACK']._serialized_end=4247 - _globals['_LOGRECORD']._serialized_start=4250 - _globals['_LOGRECORD']._serialized_end=4432 - _globals['_LOGBATCH']._serialized_start=4434 - _globals['_LOGBATCH']._serialized_end=4487 - _globals['_PANIC']._serialized_start=4489 - _globals['_PANIC']._serialized_end=4513 + _globals['_FFIREQUEST']._serialized_end=1668 + _globals['_FFIRESPONSE']._serialized_start=1671 + _globals['_FFIRESPONSE']._serialized_end=3260 + _globals['_FFIEVENT']._serialized_start=3263 + _globals['_FFIEVENT']._serialized_end=4355 + _globals['_DISPOSEREQUEST']._serialized_start=4357 + _globals['_DISPOSEREQUEST']._serialized_end=4388 + _globals['_DISPOSERESPONSE']._serialized_start=4390 + _globals['_DISPOSERESPONSE']._serialized_end=4443 + _globals['_DISPOSECALLBACK']._serialized_start=4445 + _globals['_DISPOSECALLBACK']._serialized_end=4480 + _globals['_LOGRECORD']._serialized_start=4483 + _globals['_LOGRECORD']._serialized_end=4665 + _globals['_LOGBATCH']._serialized_start=4667 + _globals['_LOGBATCH']._serialized_end=4720 + _globals['_PANIC']._serialized_start=4722 + _globals['_PANIC']._serialized_end=4746 # @@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 cc33e82c..259880ab 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 @@ -58,7 +57,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 @@ -102,6 +101,7 @@ class FfiRequest(google.protobuf.message.Message): UPDATE_LOCAL_METADATA_FIELD_NUMBER: builtins.int UPDATE_LOCAL_NAME_FIELD_NUMBER: builtins.int GET_SESSION_STATS_FIELD_NUMBER: builtins.int + PUBLISH_TRANSCRIPTION_FIELD_NUMBER: builtins.int CREATE_VIDEO_TRACK_FIELD_NUMBER: builtins.int CREATE_AUDIO_TRACK_FIELD_NUMBER: builtins.int GET_STATS_FIELD_NUMBER: builtins.int @@ -120,7 +120,6 @@ class FfiRequest(google.protobuf.message.Message): @property def connect(self) -> room_pb2.ConnectRequest: """Room""" - @property def disconnect(self) -> room_pb2.DisconnectRequest: ... @property @@ -138,9 +137,10 @@ class FfiRequest(google.protobuf.message.Message): @property def get_session_stats(self) -> room_pb2.GetSessionStatsRequest: ... @property + def publish_transcription(self) -> room_pb2.PublishTranscriptionRequest: ... + @property def create_video_track(self) -> track_pb2.CreateVideoTrackRequest: """Track""" - @property def create_audio_track(self) -> track_pb2.CreateAudioTrackRequest: ... @property @@ -148,7 +148,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 @@ -158,7 +157,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 @@ -182,6 +180,7 @@ class FfiRequest(google.protobuf.message.Message): update_local_metadata: room_pb2.UpdateLocalMetadataRequest | None = ..., update_local_name: room_pb2.UpdateLocalNameRequest | None = ..., get_session_stats: room_pb2.GetSessionStatsRequest | None = ..., + publish_transcription: room_pb2.PublishTranscriptionRequest | None = ..., create_video_track: track_pb2.CreateVideoTrackRequest | None = ..., create_audio_track: track_pb2.CreateAudioTrackRequest | None = ..., get_stats: track_pb2.GetStatsRequest | None = ..., @@ -196,13 +195,13 @@ class FfiRequest(google.protobuf.message.Message): remix_and_resample: audio_frame_pb2.RemixAndResampleRequest | None = ..., e2ee: e2ee_pb2.E2eeRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "create_video_track", "create_audio_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "publish_transcription", "create_video_track", "create_audio_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ... global___FfiRequest = FfiRequest -@typing.final +@typing_extensions.final class FfiResponse(google.protobuf.message.Message): """This is the output of livekit_ffi_request function.""" @@ -218,6 +217,7 @@ class FfiResponse(google.protobuf.message.Message): UPDATE_LOCAL_METADATA_FIELD_NUMBER: builtins.int UPDATE_LOCAL_NAME_FIELD_NUMBER: builtins.int GET_SESSION_STATS_FIELD_NUMBER: builtins.int + PUBLISH_TRANSCRIPTION_FIELD_NUMBER: builtins.int CREATE_VIDEO_TRACK_FIELD_NUMBER: builtins.int CREATE_AUDIO_TRACK_FIELD_NUMBER: builtins.int GET_STATS_FIELD_NUMBER: builtins.int @@ -236,7 +236,6 @@ class FfiResponse(google.protobuf.message.Message): @property def connect(self) -> room_pb2.ConnectResponse: """Room""" - @property def disconnect(self) -> room_pb2.DisconnectResponse: ... @property @@ -254,9 +253,10 @@ class FfiResponse(google.protobuf.message.Message): @property def get_session_stats(self) -> room_pb2.GetSessionStatsResponse: ... @property + def publish_transcription(self) -> room_pb2.PublishTranscriptionResponse: ... + @property def create_video_track(self) -> track_pb2.CreateVideoTrackResponse: """Track""" - @property def create_audio_track(self) -> track_pb2.CreateAudioTrackResponse: ... @property @@ -264,7 +264,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 @@ -274,7 +273,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 @@ -298,6 +296,7 @@ class FfiResponse(google.protobuf.message.Message): update_local_metadata: room_pb2.UpdateLocalMetadataResponse | None = ..., update_local_name: room_pb2.UpdateLocalNameResponse | None = ..., get_session_stats: room_pb2.GetSessionStatsResponse | None = ..., + publish_transcription: room_pb2.PublishTranscriptionResponse | None = ..., create_video_track: track_pb2.CreateVideoTrackResponse | None = ..., create_audio_track: track_pb2.CreateAudioTrackResponse | None = ..., get_stats: track_pb2.GetStatsResponse | None = ..., @@ -312,13 +311,13 @@ class FfiResponse(google.protobuf.message.Message): remix_and_resample: audio_frame_pb2.RemixAndResampleResponse | None = ..., e2ee: e2ee_pb2.E2eeResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "create_video_track", "create_audio_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["capture_audio_frame", b"capture_audio_frame", "capture_video_frame", b"capture_video_frame", "connect", b"connect", "create_audio_track", b"create_audio_track", "create_video_track", b"create_video_track", "disconnect", b"disconnect", "dispose", b"dispose", "e2ee", b"e2ee", "get_session_stats", b"get_session_stats", "get_stats", b"get_stats", "message", b"message", "new_audio_resampler", b"new_audio_resampler", "new_audio_source", b"new_audio_source", "new_audio_stream", b"new_audio_stream", "new_video_source", b"new_video_source", "new_video_stream", b"new_video_stream", "publish_data", b"publish_data", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "remix_and_resample", b"remix_and_resample", "set_subscribed", b"set_subscribed", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "video_convert", b"video_convert"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["message", b"message"]) -> typing_extensions.Literal["dispose", "connect", "disconnect", "publish_track", "unpublish_track", "publish_data", "set_subscribed", "update_local_metadata", "update_local_name", "get_session_stats", "publish_transcription", "create_video_track", "create_audio_track", "get_stats", "new_video_stream", "new_video_source", "capture_video_frame", "video_convert", "new_audio_stream", "new_audio_source", "capture_audio_frame", "new_audio_resampler", "remix_and_resample", "e2ee"] | None: ... 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 @@ -337,6 +336,7 @@ class FfiEvent(google.protobuf.message.Message): PUBLISH_TRACK_FIELD_NUMBER: builtins.int UNPUBLISH_TRACK_FIELD_NUMBER: builtins.int PUBLISH_DATA_FIELD_NUMBER: builtins.int + PUBLISH_TRANSCRIPTION_FIELD_NUMBER: builtins.int CAPTURE_AUDIO_FRAME_FIELD_NUMBER: builtins.int UPDATE_LOCAL_METADATA_FIELD_NUMBER: builtins.int UPDATE_LOCAL_NAME_FIELD_NUMBER: builtins.int @@ -365,6 +365,8 @@ class FfiEvent(google.protobuf.message.Message): @property def publish_data(self) -> room_pb2.PublishDataCallback: ... @property + def publish_transcription(self) -> room_pb2.PublishTranscriptionCallback: ... + @property def capture_audio_frame(self) -> audio_frame_pb2.CaptureAudioFrameCallback: ... @property def update_local_metadata(self) -> room_pb2.UpdateLocalMetadataCallback: ... @@ -391,6 +393,7 @@ class FfiEvent(google.protobuf.message.Message): publish_track: room_pb2.PublishTrackCallback | None = ..., unpublish_track: room_pb2.UnpublishTrackCallback | None = ..., publish_data: room_pb2.PublishDataCallback | None = ..., + publish_transcription: room_pb2.PublishTranscriptionCallback | None = ..., capture_audio_frame: audio_frame_pb2.CaptureAudioFrameCallback | None = ..., update_local_metadata: room_pb2.UpdateLocalMetadataCallback | None = ..., update_local_name: room_pb2.UpdateLocalNameCallback | None = ..., @@ -399,13 +402,13 @@ class FfiEvent(google.protobuf.message.Message): get_session_stats: room_pb2.GetSessionStatsCallback | None = ..., panic: global___Panic | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "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", "publish_data", b"publish_data", "publish_track", b"publish_track", "room_event", b"room_event", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "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", "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", "publish_data", b"publish_data", "publish_track", b"publish_track", "room_event", b"room_event", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "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", "capture_audio_frame", "update_local_metadata", "update_local_name", "get_stats", "logs", "get_session_stats", "panic"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_stream_event", b"audio_stream_event", "capture_audio_frame", b"capture_audio_frame", "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", "publish_data", b"publish_data", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "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", "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", "publish_data", b"publish_data", "publish_track", b"publish_track", "publish_transcription", b"publish_transcription", "room_event", b"room_event", "track_event", b"track_event", "unpublish_track", b"unpublish_track", "update_local_metadata", b"update_local_metadata", "update_local_name", b"update_local_name", "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", "update_local_metadata", "update_local_name", "get_stats", "logs", "get_session_stats", "panic"] | 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. @@ -418,11 +421,11 @@ class DisposeRequest(google.protobuf.message.Message): def __init__( self, ) -> None: ... - def ClearField(self, field_name: typing.Literal["async", b"async"]) -> None: ... + 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 @@ -434,13 +437,13 @@ class DisposeResponse(google.protobuf.message.Message): *, async_id: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_async_id", b"_async_id", "async_id", b"async_id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_async_id", b"_async_id", "async_id", b"async_id"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_async_id", b"_async_id"]) -> typing.Literal["async_id"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_async_id", b"_async_id", "async_id", b"async_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_async_id", b"_async_id", "async_id", b"async_id"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_async_id", b"_async_id"]) -> typing_extensions.Literal["async_id"] | None: ... global___DisposeResponse = DisposeResponse -@typing.final +@typing_extensions.final class DisposeCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -451,11 +454,11 @@ class DisposeCallback(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -482,18 +485,18 @@ class LogRecord(google.protobuf.message.Message): line: builtins.int | None = ..., message: builtins.str = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_file", b"_file", "_line", b"_line", "_module_path", b"_module_path", "file", b"file", "line", b"line", "module_path", b"module_path"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_file", b"_file", "_line", b"_line", "_module_path", b"_module_path", "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", "_line", b"_line", "_module_path", b"_module_path", "file", b"file", "line", b"line", "module_path", b"module_path"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_file", b"_file", "_line", b"_line", "_module_path", b"_module_path", "file", b"file", "level", b"level", "line", b"line", "message", b"message", "module_path", b"module_path", "target", b"target"]) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_file", b"_file"]) -> typing.Literal["file"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_file", b"_file"]) -> typing_extensions.Literal["file"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_line", b"_line"]) -> typing.Literal["line"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_line", b"_line"]) -> typing_extensions.Literal["line"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_module_path", b"_module_path"]) -> typing.Literal["module_path"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_module_path", b"_module_path"]) -> typing_extensions.Literal["module_path"] | None: ... global___LogRecord = LogRecord -@typing.final +@typing_extensions.final class LogBatch(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -505,11 +508,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 @@ -520,6 +523,6 @@ class Panic(google.protobuf.message.Message): *, message: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ... + 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 c6b9f84c..f3230797 100644 --- a/livekit-rtc/livekit/rtc/_proto/handle_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/handle_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: handle.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -19,9 +20,8 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'handle_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_FFIOWNEDHANDLE']._serialized_start=31 _globals['_FFIOWNEDHANDLE']._serialized_end=59 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/handle_pb2.pyi index 26236d5d..5b525ca9 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,6 +49,6 @@ class FfiOwnedHandle(google.protobuf.message.Message): *, id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + 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 bb3a6af1..0141671d 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: participant.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,9 +21,8 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'participant_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_PARTICIPANTINFO']._serialized_start=50 _globals['_PARTICIPANTINFO']._serialized_end=130 _globals['_OWNEDPARTICIPANT']._serialized_start=132 diff --git a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi index 364d0070..0b30d59e 100644 --- a/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/participant_pb2.pyi @@ -15,16 +15,20 @@ 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 from . import handle_pb2 -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 ParticipantInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -44,11 +48,11 @@ class ParticipantInfo(google.protobuf.message.Message): identity: builtins.str = ..., metadata: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["identity", b"identity", "metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["identity", b"identity", "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 @@ -64,7 +68,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 3c7839c0..b320a2f4 100644 --- a/livekit-rtc/livekit/rtc/_proto/room_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/room_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: room.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -19,27 +20,26 @@ 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 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12+\n\x07options\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.RoomOptions\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xfd\x02\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12&\n\x04room\x18\x03 \x01(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x05 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracks\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"(\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x82\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x01(\x04\x12\x33\n\x07options\x18\x03 \x01(\x0b\x32\".livekit.proto.TrackPublishOptions\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"g\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x01(\x08\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"\xbf\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x01(\x04\x12+\n\x04kind\x18\x04 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x18\n\x10\x64\x65stination_sids\x18\x05 \x03(\t\x12\x12\n\x05topic\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"P\n\x1aUpdateLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08metadata\x18\x02 \x01(\t\"/\n\x1bUpdateLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"/\n\x1bUpdateLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UpdateLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"+\n\x17UpdateLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"+\n\x17UpdateLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x01(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x01(\x04\"\x17\n\x15SetSubscribedResponse\"-\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xae\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x30\n\x0fpublisher_stats\x18\x03 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x04 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\x08\n\x06_error\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\x12\x15\n\rmax_framerate\x18\x02 \x01(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\"\x8a\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\"=\n\tIceServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"\x84\x02\n\tRtcConfig\x12@\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportTypeH\x00\x88\x01\x01\x12P\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicyH\x01\x88\x01\x01\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServerB\x15\n\x13_ice_transport_typeB\x1d\n\x1b_continual_gathering_policy\"\xe0\x01\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12-\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptionsH\x00\x88\x01\x01\x12\x31\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfigH\x01\x88\x01\x01\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\rB\x07\n\x05_e2eeB\r\n\x0b_rtc_config\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x01(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.livekit.proto.BufferInfo\"\x80\x0c\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\x12\x44\n\x15participant_connected\x18\x02 \x01(\x0b\x32#.livekit.proto.ParticipantConnectedH\x00\x12J\n\x18participant_disconnected\x18\x03 \x01(\x0b\x32&.livekit.proto.ParticipantDisconnectedH\x00\x12\x43\n\x15local_track_published\x18\x04 \x01(\x0b\x32\".livekit.proto.LocalTrackPublishedH\x00\x12G\n\x17local_track_unpublished\x18\x05 \x01(\x0b\x32$.livekit.proto.LocalTrackUnpublishedH\x00\x12\x38\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x07 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\x08 \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\t \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\n \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0b \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\x0c \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\r \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0e \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x0f \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x10 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x11 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x13 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x15 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x17 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x18 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x19 \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x12\x41\n\x14\x64\x61ta_packet_received\x18\x1a \x01(\x0b\x32!.livekit.proto.DataPacketReceivedH\x00\x42\t\n\x07message\"7\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x01(\x0b\x32\x17.livekit.proto.RoomInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"2\n\x17ParticipantDisconnected\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x01(\t\"d\n\x0eTrackPublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x39\n\x0bpublication\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublication\"D\n\x10TrackUnpublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x01(\t\"T\n\x0fTrackSubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12(\n\x05track\x18\x02 \x01(\x0b\x32\x19.livekit.proto.OwnedTrack\"?\n\x11TrackUnsubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"T\n\x17TrackSubscriptionFailed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"8\n\nTrackMuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\":\n\x0cTrackUnmuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"Z\n\x10\x45\x32\x65\x65StateChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12-\n\x05state\x18\x02 \x01(\x0e\x32\x1e.livekit.proto.EncryptionState\"1\n\x15\x41\x63tiveSpeakersChanged\x12\x18\n\x10participant_sids\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x01(\t\"G\n\x1aParticipantMetadataChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t\"?\n\x16ParticipantNameChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"f\n\x18\x43onnectionQualityChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x31\n\x07quality\x18\x02 \x01(\x0e\x32 .livekit.proto.ConnectionQuality\"T\n\nUserPacket\x12(\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\x12\n\x05topic\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"5\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x12\n\x05\x64igit\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_digit\"\xf5\x01\n\x12\x44\x61taPacketReceived\x12+\n\x04kind\x18\x01 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12 \n\x0fparticipant_sid\x18\x03 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\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\x05valueB\x12\n\x10_participant_sid\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"\x0e\n\x0c\x44isconnected\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\t\n\x07RoomEOS*P\n\x10IceTransportType\x12\x13\n\x0fTRANSPORT_RELAY\x10\x00\x12\x14\n\x10TRANSPORT_NOHOST\x10\x01\x12\x11\n\rTRANSPORT_ALL\x10\x02*C\n\x18\x43ontinualGatheringPolicy\x12\x0f\n\x0bGATHER_ONCE\x10\x00\x12\x16\n\x12GATHER_CONTINUALLY\x10\x01*`\n\x11\x43onnectionQuality\x12\x10\n\x0cQUALITY_POOR\x10\x00\x12\x10\n\x0cQUALITY_GOOD\x10\x01\x12\x15\n\x11QUALITY_EXCELLENT\x10\x02\x12\x10\n\x0cQUALITY_LOST\x10\x03*S\n\x0f\x43onnectionState\x12\x15\n\x11\x43ONN_DISCONNECTED\x10\x00\x12\x12\n\x0e\x43ONN_CONNECTED\x10\x01\x12\x15\n\x11\x43ONN_RECONNECTING\x10\x02*3\n\x0e\x44\x61taPacketKind\x12\x0e\n\nKIND_LOSSY\x10\x00\x12\x11\n\rKIND_RELIABLE\x10\x01\x42\x10\xaa\x02\rLiveKit.Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nroom.proto\x12\rlivekit.proto\x1a\ne2ee.proto\x1a\x0chandle.proto\x1a\x11participant.proto\x1a\x0btrack.proto\x1a\x11video_frame.proto\x1a\x0bstats.proto\"Y\n\x0e\x43onnectRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12+\n\x07options\x18\x03 \x01(\x0b\x32\x1a.livekit.proto.RoomOptions\"#\n\x0f\x43onnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xfd\x02\n\x0f\x43onnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12&\n\x04room\x18\x03 \x01(\x0b\x32\x18.livekit.proto.OwnedRoom\x12:\n\x11local_participant\x18\x04 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12J\n\x0cparticipants\x18\x05 \x03(\x0b\x32\x34.livekit.proto.ConnectCallback.ParticipantWithTracks\x1a\x89\x01\n\x15ParticipantWithTracks\x12\x34\n\x0bparticipant\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\x12:\n\x0cpublications\x18\x02 \x03(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"(\n\x11\x44isconnectRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"&\n\x12\x44isconnectResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"&\n\x12\x44isconnectCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x82\x01\n\x13PublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x14\n\x0ctrack_handle\x18\x02 \x01(\x04\x12\x33\n\x07options\x18\x03 \x01(\x0b\x32\".livekit.proto.TrackPublishOptions\"(\n\x14PublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\x81\x01\n\x14PublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x0bpublication\x18\x03 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublicationB\x08\n\x06_error\"g\n\x15UnpublishTrackRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x19\n\x11stop_on_unpublish\x18\x03 \x01(\x08\"*\n\x16UnpublishTrackResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UnpublishTrackCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"\xbf\x01\n\x12PublishDataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x03 \x01(\x04\x12+\n\x04kind\x18\x04 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x18\n\x10\x64\x65stination_sids\x18\x05 \x03(\t\x12\x12\n\x05topic\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"\'\n\x13PublishDataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x13PublishDataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"\xb8\x01\n\x1bPublishTranscriptionRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12\x10\n\x08track_id\x18\x03 \x01(\t\x12\x35\n\x08segments\x18\x04 \x03(\x0b\x32#.livekit.proto.TranscriptionSegment\x12\x10\n\x08language\x18\x05 \x01(\t\"0\n\x1cPublishTranscriptionResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"N\n\x1cPublishTranscriptionCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_error\"P\n\x1aUpdateLocalMetadataRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x10\n\x08metadata\x18\x02 \x01(\t\"/\n\x1bUpdateLocalMetadataResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"/\n\x1bUpdateLocalMetadataCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"H\n\x16UpdateLocalNameRequest\x12 \n\x18local_participant_handle\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"+\n\x17UpdateLocalNameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"+\n\x17UpdateLocalNameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"E\n\x14SetSubscribedRequest\x12\x11\n\tsubscribe\x18\x01 \x01(\x08\x12\x1a\n\x12publication_handle\x18\x02 \x01(\x04\"\x17\n\x15SetSubscribedResponse\"-\n\x16GetSessionStatsRequest\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\"+\n\x17GetSessionStatsResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\"\xae\x01\n\x17GetSessionStatsCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x01(\x04\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x30\n\x0fpublisher_stats\x18\x03 \x03(\x0b\x32\x17.livekit.proto.RtcStats\x12\x31\n\x10subscriber_stats\x18\x04 \x03(\x0b\x32\x17.livekit.proto.RtcStatsB\x08\n\x06_error\";\n\rVideoEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\x12\x15\n\rmax_framerate\x18\x02 \x01(\x01\"$\n\rAudioEncoding\x12\x13\n\x0bmax_bitrate\x18\x01 \x01(\x04\"\x8a\x02\n\x13TrackPublishOptions\x12\x34\n\x0evideo_encoding\x18\x01 \x01(\x0b\x32\x1c.livekit.proto.VideoEncoding\x12\x34\n\x0e\x61udio_encoding\x18\x02 \x01(\x0b\x32\x1c.livekit.proto.AudioEncoding\x12.\n\x0bvideo_codec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x0b\n\x03\x64tx\x18\x04 \x01(\x08\x12\x0b\n\x03red\x18\x05 \x01(\x08\x12\x11\n\tsimulcast\x18\x06 \x01(\x08\x12*\n\x06source\x18\x07 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\"=\n\tIceServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"\x84\x02\n\tRtcConfig\x12@\n\x12ice_transport_type\x18\x01 \x01(\x0e\x32\x1f.livekit.proto.IceTransportTypeH\x00\x88\x01\x01\x12P\n\x1a\x63ontinual_gathering_policy\x18\x02 \x01(\x0e\x32\'.livekit.proto.ContinualGatheringPolicyH\x01\x88\x01\x01\x12-\n\x0bice_servers\x18\x03 \x03(\x0b\x32\x18.livekit.proto.IceServerB\x15\n\x13_ice_transport_typeB\x1d\n\x1b_continual_gathering_policy\"\xe0\x01\n\x0bRoomOptions\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12\x10\n\x08\x64ynacast\x18\x03 \x01(\x08\x12-\n\x04\x65\x32\x65\x65\x18\x04 \x01(\x0b\x32\x1a.livekit.proto.E2eeOptionsH\x00\x88\x01\x01\x12\x31\n\nrtc_config\x18\x05 \x01(\x0b\x32\x18.livekit.proto.RtcConfigH\x01\x88\x01\x01\x12\x14\n\x0cjoin_retries\x18\x06 \x01(\rB\x07\n\x05_e2eeB\r\n\x0b_rtc_config\"e\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\"0\n\nBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x01(\x04\x12\x10\n\x08\x64\x61ta_len\x18\x02 \x01(\x04\"e\n\x0bOwnedBuffer\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.livekit.proto.BufferInfo\"\x80\x0c\n\tRoomEvent\x12\x13\n\x0broom_handle\x18\x01 \x01(\x04\x12\x44\n\x15participant_connected\x18\x02 \x01(\x0b\x32#.livekit.proto.ParticipantConnectedH\x00\x12J\n\x18participant_disconnected\x18\x03 \x01(\x0b\x32&.livekit.proto.ParticipantDisconnectedH\x00\x12\x43\n\x15local_track_published\x18\x04 \x01(\x0b\x32\".livekit.proto.LocalTrackPublishedH\x00\x12G\n\x17local_track_unpublished\x18\x05 \x01(\x0b\x32$.livekit.proto.LocalTrackUnpublishedH\x00\x12\x38\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1d.livekit.proto.TrackPublishedH\x00\x12<\n\x11track_unpublished\x18\x07 \x01(\x0b\x32\x1f.livekit.proto.TrackUnpublishedH\x00\x12:\n\x10track_subscribed\x18\x08 \x01(\x0b\x32\x1e.livekit.proto.TrackSubscribedH\x00\x12>\n\x12track_unsubscribed\x18\t \x01(\x0b\x32 .livekit.proto.TrackUnsubscribedH\x00\x12K\n\x19track_subscription_failed\x18\n \x01(\x0b\x32&.livekit.proto.TrackSubscriptionFailedH\x00\x12\x30\n\x0btrack_muted\x18\x0b \x01(\x0b\x32\x19.livekit.proto.TrackMutedH\x00\x12\x34\n\rtrack_unmuted\x18\x0c \x01(\x0b\x32\x1b.livekit.proto.TrackUnmutedH\x00\x12G\n\x17\x61\x63tive_speakers_changed\x18\r \x01(\x0b\x32$.livekit.proto.ActiveSpeakersChangedH\x00\x12\x43\n\x15room_metadata_changed\x18\x0e \x01(\x0b\x32\".livekit.proto.RoomMetadataChangedH\x00\x12Q\n\x1cparticipant_metadata_changed\x18\x0f \x01(\x0b\x32).livekit.proto.ParticipantMetadataChangedH\x00\x12I\n\x18participant_name_changed\x18\x10 \x01(\x0b\x32%.livekit.proto.ParticipantNameChangedH\x00\x12M\n\x1a\x63onnection_quality_changed\x18\x11 \x01(\x0b\x32\'.livekit.proto.ConnectionQualityChangedH\x00\x12I\n\x18\x63onnection_state_changed\x18\x13 \x01(\x0b\x32%.livekit.proto.ConnectionStateChangedH\x00\x12\x33\n\x0c\x64isconnected\x18\x15 \x01(\x0b\x32\x1b.livekit.proto.DisconnectedH\x00\x12\x33\n\x0creconnecting\x18\x16 \x01(\x0b\x32\x1b.livekit.proto.ReconnectingH\x00\x12\x31\n\x0breconnected\x18\x17 \x01(\x0b\x32\x1a.livekit.proto.ReconnectedH\x00\x12=\n\x12\x65\x32\x65\x65_state_changed\x18\x18 \x01(\x0b\x32\x1f.livekit.proto.E2eeStateChangedH\x00\x12%\n\x03\x65os\x18\x19 \x01(\x0b\x32\x16.livekit.proto.RoomEOSH\x00\x12\x41\n\x14\x64\x61ta_packet_received\x18\x1a \x01(\x0b\x32!.livekit.proto.DataPacketReceivedH\x00\x42\t\n\x07message\"7\n\x08RoomInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\"a\n\tOwnedRoom\x12-\n\x06handle\x18\x01 \x01(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12%\n\x04info\x18\x02 \x01(\x0b\x32\x17.livekit.proto.RoomInfo\"E\n\x14ParticipantConnected\x12-\n\x04info\x18\x01 \x01(\x0b\x32\x1f.livekit.proto.OwnedParticipant\"2\n\x17ParticipantDisconnected\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\"(\n\x13LocalTrackPublished\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"0\n\x15LocalTrackUnpublished\x12\x17\n\x0fpublication_sid\x18\x01 \x01(\t\"d\n\x0eTrackPublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x39\n\x0bpublication\x18\x02 \x01(\x0b\x32$.livekit.proto.OwnedTrackPublication\"D\n\x10TrackUnpublished\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x17\n\x0fpublication_sid\x18\x02 \x01(\t\"T\n\x0fTrackSubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12(\n\x05track\x18\x02 \x01(\x0b\x32\x19.livekit.proto.OwnedTrack\"?\n\x11TrackUnsubscribed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"T\n\x17TrackSubscriptionFailed\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"8\n\nTrackMuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\":\n\x0cTrackUnmuted\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\"Z\n\x10\x45\x32\x65\x65StateChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12-\n\x05state\x18\x02 \x01(\x0e\x32\x1e.livekit.proto.EncryptionState\"1\n\x15\x41\x63tiveSpeakersChanged\x12\x18\n\x10participant_sids\x18\x01 \x03(\t\"\'\n\x13RoomMetadataChanged\x12\x10\n\x08metadata\x18\x01 \x01(\t\"G\n\x1aParticipantMetadataChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t\"?\n\x16ParticipantNameChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"f\n\x18\x43onnectionQualityChanged\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x31\n\x07quality\x18\x02 \x01(\x0e\x32 .livekit.proto.ConnectionQuality\"T\n\nUserPacket\x12(\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x1a.livekit.proto.OwnedBuffer\x12\x12\n\x05topic\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_topic\"5\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x12\n\x05\x64igit\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_digit\"\xf5\x01\n\x12\x44\x61taPacketReceived\x12+\n\x04kind\x18\x01 \x01(\x0e\x32\x1d.livekit.proto.DataPacketKind\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12 \n\x0fparticipant_sid\x18\x03 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\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\x05valueB\x12\n\x10_participant_sid\"G\n\x16\x43onnectionStateChanged\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x1e.livekit.proto.ConnectionState\"\x0b\n\tConnected\"\x0e\n\x0c\x44isconnected\"\x0e\n\x0cReconnecting\"\r\n\x0bReconnected\"\t\n\x07RoomEOS*P\n\x10IceTransportType\x12\x13\n\x0fTRANSPORT_RELAY\x10\x00\x12\x14\n\x10TRANSPORT_NOHOST\x10\x01\x12\x11\n\rTRANSPORT_ALL\x10\x02*C\n\x18\x43ontinualGatheringPolicy\x12\x0f\n\x0bGATHER_ONCE\x10\x00\x12\x16\n\x12GATHER_CONTINUALLY\x10\x01*`\n\x11\x43onnectionQuality\x12\x10\n\x0cQUALITY_POOR\x10\x00\x12\x10\n\x0cQUALITY_GOOD\x10\x01\x12\x15\n\x11QUALITY_EXCELLENT\x10\x02\x12\x10\n\x0cQUALITY_LOST\x10\x03*S\n\x0f\x43onnectionState\x12\x15\n\x11\x43ONN_DISCONNECTED\x10\x00\x12\x12\n\x0e\x43ONN_CONNECTED\x10\x01\x12\x15\n\x11\x43ONN_RECONNECTING\x10\x02*3\n\x0e\x44\x61taPacketKind\x12\x0e\n\nKIND_LOSSY\x10\x00\x12\x11\n\rKIND_RELIABLE\x10\x01\x42\x10\xaa\x02\rLiveKit.Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'room_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' - _DATAPACKETRECEIVED.fields_by_name['participant_sid']._options = None - _DATAPACKETRECEIVED.fields_by_name['participant_sid']._serialized_options = b'\030\001' - _globals['_ICETRANSPORTTYPE']._serialized_start=6768 - _globals['_ICETRANSPORTTYPE']._serialized_end=6848 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=6850 - _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=6917 - _globals['_CONNECTIONQUALITY']._serialized_start=6919 - _globals['_CONNECTIONQUALITY']._serialized_end=7015 - _globals['_CONNECTIONSTATE']._serialized_start=7017 - _globals['_CONNECTIONSTATE']._serialized_end=7100 - _globals['_DATAPACKETKIND']._serialized_start=7102 - _globals['_DATAPACKETKIND']._serialized_end=7153 + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['_DATAPACKETRECEIVED'].fields_by_name['participant_sid']._options = None + _globals['_DATAPACKETRECEIVED'].fields_by_name['participant_sid']._serialized_options = b'\030\001' + _globals['_ICETRANSPORTTYPE']._serialized_start=7188 + _globals['_ICETRANSPORTTYPE']._serialized_end=7268 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_start=7270 + _globals['_CONTINUALGATHERINGPOLICY']._serialized_end=7337 + _globals['_CONNECTIONQUALITY']._serialized_start=7339 + _globals['_CONNECTIONQUALITY']._serialized_end=7435 + _globals['_CONNECTIONSTATE']._serialized_start=7437 + _globals['_CONNECTIONSTATE']._serialized_end=7520 + _globals['_DATAPACKETKIND']._serialized_start=7522 + _globals['_DATAPACKETKIND']._serialized_end=7573 _globals['_CONNECTREQUEST']._serialized_start=119 _globals['_CONNECTREQUEST']._serialized_end=208 _globals['_CONNECTRESPONSE']._serialized_start=210 @@ -72,100 +72,108 @@ _globals['_PUBLISHDATARESPONSE']._serialized_end=1516 _globals['_PUBLISHDATACALLBACK']._serialized_start=1518 _globals['_PUBLISHDATACALLBACK']._serialized_end=1587 - _globals['_UPDATELOCALMETADATAREQUEST']._serialized_start=1589 - _globals['_UPDATELOCALMETADATAREQUEST']._serialized_end=1669 - _globals['_UPDATELOCALMETADATARESPONSE']._serialized_start=1671 - _globals['_UPDATELOCALMETADATARESPONSE']._serialized_end=1718 - _globals['_UPDATELOCALMETADATACALLBACK']._serialized_start=1720 - _globals['_UPDATELOCALMETADATACALLBACK']._serialized_end=1767 - _globals['_UPDATELOCALNAMEREQUEST']._serialized_start=1769 - _globals['_UPDATELOCALNAMEREQUEST']._serialized_end=1841 - _globals['_UPDATELOCALNAMERESPONSE']._serialized_start=1843 - _globals['_UPDATELOCALNAMERESPONSE']._serialized_end=1886 - _globals['_UPDATELOCALNAMECALLBACK']._serialized_start=1888 - _globals['_UPDATELOCALNAMECALLBACK']._serialized_end=1931 - _globals['_SETSUBSCRIBEDREQUEST']._serialized_start=1933 - _globals['_SETSUBSCRIBEDREQUEST']._serialized_end=2002 - _globals['_SETSUBSCRIBEDRESPONSE']._serialized_start=2004 - _globals['_SETSUBSCRIBEDRESPONSE']._serialized_end=2027 - _globals['_GETSESSIONSTATSREQUEST']._serialized_start=2029 - _globals['_GETSESSIONSTATSREQUEST']._serialized_end=2074 - _globals['_GETSESSIONSTATSRESPONSE']._serialized_start=2076 - _globals['_GETSESSIONSTATSRESPONSE']._serialized_end=2119 - _globals['_GETSESSIONSTATSCALLBACK']._serialized_start=2122 - _globals['_GETSESSIONSTATSCALLBACK']._serialized_end=2296 - _globals['_VIDEOENCODING']._serialized_start=2298 - _globals['_VIDEOENCODING']._serialized_end=2357 - _globals['_AUDIOENCODING']._serialized_start=2359 - _globals['_AUDIOENCODING']._serialized_end=2395 - _globals['_TRACKPUBLISHOPTIONS']._serialized_start=2398 - _globals['_TRACKPUBLISHOPTIONS']._serialized_end=2664 - _globals['_ICESERVER']._serialized_start=2666 - _globals['_ICESERVER']._serialized_end=2727 - _globals['_RTCCONFIG']._serialized_start=2730 - _globals['_RTCCONFIG']._serialized_end=2990 - _globals['_ROOMOPTIONS']._serialized_start=2993 - _globals['_ROOMOPTIONS']._serialized_end=3217 - _globals['_BUFFERINFO']._serialized_start=3219 - _globals['_BUFFERINFO']._serialized_end=3267 - _globals['_OWNEDBUFFER']._serialized_start=3269 - _globals['_OWNEDBUFFER']._serialized_end=3370 - _globals['_ROOMEVENT']._serialized_start=3373 - _globals['_ROOMEVENT']._serialized_end=4909 - _globals['_ROOMINFO']._serialized_start=4911 - _globals['_ROOMINFO']._serialized_end=4966 - _globals['_OWNEDROOM']._serialized_start=4968 - _globals['_OWNEDROOM']._serialized_end=5065 - _globals['_PARTICIPANTCONNECTED']._serialized_start=5067 - _globals['_PARTICIPANTCONNECTED']._serialized_end=5136 - _globals['_PARTICIPANTDISCONNECTED']._serialized_start=5138 - _globals['_PARTICIPANTDISCONNECTED']._serialized_end=5188 - _globals['_LOCALTRACKPUBLISHED']._serialized_start=5190 - _globals['_LOCALTRACKPUBLISHED']._serialized_end=5230 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=5232 - _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=5280 - _globals['_TRACKPUBLISHED']._serialized_start=5282 - _globals['_TRACKPUBLISHED']._serialized_end=5382 - _globals['_TRACKUNPUBLISHED']._serialized_start=5384 - _globals['_TRACKUNPUBLISHED']._serialized_end=5452 - _globals['_TRACKSUBSCRIBED']._serialized_start=5454 - _globals['_TRACKSUBSCRIBED']._serialized_end=5538 - _globals['_TRACKUNSUBSCRIBED']._serialized_start=5540 - _globals['_TRACKUNSUBSCRIBED']._serialized_end=5603 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=5605 - _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=5689 - _globals['_TRACKMUTED']._serialized_start=5691 - _globals['_TRACKMUTED']._serialized_end=5747 - _globals['_TRACKUNMUTED']._serialized_start=5749 - _globals['_TRACKUNMUTED']._serialized_end=5807 - _globals['_E2EESTATECHANGED']._serialized_start=5809 - _globals['_E2EESTATECHANGED']._serialized_end=5899 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=5901 - _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=5950 - _globals['_ROOMMETADATACHANGED']._serialized_start=5952 - _globals['_ROOMMETADATACHANGED']._serialized_end=5991 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=5993 - _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=6064 - _globals['_PARTICIPANTNAMECHANGED']._serialized_start=6066 - _globals['_PARTICIPANTNAMECHANGED']._serialized_end=6129 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=6131 - _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=6233 - _globals['_USERPACKET']._serialized_start=6235 - _globals['_USERPACKET']._serialized_end=6319 - _globals['_SIPDTMF']._serialized_start=6321 - _globals['_SIPDTMF']._serialized_end=6374 - _globals['_DATAPACKETRECEIVED']._serialized_start=6377 - _globals['_DATAPACKETRECEIVED']._serialized_end=6622 - _globals['_CONNECTIONSTATECHANGED']._serialized_start=6624 - _globals['_CONNECTIONSTATECHANGED']._serialized_end=6695 - _globals['_CONNECTED']._serialized_start=6697 - _globals['_CONNECTED']._serialized_end=6708 - _globals['_DISCONNECTED']._serialized_start=6710 - _globals['_DISCONNECTED']._serialized_end=6724 - _globals['_RECONNECTING']._serialized_start=6726 - _globals['_RECONNECTING']._serialized_end=6740 - _globals['_RECONNECTED']._serialized_start=6742 - _globals['_RECONNECTED']._serialized_end=6755 - _globals['_ROOMEOS']._serialized_start=6757 - _globals['_ROOMEOS']._serialized_end=6766 + _globals['_PUBLISHTRANSCRIPTIONREQUEST']._serialized_start=1590 + _globals['_PUBLISHTRANSCRIPTIONREQUEST']._serialized_end=1774 + _globals['_PUBLISHTRANSCRIPTIONRESPONSE']._serialized_start=1776 + _globals['_PUBLISHTRANSCRIPTIONRESPONSE']._serialized_end=1824 + _globals['_PUBLISHTRANSCRIPTIONCALLBACK']._serialized_start=1826 + _globals['_PUBLISHTRANSCRIPTIONCALLBACK']._serialized_end=1904 + _globals['_UPDATELOCALMETADATAREQUEST']._serialized_start=1906 + _globals['_UPDATELOCALMETADATAREQUEST']._serialized_end=1986 + _globals['_UPDATELOCALMETADATARESPONSE']._serialized_start=1988 + _globals['_UPDATELOCALMETADATARESPONSE']._serialized_end=2035 + _globals['_UPDATELOCALMETADATACALLBACK']._serialized_start=2037 + _globals['_UPDATELOCALMETADATACALLBACK']._serialized_end=2084 + _globals['_UPDATELOCALNAMEREQUEST']._serialized_start=2086 + _globals['_UPDATELOCALNAMEREQUEST']._serialized_end=2158 + _globals['_UPDATELOCALNAMERESPONSE']._serialized_start=2160 + _globals['_UPDATELOCALNAMERESPONSE']._serialized_end=2203 + _globals['_UPDATELOCALNAMECALLBACK']._serialized_start=2205 + _globals['_UPDATELOCALNAMECALLBACK']._serialized_end=2248 + _globals['_SETSUBSCRIBEDREQUEST']._serialized_start=2250 + _globals['_SETSUBSCRIBEDREQUEST']._serialized_end=2319 + _globals['_SETSUBSCRIBEDRESPONSE']._serialized_start=2321 + _globals['_SETSUBSCRIBEDRESPONSE']._serialized_end=2344 + _globals['_GETSESSIONSTATSREQUEST']._serialized_start=2346 + _globals['_GETSESSIONSTATSREQUEST']._serialized_end=2391 + _globals['_GETSESSIONSTATSRESPONSE']._serialized_start=2393 + _globals['_GETSESSIONSTATSRESPONSE']._serialized_end=2436 + _globals['_GETSESSIONSTATSCALLBACK']._serialized_start=2439 + _globals['_GETSESSIONSTATSCALLBACK']._serialized_end=2613 + _globals['_VIDEOENCODING']._serialized_start=2615 + _globals['_VIDEOENCODING']._serialized_end=2674 + _globals['_AUDIOENCODING']._serialized_start=2676 + _globals['_AUDIOENCODING']._serialized_end=2712 + _globals['_TRACKPUBLISHOPTIONS']._serialized_start=2715 + _globals['_TRACKPUBLISHOPTIONS']._serialized_end=2981 + _globals['_ICESERVER']._serialized_start=2983 + _globals['_ICESERVER']._serialized_end=3044 + _globals['_RTCCONFIG']._serialized_start=3047 + _globals['_RTCCONFIG']._serialized_end=3307 + _globals['_ROOMOPTIONS']._serialized_start=3310 + _globals['_ROOMOPTIONS']._serialized_end=3534 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_start=3536 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_end=3637 + _globals['_BUFFERINFO']._serialized_start=3639 + _globals['_BUFFERINFO']._serialized_end=3687 + _globals['_OWNEDBUFFER']._serialized_start=3689 + _globals['_OWNEDBUFFER']._serialized_end=3790 + _globals['_ROOMEVENT']._serialized_start=3793 + _globals['_ROOMEVENT']._serialized_end=5329 + _globals['_ROOMINFO']._serialized_start=5331 + _globals['_ROOMINFO']._serialized_end=5386 + _globals['_OWNEDROOM']._serialized_start=5388 + _globals['_OWNEDROOM']._serialized_end=5485 + _globals['_PARTICIPANTCONNECTED']._serialized_start=5487 + _globals['_PARTICIPANTCONNECTED']._serialized_end=5556 + _globals['_PARTICIPANTDISCONNECTED']._serialized_start=5558 + _globals['_PARTICIPANTDISCONNECTED']._serialized_end=5608 + _globals['_LOCALTRACKPUBLISHED']._serialized_start=5610 + _globals['_LOCALTRACKPUBLISHED']._serialized_end=5650 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_start=5652 + _globals['_LOCALTRACKUNPUBLISHED']._serialized_end=5700 + _globals['_TRACKPUBLISHED']._serialized_start=5702 + _globals['_TRACKPUBLISHED']._serialized_end=5802 + _globals['_TRACKUNPUBLISHED']._serialized_start=5804 + _globals['_TRACKUNPUBLISHED']._serialized_end=5872 + _globals['_TRACKSUBSCRIBED']._serialized_start=5874 + _globals['_TRACKSUBSCRIBED']._serialized_end=5958 + _globals['_TRACKUNSUBSCRIBED']._serialized_start=5960 + _globals['_TRACKUNSUBSCRIBED']._serialized_end=6023 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_start=6025 + _globals['_TRACKSUBSCRIPTIONFAILED']._serialized_end=6109 + _globals['_TRACKMUTED']._serialized_start=6111 + _globals['_TRACKMUTED']._serialized_end=6167 + _globals['_TRACKUNMUTED']._serialized_start=6169 + _globals['_TRACKUNMUTED']._serialized_end=6227 + _globals['_E2EESTATECHANGED']._serialized_start=6229 + _globals['_E2EESTATECHANGED']._serialized_end=6319 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_start=6321 + _globals['_ACTIVESPEAKERSCHANGED']._serialized_end=6370 + _globals['_ROOMMETADATACHANGED']._serialized_start=6372 + _globals['_ROOMMETADATACHANGED']._serialized_end=6411 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_start=6413 + _globals['_PARTICIPANTMETADATACHANGED']._serialized_end=6484 + _globals['_PARTICIPANTNAMECHANGED']._serialized_start=6486 + _globals['_PARTICIPANTNAMECHANGED']._serialized_end=6549 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_start=6551 + _globals['_CONNECTIONQUALITYCHANGED']._serialized_end=6653 + _globals['_USERPACKET']._serialized_start=6655 + _globals['_USERPACKET']._serialized_end=6739 + _globals['_SIPDTMF']._serialized_start=6741 + _globals['_SIPDTMF']._serialized_end=6794 + _globals['_DATAPACKETRECEIVED']._serialized_start=6797 + _globals['_DATAPACKETRECEIVED']._serialized_end=7042 + _globals['_CONNECTIONSTATECHANGED']._serialized_start=7044 + _globals['_CONNECTIONSTATECHANGED']._serialized_end=7115 + _globals['_CONNECTED']._serialized_start=7117 + _globals['_CONNECTED']._serialized_end=7128 + _globals['_DISCONNECTED']._serialized_start=7130 + _globals['_DISCONNECTED']._serialized_end=7144 + _globals['_RECONNECTING']._serialized_start=7146 + _globals['_RECONNECTING']._serialized_end=7160 + _globals['_RECONNECTED']._serialized_start=7162 + _globals['_RECONNECTED']._serialized_end=7175 + _globals['_ROOMEOS']._serialized_start=7177 + _globals['_ROOMEOS']._serialized_end=7186 # @@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 4edf11f1..e2d2ca05 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 = ..., options: global___RoomOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["options", b"options"]) -> 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"]) -> 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,15 +159,15 @@ class ConnectResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -181,15 +180,14 @@ 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: ... ASYNC_ID_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int @@ -213,13 +211,13 @@ 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["_error", b"_error", "error", b"error", "local_participant", b"local_participant", "room", b"room"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "local_participant", b"local_participant", "participants", b"participants", "room", b"room"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error", "local_participant", b"local_participant", "room", b"room"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "local_participant", b"local_participant", "participants", b"participants", "room", b"room"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___ConnectCallback = ConnectCallback -@typing.final +@typing_extensions.final class DisconnectRequest(google.protobuf.message.Message): """Disconnect from the a room""" @@ -232,11 +230,11 @@ class DisconnectRequest(google.protobuf.message.Message): *, room_handle: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> None: ... + 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 @@ -247,11 +245,11 @@ class DisconnectResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -262,11 +260,11 @@ class DisconnectCallback(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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""" @@ -286,12 +284,12 @@ class PublishTrackRequest(google.protobuf.message.Message): track_handle: builtins.int = ..., options: global___TrackPublishOptions | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["options", b"options"]) -> 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["options", b"options"]) -> 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 @@ -302,11 +300,11 @@ class PublishTrackResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -324,13 +322,13 @@ class PublishTrackCallback(google.protobuf.message.Message): error: builtins.str | None = ..., publication: track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_error", b"_error", "error", b"error", "publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "publication", b"publication"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error", "publication", b"publication"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "publication", b"publication"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___PublishTrackCallback = PublishTrackCallback -@typing.final +@typing_extensions.final class UnpublishTrackRequest(google.protobuf.message.Message): """Unpublish a track from the room""" @@ -349,11 +347,11 @@ class UnpublishTrackRequest(google.protobuf.message.Message): track_sid: builtins.str = ..., stop_on_unpublish: builtins.bool = ..., ) -> None: ... - 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 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 @@ -364,11 +362,11 @@ class UnpublishTrackResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -382,13 +380,13 @@ class UnpublishTrackCallback(google.protobuf.message.Message): async_id: builtins.int = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___UnpublishTrackCallback = UnpublishTrackCallback -@typing.final +@typing_extensions.final class PublishDataRequest(google.protobuf.message.Message): """Publish data to other participants""" @@ -404,11 +402,10 @@ class PublishDataRequest(google.protobuf.message.Message): data_ptr: builtins.int data_len: builtins.int kind: global___DataPacketKind.ValueType - topic: builtins.str @property def destination_sids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """destination""" - + topic: builtins.str def __init__( self, *, @@ -419,13 +416,13 @@ class PublishDataRequest(google.protobuf.message.Message): destination_sids: collections.abc.Iterable[builtins.str] | None = ..., topic: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_topic", b"_topic", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_topic", b"_topic", "data_len", b"data_len", "data_ptr", b"data_ptr", "destination_sids", b"destination_sids", "kind", b"kind", "local_participant_handle", b"local_participant_handle", "topic", b"topic"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_topic", b"_topic"]) -> typing.Literal["topic"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_topic", b"_topic", "topic", b"topic"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_topic", b"_topic", "data_len", b"data_len", "data_ptr", b"data_ptr", "destination_sids", b"destination_sids", "kind", b"kind", "local_participant_handle", b"local_participant_handle", "topic", b"topic"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_topic", b"_topic"]) -> typing_extensions.Literal["topic"] | None: ... global___PublishDataRequest = PublishDataRequest -@typing.final +@typing_extensions.final class PublishDataResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -436,11 +433,11 @@ class PublishDataResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -454,13 +451,78 @@ class PublishDataCallback(google.protobuf.message.Message): async_id: builtins.int = ..., error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___PublishDataCallback = PublishDataCallback -@typing.final +@typing_extensions.final +class PublishTranscriptionRequest(google.protobuf.message.Message): + """Publish transcription messages to room""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCAL_PARTICIPANT_HANDLE_FIELD_NUMBER: builtins.int + PARTICIPANT_IDENTITY_FIELD_NUMBER: builtins.int + TRACK_ID_FIELD_NUMBER: builtins.int + SEGMENTS_FIELD_NUMBER: builtins.int + LANGUAGE_FIELD_NUMBER: builtins.int + local_participant_handle: builtins.int + participant_identity: builtins.str + track_id: builtins.str + @property + def segments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TranscriptionSegment]: ... + language: builtins.str + def __init__( + self, + *, + local_participant_handle: builtins.int = ..., + participant_identity: builtins.str = ..., + track_id: builtins.str = ..., + segments: collections.abc.Iterable[global___TranscriptionSegment] | None = ..., + language: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["language", b"language", "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 +class PublishTranscriptionResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: builtins.int + async_id: builtins.int + def __init__( + self, + *, + async_id: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... + +global___PublishTranscriptionResponse = PublishTranscriptionResponse + +@typing_extensions.final +class PublishTranscriptionCallback(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ASYNC_ID_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + async_id: builtins.int + error: builtins.str + def __init__( + self, + *, + async_id: builtins.int = ..., + error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... + +global___PublishTranscriptionCallback = PublishTranscriptionCallback + +@typing_extensions.final class UpdateLocalMetadataRequest(google.protobuf.message.Message): """Change the local participant's metadata""" @@ -476,11 +538,11 @@ class UpdateLocalMetadataRequest(google.protobuf.message.Message): local_participant_handle: builtins.int = ..., metadata: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "metadata", b"metadata"]) -> None: ... global___UpdateLocalMetadataRequest = UpdateLocalMetadataRequest -@typing.final +@typing_extensions.final class UpdateLocalMetadataResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -491,11 +553,11 @@ class UpdateLocalMetadataResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___UpdateLocalMetadataResponse = UpdateLocalMetadataResponse -@typing.final +@typing_extensions.final class UpdateLocalMetadataCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -506,11 +568,11 @@ class UpdateLocalMetadataCallback(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___UpdateLocalMetadataCallback = UpdateLocalMetadataCallback -@typing.final +@typing_extensions.final class UpdateLocalNameRequest(google.protobuf.message.Message): """Change the local participant's name""" @@ -526,11 +588,11 @@ class UpdateLocalNameRequest(google.protobuf.message.Message): local_participant_handle: builtins.int = ..., name: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["local_participant_handle", b"local_participant_handle", "name", b"name"]) -> None: ... global___UpdateLocalNameRequest = UpdateLocalNameRequest -@typing.final +@typing_extensions.final class UpdateLocalNameResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -541,11 +603,11 @@ class UpdateLocalNameResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___UpdateLocalNameResponse = UpdateLocalNameResponse -@typing.final +@typing_extensions.final class UpdateLocalNameCallback(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -556,11 +618,11 @@ class UpdateLocalNameCallback(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["async_id", b"async_id"]) -> None: ... global___UpdateLocalNameCallback = UpdateLocalNameCallback -@typing.final +@typing_extensions.final class SetSubscribedRequest(google.protobuf.message.Message): """Change the "desire" to subs2ribe to a track""" @@ -576,11 +638,11 @@ class SetSubscribedRequest(google.protobuf.message.Message): subscribe: builtins.bool = ..., publication_handle: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["publication_handle", b"publication_handle", "subscribe", b"subscribe"]) -> None: ... + 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 @@ -590,7 +652,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 @@ -601,11 +663,11 @@ class GetSessionStatsRequest(google.protobuf.message.Message): *, room_handle: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["room_handle", b"room_handle"]) -> None: ... + 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 @@ -616,11 +678,11 @@ class GetSessionStatsResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -642,13 +704,13 @@ 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 HasField(self, field_name: typing.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "publisher_stats", b"publisher_stats", "subscriber_stats", b"subscriber_stats"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___GetSessionStatsCallback = GetSessionStatsCallback -@typing.final +@typing_extensions.final class VideoEncoding(google.protobuf.message.Message): """ Options @@ -666,11 +728,11 @@ class VideoEncoding(google.protobuf.message.Message): max_bitrate: builtins.int = ..., max_framerate: builtins.float = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate", "max_framerate", b"max_framerate"]) -> None: ... + 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 @@ -681,11 +743,11 @@ class AudioEncoding(google.protobuf.message.Message): *, max_bitrate: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["max_bitrate", b"max_bitrate"]) -> None: ... + 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 @@ -696,17 +758,16 @@ class TrackPublishOptions(google.protobuf.message.Message): RED_FIELD_NUMBER: builtins.int SIMULCAST_FIELD_NUMBER: builtins.int SOURCE_FIELD_NUMBER: builtins.int - video_codec: video_frame_pb2.VideoCodec.ValueType - dtx: builtins.bool - red: builtins.bool - simulcast: builtins.bool - source: track_pb2.TrackSource.ValueType @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 def __init__( self, *, @@ -718,22 +779,22 @@ class TrackPublishOptions(google.protobuf.message.Message): simulcast: builtins.bool = ..., source: track_pb2.TrackSource.ValueType = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_encoding", b"audio_encoding", "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", "video_codec", b"video_codec", "video_encoding", b"video_encoding"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["audio_encoding", b"audio_encoding", "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", "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, *, @@ -741,11 +802,11 @@ class IceServer(google.protobuf.message.Message): username: builtins.str = ..., password: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["password", b"password", "urls", b"urls", "username", b"username"]) -> None: ... + 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 @@ -757,7 +818,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, *, @@ -765,16 +825,16 @@ 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", "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_transport_type", b"_ice_transport_type", "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", "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_transport_type", b"_ice_transport_type", "continual_gathering_policy", b"continual_gathering_policy", "ice_servers", b"ice_servers", "ice_transport_type", b"ice_transport_type"]) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_continual_gathering_policy", b"_continual_gathering_policy"]) -> typing.Literal["continual_gathering_policy"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_continual_gathering_policy", b"_continual_gathering_policy"]) -> typing_extensions.Literal["continual_gathering_policy"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_ice_transport_type", b"_ice_transport_type"]) -> typing.Literal["ice_transport_type"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_ice_transport_type", b"_ice_transport_type"]) -> typing_extensions.Literal["ice_transport_type"] | None: ... global___RtcConfig = RtcConfig -@typing.final +@typing_extensions.final class RoomOptions(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -787,13 +847,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, *, @@ -804,16 +863,43 @@ class RoomOptions(google.protobuf.message.Message): rtc_config: global___RtcConfig | None = ..., join_retries: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_e2ee", b"_e2ee", "_rtc_config", b"_rtc_config", "e2ee", b"e2ee", "rtc_config", b"rtc_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_e2ee", b"_e2ee", "_rtc_config", b"_rtc_config", "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["_e2ee", b"_e2ee", "_rtc_config", b"_rtc_config", "e2ee", b"e2ee", "rtc_config", b"rtc_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_e2ee", b"_e2ee", "_rtc_config", b"_rtc_config", "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: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_e2ee", b"_e2ee"]) -> typing.Literal["e2ee"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_e2ee", b"_e2ee"]) -> typing_extensions.Literal["e2ee"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_rtc_config", b"_rtc_config"]) -> typing.Literal["rtc_config"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_rtc_config", b"_rtc_config"]) -> typing_extensions.Literal["rtc_config"] | None: ... global___RoomOptions = RoomOptions -@typing.final +@typing_extensions.final +class TranscriptionSegment(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + START_TIME_FIELD_NUMBER: builtins.int + END_TIME_FIELD_NUMBER: builtins.int + FINAL_FIELD_NUMBER: builtins.int + id: builtins.str + text: builtins.str + start_time: builtins.int + end_time: builtins.int + final: builtins.bool + def __init__( + self, + *, + id: builtins.str = ..., + text: builtins.str = ..., + start_time: builtins.int = ..., + end_time: builtins.int = ..., + final: builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["end_time", b"end_time", "final", b"final", "id", b"id", "start_time", b"start_time", "text", b"text"]) -> None: ... + +global___TranscriptionSegment = TranscriptionSegment + +@typing_extensions.final class BufferInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -827,11 +913,11 @@ class BufferInfo(google.protobuf.message.Message): data_ptr: builtins.int = ..., data_len: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["data_len", b"data_len", "data_ptr", b"data_ptr"]) -> None: ... + 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 @@ -847,12 +933,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 @@ -918,7 +1004,6 @@ class RoomEvent(google.protobuf.message.Message): @property def disconnected(self) -> global___Disconnected: """Connected connected = 20;""" - @property def reconnecting(self) -> global___Reconnecting: ... @property @@ -928,7 +1013,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: ... def __init__( @@ -959,13 +1043,13 @@ class RoomEvent(google.protobuf.message.Message): eos: global___RoomEOS | None = ..., data_packet_received: global___DataPacketReceived | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "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_unpublished", b"local_track_unpublished", "message", b"message", "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_metadata_changed", b"room_metadata_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"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["active_speakers_changed", b"active_speakers_changed", "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_unpublished", b"local_track_unpublished", "message", b"message", "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", "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"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["participant_connected", "participant_disconnected", "local_track_published", "local_track_unpublished", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "participant_metadata_changed", "participant_name_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["active_speakers_changed", b"active_speakers_changed", "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_unpublished", b"local_track_unpublished", "message", b"message", "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_metadata_changed", b"room_metadata_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"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["active_speakers_changed", b"active_speakers_changed", "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_unpublished", b"local_track_unpublished", "message", b"message", "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", "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"]) -> 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", "track_published", "track_unpublished", "track_subscribed", "track_unsubscribed", "track_subscription_failed", "track_muted", "track_unmuted", "active_speakers_changed", "room_metadata_changed", "participant_metadata_changed", "participant_name_changed", "connection_quality_changed", "connection_state_changed", "disconnected", "reconnecting", "reconnected", "e2ee_state_changed", "eos", "data_packet_received"] | None: ... global___RoomEvent = RoomEvent -@typing.final +@typing_extensions.final class RoomInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -982,11 +1066,11 @@ class RoomInfo(google.protobuf.message.Message): name: builtins.str = ..., metadata: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "name", b"name", "sid", b"sid"]) -> None: ... + 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 @@ -1002,12 +1086,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 @@ -1019,12 +1103,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 @@ -1035,11 +1119,11 @@ class ParticipantDisconnected(google.protobuf.message.Message): *, participant_sid: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid"]) -> None: ... global___ParticipantDisconnected = ParticipantDisconnected -@typing.final +@typing_extensions.final class LocalTrackPublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1053,11 +1137,11 @@ class LocalTrackPublished(google.protobuf.message.Message): *, track_sid: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["track_sid", b"track_sid"]) -> None: ... + 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 @@ -1068,11 +1152,11 @@ class LocalTrackUnpublished(google.protobuf.message.Message): *, publication_sid: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["publication_sid", b"publication_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["publication_sid", b"publication_sid"]) -> None: ... global___LocalTrackUnpublished = LocalTrackUnpublished -@typing.final +@typing_extensions.final class TrackPublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1087,12 +1171,12 @@ class TrackPublished(google.protobuf.message.Message): participant_sid: builtins.str = ..., publication: track_pb2.OwnedTrackPublication | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["publication", b"publication"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "publication", b"publication"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["publication", b"publication"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid", "publication", b"publication"]) -> None: ... global___TrackPublished = TrackPublished -@typing.final +@typing_extensions.final class TrackUnpublished(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1106,11 +1190,11 @@ class TrackUnpublished(google.protobuf.message.Message): participant_sid: builtins.str = ..., publication_sid: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "publication_sid", b"publication_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid", "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 @@ -1129,12 +1213,12 @@ class TrackSubscribed(google.protobuf.message.Message): participant_sid: builtins.str = ..., track: track_pb2.OwnedTrack | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["track", b"track"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "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["participant_sid", b"participant_sid", "track", b"track"]) -> None: ... global___TrackSubscribed = TrackSubscribed -@typing.final +@typing_extensions.final class TrackUnsubscribed(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1149,11 +1233,11 @@ class TrackUnsubscribed(google.protobuf.message.Message): participant_sid: builtins.str = ..., track_sid: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "track_sid", b"track_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid", "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 @@ -1170,11 +1254,11 @@ class TrackSubscriptionFailed(google.protobuf.message.Message): track_sid: builtins.str = ..., error: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["error", b"error", "participant_sid", b"participant_sid", "track_sid", b"track_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["error", b"error", "participant_sid", b"participant_sid", "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 @@ -1188,11 +1272,11 @@ class TrackMuted(google.protobuf.message.Message): participant_sid: builtins.str = ..., track_sid: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "track_sid", b"track_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid", "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 @@ -1206,11 +1290,11 @@ class TrackUnmuted(google.protobuf.message.Message): participant_sid: builtins.str = ..., track_sid: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "track_sid", b"track_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid", "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 @@ -1225,11 +1309,11 @@ class E2eeStateChanged(google.protobuf.message.Message): participant_sid: builtins.str = ..., state: e2ee_pb2.EncryptionState.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "state", b"state"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid", "state", b"state"]) -> None: ... global___E2eeStateChanged = E2eeStateChanged -@typing.final +@typing_extensions.final class ActiveSpeakersChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1241,11 +1325,11 @@ class ActiveSpeakersChanged(google.protobuf.message.Message): *, participant_sids: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sids", b"participant_sids"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sids", b"participant_sids"]) -> None: ... global___ActiveSpeakersChanged = ActiveSpeakersChanged -@typing.final +@typing_extensions.final class RoomMetadataChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1256,11 +1340,11 @@ class RoomMetadataChanged(google.protobuf.message.Message): *, metadata: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> None: ... global___RoomMetadataChanged = RoomMetadataChanged -@typing.final +@typing_extensions.final class ParticipantMetadataChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1274,11 +1358,11 @@ class ParticipantMetadataChanged(google.protobuf.message.Message): participant_sid: builtins.str = ..., metadata: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "participant_sid", b"participant_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "participant_sid", b"participant_sid"]) -> None: ... global___ParticipantMetadataChanged = ParticipantMetadataChanged -@typing.final +@typing_extensions.final class ParticipantNameChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1292,11 +1376,11 @@ class ParticipantNameChanged(google.protobuf.message.Message): participant_sid: builtins.str = ..., name: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "participant_sid", b"participant_sid"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "participant_sid", b"participant_sid"]) -> None: ... global___ParticipantNameChanged = ParticipantNameChanged -@typing.final +@typing_extensions.final class ConnectionQualityChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1310,32 +1394,32 @@ class ConnectionQualityChanged(google.protobuf.message.Message): participant_sid: builtins.str = ..., quality: global___ConnectionQuality.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["participant_sid", b"participant_sid", "quality", b"quality"]) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["participant_sid", b"participant_sid", "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["_topic", b"_topic", "data", b"data", "topic", b"topic"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_topic", b"_topic", "data", b"data", "topic", b"topic"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_topic", b"_topic"]) -> typing.Literal["topic"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_topic", b"_topic", "data", b"data", "topic", b"topic"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_topic", b"_topic", "data", b"data", "topic", b"topic"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_topic", b"_topic"]) -> typing_extensions.Literal["topic"] | None: ... global___UserPacket = UserPacket -@typing.final +@typing_extensions.final class SipDTMF(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1349,13 +1433,13 @@ class SipDTMF(google.protobuf.message.Message): code: builtins.int = ..., digit: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_digit", b"_digit", "digit", b"digit"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_digit", b"_digit", "code", b"code", "digit", b"digit"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_digit", b"_digit"]) -> typing.Literal["digit"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_digit", b"_digit", "digit", b"digit"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_digit", b"_digit", "code", b"code", "digit", b"digit"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_digit", b"_digit"]) -> typing_extensions.Literal["digit"] | None: ... global___SipDTMF = SipDTMF -@typing.final +@typing_extensions.final class DataPacketReceived(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1382,16 +1466,16 @@ class DataPacketReceived(google.protobuf.message.Message): user: global___UserPacket | None = ..., sip_dtmf: global___SipDTMF | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_participant_sid", b"_participant_sid", "participant_sid", b"participant_sid", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_participant_sid", b"_participant_sid", "kind", b"kind", "participant_identity", b"participant_identity", "participant_sid", b"participant_sid", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_participant_sid", b"_participant_sid", "participant_sid", b"participant_sid", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_participant_sid", b"_participant_sid", "kind", b"kind", "participant_identity", b"participant_identity", "participant_sid", b"participant_sid", "sip_dtmf", b"sip_dtmf", "user", b"user", "value", b"value"]) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_participant_sid", b"_participant_sid"]) -> typing.Literal["participant_sid"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_participant_sid", b"_participant_sid"]) -> typing_extensions.Literal["participant_sid"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["user", "sip_dtmf"] | 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 ConnectionStateChanged(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1402,11 +1486,11 @@ class ConnectionStateChanged(google.protobuf.message.Message): *, state: global___ConnectionState.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["state", b"state"]) -> None: ... + 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 @@ -1416,7 +1500,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 @@ -1426,7 +1510,7 @@ class Disconnected(google.protobuf.message.Message): global___Disconnected = Disconnected -@typing.final +@typing_extensions.final class Reconnecting(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1436,7 +1520,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 @@ -1446,7 +1530,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 diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py index 7dfdf765..8c68ca21 100644 --- a/livekit-rtc/livekit/rtc/_proto/stats_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/stats_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: stats.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -19,11 +20,10 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'stats_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' - _OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY._options = None - _OUTBOUNDRTPSTREAMSTATS_QUALITYLIMITATIONDURATIONSENTRY._serialized_options = b'8\001' + _globals['DESCRIPTOR']._options = None + _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=9217 _globals['_DATACHANNELSTATE']._serialized_end=9298 _globals['_QUALITYLIMITATIONREASON']._serialized_start=9300 diff --git a/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/stats_pb2.pyi index 53f10dcb..82b8ef4b 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 Track(google.protobuf.message.Message): """Deprecated""" @@ -608,13 +607,13 @@ class RtcStats(google.protobuf.message.Message): certificate: global___RtcStats.Certificate | 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_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", "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", "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", "track"] | None: ... global___RtcStats = RtcStats -@typing.final +@typing_extensions.final class RtcStatsData(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -628,11 +627,11 @@ class RtcStatsData(google.protobuf.message.Message): id: builtins.str = ..., timestamp: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["id", b"id", "timestamp", b"timestamp"]) -> None: ... + 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 @@ -658,11 +657,11 @@ class CodecStats(google.protobuf.message.Message): channels: builtins.int = ..., sdp_fmtp_line: builtins.str = ..., ) -> None: ... - 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 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 @@ -682,11 +681,11 @@ class RtpStreamStats(google.protobuf.message.Message): transport_id: builtins.str = ..., codec_id: builtins.str = ..., ) -> None: ... - 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 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 @@ -703,11 +702,11 @@ class ReceivedRtpStreamStats(google.protobuf.message.Message): packets_lost: builtins.int = ..., jitter: builtins.float = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["jitter", b"jitter", "packets_lost", b"packets_lost", "packets_received", b"packets_received"]) -> None: ... + 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 @@ -874,11 +873,11 @@ class InboundRtpStreamStats(google.protobuf.message.Message): rtx_ssrc: builtins.int = ..., fec_ssrc: builtins.int = ..., ) -> None: ... - 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 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 @@ -892,15 +891,15 @@ class SentRtpStreamStats(google.protobuf.message.Message): packets_sent: builtins.int = ..., bytes_sent: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["bytes_sent", b"bytes_sent", "packets_sent", b"packets_sent"]) -> None: ... + 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 @@ -914,7 +913,7 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): key: builtins.str = ..., value: builtins.float = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + 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 @@ -967,6 +966,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 @@ -975,8 +976,6 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): power_efficient_encoder: builtins.bool active: builtins.bool scalibility_mode: builtins.str - @property - def quality_limitation_durations(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: ... def __init__( self, *, @@ -1011,11 +1010,11 @@ class OutboundRtpStreamStats(google.protobuf.message.Message): active: builtins.bool = ..., scalibility_mode: builtins.str = ..., ) -> None: ... - 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", "scalibility_mode", b"scalibility_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 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", "scalibility_mode", b"scalibility_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 @@ -1038,11 +1037,11 @@ class RemoteInboundRtpStreamStats(google.protobuf.message.Message): fraction_lost: builtins.float = ..., round_trip_time_measurements: builtins.int = ..., ) -> None: ... - 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 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 @@ -1068,11 +1067,11 @@ class RemoteOutboundRtpStreamStats(google.protobuf.message.Message): total_round_trip_time: builtins.float = ..., round_trip_time_measurements: builtins.int = ..., ) -> None: ... - 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 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 @@ -1086,11 +1085,11 @@ class MediaSourceStats(google.protobuf.message.Message): track_identifier: builtins.str = ..., kind: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["kind", b"kind", "track_identifier", b"track_identifier"]) -> None: ... + 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 @@ -1125,11 +1124,11 @@ class AudioSourceStats(google.protobuf.message.Message): total_capture_delay: builtins.float = ..., total_samples_captured: builtins.int = ..., ) -> None: ... - 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 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 @@ -1149,11 +1148,11 @@ class VideoSourceStats(google.protobuf.message.Message): frames: builtins.int = ..., frames_per_second: builtins.float = ..., ) -> None: ... - 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 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 @@ -1179,11 +1178,11 @@ class AudioPlayoutStats(google.protobuf.message.Message): total_playout_delay: builtins.float = ..., total_samples_count: builtins.int = ..., ) -> None: ... - 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 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 @@ -1197,11 +1196,11 @@ class PeerConnectionStats(google.protobuf.message.Message): data_channels_opened: builtins.int = ..., data_channels_closed: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["data_channels_closed", b"data_channels_closed", "data_channels_opened", b"data_channels_opened"]) -> None: ... + 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 @@ -1233,13 +1232,13 @@ class DataChannelStats(google.protobuf.message.Message): messages_received: builtins.int = ..., bytes_received: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_state", b"_state", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_state", b"_state", "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 WhichOneof(self, oneof_group: typing.Literal["_state", b"_state"]) -> typing.Literal["state"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_state", b"_state", "state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_state", b"_state", "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 WhichOneof(self, oneof_group: typing_extensions.Literal["_state", b"_state"]) -> typing_extensions.Literal["state"] | None: ... global___DataChannelStats = DataChannelStats -@typing.final +@typing_extensions.final class TransportStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1295,16 +1294,16 @@ class TransportStats(google.protobuf.message.Message): srtp_cipher: builtins.str = ..., selected_candidate_pair_changes: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_dtls_state", b"_dtls_state", "_ice_state", b"_ice_state", "dtls_state", b"dtls_state", "ice_state", b"ice_state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_dtls_state", b"_dtls_state", "_ice_state", b"_ice_state", "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["_dtls_state", b"_dtls_state", "_ice_state", b"_ice_state", "dtls_state", b"dtls_state", "ice_state", b"ice_state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_dtls_state", b"_dtls_state", "_ice_state", b"_ice_state", "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: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_dtls_state", b"_dtls_state"]) -> typing.Literal["dtls_state"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_dtls_state", b"_dtls_state"]) -> typing_extensions.Literal["dtls_state"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_ice_state", b"_ice_state"]) -> typing.Literal["ice_state"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_ice_state", b"_ice_state"]) -> typing_extensions.Literal["ice_state"] | None: ... global___TransportStats = TransportStats -@typing.final +@typing_extensions.final class CandidatePairStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1378,13 +1377,13 @@ class CandidatePairStats(google.protobuf.message.Message): packets_discarded_on_send: builtins.int = ..., bytes_discarded_on_send: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_state", b"_state", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_state", b"_state", "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 WhichOneof(self, oneof_group: typing.Literal["_state", b"_state"]) -> typing.Literal["state"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_state", b"_state", "state", b"state"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_state", b"_state", "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 WhichOneof(self, oneof_group: typing_extensions.Literal["_state", b"_state"]) -> typing_extensions.Literal["state"] | None: ... global___CandidatePairStats = CandidatePairStats -@typing.final +@typing_extensions.final class IceCandidateStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1431,18 +1430,18 @@ class IceCandidateStats(google.protobuf.message.Message): username_fragment: builtins.str = ..., tcp_type: global___IceTcpCandidateType.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_candidate_type", b"_candidate_type", "_relay_protocol", b"_relay_protocol", "_tcp_type", b"_tcp_type", "candidate_type", b"candidate_type", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_candidate_type", b"_candidate_type", "_relay_protocol", b"_relay_protocol", "_tcp_type", b"_tcp_type", "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["_candidate_type", b"_candidate_type", "_relay_protocol", b"_relay_protocol", "_tcp_type", b"_tcp_type", "candidate_type", b"candidate_type", "relay_protocol", b"relay_protocol", "tcp_type", b"tcp_type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_candidate_type", b"_candidate_type", "_relay_protocol", b"_relay_protocol", "_tcp_type", b"_tcp_type", "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: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_candidate_type", b"_candidate_type"]) -> typing.Literal["candidate_type"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_candidate_type", b"_candidate_type"]) -> typing_extensions.Literal["candidate_type"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_relay_protocol", b"_relay_protocol"]) -> typing.Literal["relay_protocol"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_relay_protocol", b"_relay_protocol"]) -> typing_extensions.Literal["relay_protocol"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_tcp_type", b"_tcp_type"]) -> typing.Literal["tcp_type"] | None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_tcp_type", b"_tcp_type"]) -> typing_extensions.Literal["tcp_type"] | None: ... global___IceCandidateStats = IceCandidateStats -@typing.final +@typing_extensions.final class CertificateStats(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1462,6 +1461,6 @@ class CertificateStats(google.protobuf.message.Message): base64_certificate: builtins.str = ..., issuer_certificate_id: builtins.str = ..., ) -> None: ... - 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 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 diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.py b/livekit-rtc/livekit/rtc/_proto/track_pb2.py index 39a25ebf..5e483bc5 100644 --- a/livekit-rtc/livekit/rtc/_proto/track_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/track_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: track.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -22,9 +23,8 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'track_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_TRACKKIND']._serialized_start=1218 _globals['_TRACKKIND']._serialized_end=1279 _globals['_TRACKSOURCE']._serialized_start=1282 diff --git a/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/track_pb2.pyi index 8d775066..2a687298 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,11 +105,11 @@ class CreateVideoTrackRequest(google.protobuf.message.Message): name: builtins.str = ..., source_handle: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + 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 @@ -122,12 +121,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""" @@ -143,11 +142,11 @@ class CreateAudioTrackRequest(google.protobuf.message.Message): name: builtins.str = ..., source_handle: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["name", b"name", "source_handle", b"source_handle"]) -> None: ... + 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 @@ -159,12 +158,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 @@ -175,11 +174,11 @@ class GetStatsRequest(google.protobuf.message.Message): *, track_handle: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["track_handle", b"track_handle"]) -> None: ... + 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 @@ -190,11 +189,11 @@ class GetStatsResponse(google.protobuf.message.Message): *, async_id: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ... + 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 @@ -212,13 +211,13 @@ 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["_error", b"_error", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "stats", b"stats"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "async_id", b"async_id", "error", b"error", "stats", b"stats"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___GetStatsCallback = GetStatsCallback -@typing.final +@typing_extensions.final class TrackEvent(google.protobuf.message.Message): """ Track @@ -232,7 +231,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 @@ -273,11 +272,11 @@ class TrackPublicationInfo(google.protobuf.message.Message): remote: builtins.bool = ..., encryption_type: e2ee_pb2.EncryptionType.ValueType = ..., ) -> None: ... - 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 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 @@ -293,12 +292,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 @@ -324,11 +323,11 @@ class TrackInfo(google.protobuf.message.Message): muted: builtins.bool = ..., remote: builtins.bool = ..., ) -> None: ... - 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 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 @@ -344,7 +343,7 @@ 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 diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py index 33c10b27..5af87d6a 100644 --- a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: video_frame.proto +# Protobuf Python Version: 4.25.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,9 +21,8 @@ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'video_frame_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\252\002\rLiveKit.Proto' + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' _globals['_VIDEOCODEC']._serialized_start=2132 _globals['_VIDEOCODEC']._serialized_end=2181 _globals['_VIDEOROTATION']._serialized_start=2183 diff --git a/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/video_frame_pb2.pyi index 40cddda9..393bb975 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 @@ -137,7 +136,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 @@ -163,13 +162,13 @@ class NewVideoStreamRequest(google.protobuf.message.Message): format: global___VideoBufferType.ValueType | None = ..., normalize_stride: builtins.bool = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_format", b"_format", "format", b"format"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_format", b"_format", "format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_format", b"_format"]) -> typing.Literal["format"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_format", b"_format", "format", b"format"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_format", b"_format", "format", b"format", "normalize_stride", b"normalize_stride", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_format", b"_format"]) -> typing_extensions.Literal["format"] | 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 NewVideoSourceRequest(google.protobuf.message.Message): """Create a new VideoSource VideoSource is used to send video frame to a track @@ -202,19 +201,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 = ..., resolution: global___VideoSourceResolution | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["resolution", b"resolution"]) -> 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"]) -> 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 @@ -226,12 +224,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""" @@ -242,11 +240,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, *, @@ -255,12 +253,12 @@ class CaptureVideoFrameRequest(google.protobuf.message.Message): timestamp_us: builtins.int = ..., rotation: global___VideoRotation.ValueType = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> 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"]) -> 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 @@ -270,7 +268,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 @@ -278,9 +276,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, *, @@ -288,12 +286,12 @@ class VideoConvertRequest(google.protobuf.message.Message): buffer: global___VideoBufferInfo | None = ..., dst_type: global___VideoBufferType.ValueType = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> 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"]) -> 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 @@ -308,13 +306,13 @@ class VideoConvertResponse(google.protobuf.message.Message): error: builtins.str | None = ..., buffer: global___OwnedVideoBuffer | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_error", b"_error", "buffer", b"buffer", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "buffer", b"buffer", "error", b"error"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["_error", b"_error", "buffer", b"buffer", "error", b"error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_error", b"_error", "buffer", b"buffer", "error", b"error"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_error", b"_error"]) -> typing_extensions.Literal["error"] | None: ... global___VideoConvertResponse = VideoConvertResponse -@typing.final +@typing_extensions.final class VideoResolution(google.protobuf.message.Message): """ VideoFrame buffers @@ -335,15 +333,15 @@ class VideoResolution(google.protobuf.message.Message): height: builtins.int = ..., frame_rate: builtins.float = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["frame_rate", b"frame_rate", "height", b"height", "width", b"width"]) -> None: ... + 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 @@ -360,7 +358,7 @@ class VideoBufferInfo(google.protobuf.message.Message): stride: builtins.int = ..., size: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["data_ptr", b"data_ptr", "size", b"size", "stride", b"stride"]) -> None: ... + 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 @@ -386,11 +384,11 @@ class VideoBufferInfo(google.protobuf.message.Message): stride: builtins.int = ..., components: collections.abc.Iterable[global___VideoBufferInfo.ComponentInfo] | None = ..., ) -> None: ... - 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 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 @@ -406,12 +404,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 @@ -422,11 +420,11 @@ class VideoStreamInfo(google.protobuf.message.Message): *, type: global___VideoStreamType.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + 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 @@ -442,12 +440,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 @@ -466,24 +464,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"]) -> 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"]) -> 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, *, @@ -491,12 +489,12 @@ class VideoFrameReceived(google.protobuf.message.Message): timestamp_us: builtins.int = ..., rotation: global___VideoRotation.ValueType = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["buffer", b"buffer"]) -> 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"]) -> 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 @@ -506,7 +504,7 @@ class VideoStreamEOS(google.protobuf.message.Message): global___VideoStreamEOS = VideoStreamEOS -@typing.final +@typing_extensions.final class VideoSourceResolution(google.protobuf.message.Message): """ VideoSource @@ -524,11 +522,11 @@ class VideoSourceResolution(google.protobuf.message.Message): width: builtins.int = ..., height: builtins.int = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> None: ... + 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 @@ -539,11 +537,11 @@ class VideoSourceInfo(google.protobuf.message.Message): *, type: global___VideoSourceType.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + 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 @@ -559,7 +557,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/livekit/rtc/participant.py b/livekit-rtc/livekit/rtc/participant.py index 377bfbf0..7d7351f9 100644 --- a/livekit-rtc/livekit/rtc/participant.py +++ b/livekit-rtc/livekit/rtc/participant.py @@ -12,13 +12,21 @@ # See the License for the specific language governing permissions and # limitations under the License. +from __future__ import annotations + import ctypes from typing import List, Union -from ._ffi_client import FfiHandle, FfiClient +from ._ffi_client import FfiClient, FfiHandle from ._proto import ffi_pb2 as proto_ffi from ._proto import participant_pb2 as proto_participant -from ._proto.room_pb2 import DataPacketKind, TrackPublishOptions +from ._proto.room_pb2 import ( + DataPacketKind, + TrackPublishOptions, +) +from ._proto.room_pb2 import ( + TranscriptionSegment as ProtoTranscriptionSegment, +) from ._utils import BroadcastQueue from .track import LocalTrack from .track_publication import ( @@ -26,6 +34,7 @@ RemoteTrackPublication, TrackPublication, ) +from .transcription import Transcription class PublishTrackError(Exception): @@ -43,6 +52,11 @@ def __init__(self, message: str) -> None: self.message = message +class PublishTranscriptionError(Exception): + def __init__(self, message: str) -> None: + self.message = message + + class Participant: def __init__(self, owned_info: proto_participant.OwnedParticipant) -> None: self._info = owned_info.info @@ -117,6 +131,38 @@ async def publish_data( if cb.publish_data.error: raise PublishDataError(cb.publish_data.error) + async def publish_transcription(self, transcription: Transcription) -> None: + req = proto_ffi.FfiRequest() + proto_segments = [ + ProtoTranscriptionSegment( + id=s.id, + text=s.text, + start_time=s.start_time, + end_time=s.end_time, + final=s.final, + ) + for s in transcription.segments + ] + # fmt: off + req.publish_transcription.local_participant_handle = self._ffi_handle.handle + req.publish_transcription.participant_identity = transcription.participant_identity + req.publish_transcription.segments.extend(proto_segments) + req.publish_transcription.track_id = transcription.track_id + req.publish_transcription.language = transcription.language + # fmt: on + queue = FfiClient.instance.queue.subscribe() + try: + resp = FfiClient.instance.request(req) + cb = await queue.wait_for( + lambda e: e.publish_transcription.async_id + == resp.publish_transcription.async_id + ) + finally: + FfiClient.instance.queue.unsubscribe(queue) + + if cb.publish_transcription.error: + raise PublishTranscriptionError(cb.publish_transcription.error) + async def update_metadata(self, metadata: str) -> None: req = proto_ffi.FfiRequest() req.update_local_metadata.local_participant_handle = self._ffi_handle.handle diff --git a/livekit-rtc/livekit/rtc/transcription.py b/livekit-rtc/livekit/rtc/transcription.py new file mode 100644 index 00000000..3694e0d0 --- /dev/null +++ b/livekit-rtc/livekit/rtc/transcription.py @@ -0,0 +1,19 @@ +from typing import List +from dataclasses import dataclass + + +@dataclass +class Transcription: + participant_identity: str + track_id: str + segments: List["TranscriptionSegment"] + language: str + + +@dataclass +class TranscriptionSegment: + id: str + text: str + start_time: int + end_time: int + final: bool diff --git a/livekit-rtc/livekit/rtc/version.py b/livekit-rtc/livekit/rtc/version.py index 61fb31ca..ae6db5f1 100644 --- a/livekit-rtc/livekit/rtc/version.py +++ b/livekit-rtc/livekit/rtc/version.py @@ -1 +1 @@ -__version__ = "0.10.0" +__version__ = "0.11.0" diff --git a/livekit-rtc/rust-sdks b/livekit-rtc/rust-sdks index 95bf6ea3..1fab6dcc 160000 --- a/livekit-rtc/rust-sdks +++ b/livekit-rtc/rust-sdks @@ -1 +1 @@ -Subproject commit 95bf6ea3d73a2eb069d7365d5a35ce1304567ac3 +Subproject commit 1fab6dcc135ad9a1d8c6d828b281c7ae593e3435