diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..d1e825b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/downloads~/* +**/.DS_Store diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 00000000..0b600736 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,7 @@ +{ + "ExpandedNodes": [ + "" + ], + "SelectedNode": "\\C:\\Users\\ashka\\Source\\Repos\\client-sdk-unity", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/client-sdk-unity/v17/.wsuo b/.vs/client-sdk-unity/v17/.wsuo new file mode 100644 index 00000000..42b59760 Binary files /dev/null and b/.vs/client-sdk-unity/v17/.wsuo differ diff --git a/BuildScripts~/generate_proto.sh b/BuildScripts~/generate_proto.sh index 63081069..2e5005b0 100755 --- a/BuildScripts~/generate_proto.sh +++ b/BuildScripts~/generate_proto.sh @@ -6,10 +6,15 @@ OUT_CSHARP=../Runtime/Scripts/Proto protoc \ -I=$FFI_PROTOCOL \ --csharp_out=$OUT_CSHARP \ - $FFI_PROTOCOL/audio_frame.proto \ $FFI_PROTOCOL/ffi.proto \ $FFI_PROTOCOL/handle.proto \ - $FFI_PROTOCOL/participant.proto \ $FFI_PROTOCOL/room.proto \ $FFI_PROTOCOL/track.proto \ - $FFI_PROTOCOL/video_frame.proto + $FFI_PROTOCOL/track_publication.proto \ + $FFI_PROTOCOL/participant.proto \ + $FFI_PROTOCOL/video_frame.proto \ + $FFI_PROTOCOL/audio_frame.proto \ + $FFI_PROTOCOL/e2ee.proto \ + $FFI_PROTOCOL/stats.proto \ + $FFI_PROTOCOL/rpc.proto \ + $FFI_PROTOCOL/data_stream.proto \ No newline at end of file diff --git a/Runtime/Plugins/arm64.meta b/Examples.meta similarity index 77% rename from Runtime/Plugins/arm64.meta rename to Examples.meta index 40190466..8d24f9f1 100644 --- a/Runtime/Plugins/arm64.meta +++ b/Examples.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1194d01c6be384c769c4be6560f7c810 +guid: 17f64250a9f4a4c34be4385e677c31a6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Examples/ExampleRoom.cs b/Examples/ExampleRoom.cs new file mode 100644 index 00000000..d1ed3109 --- /dev/null +++ b/Examples/ExampleRoom.cs @@ -0,0 +1,112 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using System.Threading; +using Cysharp.Threading.Tasks; +using LiveKit.Audio; +using LiveKit.Proto; +using LiveKit.Rooms; +using LiveKit.Rooms.Participants; +using LiveKit.Rooms.Streaming.Audio; +using UnityEngine.SceneManagement; + +public class ExampleRoom : MonoBehaviour +{ + private Room? m_Room; + private MicrophoneRtcAudioSource? microphoneSource; + + private readonly Dictionary sourcesMap = new(); + + public Button DisconnectButton; + + private void Start() + { + StartAsync().Forget(); + } + + private void Update() + { + foreach (var remoteParticipantIdentity in m_Room.Participants.RemoteParticipantIdentities()) + { + var participant = m_Room.Participants.RemoteParticipant(remoteParticipantIdentity)!; + foreach (var (key, value) in participant.Tracks) + { + var track = m_Room.AudioStreams.ActiveStream(remoteParticipantIdentity, key!); + if (track != null) + { + if (track.TryGetTarget(out var audioStream)) + { + if (sourcesMap.ContainsKey(audioStream) == false) + { + var livekitAudioSource = LivekitAudioSource.New(true); + livekitAudioSource.Construct(track); + livekitAudioSource.Play(); + Debug.Log($"Participant {remoteParticipantIdentity} added track {key}"); + sourcesMap[audioStream] = livekitAudioSource; + } + } + } + } + } + } + + private async UniTaskVoid StartAsync() + { + // New Room must be called when WebGL assembly is loaded + m_Room = new Room(); + + // Setup the callbacks before connecting to the Room + m_Room.Participants.UpdatesFromParticipant += (p, update) => + { + if (update == UpdateFromParticipant.Connected) + Debug.Log($"Participant connected: {p.Sid}"); + }; + + var c = await m_Room.ConnectAsync(JoinMenu.LivekitURL, JoinMenu.RoomToken, CancellationToken.None, true); + + if (c.Success == false) + { + Debug.Log($"Failed to connect to the room !: {c.ErrorMessage}"); + return; + } + + Debug.Log("Connected to the room"); + + DisconnectButton.onClick.AddListener(() => + { + m_Room.DisconnectAsync(CancellationToken.None); + SceneManager.LoadScene("JoinScene", LoadSceneMode.Single); + }); + + // Microphone usage + var sourceResult = MicrophoneRtcAudioSource.New(); + if (sourceResult.Success == false) + { + Debug.LogError($"Cannot create microphone source: {sourceResult.ErrorMessage}"); + return; + } + + microphoneSource = sourceResult.Value; + microphoneSource.Start(); + + var myTrack = m_Room.AudioTracks.CreateAudioTrack("own", microphoneSource); + var trackOptions = new TrackPublishOptions + { + AudioEncoding = new AudioEncoding + { + MaxBitrate = 124000 + }, + Source = TrackSource.SourceMicrophone + }; + var publishTask = m_Room.Participants.LocalParticipant() + .PublishTrack(myTrack, trackOptions, CancellationToken.None); + await UniTask.WaitUntil(() => publishTask.IsDone); + Debug.Log("Init finished"); + } + + private void OnDestroy() + { + m_Room?.DisconnectAsync(CancellationToken.None); + microphoneSource?.Dispose(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/VideoSource.cs.meta b/Examples/ExampleRoom.cs.meta similarity index 83% rename from Runtime/Scripts/VideoSource.cs.meta rename to Examples/ExampleRoom.cs.meta index ac9d70cb..cc5d6396 100644 --- a/Runtime/Scripts/VideoSource.cs.meta +++ b/Examples/ExampleRoom.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b3995117cdee64fb3b81d5cf568e03c6 +guid: a25797c83fcd118479726fe7a937202e MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Examples/JoinMenu.cs b/Examples/JoinMenu.cs new file mode 100644 index 00000000..b9abbb78 --- /dev/null +++ b/Examples/JoinMenu.cs @@ -0,0 +1,50 @@ +using System.Collections; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.SceneManagement; + +public class JoinMenu : MonoBehaviour +{ + public static string LivekitURL { get; private set; } + public static string RoomToken { get; private set; } + + public RawImage PreviewCamera; + public InputField URLField; + public InputField TokenField; + public Button ConnectButton; + + void Start() + { + if (PlayerPrefs.HasKey(nameof(LivekitURL))) + { + URLField.text = PlayerPrefs.GetString(nameof(LivekitURL)); + } + + if (PlayerPrefs.HasKey(nameof(RoomToken))) + { + TokenField.text = PlayerPrefs.GetString(nameof(RoomToken)); + } + + StartCoroutine(StartPreviewCamera()); + + ConnectButton.onClick.AddListener(() => + { + PlayerPrefs.SetString(nameof(LivekitURL), URLField.text); + PlayerPrefs.SetString(nameof(RoomToken), TokenField.text); + + LivekitURL = URLField.text; + RoomToken = TokenField.text; + + if (string.IsNullOrWhiteSpace(RoomToken)) + return; + + SceneManager.LoadScene("RoomScene", LoadSceneMode.Single); + }); + } + + private IEnumerator StartPreviewCamera() + { + Debug.LogError("Preview camera is not supported"); + yield break; + } +} \ No newline at end of file diff --git a/Examples/JoinMenu.cs.meta b/Examples/JoinMenu.cs.meta new file mode 100644 index 00000000..adc0302e --- /dev/null +++ b/Examples/JoinMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4d1ff4fa24862c648b2225164c285661 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Examples/JoinScene.unity b/Examples/JoinScene.unity new file mode 100644 index 00000000..441e8fac --- /dev/null +++ b/Examples/JoinScene.unity @@ -0,0 +1,1545 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &101491213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 101491214} + - component: {fileID: 101491215} + m_Layer: 0 + m_Name: JoinMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &101491214 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101491213} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 386.0957, y: 215.87831, z: -8584.062} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &101491215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 101491213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d1ff4fa24862c648b2225164c285661, type: 3} + m_Name: + m_EditorClassIdentifier: + PreviewCamera: {fileID: 716394721} + URLField: {fileID: 278702571} + TokenField: {fileID: 324868632} + ConnectButton: {fileID: 1333156863} +--- !u!1 &116298007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 116298008} + - component: {fileID: 116298010} + - component: {fileID: 116298009} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &116298008 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116298007} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 278702570} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5000038} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &116298009 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116298007} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: LiveKit URL +--- !u!222 &116298010 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116298007} + m_CullTransparentMesh: 1 +--- !u!1 &188535141 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 188535142} + - component: {fileID: 188535144} + - component: {fileID: 188535143} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &188535142 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188535141} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 278702570} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5000038} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &188535143 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188535141} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: ws://localhost:7880 +--- !u!222 &188535144 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 188535141} + m_CullTransparentMesh: 1 +--- !u!1 &278702569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 278702570} + - component: {fileID: 278702573} + - component: {fileID: 278702572} + - component: {fileID: 278702571} + m_Layer: 5 + m_Name: URLField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &278702570 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 278702569} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 116298008} + - {fileID: 188535142} + m_Father: {fileID: 1749453183} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -160.97, y: 146.6} + m_SizeDelta: {x: 155, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &278702571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 278702569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 278702572} + m_TextComponent: {fileID: 188535143} + m_Placeholder: {fileID: 116298009} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: ws://localhost:7880 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &278702572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 278702569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &278702573 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 278702569} + m_CullTransparentMesh: 1 +--- !u!1 &324868630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 324868631} + - component: {fileID: 324868634} + - component: {fileID: 324868633} + - component: {fileID: 324868632} + m_Layer: 5 + m_Name: TokenField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &324868631 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324868630} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 649338268} + - {fileID: 1325331132} + m_Father: {fileID: 1749453183} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 159.13, y: 146.6} + m_SizeDelta: {x: 155, y: 30} + m_Pivot: {x: 0.50000006, y: 0.5} +--- !u!114 &324868632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324868630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 324868633} + m_TextComponent: {fileID: 1325331133} + m_Placeholder: {fileID: 649338269} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &324868633 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324868630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &324868634 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324868630} + m_CullTransparentMesh: 1 +--- !u!1 &649338267 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 649338268} + - component: {fileID: 649338270} + - component: {fileID: 649338269} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &649338268 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649338267} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 324868631} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.49962234} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &649338269 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649338267} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Token +--- !u!222 &649338270 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 649338267} + m_CullTransparentMesh: 1 +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &716394719 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 716394720} + - component: {fileID: 716394722} + - component: {fileID: 716394721} + m_Layer: 5 + m_Name: PreviewCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &716394720 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 716394719} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1749453183} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.000015259, y: -28} + m_SizeDelta: {x: 476.9362, y: 268.2766} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &716394721 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 716394719} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &716394722 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 716394719} + m_CullTransparentMesh: 1 +--- !u!1 &752871054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 752871055} + - component: {fileID: 752871057} + - component: {fileID: 752871056} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &752871055 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 752871054} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1333156862} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &752871056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 752871054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Connect + +' +--- !u!222 &752871057 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 752871054} + m_CullTransparentMesh: 1 +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &976643757 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 976643761} + - component: {fileID: 976643760} + - component: {fileID: 976643759} + - component: {fileID: 976643758} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &976643758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976643757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &976643759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976643757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 1 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &976643760 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976643757} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &976643761 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976643757} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1749453183} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1128072113 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1128072116} + - component: {fileID: 1128072115} + - component: {fileID: 1128072114} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1128072114 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128072113} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1128072115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128072113} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1128072116 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128072113} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1325331131 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1325331132} + - component: {fileID: 1325331134} + - component: {fileID: 1325331133} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1325331132 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1325331131} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 324868631} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.49962234} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1325331133 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1325331131} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1325331134 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1325331131} + m_CullTransparentMesh: 1 +--- !u!1 &1333156861 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1333156862} + - component: {fileID: 1333156865} + - component: {fileID: 1333156864} + - component: {fileID: 1333156863} + m_Layer: 5 + m_Name: ConnectButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1333156862 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333156861} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 752871055} + m_Father: {fileID: 1749453183} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 160.97, y: -202.1} + m_SizeDelta: {x: 155, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1333156863 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333156861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1333156864} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1333156864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333156861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1333156865 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333156861} + m_CullTransparentMesh: 1 +--- !u!1 &1684615248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1684615249} + - component: {fileID: 1684615251} + - component: {fileID: 1684615250} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1684615249 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684615248} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1749453183} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 173.1, y: -60.6} + m_SizeDelta: {x: 229.86182, y: 46.51111} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1684615250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684615248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4e4be5ef410696042b71c3519113ecdc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1684615251 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684615248} + m_CullTransparentMesh: 1 +--- !u!1 &1749453182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1749453183} + - component: {fileID: 1749453185} + - component: {fileID: 1749453184} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1749453183 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1749453182} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 278702570} + - {fileID: 324868631} + - {fileID: 1684615249} + - {fileID: 1333156862} + - {fileID: 716394720} + m_Father: {fileID: 976643761} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1749453184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1749453182} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1749453185 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1749453182} + m_CullTransparentMesh: 1 diff --git a/Examples/JoinScene.unity.meta b/Examples/JoinScene.unity.meta new file mode 100644 index 00000000..43312663 --- /dev/null +++ b/Examples/JoinScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bb44dd56904b83c458715961d83b5530 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Examples/ParticipantView.prefab b/Examples/ParticipantView.prefab new file mode 100644 index 00000000..b4c2cf5a --- /dev/null +++ b/Examples/ParticipantView.prefab @@ -0,0 +1,156 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1032180714691947334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1032180714691947335} + - component: {fileID: 1032180714691947337} + - component: {fileID: 1032180714691947336} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1032180714691947335 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032180714691947334} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1032180714776240066} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.00023842, y: -30.581} + m_SizeDelta: {x: 150.26, y: 18.7921} + m_Pivot: {x: 0.5, y: 1.3712121} +--- !u!222 &1032180714691947337 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032180714691947334} + m_CullTransparentMesh: 1 +--- !u!114 &1032180714691947336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032180714691947334} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 12 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Participant +--- !u!1 &1032180714776240065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1032180714776240066} + - component: {fileID: 1032180714776240068} + - component: {fileID: 1032180714776240067} + m_Layer: 5 + m_Name: ParticipantView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1032180714776240066 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032180714776240065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1032180714691947335} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1032180714776240068 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032180714776240065} + m_CullTransparentMesh: 1 +--- !u!114 &1032180714776240067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032180714776240065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 diff --git a/Examples/ParticipantView.prefab.meta b/Examples/ParticipantView.prefab.meta new file mode 100644 index 00000000..78a09a45 --- /dev/null +++ b/Examples/ParticipantView.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 83584d27641c43b4c89ce96f1e8c38a8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Examples/RoomScene.unity b/Examples/RoomScene.unity new file mode 100644 index 00000000..4ac2e686 --- /dev/null +++ b/Examples/RoomScene.unity @@ -0,0 +1,887 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &248931294 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 248931295} + - component: {fileID: 248931296} + m_Layer: 0 + m_Name: ExampleRoom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &248931295 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 248931294} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 294.3516, y: 314.57263, z: -8584.989} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &248931296 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 248931294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a25797c83fcd118479726fe7a937202e, type: 3} + m_Name: + m_EditorClassIdentifier: + ViewContainer: {fileID: 1061089730} + ViewPrefab: {fileID: 1032180714776240067, guid: 83584d27641c43b4c89ce96f1e8c38a8, type: 3} + DisconnectButton: {fileID: 1770732189} + testClip: {fileID: 8300000, guid: 27a99e36737a6d94ab08fb2cd570857a, type: 3} + microphoneObject: {fileID: 0} +--- !u!1 &297302484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 297302485} + - component: {fileID: 297302487} + - component: {fileID: 297302486} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &297302485 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297302484} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 888686867} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 173.1, y: -60.599976} + m_SizeDelta: {x: 229.86182, y: 46.51111} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &297302486 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297302484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4e4be5ef410696042b71c3519113ecdc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &297302487 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297302484} + m_CullTransparentMesh: 1 +--- !u!1 &297745718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 297745719} + - component: {fileID: 297745721} + - component: {fileID: 297745720} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &297745719 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297745718} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1770732188} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &297745720 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297745718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Disconnect + +' +--- !u!222 &297745721 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297745718} + m_CullTransparentMesh: 1 +--- !u!1 &298466632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 298466636} + - component: {fileID: 298466635} + - component: {fileID: 298466634} + - component: {fileID: 298466633} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &298466633 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298466632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &298466634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298466632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &298466635 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298466632} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &298466636 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298466632} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 888686867} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &487459216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 487459219} + - component: {fileID: 487459218} + - component: {fileID: 487459217} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &487459217 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 487459216} + m_Enabled: 1 +--- !u!20 &487459218 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 487459216} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &487459219 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 487459216} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 386.0957, y: 215.87831, z: -8584.062} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &888686866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 888686867} + - component: {fileID: 888686869} + - component: {fileID: 888686868} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &888686867 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888686866} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 297302485} + - {fileID: 1061089729} + - {fileID: 1770732188} + m_Father: {fileID: 298466636} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &888686868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888686866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &888686869 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888686866} + m_CullTransparentMesh: 1 +--- !u!1 &1061089728 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1061089729} + - component: {fileID: 1061089732} + - component: {fileID: 1061089731} + - component: {fileID: 1061089730} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1061089729 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061089728} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 888686867} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -9} + m_SizeDelta: {x: 0, y: -184.6498} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1061089730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061089728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_StartCorner: 0 + m_StartAxis: 0 + m_CellSize: {x: 150.26291, y: 112.69727} + m_Spacing: {x: 16, y: 16} + m_Constraint: 1 + m_ConstraintCount: 3 +--- !u!114 &1061089731 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061089728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1061089732 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1061089728} + m_CullTransparentMesh: 1 +--- !u!1 &1768366943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1768366946} + - component: {fileID: 1768366945} + - component: {fileID: 1768366944} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1768366944 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768366943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1768366945 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768366943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1768366946 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1768366943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1770732187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1770732188} + - component: {fileID: 1770732191} + - component: {fileID: 1770732190} + - component: {fileID: 1770732189} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1770732188 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1770732187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 297745719} + m_Father: {fileID: 888686867} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -138, y: 60} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1770732189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1770732187} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1770732190} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1770732190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1770732187} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1770732191 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1770732187} + m_CullTransparentMesh: 1 diff --git a/Examples/RoomScene.unity.meta b/Examples/RoomScene.unity.meta new file mode 100644 index 00000000..ba0ac7ac --- /dev/null +++ b/Examples/RoomScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a32acf433673f6a4bb20365f3c51c040 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Examples/csc.rsp b/Examples/csc.rsp new file mode 100644 index 00000000..dcc377f8 --- /dev/null +++ b/Examples/csc.rsp @@ -0,0 +1 @@ +-nullable:enable \ No newline at end of file diff --git a/Examples/csc.rsp.meta b/Examples/csc.rsp.meta new file mode 100644 index 00000000..98406135 --- /dev/null +++ b/Examples/csc.rsp.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 67387bfdbfcc484381d9f81430993f42 +timeCreated: 1753436847 \ No newline at end of file diff --git a/Examples/livekit-logo.png b/Examples/livekit-logo.png new file mode 100644 index 00000000..26de5a4a Binary files /dev/null and b/Examples/livekit-logo.png differ diff --git a/Examples/livekit-logo.png.meta b/Examples/livekit-logo.png.meta new file mode 100644 index 00000000..8c300ea5 --- /dev/null +++ b/Examples/livekit-logo.png.meta @@ -0,0 +1,120 @@ +fileFormatVersion: 2 +guid: 4e4be5ef410696042b71c3519113ecdc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Examples/livekit.unity.Examples.asmdef b/Examples/livekit.unity.Examples.asmdef new file mode 100644 index 00000000..9d4fe145 --- /dev/null +++ b/Examples/livekit.unity.Examples.asmdef @@ -0,0 +1,18 @@ +{ + "name": "livekit.unity.Examples", + "rootNamespace": "livekit.unity.Examples", + "references": [ + "GUID:702f733b4deb246808c6ce84d93b5c9c", + "GUID:f51ebe6a0ceec4240a699833d6309b23", + "GUID:1087662aaf1c5462baa91fb9484296fd" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Examples/livekit.unity.Examples.asmdef.meta b/Examples/livekit.unity.Examples.asmdef.meta new file mode 100644 index 00000000..6499e92f --- /dev/null +++ b/Examples/livekit.unity.Examples.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5fe7ac1638990354a99859ce9e40c6a9 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md.meta b/README.md.meta new file mode 100644 index 00000000..ac4f7ece --- /dev/null +++ b/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8e02b2c343acee545beb7cc63d3045c8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/.DS_Store b/Runtime/.DS_Store new file mode 100644 index 00000000..ce373c6a Binary files /dev/null and b/Runtime/.DS_Store differ diff --git a/Runtime/Plugins/Google.Protobuf.dll b/Runtime/Plugins/Google.Protobuf.dll index a821abeb..885c2724 100644 --- a/Runtime/Plugins/Google.Protobuf.dll +++ b/Runtime/Plugins/Google.Protobuf.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5dd146e13cddc95b3ae620c308a56b390789fa5cd6da1e23f4be384e91357460 -size 410392 +oid sha256:f55f748003e177094d832b5177fc79749f2a93912cafd176503a45826b05d787 +size 472864 diff --git a/Runtime/Plugins/arm64/liblivekit_ffi.dylib b/Runtime/Plugins/arm64/liblivekit_ffi.dylib deleted file mode 100755 index bda8c598..00000000 --- a/Runtime/Plugins/arm64/liblivekit_ffi.dylib +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:232b487625631d1ef3fb4a1e93775ddc9fe40a920d96e050fdd21b29dbdaf9f9 -size 26828113 diff --git a/Runtime/Plugins/arm64/liblivekit_ffi.dylib.meta b/Runtime/Plugins/arm64/liblivekit_ffi.dylib.meta deleted file mode 100644 index 9c606415..00000000 --- a/Runtime/Plugins/arm64/liblivekit_ffi.dylib.meta +++ /dev/null @@ -1,53 +0,0 @@ -fileFormatVersion: 2 -guid: cb3d077e145c04ef395a13876204c5a2 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - CPU: ARM64 - DefaultValueInitialized: true - OS: OSX - - first: - Standalone: Linux64 - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: - CPU: ARM64 - - first: - Standalone: Win - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: Win64 - second: - enabled: 0 - settings: - CPU: None - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Plugins/arm64/livekit_ffi.dll b/Runtime/Plugins/arm64/livekit_ffi.dll deleted file mode 100644 index 96d01d59..00000000 --- a/Runtime/Plugins/arm64/livekit_ffi.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d527f784ab86af6bb9bd5d2e39c69ffde07f0c20b7f8d593c257394216222d98 -size 20041216 diff --git a/Runtime/Plugins/arm64/livekit_ffi.dll.meta b/Runtime/Plugins/arm64/livekit_ffi.dll.meta deleted file mode 100644 index 96d13617..00000000 --- a/Runtime/Plugins/arm64/livekit_ffi.dll.meta +++ /dev/null @@ -1,53 +0,0 @@ -fileFormatVersion: 2 -guid: be07ecfa5e8bd433698089485d6c37f5 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - CPU: ARM64 - DefaultValueInitialized: true - OS: OSX - - first: - Standalone: Linux64 - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: OSXUniversal - second: - enabled: 1 - settings: - CPU: ARM64 - - first: - Standalone: Win - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: Win64 - second: - enabled: 0 - settings: - CPU: None - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Plugins/x86_64.meta b/Runtime/Plugins/ffi-windows-x86_64.meta similarity index 77% rename from Runtime/Plugins/x86_64.meta rename to Runtime/Plugins/ffi-windows-x86_64.meta index fca60182..58d0bcf6 100644 --- a/Runtime/Plugins/x86_64.meta +++ b/Runtime/Plugins/ffi-windows-x86_64.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 406cdc0e424ee489caeb4192c5e07be5 +guid: 20edd9d97a87cd24488c5dd59a804900 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Runtime/Plugins/ffi-windows-x86_64/LICENSE.md b/Runtime/Plugins/ffi-windows-x86_64/LICENSE.md new file mode 100644 index 00000000..ccc713cd --- /dev/null +++ b/Runtime/Plugins/ffi-windows-x86_64/LICENSE.md @@ -0,0 +1,2926 @@ +# livekit + +# webrtc +``` +Copyright (c) 2011, The WebRTC project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +``` + +# abseil-cpp +``` + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +``` + +# base64 +``` +//********************************************************************* +//* Base64 - a simple base64 encoder and decoder. +//* +//* Copyright (c) 1999, Bob Withers - bwit@pobox.com +//* +//* This code may be freely used for any purpose, either personal +//* or commercial, provided the authors copyright notice remains +//* intact. +//* +//* Enhancements by Stanley Yamane: +//* o reverse lookup table for the decode function +//* o reserve string buffer space in advance +//* +//********************************************************************* + +``` + +# boringssl +``` +BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL +licensing. Files that are completely new have a Google copyright and an ISC +license. This license is reproduced at the bottom of this file. + +Contributors to BoringSSL are required to follow the CLA rules for Chromium: +https://cla.developers.google.com/clas + +Files in third_party/ have their own licenses, as described therein. The MIT +license, for third_party/fiat, which, unlike other third_party directories, is +compiled into non-test libraries, is included below. + +The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the +OpenSSL License and the original SSLeay license apply to the toolkit. See below +for the actual license texts. Actually both licenses are BSD-style Open Source +licenses. In case of any license issues related to OpenSSL please contact +openssl-core@openssl.org. + +The following are Google-internal bug numbers where explicit permission from +some authors is recorded for use of their work. (This is purely for our own +record keeping.) + 27287199 + 27287880 + 27287883 + 263291445 + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + + +ISC license used for completely new code in BoringSSL: + +/* Copyright (c) 2015, Google Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ + + +The code in third_party/fiat carries the MIT license: + +Copyright (c) 2015-2016 the fiat-crypto authors (see +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Licenses for support code +------------------------- + +Parts of the TLS test suite are under the Go license. This code is not included +in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so +distributing code linked against BoringSSL does not trigger this license: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +BoringSSL uses the Chromium test infrastructure to run a continuous build, +trybots etc. The scripts which manage this, and the script for generating build +metadata, are under the Chromium license. Distributing code linked against +BoringSSL does not trigger this license. + +Copyright 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +``` + +# crc32c +``` +Copyright 2017, The CRC32C Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +``` + +# dav1d +``` +Copyright © 2018, VideoLAN and dav1d authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +``` + +# ffmpeg +``` + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +``` + +# fft +``` +/* + * Copyright(c)1995,97 Mark Olesen <olesen@me.QueensU.CA> + * Queen's Univ at Kingston (Canada) + * + * Permission to use, copy, modify, and distribute this software for + * any purpose without fee is hereby granted, provided that this + * entire notice is included in all copies of any software which is + * or includes a copy or modification of this software and in all + * copies of the supporting documentation for such software. + * + * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR QUEEN'S + * UNIVERSITY AT KINGSTON MAKES ANY REPRESENTATION OR WARRANTY OF ANY + * KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS + * FITNESS FOR ANY PARTICULAR PURPOSE. + * + * All of which is to say that you can do what you like with this + * source code provided you don't try to sell it as your own and you + * include an unaltered copy of this message (including the + * copyright). + * + * It is also implicitly understood that bug fixes and improvements + * should make their way back to the general Internet community so + * that everyone benefits. + */ + +``` + +# fiat +``` +The MIT License (MIT) + +Copyright (c) 2015-2020 the fiat-crypto authors (see +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +``` + +# g711 +``` +/* + * SpanDSP - a series of DSP components for telephony + * + * g711.h - In line A-law and u-law conversion routines + * + * Written by Steve Underwood <steveu@coppice.org> + * + * Copyright (C) 2001 Steve Underwood + * + * Despite my general liking of the GPL, I place this code in the + * public domain for the benefit of all mankind - even the slimy + * ones who might try to proprietize my work and use it to my + * detriment. + */ + +``` + +# g722 +``` +/* + * SpanDSP - a series of DSP components for telephony + * + * g722_decode.c - The ITU G.722 codec, decode part. + * + * Written by Steve Underwood <steveu@coppice.org> + * + * Copyright (C) 2005 Steve Underwood + * + * Despite my general liking of the GPL, I place my own contributions + * to this code in the public domain for the benefit of all mankind - + * even the slimy ones who might try to proprietize my work and use it + * to my detriment. + * + * Based in part on a single channel G.722 codec which is: + * + * Copyright (c) CMU 1993 + * Computer Science, Speech Group + * Chengxiang Lu and Alex Hauptmann + */ + +``` + +# libaom +``` +Copyright (c) 2016, Alliance for Open Media. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +``` + +# libjpeg_turbo +``` +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed below + + This license covers the TurboJPEG API library and associated programs, as + well as the build system. + +- The [zlib License](https://opensource.org/licenses/Zlib) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License (see below.) + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License + + +The Modified (3-clause) BSD License +=================================== + +Copyright (C)2009-2023 D. R. Commander. All Rights Reserved.<br> +Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Why Three Licenses? +=================== + +The zlib License could have been used instead of the Modified (3-clause) BSD +License, and since the IJG License effectively subsumes the distribution +conditions of the zlib License, this would have effectively placed +libjpeg-turbo binary distributions under the IJG License. However, the IJG +License specifically refers to the Independent JPEG Group and does not extend +attribution and endorsement protections to other entities. Thus, it was +desirable to choose a license that granted us the same protections for new code +that were granted to the IJG for code derived from their software. + +``` + +# libsrtp +``` +/* + * + * Copyright (c) 2001-2017 Cisco Systems, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * Neither the name of the Cisco Systems, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +``` + +# libvpx +``` +Copyright (c) 2010, The WebM Project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google, nor the WebM Project, nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +``` + +# libyuv +``` +Copyright 2011 The LibYuv Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +``` + +# nasm +``` +NASM is now licensed under the 2-clause BSD license, also known as the +simplified BSD license. + + Copyright 1996-2010 the NASM Authors - All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following + conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +``` + +# ooura +``` +/* + * http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html + * Copyright Takuya OOURA, 1996-2001 + * + * You may use, copy, modify and distribute this code for any purpose (include + * commercial use) and without fee. Please refer to this package when you modify + * this code. + */ + +``` + +# openh264 +``` +Copyright (c) 2013, Cisco Systems +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + +# opus +``` +Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic, + Jean-Marc Valin, Timothy B. Terriberry, + CSIRO, Gregory Maxwell, Mark Borgerding, + Erik de Castro Lopo + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of Internet Society, IETF or IETF Trust, nor the +names of specific contributors, may be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Opus is subject to the royalty-free patent licenses which are +specified at: + +Xiph.Org Foundation: +https://datatracker.ietf.org/ipr/1524/ + +Microsoft Corporation: +https://datatracker.ietf.org/ipr/1914/ + +Broadcom Corporation: +https://datatracker.ietf.org/ipr/1526/ + +``` + +# pffft +``` +Copyright (c) 2013 Julien Pommier ( pommier@modartt.com ) + +Based on original fortran 77 code from FFTPACKv4 from NETLIB, +authored by Dr Paul Swarztrauber of NCAR, in 1985. + +As confirmed by the NCAR fftpack software curators, the following +FFTPACKv5 license applies to FFTPACKv4 sources. My changes are +released under the same terms. + +FFTPACK license: + +http://www.cisl.ucar.edu/css/software/fftpack5/ftpk.html + +Copyright (c) 2004 the University Corporation for Atmospheric +Research ("UCAR"). All rights reserved. Developed by NCAR's +Computational and Information Systems Laboratory, UCAR, +www.cisl.ucar.edu. + +Redistribution and use of the Software in source and binary forms, +with or without modification, is permitted provided that the +following conditions are met: + +- Neither the names of NCAR's Computational and Information Systems +Laboratory, the University Corporation for Atmospheric Research, +nor the names of its sponsors or contributors may be used to +endorse or promote products derived from this Software without +specific prior written permission. + +- Redistributions of source code must retain the above copyright +notices, this list of conditions, and the disclaimer below. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions, and the disclaimer below in the +documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +``` + +# rnnoise +``` +Copyright (c) 2017, Mozilla +Copyright (c) 2007-2017, Jean-Marc Valin +Copyright (c) 2005-2017, Xiph.Org Foundation +Copyright (c) 2003-2004, Mark Borgerding + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of the Xiph.Org Foundation nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +``` + +# sigslot +``` +// sigslot.h: Signal/Slot classes +// +// Written by Sarah Thompson (sarah@telergy.com) 2002. +// +// License: Public domain. You are free to use this code however you like, with +// the proviso that the author takes on no responsibility or liability for any +// use. + +``` + +# spl_sqrt_floor +``` +/* + * Written by Wilco Dijkstra, 1996. The following email exchange establishes the + * license. + * + * From: Wilco Dijkstra <Wilco.Dijkstra@ntlworld.com> + * Date: Fri, Jun 24, 2011 at 3:20 AM + * Subject: Re: sqrt routine + * To: Kevin Ma <kma@google.com> + * Hi Kevin, + * Thanks for asking. Those routines are public domain (originally posted to + * comp.sys.arm a long time ago), so you can use them freely for any purpose. + * Cheers, + * Wilco + * + * ----- Original Message ----- + * From: "Kevin Ma" <kma@google.com> + * To: <Wilco.Dijkstra@ntlworld.com> + * Sent: Thursday, June 23, 2011 11:44 PM + * Subject: Fwd: sqrt routine + * Hi Wilco, + * I saw your sqrt routine from several web sites, including + * http://www.finesse.demon.co.uk/steven/sqrt.html. + * Just wonder if there's any copyright information with your Successive + * approximation routines, or if I can freely use it for any purpose. + * Thanks. + * Kevin + */ + +``` + +# zlib +``` +version 1.2.12, March 27th, 2022 + +Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +``` + diff --git a/Runtime/Plugins/ffi-windows-x86_64/LICENSE.md.meta b/Runtime/Plugins/ffi-windows-x86_64/LICENSE.md.meta new file mode 100644 index 00000000..8c2c0dfa --- /dev/null +++ b/Runtime/Plugins/ffi-windows-x86_64/LICENSE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e06aa89e1c490084e8697858f4275fe2 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Plugins/ffi-windows-x86_64/livekit_ffi.dll b/Runtime/Plugins/ffi-windows-x86_64/livekit_ffi.dll new file mode 100644 index 00000000..67012d03 --- /dev/null +++ b/Runtime/Plugins/ffi-windows-x86_64/livekit_ffi.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8647297eca3d4994f604b27b8e0606770fdfcd85c545bfb12546c6598f035669 +size 27388928 diff --git a/Runtime/Plugins/x86_64/liblivekit_ffi.dylib.meta b/Runtime/Plugins/ffi-windows-x86_64/livekit_ffi.dll.meta similarity index 67% rename from Runtime/Plugins/x86_64/liblivekit_ffi.dylib.meta rename to Runtime/Plugins/ffi-windows-x86_64/livekit_ffi.dll.meta index f23e481d..61e1543b 100644 --- a/Runtime/Plugins/x86_64/liblivekit_ffi.dylib.meta +++ b/Runtime/Plugins/ffi-windows-x86_64/livekit_ffi.dll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c2d28079579fb4ace96a211dc16e2901 +guid: 9bdb3e1964a678547bb815c16737519e PluginImporter: externalObjects: {} serializedVersion: 2 @@ -11,6 +11,16 @@ PluginImporter: isExplicitlyReferenced: 0 validateReferences: 1 platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Editor: 0 + Exclude Linux64: 0 + Exclude OSXUniversal: 0 + Exclude Win: 0 + Exclude Win64: 0 - first: Any: second: @@ -19,34 +29,35 @@ PluginImporter: - first: Editor: Editor second: - enabled: 0 + enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU DefaultValueInitialized: true + OS: Windows - first: Standalone: Linux64 second: enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU - first: Standalone: OSXUniversal second: enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU - first: Standalone: Win second: - enabled: 0 + enabled: 1 settings: - CPU: None + CPU: AnyCPU - first: Standalone: Win64 second: enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU userData: assetBundleName: assetBundleVariant: diff --git a/Runtime/Plugins/livekit_ffi.h b/Runtime/Plugins/livekit_ffi.h new file mode 100644 index 00000000..1d2c86b9 --- /dev/null +++ b/Runtime/Plugins/livekit_ffi.h @@ -0,0 +1,26 @@ +#ifndef livekit_ffi +#define livekit_ffi + +/* Warning, this file is autogenerated. Don't modify this manually. */ + +#include +#include +#include +#include +#include +#include + +using FfiHandleId = uint64_t; + +constexpr static const FfiHandleId INVALID_HANDLE = 0; + +extern "C" { + +FfiHandleId livekit_ffi_request(const uint8_t *data, size_t len, + const uint8_t **res_ptr, size_t *res_len); + +bool livekit_ffi_drop_handle(FfiHandleId handle_id); + +} // extern "C" + +#endif // livekit_ffi diff --git a/Runtime/Plugins/x86_64/livekit_ffi.dll.meta b/Runtime/Plugins/livekit_ffi.h.meta similarity index 69% rename from Runtime/Plugins/x86_64/livekit_ffi.dll.meta rename to Runtime/Plugins/livekit_ffi.h.meta index 32c3ef5b..821e57c2 100644 --- a/Runtime/Plugins/x86_64/livekit_ffi.dll.meta +++ b/Runtime/Plugins/livekit_ffi.h.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a8c0a41304ae64b4aa20b4979349d999 +guid: b9bec0725500a4b4a9f307b8a776e4c5 PluginImporter: externalObjects: {} serializedVersion: 2 @@ -11,6 +11,16 @@ PluginImporter: isExplicitlyReferenced: 0 validateReferences: 1 platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Editor: 0 + Exclude Linux64: 0 + Exclude OSXUniversal: 1 + Exclude Win: 0 + Exclude Win64: 0 - first: Any: second: @@ -19,34 +29,35 @@ PluginImporter: - first: Editor: Editor second: - enabled: 0 + enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU DefaultValueInitialized: true + OS: AnyOS - first: Standalone: Linux64 second: enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU - first: Standalone: OSXUniversal second: - enabled: 1 + enabled: 0 settings: - CPU: x86_64 + CPU: AnyCPU - first: Standalone: Win second: - enabled: 0 + enabled: 1 settings: - CPU: None + CPU: AnyCPU - first: Standalone: Win64 second: enabled: 1 settings: - CPU: x86_64 + CPU: AnyCPU userData: assetBundleName: assetBundleVariant: diff --git a/Runtime/Plugins/mac_cross.meta b/Runtime/Plugins/mac_cross.meta new file mode 100644 index 00000000..72177bfe --- /dev/null +++ b/Runtime/Plugins/mac_cross.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8ea4b3d30a3748d099e00048230a9bb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Plugins/mac_cross/liblivekit_ffi.dylib b/Runtime/Plugins/mac_cross/liblivekit_ffi.dylib new file mode 100755 index 00000000..6d9d2c3e --- /dev/null +++ b/Runtime/Plugins/mac_cross/liblivekit_ffi.dylib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c2bfd98455c806da5e15b93b0163fecba07311420323e9cb77f37e65df72eaf +size 44338480 diff --git a/Runtime/Plugins/x86_64/liblivekit_ffi.so.meta b/Runtime/Plugins/mac_cross/liblivekit_ffi.dylib.meta similarity index 58% rename from Runtime/Plugins/x86_64/liblivekit_ffi.so.meta rename to Runtime/Plugins/mac_cross/liblivekit_ffi.dylib.meta index 138dac40..bc0b9691 100644 --- a/Runtime/Plugins/x86_64/liblivekit_ffi.so.meta +++ b/Runtime/Plugins/mac_cross/liblivekit_ffi.dylib.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b7877f9837ea042b1a98ba4d771c0c28 +guid: 880c137cc120745dd876efa32f5e9701 PluginImporter: externalObjects: {} serializedVersion: 2 @@ -7,46 +7,27 @@ PluginImporter: executionOrder: {} defineConstraints: [] isPreloaded: 0 - isOverridable: 1 + isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 platformData: - first: Any: second: - enabled: 1 + enabled: 0 settings: {} - first: Editor: Editor - second: - enabled: 0 - settings: - CPU: x86_64 - DefaultValueInitialized: true - - first: - Standalone: Linux64 second: enabled: 1 settings: - CPU: x86_64 + DefaultValueInitialized: true - first: Standalone: OSXUniversal second: enabled: 1 settings: - CPU: x86_64 - - first: - Standalone: Win - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: Win64 - second: - enabled: 1 - settings: - CPU: x86_64 + CPU: AnyCPU userData: assetBundleName: assetBundleVariant: diff --git a/Runtime/Plugins/x86_64/liblivekit_ffi.dylib b/Runtime/Plugins/x86_64/liblivekit_ffi.dylib deleted file mode 100755 index e874df93..00000000 --- a/Runtime/Plugins/x86_64/liblivekit_ffi.dylib +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:908f7b4003e3f86065cd425f4240bee21fd9a1e0fdc4344e79f5be5a2358879a -size 31515632 diff --git a/Runtime/Plugins/x86_64/liblivekit_ffi.so b/Runtime/Plugins/x86_64/liblivekit_ffi.so deleted file mode 100755 index 6f620253..00000000 --- a/Runtime/Plugins/x86_64/liblivekit_ffi.so +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8fea4d652af310658ed7885a1ef671132b1bea4ff54f693a4791da18fe10d65c -size 32232336 diff --git a/Runtime/Plugins/x86_64/livekit_ffi.dll b/Runtime/Plugins/x86_64/livekit_ffi.dll deleted file mode 100644 index f45d93bb..00000000 --- a/Runtime/Plugins/x86_64/livekit_ffi.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc73de2fa06dd1789639d25e38dda341a6b4e1d4d33da17dbf550462b4e25589 -size 20041216 diff --git a/Runtime/Scripts/Audio.meta b/Runtime/Scripts/Audio.meta new file mode 100644 index 00000000..dc8fe121 --- /dev/null +++ b/Runtime/Scripts/Audio.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fc36a773b34f4d23a81b9f9c7a021b2f +timeCreated: 1753682869 \ No newline at end of file diff --git a/Runtime/Scripts/Audio/Apm.cs b/Runtime/Scripts/Audio/Apm.cs new file mode 100644 index 00000000..da203a01 --- /dev/null +++ b/Runtime/Scripts/Audio/Apm.cs @@ -0,0 +1,134 @@ +using System; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; +using RichTypes; +using UnityEngine; + +namespace LiveKit.Audio +{ + public class Apm : IDisposable + { + private readonly FfiHandle apmHandle; + + public Apm( + bool echoCancellerEnabled, + bool noiseSuppressionEnabled, + bool gainControllerEnabled, + bool highPassFilterEnabled) + { + using var apmRequest = FFIBridge.Instance.NewRequest(); + apmRequest.request.EchoCancellerEnabled = echoCancellerEnabled; + apmRequest.request.NoiseSuppressionEnabled = noiseSuppressionEnabled; + apmRequest.request.GainControllerEnabled = gainControllerEnabled; + apmRequest.request.HighPassFilterEnabled = highPassFilterEnabled; + + using var response = apmRequest.Send(); + FfiResponse apmResponse = response; + apmHandle = IFfiHandleFactory.Default.NewFfiHandle(apmResponse.NewApm.Apm.Handle.Id); + } + + public static Apm NewDefault() + { + return new Apm(true, true, true, true); + } + + public void Dispose() + { + lock (this) + { + apmHandle.Dispose(); + } + } + + /// + /// Processes the stream that goes from far end and is played by speaker + /// + public Result ProcessReverseStream(ApmFrame frame) + { + lock (this) + { + unsafe + { + fixed (void* ptr = frame.data) + { + using var apmRequest = + FFIBridge.Instance.NewRequest(); + apmRequest.request.ApmHandle = (ulong)apmHandle.DangerousGetHandle().ToInt64(); + apmRequest.request.DataPtr = new UIntPtr(ptr).ToUInt64(); + apmRequest.request.NumChannels = frame.numChannels; + apmRequest.request.SampleRate = frame.sampleRate.valueHz; + apmRequest.request.Size = frame.SizeInBytes; + + using var wrap = apmRequest.Send(); + FfiResponse response = wrap; + var streamResponse = response.ApmProcessReverseStream; + + if (streamResponse.HasError) + Result.ErrorResult($"Cannot {nameof(ProcessReverseStream)} due error: {streamResponse.Error}"); + + return Result.SuccessResult(); + } + } + } + } + + /// + /// Processes the stream that goes from microphone + /// + public Result ProcessStream(ApmFrame apmFrame) + { + lock (this) + { + unsafe + { + fixed (void* ptr = apmFrame.data) + { + using var apmRequest = FFIBridge.Instance.NewRequest(); + apmRequest.request.ApmHandle = (ulong)apmHandle.DangerousGetHandle().ToInt64(); + apmRequest.request.DataPtr = new UIntPtr(ptr).ToUInt64(); + apmRequest.request.NumChannels = apmFrame.numChannels; + apmRequest.request.SampleRate = apmFrame.sampleRate.valueHz; + apmRequest.request.Size = apmFrame.SizeInBytes; + + using var wrap = apmRequest.Send(); + FfiResponse response = wrap; + var streamResponse = response.ApmProcessStream; + + if (streamResponse.HasError) + Result.ErrorResult($"Cannot {nameof(ProcessStream)} due error: {streamResponse.Error}"); + + return Result.SuccessResult(); + } + } + } + } + + public Result SetStreamDelay(int delayMs) + { + lock (this) + { + using var apmRequest = FFIBridge.Instance.NewRequest(); + apmRequest.request.ApmHandle = (ulong)apmHandle.DangerousGetHandle().ToInt64(); + apmRequest.request.DelayMs = delayMs; + + using var wrap = apmRequest.Send(); + FfiResponse response = wrap; + var delayResponse = response.ApmSetStreamDelay; + + if (delayResponse.HasError) + return Result.ErrorResult($"Cannot {nameof(SetStreamDelay)} due error: {delayResponse.Error}"); + + return Result.SuccessResult(); + } + } + + public static int EstimateStreamDelayMs() + { + // TODO: estimate more accurately + int sampleRate = AudioSettings.outputSampleRate; + AudioSettings.GetDSPBufferSize(out var bufferLength, out var numBuffers); + return 2 * (int)(1000f * bufferLength * numBuffers / sampleRate); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/Apm.cs.meta b/Runtime/Scripts/Audio/Apm.cs.meta new file mode 100644 index 00000000..d7316fd2 --- /dev/null +++ b/Runtime/Scripts/Audio/Apm.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 06883eef35384716a26e1b5ee2a1eac7 +timeCreated: 1753683181 \ No newline at end of file diff --git a/Runtime/Scripts/Audio/ApmFrame.cs b/Runtime/Scripts/Audio/ApmFrame.cs new file mode 100644 index 00000000..cea46664 --- /dev/null +++ b/Runtime/Scripts/Audio/ApmFrame.cs @@ -0,0 +1,72 @@ +using System; + +namespace LiveKit.Audio +{ + /// + /// Guarantees frame is 10 ms and is compatible to what WebRTC expects + /// + public readonly ref struct ApmFrame + { + public const uint FRAME_DURATION_MS = 10; + + public readonly ReadOnlySpan data; + public readonly uint numChannels; + public readonly uint samplesPerChannel; + public readonly SampleRate sampleRate; + + public uint SizeInBytes => numChannels * samplesPerChannel * PCMSample.BytesPerSample; + + private ApmFrame(ReadOnlySpan data, uint numChannels, uint samplesPerChannel, SampleRate sampleRate) + { + this.data = data; + this.numChannels = numChannels; + this.samplesPerChannel = samplesPerChannel; + this.sampleRate = sampleRate; + } + + + /// + /// Cannot use Result due ref limitations in C# + /// + public static ApmFrame New( + ReadOnlySpan data, + uint numChannels, + uint samplesPerChannel, + SampleRate sampleRate, + out string? error) + { + error = null; + + if (numChannels == 0) + { + error = "Number of channels cannot be zero."; + return default; + } + + if (sampleRate.valueHz == 0) + { + error = "SampleRate is 0, it's invalid value."; + return default; + } + + // Expected samples per 10 ms per channel + uint expectedSamplesPerChannel = sampleRate.valueHz / 100; + + if (samplesPerChannel != expectedSamplesPerChannel) + { + error = + $"Frame must be 10 ms long. Expected {expectedSamplesPerChannel} samples per channel, got {samplesPerChannel}."; + return default; + } + + if (data.Length != samplesPerChannel * numChannels) + { + error = + $"Data length ({data.Length}) does not match samplesPerChannel ({samplesPerChannel}) * numChannels ({numChannels})."; + return default; + } + + return new ApmFrame(data, numChannels, samplesPerChannel, sampleRate); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/ApmFrame.cs.meta b/Runtime/Scripts/Audio/ApmFrame.cs.meta new file mode 100644 index 00000000..3a7b54ea --- /dev/null +++ b/Runtime/Scripts/Audio/ApmFrame.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6a180c7edf97430d9850ada75ca6ca78 +timeCreated: 1753683199 \ No newline at end of file diff --git a/Runtime/Scripts/Audio/ApmReverseStream.cs b/Runtime/Scripts/Audio/ApmReverseStream.cs new file mode 100644 index 00000000..6f4dff5a --- /dev/null +++ b/Runtime/Scripts/Audio/ApmReverseStream.cs @@ -0,0 +1,104 @@ +using System; +using System.Runtime.InteropServices; +using LiveKit; +using RichTypes; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace LiveKit.Audio +{ + /// + /// Captures and processes the reverse audio stream using an . + /// + /// + /// The reverse stream is captured from the scene's audio listener. + /// + internal class ApmReverseStream : IDisposable + { + // We don't need a mutex here because the buffer is used only by audio thread + private readonly AudioBuffer captureBuffer = new(); + private readonly Apm apm; // APM is thread safe + private readonly AudioFilter audioFilter; + + internal ApmReverseStream(AudioFilter audioFilter, Apm apm) + { + this.audioFilter = audioFilter; + this.apm = apm; + } + + public static Result New(Apm apm) + { + var audioListener = GameObject.FindObjectOfType(); + if (audioListener == null) + { + return Result.ErrorResult("AudioListener not found in scene"); + } + + var audioFilter = audioListener.gameObject.AddComponent(); + if (audioFilter == null) + { + return Result.ErrorResult("Cannot add audioFilter"); + } + + return Result.SuccessResult(new ApmReverseStream(audioFilter, apm)); + } + + public static ApmReverseStream? NewOrNull(Apm apm) + { + var reverseStreamResult = New(apm); + if (reverseStreamResult.Success) + { + return reverseStreamResult.Value; + } + + Debug.LogError($"Cannot create reverse stream: {reverseStreamResult.ErrorMessage}"); + return null; + } + + internal void Start() + { + audioFilter.AudioRead += OnAudioRead; + } + + internal void Stop() + { + audioFilter.AudioRead -= OnAudioRead; + } + + private void OnAudioRead(Span data, int channels, int sampleRate) + { + captureBuffer.Write(data, (uint)channels, (uint)sampleRate); + while (true) + { + var frameResult = captureBuffer.ReadDuration(ApmFrame.FRAME_DURATION_MS); + if (frameResult.Has == false) break; + using var frame = frameResult.Value; + + var audioBytes = MemoryMarshal.Cast(frame.AsSpan()); + + var apmFrame = ApmFrame.New( + audioBytes, + frame.NumChannels, + frame.SamplesPerChannel, + new SampleRate(frame.SampleRate), + out string? error + ); + if (error != null) + { + Debug.LogError($"Error during creation ApmFrame: {error}"); + break; + } + + var result = apm.ProcessReverseStream(apmFrame); + if (result.Success == false) + Debug.LogError($"Error during processing reverse frame: {result.ErrorMessage}"); + } + } + + public void Dispose() + { + captureBuffer.Dispose(); + // Doesn't dispose the APM because doesn't own it + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/ApmReverseStream.cs.meta b/Runtime/Scripts/Audio/ApmReverseStream.cs.meta new file mode 100644 index 00000000..81653170 --- /dev/null +++ b/Runtime/Scripts/Audio/ApmReverseStream.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d80a2884118a400ca526602e6978d45e +timeCreated: 1753442285 \ No newline at end of file diff --git a/Runtime/Scripts/Audio/AudioBuffer.cs b/Runtime/Scripts/Audio/AudioBuffer.cs new file mode 100644 index 00000000..b2dde849 --- /dev/null +++ b/Runtime/Scripts/Audio/AudioBuffer.cs @@ -0,0 +1,96 @@ +using System; +using LiveKit.Internal; +using RichTypes; + +namespace LiveKit.Audio +{ + public class AudioBuffer : IDisposable + { + private readonly uint bufferDurationMs; + private RingBuffer buffer; + private uint channels; + private uint sampleRate; + + /// + /// Initializes a new audio sample buffer for holding samples for a given duration. + /// + internal AudioBuffer(uint bufferDurationMs = 200) + { + this.bufferDurationMs = bufferDurationMs; + buffer = new RingBuffer(0); + channels = 0; + sampleRate = 0; + } + + /// + /// Write audio samples. + /// + /// + /// The float data will be converted to short format before being written to the buffer. + /// If the number of channels or sample rate changes, the buffer will be recreated. + /// + /// The audio samples to write. + /// The number of channels in the audio data. + /// The sample rate of the audio data in Hz. + internal void Write(ReadOnlySpan data, uint channels, uint sampleRate) + { + // TODO reuse temp buffer + var s16Data = new PCMSample[data.Length]; + for (int i = 0; i < data.Length; i++) + { + s16Data[i] = PCMSample.FromUnitySample(data[i]); + } + + Capture(s16Data, channels, sampleRate); + } + + private void Capture(PCMSample[] data, uint channels, uint sampleRate) + { + if (channels != this.channels || sampleRate != this.sampleRate) + { + var size = (int)(channels * sampleRate * (bufferDurationMs / 1000f)); + buffer.Dispose(); + buffer = new RingBuffer(size * sizeof(short)); + this.channels = channels; + this.sampleRate = sampleRate; + } + + unsafe + { + fixed (PCMSample* pData = data) + { + var byteData = new ReadOnlySpan(pData, data.Length * sizeof(PCMSample)); + buffer.Write(byteData); + } + } + } + + /// + /// Reads a frame that is the length of the given duration. + /// + /// The duration of the audio samples to read in milliseconds. + /// An AudioFrame containing the read audio samples or if there is not enough samples, null. + internal Option ReadDuration(uint durationMs) + { + if (channels == 0 || sampleRate == 0) return Option.None; + + var samplesForDuration = (uint)(sampleRate * (durationMs / 1000f)); + var requiredLength = samplesForDuration * channels * sizeof(short); + if (buffer.AvailableRead() < requiredLength) return Option.None; + + var frame = new AudioFrame(sampleRate, channels, samplesForDuration); + unsafe + { + var frameData = new Span(frame.Data.ToPointer(), frame.Length); + buffer.Read(frameData); + } + + return Option.Some(frame); + } + + public void Dispose() + { + buffer.Dispose(); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/AudioBuffer.cs.meta b/Runtime/Scripts/Audio/AudioBuffer.cs.meta new file mode 100644 index 00000000..ef0e1ab8 --- /dev/null +++ b/Runtime/Scripts/Audio/AudioBuffer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 74695ae97a06441ea2994dcb21dd665a +timeCreated: 1753441943 \ No newline at end of file diff --git a/Runtime/Scripts/Audio/AudioFrame.cs b/Runtime/Scripts/Audio/AudioFrame.cs new file mode 100644 index 00000000..f0883eaa --- /dev/null +++ b/Runtime/Scripts/Audio/AudioFrame.cs @@ -0,0 +1,62 @@ +using System; +using LiveKit.Proto; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using System.Runtime.InteropServices; + +namespace LiveKit.Audio +{ + public struct AudioFrame : IDisposable + { + public readonly uint NumChannels; + public readonly uint SampleRate; + public readonly uint SamplesPerChannel; + + private readonly NativeArray _data; + private readonly IntPtr _dataPtr; + private bool _disposed; + + public IntPtr Data => _dataPtr; + public int Length => (int)(SamplesPerChannel * NumChannels * sizeof(short)); + public bool IsValid => _data.IsCreated && !_disposed; + + internal AudioFrame(uint sampleRate, uint numChannels, uint samplesPerChannel) + { + SampleRate = sampleRate; + NumChannels = numChannels; + SamplesPerChannel = samplesPerChannel; + _disposed = false; + + unsafe + { + _data = new NativeArray((int)(samplesPerChannel * numChannels * sizeof(short)), Allocator.Persistent); + _dataPtr = (IntPtr)NativeArrayUnsafeUtility.GetUnsafePtr(_data); + } + } + + public void Dispose() + { + if (!_disposed && _data.IsCreated) + { + _data.Dispose(); + _disposed = true; + } + } + + public Span AsSpan() + { + if (_disposed) + { + Utils.Debug("Attempted to access disposed AudioFrame"); + return Span.Empty; + } + + unsafe + { + return new Span(_dataPtr.ToPointer(), Length); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/AudioFrame.cs.meta b/Runtime/Scripts/Audio/AudioFrame.cs.meta similarity index 100% rename from Runtime/Scripts/AudioFrame.cs.meta rename to Runtime/Scripts/Audio/AudioFrame.cs.meta diff --git a/Runtime/Scripts/Audio/MicrophoneRtcAudioSource.cs b/Runtime/Scripts/Audio/MicrophoneRtcAudioSource.cs new file mode 100644 index 00000000..10b5dfc4 --- /dev/null +++ b/Runtime/Scripts/Audio/MicrophoneRtcAudioSource.cs @@ -0,0 +1,209 @@ +using System; +using System.Linq; +using System.Runtime.InteropServices; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; +using RichTypes; +using UnityEngine; + +namespace LiveKit.Audio +{ + public class MicrophoneRtcAudioSource : IRtcAudioSource, IDisposable + { + private const int DEFAULT_NUM_CHANNELS = 2; + private readonly AudioBuffer buffer = new(); + private readonly object lockObject = new(); + + private readonly AudioSource audioSource; + private readonly IAudioFilter audioFilter; + private readonly Apm apm; + private readonly ApmReverseStream? reverseStream; + private readonly GameObject gameObject; + + private bool handleBorrowed; + private bool disposed; + + private readonly FfiHandle handle; + + private MicrophoneRtcAudioSource( + AudioSource audioSource, + IAudioFilter audioFilter, + Apm apm, + ApmReverseStream? apmReverseStream + ) + { + reverseStream = apmReverseStream; + + using var request = FFIBridge.Instance.NewRequest(); + var newAudioSource = request.request; + newAudioSource.Type = AudioSourceType.AudioSourceNative; + newAudioSource.NumChannels = DEFAULT_NUM_CHANNELS; + newAudioSource.SampleRate = SampleRate.Hz48000.valueHz; + + using var options = request.TempResource(); + newAudioSource.Options = options; + newAudioSource.Options.EchoCancellation = true; + newAudioSource.Options.NoiseSuppression = true; + newAudioSource.Options.AutoGainControl = true; + + using var response = request.Send(); + FfiResponse res = response; + handle = IFfiHandleFactory.Default.NewFfiHandle(res.NewAudioSource.Source.Handle!.Id); + this.audioSource = audioSource; + this.audioFilter = audioFilter; + this.apm = apm; + } + + public static Result New(string? microphoneName = null) + { + Apm apm = Apm.NewDefault(); + apm.SetStreamDelay(Apm.EstimateStreamDelayMs()); + + Result reverseStream = ApmReverseStream.New(apm); + if (reverseStream.Success == false) + { + return Result.ErrorResult( + $"Cannot create reverse stream: {reverseStream.ErrorMessage}" + ); + } + + GameObject microphoneObject = new GameObject("microphone"); + + microphoneName ??= Microphone.devices!.First(); + + var audioSource = microphoneObject.AddComponent(); + audioSource.loop = true; + audioSource.clip = Microphone.Start(microphoneName, true, 1, 48000); //frequency is not guaranteed by Unity + + var audioFilter = microphoneObject.AddComponent(); + // Prevent microphone feedback + microphoneObject.AddComponent(); + + return Result.SuccessResult( + new MicrophoneRtcAudioSource(audioSource, audioFilter, apm, reverseStream.Value) + ); + } + + FfiHandle IRtcAudioSource.BorrowHandle() + { + if (handleBorrowed) + { + Utils.Error("Borrowing already borrowed handle, may cause undefined behaviour"); + } + + handleBorrowed = true; + return handle; + } + + public void Start() + { + Stop(); + if (!audioFilter?.IsValid == true || !audioSource) + { + Utils.Error("AudioFilter or AudioSource is null - cannot start audio capture"); + return; + } + + audioFilter.AudioRead += OnAudioRead; + audioSource.Play(); + reverseStream?.Start(); + } + + public void Stop() + { + if (audioFilter?.IsValid == true) audioFilter.AudioRead -= OnAudioRead; + if (audioSource) audioSource.Stop(); + reverseStream?.Stop(); + + lock (lockObject) + { + buffer.Dispose(); + } + } + + private void OnAudioRead(Span data, int channels, int sampleRate) + { + lock (lockObject) + { + buffer.Write(data, (uint)channels, (uint)sampleRate); + while (true) + { + var frameResult = buffer.ReadDuration(ApmFrame.FRAME_DURATION_MS); + if (frameResult.Has == false) break; + using var frame = frameResult.Value; + + var audioBytes = MemoryMarshal.Cast(frame.AsSpan()); + + var apmFrame = ApmFrame.New( + audioBytes, + frame.NumChannels, + frame.SamplesPerChannel, + new SampleRate(frame.SampleRate), + out string? error + ); + if (error != null) + { + Utils.Error($"Error during creation ApmFrame: {error}"); + break; + } + + var apmResult = apm.ProcessStream(apmFrame); + if (apmResult.Success == false) + Utils.Error($"Error during processing stream: {apmResult.ErrorMessage}"); + + ProcessAudioFrame(frame); + } + } + } + + private void ProcessAudioFrame(in AudioFrame frame) + { + try + { + using var request = FFIBridge.Instance.NewRequest(); + using var audioFrameBufferInfo = request.TempResource(); + + var pushFrame = request.request; + pushFrame.SourceHandle = (ulong)handle.DangerousGetHandle(); + pushFrame.Buffer = audioFrameBufferInfo; + pushFrame.Buffer.DataPtr = (ulong)frame.Data; + pushFrame.Buffer.NumChannels = frame.NumChannels; + pushFrame.Buffer.SampleRate = frame.SampleRate; + pushFrame.Buffer.SamplesPerChannel = frame.SamplesPerChannel; + + using var response = request.Send(); + + pushFrame.Buffer.DataPtr = 0; + pushFrame.Buffer.NumChannels = 0; + pushFrame.Buffer.SampleRate = 0; + pushFrame.Buffer.SamplesPerChannel = 0; + } + catch (Exception e) + { + Utils.Error("Audio Framedata error: " + e.Message + "\nStackTrace: " + e.StackTrace); + } + } + + public void Dispose() + { + if (disposed) + { + Utils.Error($"{nameof(MicrophoneRtcAudioSource)} is already disposed"); + return; + } + + disposed = true; + + buffer.Dispose(); + apm.Dispose(); + reverseStream?.Dispose(); + + if (handleBorrowed == false) + handle.Dispose(); + + if (gameObject) + UnityEngine.Object.Destroy(gameObject); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/MicrophoneRtcAudioSource.cs.meta b/Runtime/Scripts/Audio/MicrophoneRtcAudioSource.cs.meta new file mode 100644 index 00000000..0aa9238a --- /dev/null +++ b/Runtime/Scripts/Audio/MicrophoneRtcAudioSource.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cd6d569417d6480c8d07fe85d6f699f7 +timeCreated: 1753365538 \ No newline at end of file diff --git a/Runtime/Scripts/Audio/OptimizedMonoRtcAudioSource.cs b/Runtime/Scripts/Audio/OptimizedMonoRtcAudioSource.cs new file mode 100644 index 00000000..183291c1 --- /dev/null +++ b/Runtime/Scripts/Audio/OptimizedMonoRtcAudioSource.cs @@ -0,0 +1,276 @@ +using System; +using System.Runtime.InteropServices; +using System.Collections.Concurrent; +using System.Numerics; +using System.Buffers; +using LiveKit.Audio; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; + +namespace LiveKit +{ + public class OptimizedMonoRtcAudioSource : IRtcAudioSource, IDisposable + { + private const int DEFAULT_NUM_CHANNELS = 1; + private const int DEFAULT_SAMPLE_RATE = 48000; + private const float S16_MAX_VALUE = 32767f; + private const float S16_MIN_VALUE = -32768f; + private const float S16_SCALE_FACTOR = 32768f; + private const int POOL_SIZE = 4; + private const int BATCH_SIZE = 4; + private const int VECTOR_SIZE = 4; + + private readonly ConcurrentQueue bufferPool; + private readonly ConcurrentQueue writeQueue; + private readonly ConcurrentQueue readQueue; + private readonly object lockObject = new(); + + private readonly IAudioFilter audioFilter; + private AudioFrame frame; + private uint channels; + private uint sampleRate; + private int currentBufferSize; + private int cachedFrameSize; + private readonly Vector4 scaleFactor; + private readonly Vector4 maxValue; + private readonly Vector4 minValue; + private bool _disposed; + private bool _muted; + public bool Muted => _muted; + + private readonly FfiHandle handle; + + public OptimizedMonoRtcAudioSource(IAudioFilter audioFilter) + { + bufferPool = new ConcurrentQueue(); + writeQueue = new ConcurrentQueue(); + readQueue = new ConcurrentQueue(); + currentBufferSize = 0; + scaleFactor = new Vector4(S16_SCALE_FACTOR); + maxValue = new Vector4(S16_MAX_VALUE); + minValue = new Vector4(S16_MIN_VALUE); + + using var request = FFIBridge.Instance.NewRequest(); + var newAudioSource = request.request; + newAudioSource.Type = AudioSourceType.AudioSourceNative; + newAudioSource.NumChannels = DEFAULT_NUM_CHANNELS; + newAudioSource.SampleRate = DEFAULT_SAMPLE_RATE; + newAudioSource.Options = new AudioSourceOptions() + { + EchoCancellation = true, + AutoGainControl = true, + NoiseSuppression = true + }; + + using var response = request.Send(); + FfiResponse res = response; + handle = IFfiHandleFactory.Default.NewFfiHandle(res.NewAudioSource.Source.Handle!.Id); + this.audioFilter = audioFilter; + } + + public void SetMute(bool muted) + { + _muted = muted; + } + + private short[] GetBuffer(int size) + { + if (_disposed) return null; + if (bufferPool.TryDequeue(out var buffer) && buffer.Length >= size) + { + return buffer; + } + return ArrayPool.Shared.Rent(size); + } + + private void ReturnBuffer(short[] buffer) + { + if (_disposed) return; + if (bufferPool.Count < POOL_SIZE) + { + bufferPool.Enqueue(buffer); + } + else + { + ArrayPool.Shared.Return(buffer); + } + } + + FfiHandle IRtcAudioSource.BorrowHandle() + { + return handle; + } + + public void Start() + { + if (_disposed) return; + Stop(); + if (!audioFilter?.IsValid == true) + { + return; + } + + audioFilter.AudioRead += OnAudioRead; + } + + public void Stop() + { + if (audioFilter?.IsValid == true) audioFilter.AudioRead -= OnAudioRead; + + lock (lockObject) + { + while (writeQueue.TryDequeue(out var buffer)) + { + ReturnBuffer(buffer); + } + while (readQueue.TryDequeue(out var buffer)) + { + ReturnBuffer(buffer); + } + if (frame.IsValid) frame.Dispose(); + } + } + + private void ProcessVectorized(Span input, Span output) + { + if (_disposed) return; + int i = 0; + for (; i <= input.Length - VECTOR_SIZE; i += VECTOR_SIZE) + { + var vector = new Vector4( + input[i], + input[i + 1], + input[i + 2], + input[i + 3] + ); + vector *= scaleFactor; + vector = Vector4.Clamp(vector, minValue, maxValue); + + output[i] = (short)MathF.Round(vector.X); + output[i + 1] = (short)MathF.Round(vector.Y); + output[i + 2] = (short)MathF.Round(vector.Z); + output[i + 3] = (short)MathF.Round(vector.W); + } + + // Handle remaining elements + for (; i < input.Length; i++) + { + var sample = input[i] * S16_SCALE_FACTOR; + if (sample > S16_MAX_VALUE) sample = S16_MAX_VALUE; + else if (sample < S16_MIN_VALUE) sample = S16_MIN_VALUE; + output[i] = (short)(sample + (sample >= 0 ? 0.5f : -0.5f)); + } + } + + private void OnAudioRead(Span data, int channels, int sampleRate) + { + if (_disposed || _muted) return; + var needsReconfiguration = channels != this.channels || + sampleRate != this.sampleRate; + + if (needsReconfiguration) + { + lock (lockObject) + { + this.channels = (uint)channels; + this.sampleRate = (uint)sampleRate; + if (frame.IsValid) frame.Dispose(); + frame = new AudioFrame(this.sampleRate, this.channels, (uint)(data.Length / this.channels)); + cachedFrameSize = frame.Length; + } + } + + var buffer = GetBuffer(data.Length); + if (buffer == null) return; + + ProcessVectorized(data, buffer); + writeQueue.Enqueue(buffer); + + if (writeQueue.Count >= BATCH_SIZE) + { + ProcessAudioFrames(); + } + } + + private void ProcessAudioFrames() + { + if (!frame.IsValid || _disposed || _muted) return; + + while (writeQueue.TryDequeue(out var buffer)) + { + readQueue.Enqueue(buffer); + } + + var framesToProcess = Math.Min(readQueue.Count, BATCH_SIZE); + var frameBuffers = new short[framesToProcess][]; + + for (int i = 0; i < framesToProcess; i++) + { + if (readQueue.TryDequeue(out var buffer)) + { + frameBuffers[i] = buffer; + } + } + + for (int i = 0; i < framesToProcess; i++) + { + var buffer = frameBuffers[i]; + unsafe + { + var frameSpan = new Span(frame.Data.ToPointer(), cachedFrameSize); + var audioBytes = MemoryMarshal.Cast(buffer.AsSpan()); + audioBytes.Slice(0, Math.Min(audioBytes.Length, cachedFrameSize)).CopyTo(frameSpan); + } + + try + { + using var request = FFIBridge.Instance.NewRequest(); + using var audioFrameBufferInfo = request.TempResource(); + + var pushFrame = request.request; + pushFrame.SourceHandle = (ulong)handle.DangerousGetHandle(); + pushFrame.Buffer = audioFrameBufferInfo; + pushFrame.Buffer.DataPtr = (ulong)frame.Data; + pushFrame.Buffer.NumChannels = frame.NumChannels; + pushFrame.Buffer.SampleRate = frame.SampleRate; + pushFrame.Buffer.SamplesPerChannel = frame.SamplesPerChannel; + + using var response = request.Send(); + + pushFrame.Buffer.DataPtr = 0; + pushFrame.Buffer.NumChannels = 0; + pushFrame.Buffer.SampleRate = 0; + pushFrame.Buffer.SamplesPerChannel = 0; + } + catch (Exception e) + { + Utils.Error("Audio Framedata error: " + e.Message + "\nStackTrace: " + e.StackTrace); + } + + ReturnBuffer(buffer); + } + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposed && disposing) + { + Stop(); + if (frame.IsValid) frame.Dispose(); + } + _disposed = true; + } + + ~OptimizedMonoRtcAudioSource() + { + Dispose(false); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/OptimizedMonoRtcAudioSource.cs.meta b/Runtime/Scripts/Audio/OptimizedMonoRtcAudioSource.cs.meta new file mode 100644 index 00000000..1a71a2e5 --- /dev/null +++ b/Runtime/Scripts/Audio/OptimizedMonoRtcAudioSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c4459c50139914a34bbf0392145ae36d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Audio/PCMSample.cs b/Runtime/Scripts/Audio/PCMSample.cs new file mode 100644 index 00000000..79a1b4e5 --- /dev/null +++ b/Runtime/Scripts/Audio/PCMSample.cs @@ -0,0 +1,32 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using System.Runtime.InteropServices; + +namespace LiveKit.Audio +{ + [SuppressMessage("ReSharper", "BuiltInTypeReferenceStyle")] + [StructLayout(LayoutKind.Sequential)] + public readonly struct PCMSample + { + public const byte BytesPerSample = 2; // Int16 = Int8 * 2 + + private const float S16_MAX_VALUE = 32767f; + private const float S16_MIN_VALUE = -32768f; + private const float S16_SCALE_FACTOR = 32768f; + + public readonly Int16 data; + + public PCMSample(Int16 data) + { + this.data = data; + } + + public static PCMSample FromUnitySample(float sample) + { + sample *= S16_SCALE_FACTOR; + if (sample > S16_MAX_VALUE) sample = S16_MAX_VALUE; + else if (sample < S16_MIN_VALUE) sample = S16_MIN_VALUE; + return new PCMSample((short)(sample + (sample >= 0 ? 0.5f : -0.5f))); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/PCMSample.cs.meta b/Runtime/Scripts/Audio/PCMSample.cs.meta new file mode 100644 index 00000000..08f8cd3b --- /dev/null +++ b/Runtime/Scripts/Audio/PCMSample.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8522c241cdbb4e5f9275c2429862bdbf +timeCreated: 1753683220 \ No newline at end of file diff --git a/Runtime/Scripts/Audio/RtcAudioSource.cs b/Runtime/Scripts/Audio/RtcAudioSource.cs new file mode 100644 index 00000000..391f4b20 --- /dev/null +++ b/Runtime/Scripts/Audio/RtcAudioSource.cs @@ -0,0 +1,191 @@ +using System; +using UnityEngine; +using LiveKit.Proto; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; +using Livekit.Utils; +using System.Runtime.InteropServices; + +namespace LiveKit.Audio +{ + public class RtcAudioSource : IRtcAudioSource + { + private const int DEFAULT_NUM_CHANNELS = 2; + private const int DEFAULT_SAMPLE_RATE = 48000; + private const float BUFFER_DURATION_S = 0.2f; + private const float S16_MAX_VALUE = 32767f; + private const float S16_MIN_VALUE = -32768f; + private const float S16_SCALE_FACTOR = 32768f; + private readonly Mutex buffer; + private readonly object lockObject = new(); + + private readonly AudioSource audioSource; + private readonly IAudioFilter audioFilter; + private short[] tempBuffer; + private AudioFrame frame; + private uint channels; + private uint sampleRate; + private int currentBufferSize; + + private int cachedFrameSize; + + private readonly FfiHandle handle; + + public RtcAudioSource(AudioSource audioSource, IAudioFilter audioFilter) + { + buffer = new Mutex(new RingBuffer(0)); + currentBufferSize = 0; + using var request = FFIBridge.Instance.NewRequest(); + var newAudioSource = request.request; + newAudioSource.Type = AudioSourceType.AudioSourceNative; + newAudioSource.NumChannels = DEFAULT_NUM_CHANNELS; + newAudioSource.SampleRate = DEFAULT_SAMPLE_RATE; + + using var response = request.Send(); + FfiResponse res = response; + handle = IFfiHandleFactory.Default.NewFfiHandle(res.NewAudioSource.Source.Handle!.Id); + this.audioSource = audioSource; + this.audioFilter = audioFilter; + } + + FfiHandle IRtcAudioSource.BorrowHandle() + { + return handle; + } + + public void Start() + { + Stop(); + if (!audioFilter?.IsValid == true || !audioSource) + { + Utils.Error("AudioFilter or AudioSource is null - cannot start audio capture"); + return; + } + + audioFilter.AudioRead += OnAudioRead; + audioSource.Play(); + } + + public void Stop() + { + if (audioFilter?.IsValid == true) audioFilter.AudioRead -= OnAudioRead; + if (audioSource) audioSource.Stop(); + + lock (lockObject) + { + using var guard = buffer.Lock(); + guard.Value.Dispose(); + if (frame.IsValid) frame.Dispose(); + } + } + + private void OnAudioRead(Span data, int channels, int sampleRate) + { + var needsReconfiguration = channels != this.channels + || sampleRate != this.sampleRate + || data.Length != tempBuffer?.Length; + + var newBufferSize = 0; + if (needsReconfiguration) + { + newBufferSize = (int)(channels * sampleRate * BUFFER_DURATION_S) * sizeof(short); + } + + lock (lockObject) + { + if (needsReconfiguration) + { + var needsNewBuffer = newBufferSize != currentBufferSize; + + if (needsNewBuffer) + { + using var guard = buffer.Lock(); + guard.Value.Dispose(); + guard.Value = new RingBuffer(newBufferSize); + currentBufferSize = newBufferSize; + } + + tempBuffer = new short[data.Length]; + this.channels = (uint)channels; + this.sampleRate = (uint)sampleRate; + if (frame.IsValid) frame.Dispose(); + frame = new AudioFrame(this.sampleRate, this.channels, (uint)(tempBuffer.Length / this.channels)); + + cachedFrameSize = frame.Length; + } + + if (tempBuffer == null) + { + Utils.Error("Temp buffer is null"); + return; + } + + var tempSpan = tempBuffer.AsSpan(); + for (var i = 0; i < data.Length; i++) + { + var sample = data[i] * S16_SCALE_FACTOR; + if (sample > S16_MAX_VALUE) sample = S16_MAX_VALUE; + else if (sample < S16_MIN_VALUE) sample = S16_MIN_VALUE; + tempSpan[i] = (short)(sample + (sample >= 0 ? 0.5f : -0.5f)); + } + + var shouldProcessFrame = false; + using (var guard = buffer.Lock()) + { + var audioBytes = MemoryMarshal.Cast(tempBuffer.AsSpan()); + guard.Value.Write(audioBytes); + shouldProcessFrame = guard.Value.AvailableRead() >= cachedFrameSize; + } + + if (shouldProcessFrame) + { + ProcessAudioFrame(); + } + } + } + + private void ProcessAudioFrame() + { + if (!frame.IsValid) return; + + unsafe + { + var frameSpan = new Span(frame.Data.ToPointer(), cachedFrameSize); + + using (var guard = buffer.Lock()) + { + var bytesRead = guard.Value.Read(frameSpan); + if (bytesRead < cachedFrameSize) + { + return; // Don't send incomplete frames + } + } + } + + try + { + using var request = FFIBridge.Instance.NewRequest(); + using var audioFrameBufferInfo = request.TempResource(); + + var pushFrame = request.request; + pushFrame.SourceHandle = (ulong)handle.DangerousGetHandle(); + pushFrame.Buffer = audioFrameBufferInfo; + pushFrame.Buffer.DataPtr = (ulong)frame.Data; + pushFrame.Buffer.NumChannels = frame.NumChannels; + pushFrame.Buffer.SampleRate = frame.SampleRate; + pushFrame.Buffer.SamplesPerChannel = frame.SamplesPerChannel; + + using var response = request.Send(); + + pushFrame.Buffer.DataPtr = 0; + pushFrame.Buffer.NumChannels = 0; + pushFrame.Buffer.SampleRate = 0; + pushFrame.Buffer.SamplesPerChannel = 0; + } + catch (Exception e) + { + Utils.Error("Audio Framedata error: " + e.Message + "\nStackTrace: " + e.StackTrace); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/AudioSource.cs.meta b/Runtime/Scripts/Audio/RtcAudioSource.cs.meta similarity index 100% rename from Runtime/Scripts/AudioSource.cs.meta rename to Runtime/Scripts/Audio/RtcAudioSource.cs.meta diff --git a/Runtime/Scripts/Audio/SampleRate.cs b/Runtime/Scripts/Audio/SampleRate.cs new file mode 100644 index 00000000..2bd1aeba --- /dev/null +++ b/Runtime/Scripts/Audio/SampleRate.cs @@ -0,0 +1,14 @@ +namespace LiveKit.Audio +{ + public readonly struct SampleRate + { + public static readonly SampleRate Hz48000 = new(48000); + + public readonly uint valueHz; + + public SampleRate(uint value) + { + valueHz = value; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Audio/SampleRate.cs.meta b/Runtime/Scripts/Audio/SampleRate.cs.meta new file mode 100644 index 00000000..bef089ec --- /dev/null +++ b/Runtime/Scripts/Audio/SampleRate.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e1fea0c4e12a410096afb91340aa826c +timeCreated: 1753683251 \ No newline at end of file diff --git a/Runtime/Scripts/AudioFrame.cs b/Runtime/Scripts/AudioFrame.cs deleted file mode 100644 index 3d388c0c..00000000 --- a/Runtime/Scripts/AudioFrame.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using LiveKit.Proto; -using LiveKit.Internal; - -namespace LiveKit -{ - public class AudioFrame : IDisposable - { - private AudioFrameBufferInfo _info; - - internal readonly FfiHandle Handle; - private bool _disposed = false; - - public uint NumChannels => _info.NumChannels; - public uint SampleRate => _info.SampleRate; - public uint SamplesPerChannel => _info.SamplesPerChannel; - - public IntPtr Data => (IntPtr)_info.DataPtr; - public int Length => (int) (SamplesPerChannel * NumChannels * sizeof(short)); - - internal AudioFrame(FfiHandle handle, AudioFrameBufferInfo info) - { - Handle = handle; - _info = info; - } - - internal AudioFrame(int sampleRate, int numChannels, int samplesPerChannel) { - var alloc = new AllocAudioBufferRequest(); - alloc.SampleRate = (uint) sampleRate; - alloc.NumChannels = (uint) numChannels; - alloc.SamplesPerChannel = (uint) samplesPerChannel; - - var request = new FFIRequest(); - request.AllocAudioBuffer = alloc; - - var res = FfiClient.SendRequest(request); - var bufferInfo = res.AllocAudioBuffer.Buffer; - - Handle = new FfiHandle((IntPtr)bufferInfo.Handle.Id); - _info = bufferInfo; - } - - ~AudioFrame() - { - Dispose(false); - } - - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - - protected virtual void Dispose(bool disposing) - { - if (!_disposed) - { - Handle.Dispose(); - _disposed = true; - } - } - } -} diff --git a/Runtime/Scripts/AudioSource.cs b/Runtime/Scripts/AudioSource.cs deleted file mode 100644 index bad8d265..00000000 --- a/Runtime/Scripts/AudioSource.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using System.Collections; -using UnityEngine; -using LiveKit.Proto; -using LiveKit.Internal; -using UnityEngine.Rendering; -using Unity.Collections; -using Unity.Collections.LowLevel.Unsafe; - -namespace LiveKit -{ - public class RtcAudioSource - { - private AudioSource _audioSource; - private AudioFilter _audioFilter; - - internal readonly FfiHandle Handle; - protected AudioSourceInfo _info; - - // Used on the AudioThread - private AudioFrame _frame; - - public RtcAudioSource(AudioSource source) - { - var newAudioSource = new NewAudioSourceRequest(); - newAudioSource.Type = AudioSourceType.AudioSourceNative; - - var request = new FFIRequest(); - request.NewAudioSource = newAudioSource; - - var resp = FfiClient.SendRequest(request); - _info = resp.NewAudioSource.Source; - Handle = new FfiHandle((IntPtr)_info.Handle.Id); - UpdateSource(source); - } - - private void UpdateSource(AudioSource source) - { - _audioSource = source; - _audioFilter = source.gameObject.AddComponent(); - //_audioFilter.hideFlags = HideFlags.HideInInspector; - _audioFilter.AudioRead += OnAudioRead; - source.Play(); - } - - - private void OnAudioRead(float[] data, int channels, int sampleRate) - { - var samplesPerChannel = data.Length / channels; - if (_frame == null || _frame.NumChannels != channels - || _frame.SampleRate != sampleRate - || _frame.SamplesPerChannel != samplesPerChannel) - { - _frame = new AudioFrame(sampleRate, channels, samplesPerChannel); - } - - static short FloatToS16(float v) { - v *= 32768f; - v = Math.Min(v, 32767f); - v = Math.Max(v, -32768f); - return (short)(v + Math.Sign(v) * 0.5f); - } - - unsafe { - var frameData = new Span(_frame.Data.ToPointer(), _frame.Length / sizeof(short)); - for (int i = 0; i < data.Length; i++) - { - frameData[i] = FloatToS16(data[i]); - } - } - - // Don't play the audio locally - Array.Clear(data, 0, data.Length); - - var pushFrame = new CaptureAudioFrameRequest(); - pushFrame.SourceHandle = new FFIHandleId { Id = (ulong)Handle.DangerousGetHandle() }; - pushFrame.BufferHandle = new FFIHandleId { Id = (ulong)_frame.Handle.DangerousGetHandle() }; - - var request = new FFIRequest(); - request.CaptureAudioFrame = pushFrame; - - FfiClient.SendRequest(request); - - Debug.Log($"Pushed audio frame with {data.Length} samples"); - } - } -} diff --git a/Runtime/Scripts/AudioStream.cs b/Runtime/Scripts/AudioStream.cs deleted file mode 100644 index 949d8560..00000000 --- a/Runtime/Scripts/AudioStream.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using UnityEngine; -using LiveKit.Internal; -using LiveKit.Proto; -using System.Runtime.InteropServices; - -namespace LiveKit -{ - public class AudioStream - { - internal readonly FfiHandle Handle; - private AudioSource _audioSource; - private AudioFilter _audioFilter; - private RingBuffer _buffer; - private short[] _tempBuffer; - private uint _numChannels; - private uint _sampleRate; - private AudioResampler _resampler = new AudioResampler(); - private object _lock = new object(); - - public AudioStream(IAudioTrack audioTrack, AudioSource source) - { - if (!audioTrack.Room.TryGetTarget(out var room)) - throw new InvalidOperationException("audiotrack's room is invalid"); - - if (!audioTrack.Participant.TryGetTarget(out var participant)) - throw new InvalidOperationException("audiotrack's participant is invalid"); - - var newAudioStream = new NewAudioStreamRequest(); - newAudioStream.RoomHandle = new FFIHandleId { Id = (ulong)room.Handle.DangerousGetHandle() }; - newAudioStream.ParticipantSid = participant.Sid; - newAudioStream.TrackSid = audioTrack.Sid; - newAudioStream.Type = AudioStreamType.AudioStreamNative; - - var request = new FFIRequest(); - request.NewAudioStream = newAudioStream; - - var resp = FfiClient.SendRequest(request); - var streamInfo = resp.NewAudioStream.Stream; - - Handle = new FfiHandle((IntPtr)streamInfo.Handle.Id); - FfiClient.Instance.AudioStreamEventReceived += OnAudioStreamEvent; - - UpdateSource(source); - } - - private void UpdateSource(AudioSource source) - { - _audioSource = source; - _audioFilter = source.gameObject.AddComponent(); - //_audioFilter.hideFlags = HideFlags.HideInInspector; - _audioFilter.AudioRead += OnAudioRead; - source.Play(); - } - - // Called on Unity audio thread - private void OnAudioRead(float[] data, int channels, int sampleRate) - { - lock (_lock) - { - if (_buffer == null || channels != _numChannels || sampleRate != _sampleRate || data.Length != _tempBuffer.Length) - { - int size = (int)(channels * sampleRate * 0.2); - _buffer = new RingBuffer(size * sizeof(short)); - _tempBuffer = new short[data.Length]; - _numChannels = (uint)channels; - _sampleRate = (uint)sampleRate; - } - - - static float S16ToFloat(short v) - { - return v / 32768f; - } - - // "Send" the data to Unity - var temp = MemoryMarshal.Cast(_tempBuffer.AsSpan().Slice(0, data.Length)); - int read = _buffer.Read(temp); - - Array.Clear(data, 0, data.Length); - for (int i = 0; i < data.Length; i++) - { - data[i] = S16ToFloat(_tempBuffer[i]); - } - } - } - - // Called on the MainThread (See FfiClient) - private void OnAudioStreamEvent(AudioStreamEvent e) - { - if (e.Handle.Id != (ulong)Handle.DangerousGetHandle()) - return; - - if (e.MessageCase != AudioStreamEvent.MessageOneofCase.FrameReceived) - return; - - var info = e.FrameReceived.Frame; - var handle = new FfiHandle((IntPtr)info.Handle.Id); - var frame = new AudioFrame(handle, info); - - lock (_lock) - { - if (_numChannels == 0) - return; - - unsafe - { - var uFrame = _resampler.RemixAndResample(frame, _numChannels, _sampleRate); - var data = new Span(uFrame.Data.ToPointer(), uFrame.Length); - _buffer?.Write(data); - } - } - } - } -} diff --git a/Runtime/Scripts/CameraVideoSource.cs b/Runtime/Scripts/CameraVideoSource.cs new file mode 100644 index 00000000..e81e4b61 --- /dev/null +++ b/Runtime/Scripts/CameraVideoSource.cs @@ -0,0 +1,71 @@ +using System; +using UnityEngine; +using LiveKit.Proto; +using LiveKit.Internal; +using UnityEngine.Rendering; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using System.Threading; +using LiveKit.Internal.FFIClients.Requests; +using UnityEngine.Experimental.Rendering; +using UnityEngine.UI; +using System.Threading.Tasks; + +namespace LiveKit +{ + public class CameraVideoSource : RtcVideoSource + { + public Camera Camera { get; } + + public override int GetWidth() + { + return Camera.pixelWidth; + } + + public override int GetHeight() + { + return Camera.pixelHeight; + } + + public CameraVideoSource(Camera camera, VideoBufferType bufferType = VideoBufferType.Rgba) : base(VideoStreamSource.Screen, bufferType) + { + Camera = camera; + + var targetFormat = Utils.GetSupportedGraphicsFormat(SystemInfo.graphicsDeviceType); + _dest = new RenderTexture(GetWidth(), GetHeight(), 0, targetFormat); + camera.targetTexture = _dest as RenderTexture; + _data = new NativeArray(GetWidth() * GetHeight() * GetStrideForBuffer(bufferType), Allocator.Persistent); + } + + ~CameraVideoSource() + { + Dispose(); + ClearRenderTexture(); + } + + public override void Stop() + { + base.Stop(); + ClearRenderTexture(); + } + + private void ClearRenderTexture() + { + if (_dest) + { + var renderText = _dest as RenderTexture; + renderText.Release(); // can only be done on main thread + } + } + + // Read the texture data into a native array asynchronously + protected override void ReadBuffer() + { + if (_reading) + return; + _reading = true; + AsyncGPUReadback.RequestIntoNativeArray(ref _data, _dest, 0, GetTextureFormat(_bufferType), OnReadback); + } + } +} + diff --git a/Runtime/Scripts/CameraVideoSource.cs.meta b/Runtime/Scripts/CameraVideoSource.cs.meta new file mode 100644 index 00000000..7b80115f --- /dev/null +++ b/Runtime/Scripts/CameraVideoSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a687aca3b53dfe64fa4e6061a03d4f8d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/IRtcAudioSource.cs b/Runtime/Scripts/IRtcAudioSource.cs new file mode 100644 index 00000000..10d7949e --- /dev/null +++ b/Runtime/Scripts/IRtcAudioSource.cs @@ -0,0 +1,20 @@ +using LiveKit.Internal; + +namespace LiveKit +{ + /// + /// Interface for RTC audio sources that can capture and stream audio data + /// + public interface IRtcAudioSource + { + /// + /// Borrow ownership of native resources + /// + /// + internal FfiHandle BorrowHandle(); + + void Start(); + + void Stop(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/IRtcAudioSource.cs.meta b/Runtime/Scripts/IRtcAudioSource.cs.meta new file mode 100644 index 00000000..f2e76162 --- /dev/null +++ b/Runtime/Scripts/IRtcAudioSource.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 767528710d909fb47bbb174cb1080e7e \ No newline at end of file diff --git a/Runtime/Scripts/Internal/AudioFilter.cs b/Runtime/Scripts/Internal/AudioFilter.cs index 80423399..a449bc38 100644 --- a/Runtime/Scripts/Internal/AudioFilter.cs +++ b/Runtime/Scripts/Internal/AudioFilter.cs @@ -1,37 +1,46 @@ -using System.Collections; -using System.Collections.Generic; +using System; using UnityEngine; namespace LiveKit { // from https://github.com/Unity-Technologies/com.unity.webrtc - internal class AudioFilter : MonoBehaviour + public class AudioFilter : MonoBehaviour, IAudioFilter { - public delegate void OnAudioDelegate(float[] data, int channels, int sampleRate); - // Event is called from the Unity audio thread - public event OnAudioDelegate AudioRead; private int _sampleRate; - void OnEnable() + private void OnEnable() { OnAudioConfigurationChanged(false); AudioSettings.OnAudioConfigurationChanged += OnAudioConfigurationChanged; } - void OnDisable() + private void OnDisable() { AudioSettings.OnAudioConfigurationChanged -= OnAudioConfigurationChanged; } - void OnAudioConfigurationChanged(bool deviceWasChanged) + private void OnDestroy() { - _sampleRate = AudioSettings.outputSampleRate; + AudioRead = null; } - void OnAudioFilterRead(float[] data, int channels) + private void OnAudioFilterRead(float[] data, int channels) { // Called by Unity on the Audio thread - AudioRead?.Invoke(data, channels, _sampleRate); + AudioRead?.Invoke(data.AsSpan(), channels, _sampleRate); + } + + // Event is called from the Unity audio thread + public event IAudioFilter.OnAudioDelegate AudioRead; + + /// + /// Gets whether this audio filter is valid and can be used + /// + public bool IsValid => this != null; + + private void OnAudioConfigurationChanged(bool deviceWasChanged) + { + _sampleRate = AudioSettings.outputSampleRate; } } -} +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/AudioResampler.cs b/Runtime/Scripts/Internal/AudioResampler.cs index 5297ca6b..3ac55037 100644 --- a/Runtime/Scripts/Internal/AudioResampler.cs +++ b/Runtime/Scripts/Internal/AudioResampler.cs @@ -1,37 +1,76 @@ using System; -using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; using LiveKit.Proto; +using LiveKit.Rooms.Streaming.Audio; -namespace LiveKit +namespace LiveKit.Internal { - public class AudioResampler + public readonly struct AudioResampler : IDisposable { - internal readonly FfiHandle Handle; + private readonly FfiHandle handle; - public AudioResampler() + private AudioResampler(FfiHandle handle) { - var newResampler = new NewAudioResamplerRequest(); - var request = new FFIRequest(); - request.NewAudioResampler = newResampler; + this.handle = handle; + } - var res = FfiClient.SendRequest(request); - Handle = new FfiHandle((IntPtr)res.NewAudioResampler.Handle.Id); + public static AudioResampler New() + { + using var request = FFIBridge.Instance.NewRequest(); + using var response = request.Send(); + FfiResponse res = response; + var handle = IFfiHandleFactory.Default.NewFfiHandle(res.NewAudioResampler!.Resampler!.Handle!.Id); + return new AudioResampler(handle); + } + + public void Dispose() + { + handle.Dispose(); } - public AudioFrame RemixAndResample(AudioFrame frame, uint numChannels, uint sampleRate) { - var remix = new RemixAndResampleRequest(); - remix.ResamplerHandle = new FFIHandleId { Id = (ulong) Handle.DangerousGetHandle()}; - remix.BufferHandle = new FFIHandleId { Id = (ulong) frame.Handle.DangerousGetHandle()}; + public OwnedAudioFrame RemixAndResample(OwnedAudioFrame frame, uint numChannels, uint sampleRate) + { + using var request = FFIBridge.Instance.NewRequest(); + using var audioFrameBufferInfo = request.TempResource(); + var remix = request.request; + remix.ResamplerHandle = (ulong)handle.DangerousGetHandle(); + + remix.Buffer = audioFrameBufferInfo; + remix.Buffer.DataPtr = (ulong)frame.dataPtr; + remix.Buffer.NumChannels = frame.numChannels; + remix.Buffer.SampleRate = frame.sampleRate; + remix.Buffer.SamplesPerChannel = frame.samplesPerChannel; + remix.NumChannels = numChannels; remix.SampleRate = sampleRate; + using var response = request.Send(); + FfiResponse res = response; + var bufferInfo = res.RemixAndResample!.Buffer; + return new OwnedAudioFrame(bufferInfo); + } - var request = new FFIRequest(); - request.RemixAndResample = remix; + public class ThreadSafe : IDisposable + { + private readonly AudioResampler resampler = New(); + + /// + /// Takes ownership of the frame and is responsible for its disposal + /// + public OwnedAudioFrame RemixAndResample(OwnedAudioFrame frame, uint numChannels, uint sampleRate) + { + using (frame) + { + lock (this) + { + return resampler.RemixAndResample(frame, numChannels, sampleRate); + } + } + } - var res = FfiClient.SendRequest(request); - var bufferInfo = res.RemixAndResample.Buffer; - var handle = new FfiHandle((IntPtr)bufferInfo.Handle.Id); - return new AudioFrame(handle, bufferInfo); + public void Dispose() + { + resampler.Dispose(); + } } } -} +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/Constants.cs b/Runtime/Scripts/Internal/Constants.cs new file mode 100644 index 00000000..edc08b38 --- /dev/null +++ b/Runtime/Scripts/Internal/Constants.cs @@ -0,0 +1,7 @@ +namespace LiveKit.Internal +{ + internal static class Constants + { + internal const int TASK_DELAY = 5; + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/Constants.cs.meta b/Runtime/Scripts/Internal/Constants.cs.meta new file mode 100644 index 00000000..83b1f9f5 --- /dev/null +++ b/Runtime/Scripts/Internal/Constants.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fd27ede8e471b7a4c8156e972f3439c9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Internal/FFIClient.cs b/Runtime/Scripts/Internal/FFIClient.cs index d20ec847..3318aa0c 100644 --- a/Runtime/Scripts/Internal/FFIClient.cs +++ b/Runtime/Scripts/Internal/FFIClient.cs @@ -1,9 +1,12 @@ using System; -using System.Runtime.InteropServices; +using AOT; using LiveKit.Proto; using UnityEngine; using Google.Protobuf; -using System.Threading; +using LiveKit.Internal.FFIClients; +using LiveKit.Internal.FFIClients.Pools; +using LiveKit.Internal.FFIClients.Pools.Memory; +using UnityEngine.Pool; #if UNITY_EDITOR using UnityEditor; @@ -11,159 +14,418 @@ namespace LiveKit.Internal { - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - delegate void FFICallbackDelegate(IntPtr data, int size); - - // Callbacks - internal delegate void PublishTrackDelegate(PublishTrackCallback e); - internal delegate void ConnectReceivedDelegate(ConnectCallback e); - - // Events - internal delegate void RoomEventReceivedDelegate(RoomEvent e); - internal delegate void TrackEventReceivedDelegate(TrackEvent e); - internal delegate void ParticipantEventReceivedDelegate(ParticipantEvent e); - internal delegate void VideoStreamEventReceivedDelegate(VideoStreamEvent e); - internal delegate void AudioStreamEventReceivedDelegate(AudioStreamEvent e); - #if UNITY_EDITOR [InitializeOnLoad] #endif - internal sealed class FfiClient + internal sealed class FfiClient : IFFIClient { - private static readonly Lazy _instance = new Lazy(() => new FfiClient()); - public static FfiClient Instance => _instance.Value; + private static bool initialized = false; + private static readonly Lazy instance = new(() => new FfiClient()); + + public static FfiClient Instance => instance.Value!; + private static bool isDisposed; + + private readonly IObjectPool ffiResponsePool; + private readonly MessageParser responseParser; + private readonly IMemoryPool memoryPool; - internal SynchronizationContext _context; + public event PublishTrackDelegate? PublishTrackReceived; + public event UnpublishTrackDelegate? UnpublishTrackReceived; + public event ConnectReceivedDelegate? ConnectReceived; + public event DisconnectReceivedDelegate? DisconnectReceived; + public event RoomEventReceivedDelegate? RoomEventReceived; - public event PublishTrackDelegate PublishTrackReceived; - public event ConnectReceivedDelegate ConnectReceived; - public event RoomEventReceivedDelegate RoomEventReceived; - public event TrackEventReceivedDelegate TrackEventReceived; - public event ParticipantEventReceivedDelegate ParticipantEventReceived; - public event VideoStreamEventReceivedDelegate VideoStreamEventReceived; - public event AudioStreamEventReceivedDelegate AudioStreamEventReceived; + public event TrackEventReceivedDelegate? TrackEventReceived; + + // participant events are not allowed in the fii protocol public event ParticipantEventReceivedDelegate ParticipantEventReceived; + public event VideoStreamEventReceivedDelegate? VideoStreamEventReceived; + public event AudioStreamEventReceivedDelegate? AudioStreamEventReceived; + + public FfiClient() : this(Pools.NewFfiResponsePool(), new ArrayMemoryPool()) + { + } + + public FfiClient( + IObjectPool ffiResponsePool, + IMemoryPool memoryPool + ) : this( + ffiResponsePool, + new MessageParser(ffiResponsePool.Get), memoryPool) + { + } + + public FfiClient( + IObjectPool ffiResponsePool, + MessageParser responseParser, + IMemoryPool memoryPool + ) + { + this.responseParser = responseParser; + this.memoryPool = memoryPool; + this.ffiResponsePool = ffiResponsePool; + } #if UNITY_EDITOR static FfiClient() { AssemblyReloadEvents.beforeAssemblyReload += OnBeforeAssemblyReload; AssemblyReloadEvents.afterAssemblyReload += OnAfterAssemblyReload; - EditorApplication.quitting += Quit; Application.quitting += Quit; } static void OnBeforeAssemblyReload() { - Dispose(); + Instance.Dispose(); } static void OnAfterAssemblyReload() { - Initialize(); + InitializeSdk(); } #else [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] static void Init() { Application.quitting += Quit; - Instance.Initialize(); + InitializeSdk(); } #endif - static void Quit() + private static void Quit() { +#if NO_LIVEKIT_MODE + return; +#endif #if UNITY_EDITOR AssemblyReloadEvents.beforeAssemblyReload -= OnBeforeAssemblyReload; AssemblyReloadEvents.afterAssemblyReload -= OnAfterAssemblyReload; #endif - Dispose(); + Instance.Dispose(); } - [RuntimeInitializeOnLoadMethod] - static void GetMainContext() + private static void InitializeSdk() { - // https://github.com/Unity-Technologies/UnityCsReference/blob/master/Runtime/Export/Scripting/UnitySynchronizationContext.cs - Instance._context = SynchronizationContext.Current; - } +#if NO_LIVEKIT_MODE + return; +#endif - static void Initialize() - { - FFICallbackDelegate callback = FFICallback; - var initReq = new InitializeRequest(); - initReq.EventCallbackPtr = (ulong)Marshal.GetFunctionPointerForDelegate(callback); +#if LK_VERBOSE + const bool captureLogs = true; +#else + const bool captureLogs = false; +#endif + + try + { + NativeMethods.LiveKitInitialize(FFICallback, captureLogs, "unity", ""); // TODO: Get SDK version + } + catch (DllNotFoundException) + { + } - var request = new FFIRequest(); - request.Initialize = initReq; - SendRequest(request); Utils.Debug("FFIServer - Initialized"); + initialized = true; + } + + public void Initialize() + { + InitializeSdk(); } - static void Dispose() + public bool Initialized() { + return initialized; + } + + public void Dispose() + { +#if NO_LIVEKIT_MODE + return; +#endif + + if (isDisposed) + { + Utils.Debug("FFIServer - Already Disposed"); + return; + } + + isDisposed = true; + // Stop all rooms synchronously // The rust lk implementation should also correctly dispose WebRTC - var disposeReq = new DisposeRequest(); - - var request = new FFIRequest(); - request.Dispose = disposeReq; - SendRequest(request); + initialized = false; + SendRequest( + new FfiRequest + { + Dispose = new DisposeRequest() + } + ); Utils.Debug("FFIServer - Disposed"); } - internal static FFIResponse SendRequest(FFIRequest request) + public void Release(FfiResponse response) + { + ffiResponsePool.Release(response); + } + + public FfiResponse SendRequest(FfiRequest request) { - var data = request.ToByteArray(); // TODO(theomonnom): Avoid more allocations - FFIResponse response; - unsafe +#if NO_LIVEKIT_MODE + return new FfiResponse(); +#endif + try + { + unsafe + { + using var memory = memoryPool.Memory(request); + var data = memory.Span(); + request.WriteTo(data); + + fixed (byte* requestDataPtr = data) + { + var handle = NativeMethods.FfiNewRequest( + requestDataPtr, + data.Length, + out byte* dataPtr, + out UIntPtr dataLen + ); + + var dataSpan = new Span(dataPtr, (int)dataLen.ToUInt32()); + var response = responseParser.ParseFrom(dataSpan)!; + NativeMethods.FfiDropHandle(handle); + +#if LK_VERBOSE + Debug.Log($"FFIClient response of type: {response.MessageCase} with asyncId: {AsyncId(response)}"); +#endif + + return response; + } + } + } + catch (Exception e) { - var handle = NativeMethods.FfiNewRequest(data, data.Length, out byte* dataPtr, out int dataLen); - response = FFIResponse.Parser.ParseFrom(new Span(dataPtr, dataLen)); - handle.Dispose(); + // Since we are in a thread I want to make sure we catch and log + Utils.Error(e); + // But we aren't actually handling this exception so we should re-throw here + throw new Exception("Cannot send request", e); } + } + + [MonoPInvokeCallback(typeof(FFICallbackDelegate))] + private static unsafe void FFICallback(IntPtr data, UIntPtr size) + { +#if NO_LIVEKIT_MODE + return; +#endif + + try + { + if (isDisposed) return; + var respData = new Span(data.ToPointer()!, (int)size.ToUInt32()); + var response = FfiEvent.Parser!.ParseFrom(respData); + +#if LK_VERBOSE + if (response?.MessageCase != FfiEvent.MessageOneofCase.Logs) + Utils.Debug("Callback: " + response?.MessageCase); +#endif + switch (response?.MessageCase) + { + case FfiEvent.MessageOneofCase.Logs: - return response; - } - - - [AOT.MonoPInvokeCallback(typeof(FFICallbackDelegate))] - static unsafe void FFICallback(IntPtr data, int size) - { - var respData = new Span(data.ToPointer(), size); - var response = FFIEvent.Parser.ParseFrom(respData); - - // Run on the main thread, the order of execution is guaranteed by Unity - // It uses a Queue internally - Instance._context.Post((resp) => - { - var response = resp as FFIEvent; - switch (response.MessageCase) - { - case FFIEvent.MessageOneofCase.Connect: - Instance.ConnectReceived?.Invoke(response.Connect); - break; - case FFIEvent.MessageOneofCase.PublishTrack: - Instance.PublishTrackReceived?.Invoke(response.PublishTrack); - break; - case FFIEvent.MessageOneofCase.RoomEvent: - Instance.RoomEventReceived?.Invoke(response.RoomEvent); - break; - case FFIEvent.MessageOneofCase.TrackEvent: - Instance.TrackEventReceived?.Invoke(response.TrackEvent); - break; - case FFIEvent.MessageOneofCase.ParticipantEvent: - Instance.ParticipantEventReceived?.Invoke(response.ParticipantEvent); - break; - case FFIEvent.MessageOneofCase.VideoStreamEvent: - Instance.VideoStreamEventReceived?.Invoke(response.VideoStreamEvent); - break; - case FFIEvent.MessageOneofCase.AudioStreamEvent: - Instance.AudioStreamEventReceived?.Invoke(response.AudioStreamEvent); - break; - - } - }, response); + Debug.Log($"LK_DEBUG: {response.Logs.Records}"); + break; + case FfiEvent.MessageOneofCase.PublishData: + break; + case FfiEvent.MessageOneofCase.Connect: + Instance.ConnectReceived?.Invoke(response.Connect!); + break; + case FfiEvent.MessageOneofCase.PublishTrack: + Instance.PublishTrackReceived?.Invoke(response.PublishTrack!); + break; + case FfiEvent.MessageOneofCase.UnpublishTrack: + Instance.UnpublishTrackReceived?.Invoke(response.UnpublishTrack!); + break; + case FfiEvent.MessageOneofCase.RoomEvent: + Instance.RoomEventReceived?.Invoke(response.RoomEvent); + break; + case FfiEvent.MessageOneofCase.TrackEvent: + Instance.TrackEventReceived?.Invoke(response.TrackEvent!); + break; + case FfiEvent.MessageOneofCase.Disconnect: + Instance.DisconnectReceived?.Invoke(response.Disconnect!); + break; + case FfiEvent.MessageOneofCase.PublishTranscription: + break; + case FfiEvent.MessageOneofCase.VideoStreamEvent: + Instance.VideoStreamEventReceived?.Invoke(response.VideoStreamEvent!); + break; + case FfiEvent.MessageOneofCase.AudioStreamEvent: + Instance.AudioStreamEventReceived?.Invoke(response.AudioStreamEvent!); + break; + case FfiEvent.MessageOneofCase.SetLocalMetadata: + case FfiEvent.MessageOneofCase.SetLocalName: + case FfiEvent.MessageOneofCase.SetLocalAttributes: + break; + case FfiEvent.MessageOneofCase.CaptureAudioFrame: + break; + case FfiEvent.MessageOneofCase.GetStats: + break; + case FfiEvent.MessageOneofCase.Panic: + Debug.LogError($"Panic received from FFI: {response.Panic?.Message}"); + break; + case FfiEvent.MessageOneofCase.None: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.Dispose: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.GetSessionStats: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.PublishSipDtmf: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.ChatMessage: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.PerformRpc: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.RpcMethodInvocation: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.SendStreamHeader: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.SendStreamChunk: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.SendStreamTrailer: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.ByteStreamReaderEvent: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.ByteStreamReaderReadAll: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.ByteStreamReaderWriteToFile: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.ByteStreamOpen: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.ByteStreamWriterWrite: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.ByteStreamWriterClose: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.SendFile: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.TextStreamReaderEvent: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.TextStreamReaderReadAll: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.TextStreamOpen: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.TextStreamWriterWrite: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.TextStreamWriterClose: + // NOT supported yet after ffi plugin update + break; + case FfiEvent.MessageOneofCase.SendText: + // NOT supported yet after ffi plugin update + break; + case null: break; + default: + throw new ArgumentOutOfRangeException( + $"Unknown message type: {response?.MessageCase.ToString() ?? "null"}"); + } + } + catch (Exception e) + { + Debug.LogException(new Exception("Exception received in FFI callback invocation", e)); + } } - } -} + private static ulong AsyncId(FfiResponse response) + { + return response.MessageCase switch + { + FfiResponse.MessageOneofCase.None => 0, + FfiResponse.MessageOneofCase.Dispose => response.Dispose!.AsyncId, + FfiResponse.MessageOneofCase.Connect => response.Connect!.AsyncId, + FfiResponse.MessageOneofCase.Disconnect => response.Disconnect!.AsyncId, + FfiResponse.MessageOneofCase.PublishTrack => response.PublishTrack!.AsyncId, + FfiResponse.MessageOneofCase.UnpublishTrack => response.UnpublishTrack!.AsyncId, + FfiResponse.MessageOneofCase.PublishData => response.PublishData!.AsyncId, + FfiResponse.MessageOneofCase.SetSubscribed => 0, + FfiResponse.MessageOneofCase.SetLocalMetadata => response.SetLocalMetadata!.AsyncId, + FfiResponse.MessageOneofCase.SetLocalName => response.SetLocalName!.AsyncId, + FfiResponse.MessageOneofCase.SetLocalAttributes => response.SetLocalAttributes!.AsyncId, + FfiResponse.MessageOneofCase.GetSessionStats => response.GetSessionStats!.AsyncId, + FfiResponse.MessageOneofCase.PublishTranscription => response.PublishTranscription!.AsyncId, + FfiResponse.MessageOneofCase.PublishSipDtmf => response.PublishSipDtmf!.AsyncId, + FfiResponse.MessageOneofCase.CreateVideoTrack => 0, + FfiResponse.MessageOneofCase.CreateAudioTrack => 0, + FfiResponse.MessageOneofCase.GetStats => response.GetStats!.AsyncId, + FfiResponse.MessageOneofCase.NewVideoStream => 0, + FfiResponse.MessageOneofCase.NewVideoSource => 0, + FfiResponse.MessageOneofCase.CaptureVideoFrame => 0, + FfiResponse.MessageOneofCase.VideoConvert => 0, + FfiResponse.MessageOneofCase.NewAudioStream => 0, + FfiResponse.MessageOneofCase.NewAudioSource => 0, + FfiResponse.MessageOneofCase.CaptureAudioFrame => response.CaptureAudioFrame!.AsyncId, + FfiResponse.MessageOneofCase.NewAudioResampler => 0, + FfiResponse.MessageOneofCase.RemixAndResample => 0, + FfiResponse.MessageOneofCase.E2Ee => 0, + FfiResponse.MessageOneofCase.LocalTrackMute => 0, + FfiResponse.MessageOneofCase.EnableRemoteTrack => 0, + FfiResponse.MessageOneofCase.SetTrackSubscriptionPermissions => 0, + FfiResponse.MessageOneofCase.VideoStreamFromParticipant => 0, + FfiResponse.MessageOneofCase.ClearAudioBuffer => 0, + FfiResponse.MessageOneofCase.AudioStreamFromParticipant => 0, + FfiResponse.MessageOneofCase.NewSoxResampler => 0, + FfiResponse.MessageOneofCase.PushSoxResampler => 0, + FfiResponse.MessageOneofCase.FlushSoxResampler => 0, + FfiResponse.MessageOneofCase.SendChatMessage => response.SendChatMessage.AsyncId, + FfiResponse.MessageOneofCase.PerformRpc => response.PerformRpc.AsyncId, + FfiResponse.MessageOneofCase.RegisterRpcMethod => 0, + FfiResponse.MessageOneofCase.UnregisterRpcMethod => 0, + FfiResponse.MessageOneofCase.RpcMethodInvocationResponse => 0, + FfiResponse.MessageOneofCase.EnableRemoteTrackPublication => 0, + FfiResponse.MessageOneofCase.UpdateRemoteTrackPublicationDimension => 0, + FfiResponse.MessageOneofCase.SendStreamHeader => response.SendStreamHeader.AsyncId, + FfiResponse.MessageOneofCase.SendStreamChunk => response.SendStreamChunk.AsyncId, + FfiResponse.MessageOneofCase.SendStreamTrailer => response.SendStreamTrailer.AsyncId, + FfiResponse.MessageOneofCase.SetDataChannelBufferedAmountLowThreshold => 0, + FfiResponse.MessageOneofCase.LoadAudioFilterPlugin => 0, + FfiResponse.MessageOneofCase.NewApm => 0, + FfiResponse.MessageOneofCase.ApmProcessStream => 0, + FfiResponse.MessageOneofCase.ApmProcessReverseStream => 0, + FfiResponse.MessageOneofCase.ApmSetStreamDelay => 0, + FfiResponse.MessageOneofCase.ByteReadIncremental => 0, + FfiResponse.MessageOneofCase.ByteReadAll => response.ByteReadAll.AsyncId, + FfiResponse.MessageOneofCase.ByteWriteToFile => response.ByteWriteToFile.AsyncId, + FfiResponse.MessageOneofCase.TextReadIncremental => 0, + FfiResponse.MessageOneofCase.TextReadAll => response.TextReadAll.AsyncId, + FfiResponse.MessageOneofCase.SendFile => response.SendFile.AsyncId, + FfiResponse.MessageOneofCase.SendText => response.SendText.AsyncId, + FfiResponse.MessageOneofCase.ByteStreamOpen => response.ByteStreamOpen.AsyncId, + FfiResponse.MessageOneofCase.ByteStreamWrite => response.ByteStreamWrite.AsyncId, + FfiResponse.MessageOneofCase.ByteStreamClose => response.ByteStreamClose.AsyncId, + FfiResponse.MessageOneofCase.TextStreamOpen => response.TextStreamOpen.AsyncId, + FfiResponse.MessageOneofCase.TextStreamWrite => response.TextStreamWrite.AsyncId, + FfiResponse.MessageOneofCase.TextStreamClose => response.TextStreamClose.AsyncId, + _ => throw new ArgumentOutOfRangeException() + }; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients.meta b/Runtime/Scripts/Internal/FFIClients.meta new file mode 100644 index 00000000..2060c39a --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90d3732d5c2b642f2aaa0a6455e193b3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs b/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs new file mode 100644 index 00000000..1507d643 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs @@ -0,0 +1,33 @@ +using System; +using System.Runtime.InteropServices; +using LiveKit.Proto; + +namespace LiveKit.Internal +{ + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + internal delegate void FFICallbackDelegate(IntPtr data, UIntPtr size); + + // Callbacks + internal delegate void PublishTrackDelegate(PublishTrackCallback e); + + internal delegate void UnpublishTrackDelegate(UnpublishTrackCallback e); + + internal delegate void ConnectReceivedDelegate(ConnectCallback e); + + + internal delegate void DisconnectReceivedDelegate(DisconnectCallback e); + + + // Events + internal delegate void RoomEventReceivedDelegate(RoomEvent e); + + + internal delegate void TrackEventReceivedDelegate(TrackEvent e); + + + internal delegate void VideoStreamEventReceivedDelegate(VideoStreamEvent e); + + + internal delegate void AudioStreamEventReceivedDelegate(AudioStreamEvent e); + +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs.meta b/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs.meta new file mode 100644 index 00000000..6889c230 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4911336b575a4428a7aea293969a2a65 +timeCreated: 1706097194 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs new file mode 100644 index 00000000..43201c49 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs @@ -0,0 +1,218 @@ +using System; +using System.Runtime.CompilerServices; +using Google.Protobuf; +using LiveKit.Proto; + +namespace LiveKit.Internal.FFIClients +{ + public static class FfiRequestExtensions + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void Inject(this FfiRequest ffiRequest, T request) where T : class, IMessage + { + switch (request) + { + case DisposeRequest disposeRequest: + ffiRequest.Dispose = disposeRequest; + break; + // Room + case ConnectRequest connectRequest: + ffiRequest.Connect = connectRequest; + break; + case DisconnectRequest disconnectRequest: + ffiRequest.Disconnect = disconnectRequest; + break; + case PublishTrackRequest publishTrackRequest: + ffiRequest.PublishTrack = publishTrackRequest; + break; + case UnpublishTrackRequest unpublishTrackRequest: + ffiRequest.UnpublishTrack = unpublishTrackRequest; + break; + case PublishDataRequest publishDataRequest: + ffiRequest.PublishData = publishDataRequest; + break; + case SetSubscribedRequest setSubscribedRequest: + ffiRequest.SetSubscribed = setSubscribedRequest; + break; + case SetLocalMetadataRequest setLocalMetadataRequest: + ffiRequest.SetLocalMetadata = setLocalMetadataRequest; + break; + case SetLocalNameRequest setLocalNameRequest: + ffiRequest.SetLocalName = setLocalNameRequest; + break; + case SetLocalAttributesRequest setLocalAttributesRequest: + ffiRequest.SetLocalAttributes = setLocalAttributesRequest; + break; + case GetSessionStatsRequest getSessionStatsRequest: + ffiRequest.GetSessionStats = getSessionStatsRequest; + break; + case PublishTranscriptionRequest publishTranscriptionRequest: + ffiRequest.PublishTranscription = publishTranscriptionRequest; + break; + case PublishSipDtmfRequest publishSipDtmfRequest: + ffiRequest.PublishSipDtmf = publishSipDtmfRequest; + break; + // Track + case CreateVideoTrackRequest createVideoTrackRequest: + ffiRequest.CreateVideoTrack = createVideoTrackRequest; + break; + case CreateAudioTrackRequest createAudioTrackRequest: + ffiRequest.CreateAudioTrack = createAudioTrackRequest; + break; + case GetStatsRequest getStatsRequest: + ffiRequest.GetStats = getStatsRequest; + break; + // Video + case NewVideoStreamRequest newVideoStreamRequest: + ffiRequest.NewVideoStream = newVideoStreamRequest; + break; + case NewVideoSourceRequest newVideoSourceRequest: + ffiRequest.NewVideoSource = newVideoSourceRequest; + break; + case CaptureVideoFrameRequest captureVideoFrameRequest: + ffiRequest.CaptureVideoFrame = captureVideoFrameRequest; + break; + case VideoConvertRequest videoConvertRequest: + ffiRequest.VideoConvert = videoConvertRequest; + break; + // APM + case NewApmRequest newApm: + ffiRequest.NewApm = newApm; + break; + case ApmProcessStreamRequest apmProcessStream: + ffiRequest.ApmProcessStream = apmProcessStream; + break; + case ApmProcessReverseStreamRequest apmProcessReverseStream: + ffiRequest.ApmProcessReverseStream = apmProcessReverseStream; + break; + case ApmSetStreamDelayRequest apmSetStreamDelay: + ffiRequest.ApmSetStreamDelay = apmSetStreamDelay; + break; + // Audio + case NewAudioStreamRequest wewAudioStreamRequest: + ffiRequest.NewAudioStream = wewAudioStreamRequest; + break; + case NewAudioSourceRequest newAudioSourceRequest: + ffiRequest.NewAudioSource = newAudioSourceRequest; + break; + case CaptureAudioFrameRequest captureAudioFrameRequest: + ffiRequest.CaptureAudioFrame = captureAudioFrameRequest; + break; + case NewAudioResamplerRequest newAudioResamplerRequest: + ffiRequest.NewAudioResampler = newAudioResamplerRequest; + break; + case RemixAndResampleRequest remixAndResampleRequest: + ffiRequest.RemixAndResample = remixAndResampleRequest; + break; + case E2eeRequest e2EeRequest: + ffiRequest.E2Ee = e2EeRequest; + break; + default: + throw new Exception($"Unknown request type: {request?.GetType().FullName ?? "null"}"); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void EnsureClean(this FfiRequest request) + { + // list of messages is taken from: livekit-ffi/protocol/ffi.proto + // https://github.com/livekit/rust-sdks/blob/cf34856e78892a639c4d3c1d6a27e9aba0a4a8ff/livekit-ffi/protocol/ffi.proto#L4 + + if ( + request.Dispose != null + || + + // Room + request.Connect != null + || request.Disconnect != null + || request.PublishTrack != null + || request.UnpublishTrack != null + || request.PublishData != null + || request.SetSubscribed != null + || request.SetLocalMetadata != null + || request.SetLocalName != null + || request.SetLocalAttributes != null + || request.GetSessionStats != null + || request.PublishTranscription != null + || request.PublishSipDtmf != null + || + + // Track + request.CreateVideoTrack != null + || request.CreateAudioTrack != null + || request.GetStats != null + || + + // Video + request.NewVideoStream != null + || request.NewVideoSource != null + || request.CaptureVideoFrame != null + || request.VideoConvert != null + || + + // Audio + request.NewAudioStream != null + || request.NewAudioSource != null + || request.CaptureAudioFrame != null + || request.NewAudioResampler != null + || request.RemixAndResample != null + || request.E2Ee != null + ) + { + throw new InvalidOperationException("Request is not cleared"); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void EnsureClean(this FfiResponse response) + { + // list of messages is taken from: livekit-ffi/protocol/ffi.proto + // https://github.com/livekit/rust-sdks/blob/cf34856e78892a639c4d3c1d6a27e9aba0a4a8ff/livekit-ffi/protocol/ffi.proto#L4 + + + if ( + response.Dispose != null + || + + // Room + response.Connect != null + || response.Disconnect != null + || response.PublishTrack != null + || response.UnpublishTrack != null + || response.PublishData != null + || response.SetSubscribed != null + || response.SetLocalMetadata != null + || response.SetLocalName != null + || response.SetLocalAttributes != null + || response.GetSessionStats != null + || response.PublishTranscription != null + || response.PublishSipDtmf != null + || + + // Track + response.CreateVideoTrack != null + || response.CreateAudioTrack != null + || response.GetStats != null + || + + // Video + response.NewVideoStream != null + || response.NewVideoSource != null + || response.CaptureVideoFrame != null + || response.VideoConvert != null + || + + // Audio + response.NewAudioStream != null + || response.NewAudioSource != null + || response.CaptureAudioFrame != null + || response.NewAudioResampler != null + || response.RemixAndResample != null + || response.E2Ee != null + ) + { + throw new InvalidOperationException("Response is not cleared: "); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs.meta b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs.meta new file mode 100644 index 00000000..29bad764 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b9a99eef5be840a4b319890a29fb6020 +timeCreated: 1706109917 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs b/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs new file mode 100644 index 00000000..4c46f951 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs @@ -0,0 +1,34 @@ +using System; +using LiveKit.Proto; + +namespace LiveKit.Internal.FFIClients +{ + public readonly struct FfiResponseWrap : IDisposable + { + private readonly FfiResponse response; + private readonly IFFIClient client; + + public FfiResponseWrap(FfiResponse response, IFFIClient client) + { + this.response = response; + this.client = client; + } + + public void Dispose() + { + //TODO pooling inner parts + response.ClearMessage(); + client.Release(response); + } + + public static implicit operator FfiResponse(FfiResponseWrap wrap) + { + return wrap.response; + } + + public override string ToString() + { + return response.ToString()!; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs.meta b/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs.meta new file mode 100644 index 00000000..0c019ff6 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 19c342f416cf442aafa3d460b1778bdb +timeCreated: 1706100710 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs b/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs new file mode 100644 index 00000000..1d81e7c3 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs @@ -0,0 +1,21 @@ +using System; +using LiveKit.Proto; + +namespace LiveKit.Internal.FFIClients +{ + /// + /// Thread-safe interface for sending requests to the FFI layer + /// + public interface IFFIClient : IDisposable + { + void Initialize(); + + bool Initialized(); + + FfiResponse SendRequest(FfiRequest request); + + void Release(FfiResponse response); + + static readonly IFFIClient Default = FfiClient.Instance; + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs.meta b/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs.meta new file mode 100644 index 00000000..80476c37 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 839433b266cf4936b3101082b8f81120 +timeCreated: 1706097843 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools.meta b/Runtime/Scripts/Internal/FFIClients/Pools.meta new file mode 100644 index 00000000..ea8143c0 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8a3a31284b314bc29b7e2d5e86b57400 +timeCreated: 1706099007 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs b/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs new file mode 100644 index 00000000..1209b597 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs @@ -0,0 +1,9 @@ +namespace LiveKit.Internal.FFIClients.Pools +{ + public interface IMultiPool + { + T Get() where T : class, new(); + + void Release(T poolObject) where T : class, new(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs.meta b/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs.meta new file mode 100644 index 00000000..1f5db7e3 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 49d742b575594b129646ca76980b5a5a +timeCreated: 1706110675 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory.meta b/Runtime/Scripts/Internal/FFIClients/Pools/Memory.meta new file mode 100644 index 00000000..c9ab028f --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Memory.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 191ffda93680492d9565b96d7d491250 +timeCreated: 1706702309 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs new file mode 100644 index 00000000..cec384a2 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs @@ -0,0 +1,28 @@ +using System.Buffers; + +namespace LiveKit.Internal.FFIClients.Pools.Memory +{ + public class ArrayMemoryPool : IMemoryPool + { + private readonly ArrayPool arrayPool; + + public ArrayMemoryPool() : this(ArrayPool.Create()!) + { + } + + public ArrayMemoryPool(ArrayPool arrayPool) + { + this.arrayPool = arrayPool; + } + + public MemoryWrap Memory(int byteSize) + { + return new MemoryWrap(arrayPool.Rent(byteSize)!, byteSize, this); + } + + public void Release(byte[] buffer) + { + arrayPool.Return(buffer); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs.meta b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs.meta new file mode 100644 index 00000000..aade6f36 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b7ed30725dc34e6cbc57c596523dae9b +timeCreated: 1706713567 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs new file mode 100644 index 00000000..c4f1c8e7 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs @@ -0,0 +1,26 @@ +using Google.Protobuf; + +namespace LiveKit.Internal.FFIClients.Pools.Memory +{ + public interface IMemoryPool + { + MemoryWrap Memory(int byteSize); + + void Release(byte[] buffer); + } + + public static class MemoryPoolExtensions + { + public static MemoryWrap Memory(this IMemoryPool pool, ulong byteSize) + { + var size = (int)byteSize; + return pool.Memory(size); + } + + public static MemoryWrap Memory(this IMemoryPool pool, IMessage forMessage) + { + var size = forMessage.CalculateSize(); + return pool.Memory(size); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs.meta b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs.meta new file mode 100644 index 00000000..9419e8d9 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8911b9d55f4a4167a0c42940be059975 +timeCreated: 1706702315 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs new file mode 100644 index 00000000..3c94bc2c --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs @@ -0,0 +1,39 @@ +using System; + +namespace LiveKit.Internal.FFIClients.Pools.Memory +{ + public readonly struct MemoryWrap : IDisposable + { + private readonly byte[] buffer; + private readonly int length; + private readonly IMemoryPool memoryPool; + + public int Length => length; + + public MemoryWrap(byte[] buffer, int length, IMemoryPool memoryPool) + { + this.buffer = buffer; + this.length = length; + this.memoryPool = memoryPool; + } + + public Span Span() + { + return new Span(buffer, 0, length); + } + + /// + /// Gives the direct access to the buffer. Ownership remains on MemoryWrap and it can dispose it anytime. + /// You know what you are doing + /// + public byte[] DangerousBuffer() + { + return buffer; + } + + public void Dispose() + { + memoryPool.Release(buffer); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs.meta b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs.meta new file mode 100644 index 00000000..4fe4197f --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3c253d5d49a3460fa6ee10dd9fd409f7 +timeCreated: 1706702405 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool.meta b/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool.meta new file mode 100644 index 00000000..6dc9689a --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f8d30253e11243838563ec78d57565e9 +timeCreated: 1706714202 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs b/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs new file mode 100644 index 00000000..013e3fe6 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Concurrent; +using UnityEngine.Pool; + +namespace LiveKit.Internal.FFIClients.Pools.ObjectPool +{ + public class ThreadSafeObjectPool : IObjectPool where T : class + { + private readonly Func create; + private readonly Action? actionOnRelease; + private readonly ConcurrentBag bag = new(); + + public ThreadSafeObjectPool(Func create, Action? actionOnRelease = null) + { + this.create = create; + this.actionOnRelease = actionOnRelease; + } + + public T Get() + { + return bag.TryTake(out var result) + ? result! + : create()!; + } + + public PooledObject Get(out T v) + { + v = Get(); + return new PooledObject(); + } + + public void Release(T element) + { + actionOnRelease?.Invoke(element); + bag.Add(element); + } + + public void Clear() + { + bag.Clear(); + } + + public int CountInactive => bag.Count; + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs.meta b/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs.meta new file mode 100644 index 00000000..f2b5cec1 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3a485030361a46af9d31444bff2c662c +timeCreated: 1706714208 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs b/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs new file mode 100644 index 00000000..83f068ee --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs @@ -0,0 +1,23 @@ +using System; +using LiveKit.Internal.FFIClients.Pools.ObjectPool; +using LiveKit.Proto; +using UnityEngine.Pool; + +namespace LiveKit.Internal.FFIClients.Pools// +{ + public static class Pools + { + public static IObjectPool NewFfiResponsePool() + { + return NewClearablePool(FfiRequestExtensions.EnsureClean); + } + + public static IObjectPool NewClearablePool(Action ensureClean) where T : class, new() + { + return new ThreadSafeObjectPool( + () => new T(), + actionOnRelease: ensureClean + ); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs.meta b/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs.meta new file mode 100644 index 00000000..600d87de --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a61ae23d54b44cfe806486058560ea5e +timeCreated: 1706094307 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs b/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs new file mode 100644 index 00000000..e6330640 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Concurrent; +using LiveKit.Internal.FFIClients.Pools.ObjectPool; +using UnityEngine.Pool; + +namespace LiveKit.Internal.FFIClients.Pools +{ + public class ThreadSafeMultiPool : IMultiPool + { + private readonly ConcurrentDictionary> pools = new(); + + public T Get() where T : class, new() + { + return (T)Pool().Get()!; + } + + public void Release(T poolObject) where T : class, new() + { + Pool().Release(poolObject); + } + + private IObjectPool Pool() where T : class, new() + { + var type = typeof(T); + if (!pools.TryGetValue(type, out var pool)) + { + pool = pools[type] = new ThreadSafeObjectPool(() => new T()); + } + + return pool!; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs.meta b/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs.meta new file mode 100644 index 00000000..9bb17e7d --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6854375865474dec87d8954ec9fd3043 +timeCreated: 1706714101 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests.meta b/Runtime/Scripts/Internal/FFIClients/Requests.meta new file mode 100644 index 00000000..7ad4adcf --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 47fe01e3230c4c26a2c1669ef88ff728 +timeCreated: 1706109018 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs new file mode 100644 index 00000000..90fb7a34 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs @@ -0,0 +1,34 @@ +using System; +using Google.Protobuf; +using LiveKit.Internal.FFIClients.Pools; + +namespace LiveKit.Internal.FFIClients.Requests +{ + public class FFIBridge : IFFIBridge + { + //TODO should be without singleton, remove it + private static readonly Lazy instance = new(() => + new FFIBridge( + FfiClient.Instance, + new ThreadSafeMultiPool() + ) + ); + + public static FFIBridge Instance => instance.Value; + + private readonly IFFIClient ffiClient; + private readonly IMultiPool multiPool; + + public FFIBridge(IFFIClient client, IMultiPool multiPool) + { + ffiClient = client; + this.multiPool = multiPool; + } + + + public FfiRequestWrap NewRequest() where T : class, IMessage, new() + { + return new FfiRequestWrap(ffiClient, multiPool); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs.meta b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs.meta new file mode 100644 index 00000000..7cf5959b --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 85bf99cb2c5344c7b61ac965383c22d1 +timeCreated: 1706178188 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs new file mode 100644 index 00000000..386c81d2 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs @@ -0,0 +1,35 @@ +using LiveKit.Proto; +using LiveKit.Rooms; + +namespace LiveKit.Internal.FFIClients.Requests +{ + public static class FFIBridgeExtensions + { + public static FfiResponseWrap SendConnectRequest(this IFFIBridge ffiBridge, string url, string authToken, bool autoSubscribe) + { + Utils.Debug("Connect...."); + using var request = ffiBridge.NewRequest(); + using var roomOptions = request.TempResource(); + var connect = request.request; + connect.Url = url; + connect.Token = authToken; + connect.Options = roomOptions; + connect.Options.AutoSubscribe = autoSubscribe; + var response = request.Send(); + Utils.Debug($"Connect response.... {response}"); + return response; + } + + public static FfiResponseWrap SendDisconnectRequest(this IFFIBridge ffiBridge, Room room) + { + using var request = ffiBridge.NewRequest(); + var disconnect = request.request; + disconnect.RoomHandle = (ulong)room.Handle.DangerousGetHandle(); + Utils.Debug($"Disconnect.... {disconnect.RoomHandle}"); + var response = request.Send(); + // ReSharper disable once RedundantAssignment + Utils.Debug($"Disconnect response.... {response}"); + return response; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs.meta b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs.meta new file mode 100644 index 00000000..76f18ef4 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 866e0924b3e843eda350048bb0aeaa51 +timeCreated: 1707478169 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs b/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs new file mode 100644 index 00000000..859d91eb --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs @@ -0,0 +1,75 @@ +using System; +using Google.Protobuf; +using LiveKit.client_sdk_unity.Runtime.Scripts.Internal.FFIClients; +using LiveKit.Internal.FFIClients.Pools; +using LiveKit.Proto; + +namespace LiveKit.Internal.FFIClients.Requests +{ + public struct FfiRequestWrap : IDisposable where T : class, IMessage, new() + { + public readonly T request; + private readonly IMultiPool multiPool; + private readonly IFFIClient ffiClient; + private readonly FfiRequest ffiRequest; + private readonly Action releaseFfiRequest; + private readonly Action releaseRequest; + + private bool sent; + + public FfiRequestWrap(IFFIClient ffiClient, IMultiPool multiPool) : this( + multiPool.Get(), + multiPool, + multiPool.Get(), + ffiClient, + multiPool.Release, + multiPool.Release + ) + { + } + + public FfiRequestWrap( + T request, + IMultiPool multiPool, + FfiRequest ffiRequest, + IFFIClient ffiClient, + Action releaseFfiRequest, + Action releaseRequest + ) + { + this.request = request; + this.multiPool = multiPool; + this.ffiRequest = ffiRequest; + this.ffiClient = ffiClient; + this.releaseFfiRequest = releaseFfiRequest; + this.releaseRequest = releaseRequest; + sent = false; + } + + public FfiResponseWrap Send() + { + if (sent) + { + throw new Exception("Request already sent"); + } + + sent = true; + ffiRequest.Inject(request); + var response = ffiClient.SendRequest(ffiRequest); + return new FfiResponseWrap(response, ffiClient); + } + + public SmartWrap TempResource() where TK : class, IMessage, new() + { + var resource = multiPool.Get(); + return new SmartWrap(resource, multiPool); + } + + public void Dispose() + { + ffiRequest.ClearMessage(); + releaseRequest(request); + releaseFfiRequest(ffiRequest); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs.meta b/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs.meta new file mode 100644 index 00000000..3132cff9 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 277c3a1d8b2b4d85b1fb614c0a06407c +timeCreated: 1706109025 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs b/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs new file mode 100644 index 00000000..74bf62fc --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs @@ -0,0 +1,12 @@ +using Google.Protobuf; + +namespace LiveKit.Internal.FFIClients.Requests +{ + /// + /// Thread-safe interface for requests to the FFI layer + /// + public interface IFFIBridge + { + FfiRequestWrap NewRequest() where T : class, IMessage, new(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs.meta b/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs.meta new file mode 100644 index 00000000..5715c60a --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8cf66df1102943f1a1155b233de69eef +timeCreated: 1706110458 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs b/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs new file mode 100644 index 00000000..f0ce798d --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs @@ -0,0 +1,27 @@ +using System; +using LiveKit.Internal.FFIClients.Pools; + +namespace LiveKit.client_sdk_unity.Runtime.Scripts.Internal.FFIClients +{ + public readonly struct SmartWrap : IDisposable where T : class, new() + { + public readonly T value; + private readonly IMultiPool pool; + + public SmartWrap(T value, IMultiPool pool) + { + this.value = value; + this.pool = pool; + } + + public void Dispose() + { + pool.Release(value); + } + + public static implicit operator T(SmartWrap wrap) + { + return wrap.value; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs.meta b/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs.meta new file mode 100644 index 00000000..916aace6 --- /dev/null +++ b/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f8637cba4f7b433798d75f0a7d5128bf +timeCreated: 1706703753 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIHandle.cs b/Runtime/Scripts/Internal/FFIHandle.cs deleted file mode 100644 index 337fdccc..00000000 --- a/Runtime/Scripts/Internal/FFIHandle.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Runtime.ConstrainedExecution; - -namespace LiveKit.Internal -{ - public class FfiHandle : SafeHandle - { - internal FfiHandle(IntPtr ptr) : base(ptr, true) { } - - public FfiHandle() : base(IntPtr.Zero, true) { } - - public override bool IsInvalid => handle == IntPtr.Zero || handle == new IntPtr(-1); - - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] - protected override bool ReleaseHandle() - { - return NativeMethods.FfiDropHandle(handle); - } - } -} diff --git a/Runtime/Scripts/Internal/FfiHandles.meta b/Runtime/Scripts/Internal/FfiHandles.meta new file mode 100644 index 00000000..d2a733aa --- /dev/null +++ b/Runtime/Scripts/Internal/FfiHandles.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 53fe3572e560415f9af07212801a4ea2 +timeCreated: 1707150542 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FfiHandles/FFIHandle.cs b/Runtime/Scripts/Internal/FfiHandles/FFIHandle.cs new file mode 100644 index 00000000..fe07a2a3 --- /dev/null +++ b/Runtime/Scripts/Internal/FfiHandles/FFIHandle.cs @@ -0,0 +1,53 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.ConstrainedExecution; + +namespace LiveKit.Internal +{ + //TODO move to struct, IDisposable + public class FfiHandle : IDisposable + { + private IntPtr handle; + private bool isClosed; + + public bool IsInvalid => handle == IntPtr.Zero || handle == new IntPtr(-1); + + public bool IsClosed => isClosed; + + internal void Construct(IntPtr intPtr) + { + handle = intPtr; + isClosed = false; + } + + internal void Clear() + { + handle = IntPtr.Zero; + isClosed = false; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public IntPtr DangerousGetHandle() + { + return handle; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SetHandleAsInvalid() + { + isClosed = true; + Dispose(); + } + + [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] + public void Dispose() + { + if (IsInvalid) + { + return; + } + NativeMethods.FfiDropHandle(handle); + handle = IntPtr.Zero; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FFIHandle.cs.meta b/Runtime/Scripts/Internal/FfiHandles/FFIHandle.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIHandle.cs.meta rename to Runtime/Scripts/Internal/FfiHandles/FFIHandle.cs.meta diff --git a/Runtime/Scripts/Internal/FfiHandles/FfiHandleFactory.cs b/Runtime/Scripts/Internal/FfiHandles/FfiHandleFactory.cs new file mode 100644 index 00000000..b5119314 --- /dev/null +++ b/Runtime/Scripts/Internal/FfiHandles/FfiHandleFactory.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; + +namespace LiveKit.Internal +{ + public class FfiHandleFactory : IFfiHandleFactory + { + private readonly Stack handles = new(); + private readonly object @lock = new(); + + public FfiHandle NewFfiHandle(IntPtr ptr) + { + lock (@lock) + { + if (handles.TryPop(out var handle) == false) + { + handle = new FfiHandle(); + } + + handle!.Construct(ptr); + return handle; + } + } + + public void Release(FfiHandle handle) + { + lock (@lock) + { + handle.Clear(); + handles.Push(handle); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FfiHandles/FfiHandleFactory.cs.meta b/Runtime/Scripts/Internal/FfiHandles/FfiHandleFactory.cs.meta new file mode 100644 index 00000000..3e31e9df --- /dev/null +++ b/Runtime/Scripts/Internal/FfiHandles/FfiHandleFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2e6171e0209c4bf495e5d17abeb72dc2 +timeCreated: 1707150560 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FfiHandles/IFfiHandleFactory.cs b/Runtime/Scripts/Internal/FfiHandles/IFfiHandleFactory.cs new file mode 100644 index 00000000..0b3ae883 --- /dev/null +++ b/Runtime/Scripts/Internal/FfiHandles/IFfiHandleFactory.cs @@ -0,0 +1,15 @@ +using System; + +namespace LiveKit.Internal +{ + public interface IFfiHandleFactory + { + FfiHandle NewFfiHandle(IntPtr ptr); + + FfiHandle NewFfiHandle(ulong ptr) => NewFfiHandle((IntPtr)ptr); + + void Release(FfiHandle ffiHandle); + + static readonly IFfiHandleFactory Default = new FfiHandleFactory(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/FfiHandles/IFfiHandleFactory.cs.meta b/Runtime/Scripts/Internal/FfiHandles/IFfiHandleFactory.cs.meta new file mode 100644 index 00000000..a247f95e --- /dev/null +++ b/Runtime/Scripts/Internal/FfiHandles/IFfiHandleFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 78f804508518497da7eb2abbc6e8acab +timeCreated: 1707150698 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/IAudioFilter.cs b/Runtime/Scripts/Internal/IAudioFilter.cs new file mode 100644 index 00000000..b0257c83 --- /dev/null +++ b/Runtime/Scripts/Internal/IAudioFilter.cs @@ -0,0 +1,26 @@ +using System; +using UnityEngine; + +namespace LiveKit +{ + public interface IAudioFilter + { + /// + /// Event delegate for audio data processing + /// + /// Audio sample data + /// Number of audio channels + /// Sample rate of the audio + delegate void OnAudioDelegate(Span data, int channels, int sampleRate); + + /// + /// Gets whether this audio filter is valid and can be used + /// + bool IsValid { get; } + + /// + /// Event called from the Unity audio thread when audio data is available + /// + event OnAudioDelegate AudioRead; + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/IAudioFilter.cs.meta b/Runtime/Scripts/Internal/IAudioFilter.cs.meta new file mode 100644 index 00000000..be13b81f --- /dev/null +++ b/Runtime/Scripts/Internal/IAudioFilter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12345678901234567890123456789012 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: \ No newline at end of file diff --git a/Runtime/Scripts/Internal/NativeMethods.cs b/Runtime/Scripts/Internal/NativeMethods.cs index fb4e52ef..14e39021 100644 --- a/Runtime/Scripts/Internal/NativeMethods.cs +++ b/Runtime/Scripts/Internal/NativeMethods.cs @@ -3,22 +3,29 @@ using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; +using FfiHandleId = System.IntPtr; + namespace LiveKit.Internal { [SuppressUnmanagedCodeSecurity] internal static class NativeMethods { -#if UNITY_IOS + #if UNITY_IOS const string Lib = "__Internal"; -#else + #else const string Lib = "livekit_ffi"; -#endif + #endif + + internal static bool FfiDropHandle(ulong handleId) => FfiDropHandle((IntPtr)handleId); [DllImport(Lib, CallingConvention = CallingConvention.Cdecl, EntryPoint = "livekit_ffi_drop_handle")] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] - internal static extern bool FfiDropHandle(IntPtr handleId); + internal extern static bool FfiDropHandle(FfiHandleId handleId); [DllImport(Lib, CallingConvention = CallingConvention.Cdecl, EntryPoint = "livekit_ffi_request")] - internal static extern unsafe FfiHandle FfiNewRequest(byte[] data, int len, out byte* dataPtr, out int dataLen); + internal extern static unsafe FfiHandleId FfiNewRequest(byte* data, int len, out byte* dataPtr, out UIntPtr dataLen); + + [DllImport(Lib, CallingConvention = CallingConvention.Cdecl, EntryPoint = "livekit_ffi_initialize")] + internal extern static FfiHandleId LiveKitInitialize(FFICallbackDelegate cb, bool captureLogs, string sdk, string sdkVersion); } } diff --git a/Runtime/Scripts/Internal/OmitAudioFilter.cs b/Runtime/Scripts/Internal/OmitAudioFilter.cs new file mode 100644 index 00000000..3bf10c39 --- /dev/null +++ b/Runtime/Scripts/Internal/OmitAudioFilter.cs @@ -0,0 +1,13 @@ +using System; +using UnityEngine; + +namespace LiveKit.Internal +{ + public class OmitAudioFilter : MonoBehaviour + { + private void OnAudioFilterRead(float[] data, int channels) + { + Array.Clear(data, 0, data.Length); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Internal/OmitAudioFilter.cs.meta b/Runtime/Scripts/Internal/OmitAudioFilter.cs.meta new file mode 100644 index 00000000..f2af6c6d --- /dev/null +++ b/Runtime/Scripts/Internal/OmitAudioFilter.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: df94e8ee16d64fc7b2c31225e9981750 +timeCreated: 1753365110 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/RingBuffer.cs b/Runtime/Scripts/Internal/RingBuffer.cs index e8638a5b..99d863be 100644 --- a/Runtime/Scripts/Internal/RingBuffer.cs +++ b/Runtime/Scripts/Internal/RingBuffer.cs @@ -1,20 +1,26 @@ using System; +using System.Buffers; +using LiveKit.Internal.FFIClients.Pools.Memory; namespace LiveKit.Internal { // Basic RingBuffer implementation (used WebRtc_RingBuffer as reference) // The one from com.unity.collections is dealing element per element, which is not efficient when dealing with bytes - public class RingBuffer + public struct RingBuffer : IDisposable { - private byte[] _buffer; - private int _writePos; - private int _readPos; - private bool _sameWrap; + private readonly MemoryWrap buffer; + private int writePos; + private int readPos; + private bool sameWrap; + + private static readonly IMemoryPool MemoryPool = new ArrayMemoryPool(ArrayPool.Shared!); public RingBuffer(int size) { - _buffer = new byte[size]; - _sameWrap = true; + buffer = MemoryPool.Memory(size); + writePos = 0; + readPos = 0; + sameWrap = true; } public int Write(ReadOnlySpan data) @@ -22,17 +28,17 @@ public int Write(ReadOnlySpan data) int free = AvailableWrite(); int write = (free < data.Length ? free : data.Length); int n = write; - int margin = _buffer.Length - _writePos; + int margin = buffer.Length - writePos; if (write > margin) { - data.Slice(0, margin).CopyTo(_buffer.AsSpan(_writePos)); - _writePos = 0; + data.Slice(0, margin).CopyTo(buffer.Span().Slice(writePos)); + writePos = 0; n -= margin; - _sameWrap = false; + sameWrap = false; } - data.Slice(write - n, n).CopyTo(_buffer.AsSpan(_writePos)); - _writePos += n; + data.Slice(write - n, n).CopyTo(buffer.Span().Slice(writePos)); + writePos += n; return write; } @@ -41,13 +47,13 @@ public int Read(Span data) int readCount = GetBufferReadRegions(data.Length, out int dataIndex1, out int dataLen1, out int dataIndex2, out int dataLen2); if (dataLen2 > 0) { - _buffer.AsSpan().Slice(dataIndex1, dataLen1).CopyTo(data); - _buffer.AsSpan().Slice(dataIndex2, dataLen2).CopyTo(data.Slice(dataLen1)); + buffer.Span().Slice(dataIndex1, dataLen1).CopyTo(data); + buffer.Span().Slice(dataIndex2, dataLen2).CopyTo(data.Slice(dataLen1)); } else { // TODO(theomonnom): Don't always copy in this case? - _buffer.AsSpan().Slice(dataIndex1, dataLen1).CopyTo(data); + buffer.Span().Slice(dataIndex1, dataLen1).CopyTo(data); } MoveReadPtr(readCount); @@ -58,7 +64,7 @@ private int MoveReadPtr(int len) { int free = AvailableWrite(); int read = AvailableRead(); - int readPos = _readPos; + int readPosition = readPos; if (len > read) len = read; @@ -66,19 +72,19 @@ private int MoveReadPtr(int len) if (len < -free) len = -free; - readPos += len; - if (readPos > _buffer.Length) + readPosition += len; + if (readPosition > buffer.Length) { - readPos -= _buffer.Length; - _sameWrap = true; + readPosition -= buffer.Length; + sameWrap = true; } - if (readPos < 0) + if (readPosition < 0) { - readPos += _buffer.Length; - _sameWrap = false; + readPosition += buffer.Length; + sameWrap = false; } - _readPos = readPos; + readPos = readPosition; return len; } @@ -86,12 +92,12 @@ private int GetBufferReadRegions(int len, out int dataIndex1, out int dataLen1, { int readable = AvailableRead(); int read = readable < len ? readable : len; - int margin = _buffer.Length - _readPos; + int margin = buffer.Length - readPos; if (read > margin) { // Not contiguous - dataIndex1 = _readPos; + dataIndex1 = readPos; dataLen1 = margin; dataIndex2 = 0; dataLen2 = read - margin; @@ -99,7 +105,7 @@ private int GetBufferReadRegions(int len, out int dataIndex1, out int dataLen1, else { // Contiguous - dataIndex1 = _readPos; + dataIndex1 = readPos; dataLen1 = read; dataIndex2 = 0; dataLen2 = 0; @@ -110,15 +116,19 @@ private int GetBufferReadRegions(int len, out int dataIndex1, out int dataLen1, public int AvailableRead() { - if (_sameWrap) - return _writePos - _readPos; - else - return _buffer.Length - _readPos + _writePos; + return sameWrap + ? writePos - readPos + : buffer.Length - readPos + writePos; } public int AvailableWrite() { - return _buffer.Length - AvailableRead(); + return buffer.Length - AvailableRead(); + } + + public void Dispose() + { + buffer.Dispose(); } } } diff --git a/Runtime/Scripts/Internal/Utils.cs b/Runtime/Scripts/Internal/Utils.cs index 679878c7..b8a60da3 100644 --- a/Runtime/Scripts/Internal/Utils.cs +++ b/Runtime/Scripts/Internal/Utils.cs @@ -1,5 +1,8 @@ +using System; using System.Diagnostics; using UnityEngine; +using UnityEngine.Experimental.Rendering; +using UnityEngine.Rendering; namespace LiveKit.Internal { @@ -22,5 +25,43 @@ public static void Error(object msg) { UnityEngine.Debug.unityLogger.Log(LogType.Error, $"{PREFIX}: {msg}"); } + + public static GraphicsFormat GetSupportedGraphicsFormat(GraphicsDeviceType type) + { + if (QualitySettings.activeColorSpace == ColorSpace.Linear) + { + switch (type) + { + case GraphicsDeviceType.Direct3D11: + case GraphicsDeviceType.Direct3D12: + case GraphicsDeviceType.Vulkan: + return GraphicsFormat.B8G8R8A8_SRGB; + case GraphicsDeviceType.OpenGLCore: + case GraphicsDeviceType.OpenGLES2: + case GraphicsDeviceType.OpenGLES3: + return GraphicsFormat.R8G8B8A8_SRGB; + case GraphicsDeviceType.Metal: + return GraphicsFormat.B8G8R8A8_SRGB; + } + } + else + { + switch (type) + { + case GraphicsDeviceType.Vulkan: + return GraphicsFormat.B8G8R8A8_UNorm; + case GraphicsDeviceType.Direct3D12: // Gamma and 3D12 required R8 + case GraphicsDeviceType.Direct3D11: // Gamma and 3D11 required R8 + case GraphicsDeviceType.OpenGLCore: + case GraphicsDeviceType.OpenGLES2: + case GraphicsDeviceType.OpenGLES3: + return GraphicsFormat.R8G8B8A8_UNorm; + case GraphicsDeviceType.Metal: + return GraphicsFormat.R8G8B8A8_UNorm; + } + } + + throw new ArgumentException($"Graphics device type {type} not supported"); + } } } diff --git a/Runtime/Scripts/Internal/YieldInstruction.cs b/Runtime/Scripts/Internal/YieldInstruction.cs index 2afa8551..47cfa843 100644 --- a/Runtime/Scripts/Internal/YieldInstruction.cs +++ b/Runtime/Scripts/Internal/YieldInstruction.cs @@ -1,12 +1,42 @@ -using UnityEngine; +using LiveKit.Internal; +using System.Threading; +using System.Threading.Tasks; +using RichTypes; namespace LiveKit { - public class YieldInstruction : CustomYieldInstruction + public class AsyncInstruction { public bool IsDone { protected set; get; } - public bool IsError { protected set; get; } + public bool IsError => string.IsNullOrWhiteSpace(ErrorMessage) == false; + public string? ErrorMessage { protected set; get; } - public override bool keepWaiting => !IsDone; + public bool keepWaiting => !IsDone; + + private CancellationToken _token; + protected CancellationToken Token => _token; + + + internal AsyncInstruction(CancellationToken token) + { + _token = token; + } + + public async Task AwaitCompletion() + { + while (!IsDone) + { + _token.ThrowIfCancellationRequested(); + await Task.Delay(Constants.TASK_DELAY); + } + } + + public async Task AwaitWithSuccess() + { + await AwaitCompletion(); + return IsError + ? Result.ErrorResult(ErrorMessage!) + : Result.SuccessResult(); + } } -} +} \ No newline at end of file diff --git a/Runtime/Scripts/Participant.cs b/Runtime/Scripts/Participant.cs deleted file mode 100644 index 32fecfaa..00000000 --- a/Runtime/Scripts/Participant.cs +++ /dev/null @@ -1,108 +0,0 @@ -using System; -using System.Linq; -using System.Collections.Generic; -using LiveKit.Internal; -using LiveKit.Proto; - -namespace LiveKit -{ - public class Participant - { - public delegate void PublishDelegate(RemoteTrackPublication publication); - - private ParticipantInfo _info; - public string Sid => _info.Sid; - public string Identity => _info.Identity; - public string Name => _info.Name; - public string Metadata => _info.Metadata; - - public bool Speaking { private set; get; } - public float AudioLevel { private set; get; } - public ConnectionQuality ConnectionQuality { private set; get; } - - public event PublishDelegate TrackPublished; - public event PublishDelegate TrackUnpublished; - - public readonly WeakReference Room; - public IReadOnlyDictionary Tracks => _tracks; - internal readonly Dictionary _tracks = new(); - - protected Participant(ParticipantInfo info, Room room) - { - Room = new WeakReference(room); - UpdateInfo(info); - } - - internal void UpdateInfo(ParticipantInfo info) - { - _info = info; - } - - internal void OnTrackPublished(RemoteTrackPublication publication) - { - TrackPublished?.Invoke(publication); - } - - internal void OnTrackUnpublished(RemoteTrackPublication publication) - { - TrackUnpublished?.Invoke(publication); - } - - } - - public sealed class LocalParticipant : Participant - { - public new IReadOnlyDictionary Tracks => - base.Tracks.ToDictionary(p => p.Key, p => (LocalTrackPublication)p.Value); - - internal LocalParticipant(ParticipantInfo info, Room room) : base(info, room) { } - - public PublishTrackInstruction PublishTrack(ILocalTrack localTrack, TrackPublishOptions options) - { - if (!Room.TryGetTarget(out var room)) - throw new Exception("room is invalid"); - - var track = (Track)localTrack; - - var publish = new PublishTrackRequest(); - publish.RoomHandle = new FFIHandleId { Id = (ulong)room.Handle.DangerousGetHandle() }; - publish.TrackHandle = new FFIHandleId { Id = (ulong)track.Handle.DangerousGetHandle() }; - publish.Options = options; - - var request = new FFIRequest(); - request.PublishTrack = publish; - - var resp = FfiClient.SendRequest(request); - return new PublishTrackInstruction(resp.PublishTrack.AsyncId.Id); - } - } - - public sealed class RemoteParticipant : Participant - { - public new IReadOnlyDictionary Tracks => - base.Tracks.ToDictionary(p => p.Key, p => (RemoteTrackPublication)p.Value); - - internal RemoteParticipant(ParticipantInfo info, Room room) : base(info, room) { } - } - - public sealed class PublishTrackInstruction : YieldInstruction - { - private ulong _asyncId; - - internal PublishTrackInstruction(ulong asyncId) - { - _asyncId = asyncId; - FfiClient.Instance.PublishTrackReceived += OnPublish; - } - - void OnPublish(PublishTrackCallback e) - { - if (e.AsyncId.Id != _asyncId) - return; - - IsError = !string.IsNullOrEmpty(e.Error); - IsDone = true; - FfiClient.Instance.PublishTrackReceived -= OnPublish; - } - } -} diff --git a/Runtime/Scripts/Proto/AudioFrame.cs b/Runtime/Scripts/Proto/AudioFrame.cs index 363931f5..a6fedcec 100644 --- a/Runtime/Scripts/Proto/AudioFrame.cs +++ b/Runtime/Scripts/Proto/AudioFrame.cs @@ -24,71 +24,214 @@ public static partial class AudioFrameReflection { static AudioFrameReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChFhdWRpb19mcmFtZS5wcm90bxIHbGl2ZWtpdBoMaGFuZGxlLnByb3RvImEK", - "F0FsbG9jQXVkaW9CdWZmZXJSZXF1ZXN0EhMKC3NhbXBsZV9yYXRlGAEgASgN", - "EhQKDG51bV9jaGFubmVscxgCIAEoDRIbChNzYW1wbGVzX3Blcl9jaGFubmVs", - "GAMgASgNIkkKGEFsbG9jQXVkaW9CdWZmZXJSZXNwb25zZRItCgZidWZmZXIY", - "ASABKAsyHS5saXZla2l0LkF1ZGlvRnJhbWVCdWZmZXJJbmZvIpYBChVOZXdB", - "dWRpb1N0cmVhbVJlcXVlc3QSKQoLcm9vbV9oYW5kbGUYASABKAsyFC5saXZl", - "a2l0LkZGSUhhbmRsZUlkEhcKD3BhcnRpY2lwYW50X3NpZBgCIAEoCRIRCgl0", - "cmFja19zaWQYAyABKAkSJgoEdHlwZRgEIAEoDjIYLmxpdmVraXQuQXVkaW9T", - "dHJlYW1UeXBlIkIKFk5ld0F1ZGlvU3RyZWFtUmVzcG9uc2USKAoGc3RyZWFt", - "GAEgASgLMhgubGl2ZWtpdC5BdWRpb1N0cmVhbUluZm8iPwoVTmV3QXVkaW9T", - "b3VyY2VSZXF1ZXN0EiYKBHR5cGUYASABKA4yGC5saXZla2l0LkF1ZGlvU291", - "cmNlVHlwZSJCChZOZXdBdWRpb1NvdXJjZVJlc3BvbnNlEigKBnNvdXJjZRgB", - "IAEoCzIYLmxpdmVraXQuQXVkaW9Tb3VyY2VJbmZvInQKGENhcHR1cmVBdWRp", - "b0ZyYW1lUmVxdWVzdBIrCg1zb3VyY2VfaGFuZGxlGAEgASgLMhQubGl2ZWtp", - "dC5GRklIYW5kbGVJZBIrCg1idWZmZXJfaGFuZGxlGAIgASgLMhQubGl2ZWtp", - "dC5GRklIYW5kbGVJZCIbChlDYXB0dXJlQXVkaW9GcmFtZVJlc3BvbnNlIhoK", - "GE5ld0F1ZGlvUmVzYW1wbGVyUmVxdWVzdCJBChlOZXdBdWRpb1Jlc2FtcGxl", - "clJlc3BvbnNlEiQKBmhhbmRsZRgBIAEoCzIULmxpdmVraXQuRkZJSGFuZGxl", - "SWQioQEKF1JlbWl4QW5kUmVzYW1wbGVSZXF1ZXN0Ei4KEHJlc2FtcGxlcl9o", - "YW5kbGUYASABKAsyFC5saXZla2l0LkZGSUhhbmRsZUlkEisKDWJ1ZmZlcl9o", - "YW5kbGUYAiABKAsyFC5saXZla2l0LkZGSUhhbmRsZUlkEhQKDG51bV9jaGFu", - "bmVscxgDIAEoDRITCgtzYW1wbGVfcmF0ZRgEIAEoDSJJChhSZW1peEFuZFJl", - "c2FtcGxlUmVzcG9uc2USLQoGYnVmZmVyGAEgASgLMh0ubGl2ZWtpdC5BdWRp", - "b0ZyYW1lQnVmZmVySW5mbyKWAQoUQXVkaW9GcmFtZUJ1ZmZlckluZm8SJAoG", - "aGFuZGxlGAEgASgLMhQubGl2ZWtpdC5GRklIYW5kbGVJZBIQCghkYXRhX3B0", - "chgCIAEoBBIUCgxudW1fY2hhbm5lbHMYAyABKA0SEwoLc2FtcGxlX3JhdGUY", - "BCABKA0SGwoTc2FtcGxlc19wZXJfY2hhbm5lbBgFIAEoDSJyCg9BdWRpb1N0", - "cmVhbUluZm8SJAoGaGFuZGxlGAEgASgLMhQubGl2ZWtpdC5GRklIYW5kbGVJ", - "ZBImCgR0eXBlGAIgASgOMhgubGl2ZWtpdC5BdWRpb1N0cmVhbVR5cGUSEQoJ", - "dHJhY2tfc2lkGAMgASgJInoKEEF1ZGlvU3RyZWFtRXZlbnQSJAoGaGFuZGxl", - "GAEgASgLMhQubGl2ZWtpdC5GRklIYW5kbGVJZBI1Cg5mcmFtZV9yZWNlaXZl", - "ZBgCIAEoCzIbLmxpdmVraXQuQXVkaW9GcmFtZVJlY2VpdmVkSABCCQoHbWVz", - "c2FnZSJCChJBdWRpb0ZyYW1lUmVjZWl2ZWQSLAoFZnJhbWUYASABKAsyHS5s", - "aXZla2l0LkF1ZGlvRnJhbWVCdWZmZXJJbmZvIl8KD0F1ZGlvU291cmNlSW5m", - "bxIkCgZoYW5kbGUYASABKAsyFC5saXZla2l0LkZGSUhhbmRsZUlkEiYKBHR5", - "cGUYAiABKA4yGC5saXZla2l0LkF1ZGlvU291cmNlVHlwZSpBCg9BdWRpb1N0", - "cmVhbVR5cGUSFwoTQVVESU9fU1RSRUFNX05BVElWRRAAEhUKEUFVRElPX1NU", - "UkVBTV9IVE1MEAEqKgoPQXVkaW9Tb3VyY2VUeXBlEhcKE0FVRElPX1NPVVJD", - "RV9OQVRJVkUQAEIQqgINTGl2ZUtpdC5Qcm90b2IGcHJvdG8z")); + "ChFhdWRpb19mcmFtZS5wcm90bxINbGl2ZWtpdC5wcm90bxoMaGFuZGxlLnBy", + "b3RvGgt0cmFjay5wcm90byLbAQoVTmV3QXVkaW9TdHJlYW1SZXF1ZXN0EhQK", + "DHRyYWNrX2hhbmRsZRgBIAIoBBIsCgR0eXBlGAIgAigOMh4ubGl2ZWtpdC5w", + "cm90by5BdWRpb1N0cmVhbVR5cGUSEwoLc2FtcGxlX3JhdGUYAyABKA0SFAoM", + "bnVtX2NoYW5uZWxzGAQgASgNEh4KFmF1ZGlvX2ZpbHRlcl9tb2R1bGVfaWQY", + "BSABKAkSHAoUYXVkaW9fZmlsdGVyX29wdGlvbnMYBiABKAkSFQoNZnJhbWVf", + "c2l6ZV9tcxgHIAEoDSJJChZOZXdBdWRpb1N0cmVhbVJlc3BvbnNlEi8KBnN0", + "cmVhbRgBIAIoCzIfLmxpdmVraXQucHJvdG8uT3duZWRBdWRpb1N0cmVhbSKf", + "AgohQXVkaW9TdHJlYW1Gcm9tUGFydGljaXBhbnRSZXF1ZXN0EhoKEnBhcnRp", + "Y2lwYW50X2hhbmRsZRgBIAIoBBIsCgR0eXBlGAIgAigOMh4ubGl2ZWtpdC5w", + "cm90by5BdWRpb1N0cmVhbVR5cGUSMAoMdHJhY2tfc291cmNlGAMgASgOMhou", + "bGl2ZWtpdC5wcm90by5UcmFja1NvdXJjZRITCgtzYW1wbGVfcmF0ZRgFIAEo", + "DRIUCgxudW1fY2hhbm5lbHMYBiABKA0SHgoWYXVkaW9fZmlsdGVyX21vZHVs", + "ZV9pZBgHIAEoCRIcChRhdWRpb19maWx0ZXJfb3B0aW9ucxgIIAEoCRIVCg1m", + "cmFtZV9zaXplX21zGAkgASgNIlUKIkF1ZGlvU3RyZWFtRnJvbVBhcnRpY2lw", + "YW50UmVzcG9uc2USLwoGc3RyZWFtGAEgAigLMh8ubGl2ZWtpdC5wcm90by5P", + "d25lZEF1ZGlvU3RyZWFtIrsBChVOZXdBdWRpb1NvdXJjZVJlcXVlc3QSLAoE", + "dHlwZRgBIAIoDjIeLmxpdmVraXQucHJvdG8uQXVkaW9Tb3VyY2VUeXBlEjIK", + "B29wdGlvbnMYAiABKAsyIS5saXZla2l0LnByb3RvLkF1ZGlvU291cmNlT3B0", + "aW9ucxITCgtzYW1wbGVfcmF0ZRgDIAIoDRIUCgxudW1fY2hhbm5lbHMYBCAC", + "KA0SFQoNcXVldWVfc2l6ZV9tcxgFIAEoDSJJChZOZXdBdWRpb1NvdXJjZVJl", + "c3BvbnNlEi8KBnNvdXJjZRgBIAIoCzIfLmxpdmVraXQucHJvdG8uT3duZWRB", + "dWRpb1NvdXJjZSJmChhDYXB0dXJlQXVkaW9GcmFtZVJlcXVlc3QSFQoNc291", + "cmNlX2hhbmRsZRgBIAIoBBIzCgZidWZmZXIYAiACKAsyIy5saXZla2l0LnBy", + "b3RvLkF1ZGlvRnJhbWVCdWZmZXJJbmZvIi0KGUNhcHR1cmVBdWRpb0ZyYW1l", + "UmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQiPAoZQ2FwdHVyZUF1ZGlvRnJh", + "bWVDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSIw", + "ChdDbGVhckF1ZGlvQnVmZmVyUmVxdWVzdBIVCg1zb3VyY2VfaGFuZGxlGAEg", + "AigEIhoKGENsZWFyQXVkaW9CdWZmZXJSZXNwb25zZSIaChhOZXdBdWRpb1Jl", + "c2FtcGxlclJlcXVlc3QiUgoZTmV3QXVkaW9SZXNhbXBsZXJSZXNwb25zZRI1", + "CglyZXNhbXBsZXIYASACKAsyIi5saXZla2l0LnByb3RvLk93bmVkQXVkaW9S", + "ZXNhbXBsZXIikwEKF1JlbWl4QW5kUmVzYW1wbGVSZXF1ZXN0EhgKEHJlc2Ft", + "cGxlcl9oYW5kbGUYASACKAQSMwoGYnVmZmVyGAIgAigLMiMubGl2ZWtpdC5w", + "cm90by5BdWRpb0ZyYW1lQnVmZmVySW5mbxIUCgxudW1fY2hhbm5lbHMYAyAC", + "KA0SEwoLc2FtcGxlX3JhdGUYBCACKA0iUAoYUmVtaXhBbmRSZXNhbXBsZVJl", + "c3BvbnNlEjQKBmJ1ZmZlchgBIAIoCzIkLmxpdmVraXQucHJvdG8uT3duZWRB", + "dWRpb0ZyYW1lQnVmZmVyIpUBCg1OZXdBcG1SZXF1ZXN0Eh4KFmVjaG9fY2Fu", + "Y2VsbGVyX2VuYWJsZWQYASACKAgSHwoXZ2Fpbl9jb250cm9sbGVyX2VuYWJs", + "ZWQYAiACKAgSIAoYaGlnaF9wYXNzX2ZpbHRlcl9lbmFibGVkGAMgAigIEiEK", + "GW5vaXNlX3N1cHByZXNzaW9uX2VuYWJsZWQYBCACKAgiNgoOTmV3QXBtUmVz", + "cG9uc2USJAoDYXBtGAEgAigLMhcubGl2ZWtpdC5wcm90by5Pd25lZEFwbSJ4", + "ChdBcG1Qcm9jZXNzU3RyZWFtUmVxdWVzdBISCgphcG1faGFuZGxlGAEgAigE", + "EhAKCGRhdGFfcHRyGAIgAigEEgwKBHNpemUYAyACKA0SEwoLc2FtcGxlX3Jh", + "dGUYBCACKA0SFAoMbnVtX2NoYW5uZWxzGAUgAigNIikKGEFwbVByb2Nlc3NT", + "dHJlYW1SZXNwb25zZRINCgVlcnJvchgBIAEoCSJ/Ch5BcG1Qcm9jZXNzUmV2", + "ZXJzZVN0cmVhbVJlcXVlc3QSEgoKYXBtX2hhbmRsZRgBIAIoBBIQCghkYXRh", + "X3B0chgCIAIoBBIMCgRzaXplGAMgAigNEhMKC3NhbXBsZV9yYXRlGAQgAigN", + "EhQKDG51bV9jaGFubmVscxgFIAIoDSIwCh9BcG1Qcm9jZXNzUmV2ZXJzZVN0", + "cmVhbVJlc3BvbnNlEg0KBWVycm9yGAEgASgJIkAKGEFwbVNldFN0cmVhbURl", + "bGF5UmVxdWVzdBISCgphcG1faGFuZGxlGAEgAigEEhAKCGRlbGF5X21zGAIg", + "AigFIioKGUFwbVNldFN0cmVhbURlbGF5UmVzcG9uc2USDQoFZXJyb3IYASAB", + "KAkinAIKFk5ld1NveFJlc2FtcGxlclJlcXVlc3QSEgoKaW5wdXRfcmF0ZRgB", + "IAIoARITCgtvdXRwdXRfcmF0ZRgCIAIoARIUCgxudW1fY2hhbm5lbHMYAyAC", + "KA0SPAoPaW5wdXRfZGF0YV90eXBlGAQgAigOMiMubGl2ZWtpdC5wcm90by5T", + "b3hSZXNhbXBsZXJEYXRhVHlwZRI9ChBvdXRwdXRfZGF0YV90eXBlGAUgAigO", + "MiMubGl2ZWtpdC5wcm90by5Tb3hSZXNhbXBsZXJEYXRhVHlwZRI3Cg5xdWFs", + "aXR5X3JlY2lwZRgGIAIoDjIfLmxpdmVraXQucHJvdG8uU294UXVhbGl0eVJl", + "Y2lwZRINCgVmbGFncxgHIAEoDSJsChdOZXdTb3hSZXNhbXBsZXJSZXNwb25z", + "ZRI1CglyZXNhbXBsZXIYASABKAsyIC5saXZla2l0LnByb3RvLk93bmVkU294", + "UmVzYW1wbGVySAASDwoFZXJyb3IYAiABKAlIAEIJCgdtZXNzYWdlIlMKF1B1", + "c2hTb3hSZXNhbXBsZXJSZXF1ZXN0EhgKEHJlc2FtcGxlcl9oYW5kbGUYASAC", + "KAQSEAoIZGF0YV9wdHIYAiACKAQSDAoEc2l6ZRgDIAIoDSJLChhQdXNoU294", + "UmVzYW1wbGVyUmVzcG9uc2USEgoKb3V0cHV0X3B0chgBIAIoBBIMCgRzaXpl", + "GAIgAigNEg0KBWVycm9yGAMgASgJIjQKGEZsdXNoU294UmVzYW1wbGVyUmVx", + "dWVzdBIYChByZXNhbXBsZXJfaGFuZGxlGAEgAigEIkwKGUZsdXNoU294UmVz", + "YW1wbGVyUmVzcG9uc2USEgoKb3V0cHV0X3B0chgBIAIoBBIMCgRzaXplGAIg", + "AigNEg0KBWVycm9yGAMgASgJInAKFEF1ZGlvRnJhbWVCdWZmZXJJbmZvEhAK", + "CGRhdGFfcHRyGAEgAigEEhQKDG51bV9jaGFubmVscxgCIAIoDRITCgtzYW1w", + "bGVfcmF0ZRgDIAIoDRIbChNzYW1wbGVzX3Blcl9jaGFubmVsGAQgAigNInkK", + "FU93bmVkQXVkaW9GcmFtZUJ1ZmZlchItCgZoYW5kbGUYASACKAsyHS5saXZl", + "a2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEjEKBGluZm8YAiACKAsyIy5saXZl", + "a2l0LnByb3RvLkF1ZGlvRnJhbWVCdWZmZXJJbmZvIj8KD0F1ZGlvU3RyZWFt", + "SW5mbxIsCgR0eXBlGAEgAigOMh4ubGl2ZWtpdC5wcm90by5BdWRpb1N0cmVh", + "bVR5cGUibwoQT3duZWRBdWRpb1N0cmVhbRItCgZoYW5kbGUYASACKAsyHS5s", + "aXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEiwKBGluZm8YAiACKAsyHi5s", + "aXZla2l0LnByb3RvLkF1ZGlvU3RyZWFtSW5mbyKfAQoQQXVkaW9TdHJlYW1F", + "dmVudBIVCg1zdHJlYW1faGFuZGxlGAEgAigEEjsKDmZyYW1lX3JlY2VpdmVk", + "GAIgASgLMiEubGl2ZWtpdC5wcm90by5BdWRpb0ZyYW1lUmVjZWl2ZWRIABIs", + "CgNlb3MYAyABKAsyHS5saXZla2l0LnByb3RvLkF1ZGlvU3RyZWFtRU9TSABC", + "CQoHbWVzc2FnZSJJChJBdWRpb0ZyYW1lUmVjZWl2ZWQSMwoFZnJhbWUYASAC", + "KAsyJC5saXZla2l0LnByb3RvLk93bmVkQXVkaW9GcmFtZUJ1ZmZlciIQCg5B", + "dWRpb1N0cmVhbUVPUyJlChJBdWRpb1NvdXJjZU9wdGlvbnMSGQoRZWNob19j", + "YW5jZWxsYXRpb24YASACKAgSGQoRbm9pc2Vfc3VwcHJlc3Npb24YAiACKAgS", + "GQoRYXV0b19nYWluX2NvbnRyb2wYAyACKAgiPwoPQXVkaW9Tb3VyY2VJbmZv", + "EiwKBHR5cGUYAiACKA4yHi5saXZla2l0LnByb3RvLkF1ZGlvU291cmNlVHlw", + "ZSJvChBPd25lZEF1ZGlvU291cmNlEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVr", + "aXQucHJvdG8uRmZpT3duZWRIYW5kbGUSLAoEaW5mbxgCIAIoCzIeLmxpdmVr", + "aXQucHJvdG8uQXVkaW9Tb3VyY2VJbmZvIhQKEkF1ZGlvUmVzYW1wbGVySW5m", + "byJ1ChNPd25lZEF1ZGlvUmVzYW1wbGVyEi0KBmhhbmRsZRgBIAIoCzIdLmxp", + "dmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUSLwoEaW5mbxgCIAIoCzIhLmxp", + "dmVraXQucHJvdG8uQXVkaW9SZXNhbXBsZXJJbmZvIjkKCE93bmVkQXBtEi0K", + "BmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUi", + "EgoQU294UmVzYW1wbGVySW5mbyJxChFPd25lZFNveFJlc2FtcGxlchItCgZo", + "YW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEi0K", + "BGluZm8YAiACKAsyHy5saXZla2l0LnByb3RvLlNveFJlc2FtcGxlckluZm8i", + "XAocTG9hZEF1ZGlvRmlsdGVyUGx1Z2luUmVxdWVzdBITCgtwbHVnaW5fcGF0", + "aBgBIAIoCRIUCgxkZXBlbmRlbmNpZXMYAiADKAkSEQoJbW9kdWxlX2lkGAMg", + "AigJIi4KHUxvYWRBdWRpb0ZpbHRlclBsdWdpblJlc3BvbnNlEg0KBWVycm9y", + "GAEgASgJKkoKFFNveFJlc2FtcGxlckRhdGFUeXBlEhgKFFNPWFJfREFUQVRZ", + "UEVfSU5UMTZJEAASGAoUU09YUl9EQVRBVFlQRV9JTlQxNlMQASqLAQoQU294", + "UXVhbGl0eVJlY2lwZRIWChJTT1hSX1FVQUxJVFlfUVVJQ0sQABIUChBTT1hS", + "X1FVQUxJVFlfTE9XEAESFwoTU09YUl9RVUFMSVRZX01FRElVTRACEhUKEVNP", + "WFJfUVVBTElUWV9ISUdIEAMSGQoVU09YUl9RVUFMSVRZX1ZFUllISUdIEAQq", + "lwEKC1NveEZsYWdCaXRzEhYKElNPWFJfUk9MTE9GRl9TTUFMTBAAEhcKE1NP", + "WFJfUk9MTE9GRl9NRURJVU0QARIVChFTT1hSX1JPTExPRkZfTk9ORRACEhgK", + "FFNPWFJfSElHSF9QUkVDX0NMT0NLEAMSGQoVU09YUl9ET1VCTEVfUFJFQ0lT", + "SU9OEAQSCwoHU09YUl9WUhAFKkEKD0F1ZGlvU3RyZWFtVHlwZRIXChNBVURJ", + "T19TVFJFQU1fTkFUSVZFEAASFQoRQVVESU9fU1RSRUFNX0hUTUwQASoqCg9B", + "dWRpb1NvdXJjZVR5cGUSFwoTQVVESU9fU09VUkNFX05BVElWRRAAQhCqAg1M", + "aXZlS2l0LlByb3Rv")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.AudioStreamType), typeof(global::LiveKit.Proto.AudioSourceType), }, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AllocAudioBufferRequest), global::LiveKit.Proto.AllocAudioBufferRequest.Parser, new[]{ "SampleRate", "NumChannels", "SamplesPerChannel" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AllocAudioBufferResponse), global::LiveKit.Proto.AllocAudioBufferResponse.Parser, new[]{ "Buffer" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioStreamRequest), global::LiveKit.Proto.NewAudioStreamRequest.Parser, new[]{ "RoomHandle", "ParticipantSid", "TrackSid", "Type" }, null, null, null, null), + new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.SoxResamplerDataType), typeof(global::LiveKit.Proto.SoxQualityRecipe), typeof(global::LiveKit.Proto.SoxFlagBits), typeof(global::LiveKit.Proto.AudioStreamType), typeof(global::LiveKit.Proto.AudioSourceType), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioStreamRequest), global::LiveKit.Proto.NewAudioStreamRequest.Parser, new[]{ "TrackHandle", "Type", "SampleRate", "NumChannels", "AudioFilterModuleId", "AudioFilterOptions", "FrameSizeMs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioStreamResponse), global::LiveKit.Proto.NewAudioStreamResponse.Parser, new[]{ "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioSourceRequest), global::LiveKit.Proto.NewAudioSourceRequest.Parser, new[]{ "Type" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioStreamFromParticipantRequest), global::LiveKit.Proto.AudioStreamFromParticipantRequest.Parser, new[]{ "ParticipantHandle", "Type", "TrackSource", "SampleRate", "NumChannels", "AudioFilterModuleId", "AudioFilterOptions", "FrameSizeMs" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioStreamFromParticipantResponse), global::LiveKit.Proto.AudioStreamFromParticipantResponse.Parser, new[]{ "Stream" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioSourceRequest), global::LiveKit.Proto.NewAudioSourceRequest.Parser, new[]{ "Type", "Options", "SampleRate", "NumChannels", "QueueSizeMs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioSourceResponse), global::LiveKit.Proto.NewAudioSourceResponse.Parser, new[]{ "Source" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureAudioFrameRequest), global::LiveKit.Proto.CaptureAudioFrameRequest.Parser, new[]{ "SourceHandle", "BufferHandle" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureAudioFrameResponse), global::LiveKit.Proto.CaptureAudioFrameResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureAudioFrameRequest), global::LiveKit.Proto.CaptureAudioFrameRequest.Parser, new[]{ "SourceHandle", "Buffer" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureAudioFrameResponse), global::LiveKit.Proto.CaptureAudioFrameResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureAudioFrameCallback), global::LiveKit.Proto.CaptureAudioFrameCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ClearAudioBufferRequest), global::LiveKit.Proto.ClearAudioBufferRequest.Parser, new[]{ "SourceHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ClearAudioBufferResponse), global::LiveKit.Proto.ClearAudioBufferResponse.Parser, null, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioResamplerRequest), global::LiveKit.Proto.NewAudioResamplerRequest.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioResamplerResponse), global::LiveKit.Proto.NewAudioResamplerResponse.Parser, new[]{ "Handle" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemixAndResampleRequest), global::LiveKit.Proto.RemixAndResampleRequest.Parser, new[]{ "ResamplerHandle", "BufferHandle", "NumChannels", "SampleRate" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewAudioResamplerResponse), global::LiveKit.Proto.NewAudioResamplerResponse.Parser, new[]{ "Resampler" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemixAndResampleRequest), global::LiveKit.Proto.RemixAndResampleRequest.Parser, new[]{ "ResamplerHandle", "Buffer", "NumChannels", "SampleRate" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemixAndResampleResponse), global::LiveKit.Proto.RemixAndResampleResponse.Parser, new[]{ "Buffer" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioFrameBufferInfo), global::LiveKit.Proto.AudioFrameBufferInfo.Parser, new[]{ "Handle", "DataPtr", "NumChannels", "SampleRate", "SamplesPerChannel" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioStreamInfo), global::LiveKit.Proto.AudioStreamInfo.Parser, new[]{ "Handle", "Type", "TrackSid" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioStreamEvent), global::LiveKit.Proto.AudioStreamEvent.Parser, new[]{ "Handle", "FrameReceived" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewApmRequest), global::LiveKit.Proto.NewApmRequest.Parser, new[]{ "EchoCancellerEnabled", "GainControllerEnabled", "HighPassFilterEnabled", "NoiseSuppressionEnabled" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewApmResponse), global::LiveKit.Proto.NewApmResponse.Parser, new[]{ "Apm" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ApmProcessStreamRequest), global::LiveKit.Proto.ApmProcessStreamRequest.Parser, new[]{ "ApmHandle", "DataPtr", "Size", "SampleRate", "NumChannels" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ApmProcessStreamResponse), global::LiveKit.Proto.ApmProcessStreamResponse.Parser, new[]{ "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ApmProcessReverseStreamRequest), global::LiveKit.Proto.ApmProcessReverseStreamRequest.Parser, new[]{ "ApmHandle", "DataPtr", "Size", "SampleRate", "NumChannels" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ApmProcessReverseStreamResponse), global::LiveKit.Proto.ApmProcessReverseStreamResponse.Parser, new[]{ "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ApmSetStreamDelayRequest), global::LiveKit.Proto.ApmSetStreamDelayRequest.Parser, new[]{ "ApmHandle", "DelayMs" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ApmSetStreamDelayResponse), global::LiveKit.Proto.ApmSetStreamDelayResponse.Parser, new[]{ "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewSoxResamplerRequest), global::LiveKit.Proto.NewSoxResamplerRequest.Parser, new[]{ "InputRate", "OutputRate", "NumChannels", "InputDataType", "OutputDataType", "QualityRecipe", "Flags" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewSoxResamplerResponse), global::LiveKit.Proto.NewSoxResamplerResponse.Parser, new[]{ "Resampler", "Error" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PushSoxResamplerRequest), global::LiveKit.Proto.PushSoxResamplerRequest.Parser, new[]{ "ResamplerHandle", "DataPtr", "Size" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PushSoxResamplerResponse), global::LiveKit.Proto.PushSoxResamplerResponse.Parser, new[]{ "OutputPtr", "Size", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FlushSoxResamplerRequest), global::LiveKit.Proto.FlushSoxResamplerRequest.Parser, new[]{ "ResamplerHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FlushSoxResamplerResponse), global::LiveKit.Proto.FlushSoxResamplerResponse.Parser, new[]{ "OutputPtr", "Size", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioFrameBufferInfo), global::LiveKit.Proto.AudioFrameBufferInfo.Parser, new[]{ "DataPtr", "NumChannels", "SampleRate", "SamplesPerChannel" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedAudioFrameBuffer), global::LiveKit.Proto.OwnedAudioFrameBuffer.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioStreamInfo), global::LiveKit.Proto.AudioStreamInfo.Parser, new[]{ "Type" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedAudioStream), global::LiveKit.Proto.OwnedAudioStream.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioStreamEvent), global::LiveKit.Proto.AudioStreamEvent.Parser, new[]{ "StreamHandle", "FrameReceived", "Eos" }, new[]{ "Message" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioFrameReceived), global::LiveKit.Proto.AudioFrameReceived.Parser, new[]{ "Frame" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioSourceInfo), global::LiveKit.Proto.AudioSourceInfo.Parser, new[]{ "Handle", "Type" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioStreamEOS), global::LiveKit.Proto.AudioStreamEOS.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioSourceOptions), global::LiveKit.Proto.AudioSourceOptions.Parser, new[]{ "EchoCancellation", "NoiseSuppression", "AutoGainControl" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioSourceInfo), global::LiveKit.Proto.AudioSourceInfo.Parser, new[]{ "Type" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedAudioSource), global::LiveKit.Proto.OwnedAudioSource.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioResamplerInfo), global::LiveKit.Proto.AudioResamplerInfo.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedAudioResampler), global::LiveKit.Proto.OwnedAudioResampler.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedApm), global::LiveKit.Proto.OwnedApm.Parser, new[]{ "Handle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SoxResamplerInfo), global::LiveKit.Proto.SoxResamplerInfo.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedSoxResampler), global::LiveKit.Proto.OwnedSoxResampler.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LoadAudioFilterPluginRequest), global::LiveKit.Proto.LoadAudioFilterPluginRequest.Parser, new[]{ "PluginPath", "Dependencies", "ModuleId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LoadAudioFilterPluginResponse), global::LiveKit.Proto.LoadAudioFilterPluginResponse.Parser, new[]{ "Error" }, null, null, null, null) })); } #endregion } #region Enums + public enum SoxResamplerDataType { + /// + /// TODO(theomonnom): support other datatypes (shouldn't really be needed) + /// + [pbr::OriginalName("SOXR_DATATYPE_INT16I")] SoxrDatatypeInt16I = 0, + [pbr::OriginalName("SOXR_DATATYPE_INT16S")] SoxrDatatypeInt16S = 1, + } + + public enum SoxQualityRecipe { + [pbr::OriginalName("SOXR_QUALITY_QUICK")] SoxrQualityQuick = 0, + [pbr::OriginalName("SOXR_QUALITY_LOW")] SoxrQualityLow = 1, + [pbr::OriginalName("SOXR_QUALITY_MEDIUM")] SoxrQualityMedium = 2, + [pbr::OriginalName("SOXR_QUALITY_HIGH")] SoxrQualityHigh = 3, + [pbr::OriginalName("SOXR_QUALITY_VERYHIGH")] SoxrQualityVeryhigh = 4, + } + + public enum SoxFlagBits { + /// + /// 1 << 0 + /// + [pbr::OriginalName("SOXR_ROLLOFF_SMALL")] SoxrRolloffSmall = 0, + /// + /// 1 << 1 + /// + [pbr::OriginalName("SOXR_ROLLOFF_MEDIUM")] SoxrRolloffMedium = 1, + /// + /// 1 << 2 + /// + [pbr::OriginalName("SOXR_ROLLOFF_NONE")] SoxrRolloffNone = 2, + /// + /// 1 << 3 + /// + [pbr::OriginalName("SOXR_HIGH_PREC_CLOCK")] SoxrHighPrecClock = 3, + /// + /// 1 << 4 + /// + [pbr::OriginalName("SOXR_DOUBLE_PRECISION")] SoxrDoublePrecision = 4, + /// + /// 1 << 5 + /// + [pbr::OriginalName("SOXR_VR")] SoxrVr = 5, + } + public enum AudioStreamType { [pbr::OriginalName("AUDIO_STREAM_NATIVE")] AudioStreamNative = 0, [pbr::OriginalName("AUDIO_STREAM_HTML")] AudioStreamHtml = 1, @@ -102,20 +245,21 @@ public enum AudioSourceType { #region Messages /// - /// Allocate a new AudioFrameBuffer - /// This is not necessary required because the data structure is fairly simple - /// But keep the API consistent with VideoFrame + /// Create a new AudioStream + /// AudioStream is used to receive audio frames from a track /// - public sealed partial class AllocAudioBufferRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewAudioStreamRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AllocAudioBufferRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioStreamRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -131,7 +275,7 @@ public sealed partial class AllocAudioBufferRequest : pb::IMessageField number for the "track_handle" field. + public const int TrackHandleFieldNumber = 1; + private readonly static ulong TrackHandleDefaultValue = 0UL; + + private ulong trackHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TrackHandle { + get { if ((_hasBits0 & 1) != 0) { return trackHandle_; } else { return TrackHandleDefaultValue; } } + set { + _hasBits0 |= 1; + trackHandle_ = value; + } + } + /// Gets whether the "track_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "track_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "type" field. + public const int TypeFieldNumber = 2; + private readonly static global::LiveKit.Proto.AudioStreamType TypeDefaultValue = global::LiveKit.Proto.AudioStreamType.AudioStreamNative; + + private global::LiveKit.Proto.AudioStreamType type_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioStreamType Type { + get { if ((_hasBits0 & 2) != 0) { return type_; } else { return TypeDefaultValue; } } + set { + _hasBits0 |= 2; + type_ = value; + } + } + /// Gets whether the "type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasType { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~2; } /// Field number for the "sample_rate" field. - public const int SampleRateFieldNumber = 1; + public const int SampleRateFieldNumber = 3; + private readonly static uint SampleRateDefaultValue = 0; + private uint sampleRate_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint SampleRate { - get { return sampleRate_; } + get { if ((_hasBits0 & 4) != 0) { return sampleRate_; } else { return SampleRateDefaultValue; } } set { + _hasBits0 |= 4; sampleRate_ = value; } } + /// Gets whether the "sample_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSampleRate { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "sample_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSampleRate() { + _hasBits0 &= ~4; + } /// Field number for the "num_channels" field. - public const int NumChannelsFieldNumber = 2; + public const int NumChannelsFieldNumber = 4; + private readonly static uint NumChannelsDefaultValue = 0; + private uint numChannels_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public uint NumChannels { - get { return numChannels_; } + get { if ((_hasBits0 & 8) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } set { + _hasBits0 |= 8; numChannels_ = value; } } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~8; + } - /// Field number for the "samples_per_channel" field. - public const int SamplesPerChannelFieldNumber = 3; - private uint samplesPerChannel_; + /// Field number for the "audio_filter_module_id" field. + public const int AudioFilterModuleIdFieldNumber = 5; + private readonly static string AudioFilterModuleIdDefaultValue = ""; + + private string audioFilterModuleId_; + /// + /// Unique identifier passed in LoadAudioFilterPluginRequest + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint SamplesPerChannel { - get { return samplesPerChannel_; } + public string AudioFilterModuleId { + get { return audioFilterModuleId_ ?? AudioFilterModuleIdDefaultValue; } set { - samplesPerChannel_ = value; + audioFilterModuleId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "audio_filter_module_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAudioFilterModuleId { + get { return audioFilterModuleId_ != null; } + } + /// Clears the value of the "audio_filter_module_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAudioFilterModuleId() { + audioFilterModuleId_ = null; + } + + /// Field number for the "audio_filter_options" field. + public const int AudioFilterOptionsFieldNumber = 6; + private readonly static string AudioFilterOptionsDefaultValue = ""; + + private string audioFilterOptions_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string AudioFilterOptions { + get { return audioFilterOptions_ ?? AudioFilterOptionsDefaultValue; } + set { + audioFilterOptions_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "audio_filter_options" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAudioFilterOptions { + get { return audioFilterOptions_ != null; } + } + /// Clears the value of the "audio_filter_options" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAudioFilterOptions() { + audioFilterOptions_ = null; + } + + /// Field number for the "frame_size_ms" field. + public const int FrameSizeMsFieldNumber = 7; + private readonly static uint FrameSizeMsDefaultValue = 0; + + private uint frameSizeMs_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FrameSizeMs { + get { if ((_hasBits0 & 16) != 0) { return frameSizeMs_; } else { return FrameSizeMsDefaultValue; } } + set { + _hasBits0 |= 16; + frameSizeMs_ = value; + } + } + /// Gets whether the "frame_size_ms" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrameSizeMs { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "frame_size_ms" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrameSizeMs() { + _hasBits0 &= ~16; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AllocAudioBufferRequest); + return Equals(other as NewAudioStreamRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AllocAudioBufferRequest other) { + public bool Equals(NewAudioStreamRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (TrackHandle != other.TrackHandle) return false; + if (Type != other.Type) return false; if (SampleRate != other.SampleRate) return false; if (NumChannels != other.NumChannels) return false; - if (SamplesPerChannel != other.SamplesPerChannel) return false; + if (AudioFilterModuleId != other.AudioFilterModuleId) return false; + if (AudioFilterOptions != other.AudioFilterOptions) return false; + if (FrameSizeMs != other.FrameSizeMs) return false; return Equals(_unknownFields, other._unknownFields); } @@ -213,9 +520,13 @@ public bool Equals(AllocAudioBufferRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (SampleRate != 0) hash ^= SampleRate.GetHashCode(); - if (NumChannels != 0) hash ^= NumChannels.GetHashCode(); - if (SamplesPerChannel != 0) hash ^= SamplesPerChannel.GetHashCode(); + if (HasTrackHandle) hash ^= TrackHandle.GetHashCode(); + if (HasType) hash ^= Type.GetHashCode(); + if (HasSampleRate) hash ^= SampleRate.GetHashCode(); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (HasAudioFilterModuleId) hash ^= AudioFilterModuleId.GetHashCode(); + if (HasAudioFilterOptions) hash ^= AudioFilterOptions.GetHashCode(); + if (HasFrameSizeMs) hash ^= FrameSizeMs.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -234,17 +545,33 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (SampleRate != 0) { + if (HasTrackHandle) { output.WriteRawTag(8); - output.WriteUInt32(SampleRate); + output.WriteUInt64(TrackHandle); } - if (NumChannels != 0) { + if (HasType) { output.WriteRawTag(16); - output.WriteUInt32(NumChannels); + output.WriteEnum((int) Type); } - if (SamplesPerChannel != 0) { + if (HasSampleRate) { output.WriteRawTag(24); - output.WriteUInt32(SamplesPerChannel); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(32); + output.WriteUInt32(NumChannels); + } + if (HasAudioFilterModuleId) { + output.WriteRawTag(42); + output.WriteString(AudioFilterModuleId); + } + if (HasAudioFilterOptions) { + output.WriteRawTag(50); + output.WriteString(AudioFilterOptions); + } + if (HasFrameSizeMs) { + output.WriteRawTag(56); + output.WriteUInt32(FrameSizeMs); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -256,17 +583,33 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (SampleRate != 0) { + if (HasTrackHandle) { output.WriteRawTag(8); - output.WriteUInt32(SampleRate); + output.WriteUInt64(TrackHandle); } - if (NumChannels != 0) { + if (HasType) { output.WriteRawTag(16); - output.WriteUInt32(NumChannels); + output.WriteEnum((int) Type); } - if (SamplesPerChannel != 0) { + if (HasSampleRate) { output.WriteRawTag(24); - output.WriteUInt32(SamplesPerChannel); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(32); + output.WriteUInt32(NumChannels); + } + if (HasAudioFilterModuleId) { + output.WriteRawTag(42); + output.WriteString(AudioFilterModuleId); + } + if (HasAudioFilterOptions) { + output.WriteRawTag(50); + output.WriteString(AudioFilterOptions); + } + if (HasFrameSizeMs) { + output.WriteRawTag(56); + output.WriteUInt32(FrameSizeMs); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -278,14 +621,26 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (SampleRate != 0) { + if (HasTrackHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle); + } + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + } + if (HasSampleRate) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); } - if (NumChannels != 0) { + if (HasNumChannels) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); } - if (SamplesPerChannel != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SamplesPerChannel); + if (HasAudioFilterModuleId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(AudioFilterModuleId); + } + if (HasAudioFilterOptions) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(AudioFilterOptions); + } + if (HasFrameSizeMs) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameSizeMs); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -295,18 +650,30 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AllocAudioBufferRequest other) { + public void MergeFrom(NewAudioStreamRequest other) { if (other == null) { return; } - if (other.SampleRate != 0) { + if (other.HasTrackHandle) { + TrackHandle = other.TrackHandle; + } + if (other.HasType) { + Type = other.Type; + } + if (other.HasSampleRate) { SampleRate = other.SampleRate; } - if (other.NumChannels != 0) { + if (other.HasNumChannels) { NumChannels = other.NumChannels; } - if (other.SamplesPerChannel != 0) { - SamplesPerChannel = other.SamplesPerChannel; + if (other.HasAudioFilterModuleId) { + AudioFilterModuleId = other.AudioFilterModuleId; + } + if (other.HasAudioFilterOptions) { + AudioFilterOptions = other.AudioFilterOptions; + } + if (other.HasFrameSizeMs) { + FrameSizeMs = other.FrameSizeMs; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -319,20 +686,40 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - SampleRate = input.ReadUInt32(); + TrackHandle = input.ReadUInt64(); break; } case 16: { - NumChannels = input.ReadUInt32(); + Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); break; } case 24: { - SamplesPerChannel = input.ReadUInt32(); + SampleRate = input.ReadUInt32(); + break; + } + case 32: { + NumChannels = input.ReadUInt32(); + break; + } + case 42: { + AudioFilterModuleId = input.ReadString(); + break; + } + case 50: { + AudioFilterOptions = input.ReadString(); + break; + } + case 56: { + FrameSizeMs = input.ReadUInt32(); break; } } @@ -346,20 +733,40 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - SampleRate = input.ReadUInt32(); + TrackHandle = input.ReadUInt64(); break; } case 16: { - NumChannels = input.ReadUInt32(); + Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); break; } case 24: { - SamplesPerChannel = input.ReadUInt32(); + SampleRate = input.ReadUInt32(); + break; + } + case 32: { + NumChannels = input.ReadUInt32(); + break; + } + case 42: { + AudioFilterModuleId = input.ReadString(); + break; + } + case 50: { + AudioFilterOptions = input.ReadString(); + break; + } + case 56: { + FrameSizeMs = input.ReadUInt32(); break; } } @@ -369,16 +776,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AllocAudioBufferResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewAudioStreamResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AllocAudioBufferResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioStreamResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -394,7 +802,7 @@ public sealed partial class AllocAudioBufferResponse : pb::IMessageField number for the "buffer" field. - public const int BufferFieldNumber = 1; - private global::LiveKit.Proto.AudioFrameBufferInfo buffer_; + /// Field number for the "stream" field. + public const int StreamFieldNumber = 1; + private global::LiveKit.Proto.OwnedAudioStream stream_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioFrameBufferInfo Buffer { - get { return buffer_; } + public global::LiveKit.Proto.OwnedAudioStream Stream { + get { return stream_; } set { - buffer_ = value; + stream_ = value; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AllocAudioBufferResponse); + return Equals(other as NewAudioStreamResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AllocAudioBufferResponse other) { + public bool Equals(NewAudioStreamResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Buffer, other.Buffer)) return false; + if (!object.Equals(Stream, other.Stream)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -448,7 +856,7 @@ public bool Equals(AllocAudioBufferResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (stream_ != null) hash ^= Stream.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -467,9 +875,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (buffer_ != null) { + if (stream_ != null) { output.WriteRawTag(10); - output.WriteMessage(Buffer); + output.WriteMessage(Stream); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -481,9 +889,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (buffer_ != null) { + if (stream_ != null) { output.WriteRawTag(10); - output.WriteMessage(Buffer); + output.WriteMessage(Stream); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -495,8 +903,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (buffer_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); + if (stream_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stream); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -506,15 +914,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AllocAudioBufferResponse other) { + public void MergeFrom(NewAudioStreamResponse other) { if (other == null) { return; } - if (other.buffer_ != null) { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + if (other.stream_ != null) { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.OwnedAudioStream(); } - Buffer.MergeFrom(other.Buffer); + Stream.MergeFrom(other.Stream); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -527,15 +935,19 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + if (stream_ == null) { + Stream = new global::LiveKit.Proto.OwnedAudioStream(); } - input.ReadMessage(Buffer); + input.ReadMessage(Stream); break; } } @@ -549,15 +961,19 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + if (stream_ == null) { + Stream = new global::LiveKit.Proto.OwnedAudioStream(); } - input.ReadMessage(Buffer); + input.ReadMessage(Stream); break; } } @@ -567,20 +983,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Create a new AudioStream - /// AudioStream is used to receive audio frames from a track - /// - public sealed partial class NewAudioStreamRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioStreamFromParticipantRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioStreamRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioStreamFromParticipantRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -596,7 +1010,7 @@ public sealed partial class NewAudioStreamRequest : pb::IMessageField number for the "room_handle" field. - public const int RoomHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId roomHandle_; + /// Field number for the "participant_handle" field. + public const int ParticipantHandleFieldNumber = 1; + private readonly static ulong ParticipantHandleDefaultValue = 0UL; + + private ulong participantHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId RoomHandle { - get { return roomHandle_; } + public ulong ParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return participantHandle_; } else { return ParticipantHandleDefaultValue; } } set { - roomHandle_ = value; + _hasBits0 |= 1; + participantHandle_ = value; } } + /// Gets whether the "participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "type" field. + public const int TypeFieldNumber = 2; + private readonly static global::LiveKit.Proto.AudioStreamType TypeDefaultValue = global::LiveKit.Proto.AudioStreamType.AudioStreamNative; - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 2; - private string participantSid_ = ""; + private global::LiveKit.Proto.AudioStreamType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public global::LiveKit.Proto.AudioStreamType Type { + get { if ((_hasBits0 & 2) != 0) { return type_; } else { return TypeDefaultValue; } } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 2; + type_ = value; } } + /// Gets whether the "type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasType { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~2; + } - /// Field number for the "track_sid" field. - public const int TrackSidFieldNumber = 3; - private string trackSid_ = ""; + /// Field number for the "track_source" field. + public const int TrackSourceFieldNumber = 3; + private readonly static global::LiveKit.Proto.TrackSource TrackSourceDefaultValue = global::LiveKit.Proto.TrackSource.SourceUnknown; + + private global::LiveKit.Proto.TrackSource trackSource_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string TrackSid { - get { return trackSid_; } + public global::LiveKit.Proto.TrackSource TrackSource { + get { if ((_hasBits0 & 4) != 0) { return trackSource_; } else { return TrackSourceDefaultValue; } } set { - trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 4; + trackSource_ = value; } } + /// Gets whether the "track_source" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSource { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "track_source" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSource() { + _hasBits0 &= ~4; + } - /// Field number for the "type" field. - public const int TypeFieldNumber = 4; - private global::LiveKit.Proto.AudioStreamType type_ = global::LiveKit.Proto.AudioStreamType.AudioStreamNative; + /// Field number for the "sample_rate" field. + public const int SampleRateFieldNumber = 5; + private readonly static uint SampleRateDefaultValue = 0; + + private uint sampleRate_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioStreamType Type { - get { return type_; } + public uint SampleRate { + get { if ((_hasBits0 & 8) != 0) { return sampleRate_; } else { return SampleRateDefaultValue; } } set { - type_ = value; + _hasBits0 |= 8; + sampleRate_ = value; + } + } + /// Gets whether the "sample_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSampleRate { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "sample_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSampleRate() { + _hasBits0 &= ~8; + } + + /// Field number for the "num_channels" field. + public const int NumChannelsFieldNumber = 6; + private readonly static uint NumChannelsDefaultValue = 0; + + private uint numChannels_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NumChannels { + get { if ((_hasBits0 & 16) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } + set { + _hasBits0 |= 16; + numChannels_ = value; + } + } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~16; + } + + /// Field number for the "audio_filter_module_id" field. + public const int AudioFilterModuleIdFieldNumber = 7; + private readonly static string AudioFilterModuleIdDefaultValue = ""; + + private string audioFilterModuleId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string AudioFilterModuleId { + get { return audioFilterModuleId_ ?? AudioFilterModuleIdDefaultValue; } + set { + audioFilterModuleId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "audio_filter_module_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAudioFilterModuleId { + get { return audioFilterModuleId_ != null; } + } + /// Clears the value of the "audio_filter_module_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAudioFilterModuleId() { + audioFilterModuleId_ = null; + } + + /// Field number for the "audio_filter_options" field. + public const int AudioFilterOptionsFieldNumber = 8; + private readonly static string AudioFilterOptionsDefaultValue = ""; + + private string audioFilterOptions_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string AudioFilterOptions { + get { return audioFilterOptions_ ?? AudioFilterOptionsDefaultValue; } + set { + audioFilterOptions_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "audio_filter_options" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAudioFilterOptions { + get { return audioFilterOptions_ != null; } + } + /// Clears the value of the "audio_filter_options" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAudioFilterOptions() { + audioFilterOptions_ = null; + } + + /// Field number for the "frame_size_ms" field. + public const int FrameSizeMsFieldNumber = 9; + private readonly static uint FrameSizeMsDefaultValue = 0; + + private uint frameSizeMs_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FrameSizeMs { + get { if ((_hasBits0 & 32) != 0) { return frameSizeMs_; } else { return FrameSizeMsDefaultValue; } } + set { + _hasBits0 |= 32; + frameSizeMs_ = value; + } + } + /// Gets whether the "frame_size_ms" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrameSizeMs { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "frame_size_ms" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrameSizeMs() { + _hasBits0 &= ~32; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NewAudioStreamRequest); + return Equals(other as AudioStreamFromParticipantRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NewAudioStreamRequest other) { + public bool Equals(AudioStreamFromParticipantRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(RoomHandle, other.RoomHandle)) return false; - if (ParticipantSid != other.ParticipantSid) return false; - if (TrackSid != other.TrackSid) return false; + if (ParticipantHandle != other.ParticipantHandle) return false; if (Type != other.Type) return false; + if (TrackSource != other.TrackSource) return false; + if (SampleRate != other.SampleRate) return false; + if (NumChannels != other.NumChannels) return false; + if (AudioFilterModuleId != other.AudioFilterModuleId) return false; + if (AudioFilterOptions != other.AudioFilterOptions) return false; + if (FrameSizeMs != other.FrameSizeMs) return false; return Equals(_unknownFields, other._unknownFields); } @@ -692,10 +1281,14 @@ public bool Equals(NewAudioStreamRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (roomHandle_ != null) hash ^= RoomHandle.GetHashCode(); - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) hash ^= Type.GetHashCode(); + if (HasParticipantHandle) hash ^= ParticipantHandle.GetHashCode(); + if (HasType) hash ^= Type.GetHashCode(); + if (HasTrackSource) hash ^= TrackSource.GetHashCode(); + if (HasSampleRate) hash ^= SampleRate.GetHashCode(); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (HasAudioFilterModuleId) hash ^= AudioFilterModuleId.GetHashCode(); + if (HasAudioFilterOptions) hash ^= AudioFilterOptions.GetHashCode(); + if (HasFrameSizeMs) hash ^= FrameSizeMs.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -714,21 +1307,37 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ParticipantHandle); } - if (ParticipantSid.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParticipantSid); + if (HasType) { + output.WriteRawTag(16); + output.WriteEnum((int) Type); } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); + if (HasTrackSource) { + output.WriteRawTag(24); + output.WriteEnum((int) TrackSource); } - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - output.WriteRawTag(32); - output.WriteEnum((int) Type); + if (HasSampleRate) { + output.WriteRawTag(40); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(48); + output.WriteUInt32(NumChannels); + } + if (HasAudioFilterModuleId) { + output.WriteRawTag(58); + output.WriteString(AudioFilterModuleId); + } + if (HasAudioFilterOptions) { + output.WriteRawTag(66); + output.WriteString(AudioFilterOptions); + } + if (HasFrameSizeMs) { + output.WriteRawTag(72); + output.WriteUInt32(FrameSizeMs); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -740,21 +1349,37 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ParticipantHandle); } - if (ParticipantSid.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParticipantSid); + if (HasType) { + output.WriteRawTag(16); + output.WriteEnum((int) Type); } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); + if (HasTrackSource) { + output.WriteRawTag(24); + output.WriteEnum((int) TrackSource); } - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - output.WriteRawTag(32); - output.WriteEnum((int) Type); + if (HasSampleRate) { + output.WriteRawTag(40); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(48); + output.WriteUInt32(NumChannels); + } + if (HasAudioFilterModuleId) { + output.WriteRawTag(58); + output.WriteString(AudioFilterModuleId); + } + if (HasAudioFilterOptions) { + output.WriteRawTag(66); + output.WriteString(AudioFilterOptions); + } + if (HasFrameSizeMs) { + output.WriteRawTag(72); + output.WriteUInt32(FrameSizeMs); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -766,17 +1391,29 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (roomHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomHandle); + if (HasParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ParticipantHandle); + } + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); } - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasTrackSource) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TrackSource); } - if (TrackSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + if (HasSampleRate) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); } - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + if (HasNumChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); + } + if (HasAudioFilterModuleId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(AudioFilterModuleId); + } + if (HasAudioFilterOptions) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(AudioFilterOptions); + } + if (HasFrameSizeMs) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameSizeMs); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -786,24 +1423,33 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NewAudioStreamRequest other) { + public void MergeFrom(AudioStreamFromParticipantRequest other) { if (other == null) { return; } - if (other.roomHandle_ != null) { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - RoomHandle.MergeFrom(other.RoomHandle); + if (other.HasParticipantHandle) { + ParticipantHandle = other.ParticipantHandle; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasType) { + Type = other.Type; } - if (other.TrackSid.Length != 0) { - TrackSid = other.TrackSid; + if (other.HasTrackSource) { + TrackSource = other.TrackSource; } - if (other.Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - Type = other.Type; + if (other.HasSampleRate) { + SampleRate = other.SampleRate; + } + if (other.HasNumChannels) { + NumChannels = other.NumChannels; + } + if (other.HasAudioFilterModuleId) { + AudioFilterModuleId = other.AudioFilterModuleId; + } + if (other.HasAudioFilterOptions) { + AudioFilterOptions = other.AudioFilterOptions; + } + if (other.HasFrameSizeMs) { + FrameSizeMs = other.FrameSizeMs; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -816,27 +1462,44 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + ParticipantHandle = input.ReadUInt64(); break; } - case 18: { - ParticipantSid = input.ReadString(); + case 16: { + Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); break; } - case 26: { - TrackSid = input.ReadString(); + case 24: { + TrackSource = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); break; } - case 32: { - Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); + case 40: { + SampleRate = input.ReadUInt32(); + break; + } + case 48: { + NumChannels = input.ReadUInt32(); + break; + } + case 58: { + AudioFilterModuleId = input.ReadString(); + break; + } + case 66: { + AudioFilterOptions = input.ReadString(); + break; + } + case 72: { + FrameSizeMs = input.ReadUInt32(); break; } } @@ -850,27 +1513,44 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + ParticipantHandle = input.ReadUInt64(); break; } - case 18: { - ParticipantSid = input.ReadString(); + case 16: { + Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); break; } - case 26: { - TrackSid = input.ReadString(); + case 24: { + TrackSource = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); break; } - case 32: { - Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); + case 40: { + SampleRate = input.ReadUInt32(); + break; + } + case 48: { + NumChannels = input.ReadUInt32(); + break; + } + case 58: { + AudioFilterModuleId = input.ReadString(); + break; + } + case 66: { + AudioFilterOptions = input.ReadString(); + break; + } + case 72: { + FrameSizeMs = input.ReadUInt32(); break; } } @@ -880,16 +1560,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class NewAudioStreamResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioStreamFromParticipantResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioStreamResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioStreamFromParticipantResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -905,7 +1586,7 @@ public sealed partial class NewAudioStreamResponse : pb::IMessageField number for the "stream" field. public const int StreamFieldNumber = 1; - private global::LiveKit.Proto.AudioStreamInfo stream_; + private global::LiveKit.Proto.OwnedAudioStream stream_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioStreamInfo Stream { + public global::LiveKit.Proto.OwnedAudioStream Stream { get { return stream_; } set { stream_ = value; @@ -939,12 +1620,12 @@ public NewAudioStreamResponse Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NewAudioStreamResponse); + return Equals(other as AudioStreamFromParticipantResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NewAudioStreamResponse other) { + public bool Equals(AudioStreamFromParticipantResponse other) { if (ReferenceEquals(other, null)) { return false; } @@ -1017,13 +1698,13 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NewAudioStreamResponse other) { + public void MergeFrom(AudioStreamFromParticipantResponse other) { if (other == null) { return; } if (other.stream_ != null) { if (stream_ == null) { - Stream = new global::LiveKit.Proto.AudioStreamInfo(); + Stream = new global::LiveKit.Proto.OwnedAudioStream(); } Stream.MergeFrom(other.Stream); } @@ -1038,13 +1719,17 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (stream_ == null) { - Stream = new global::LiveKit.Proto.AudioStreamInfo(); + Stream = new global::LiveKit.Proto.OwnedAudioStream(); } input.ReadMessage(Stream); break; @@ -1060,13 +1745,17 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (stream_ == null) { - Stream = new global::LiveKit.Proto.AudioStreamInfo(); + Stream = new global::LiveKit.Proto.OwnedAudioStream(); } input.ReadMessage(Stream); break; @@ -1081,6 +1770,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Create a new AudioSource /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class NewAudioSourceRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1088,6 +1778,7 @@ public sealed partial class NewAudioSourceRequest : pb::IMessage _parser = new pb::MessageParser(() => new NewAudioSourceRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1115,7 +1806,12 @@ public NewAudioSourceRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public NewAudioSourceRequest(NewAudioSourceRequest other) : this() { + _hasBits0 = other._hasBits0; type_ = other.type_; + options_ = other.options_ != null ? other.options_.Clone() : null; + sampleRate_ = other.sampleRate_; + numChannels_ = other.numChannels_; + queueSizeMs_ = other.queueSizeMs_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1127,62 +1823,194 @@ public NewAudioSourceRequest Clone() { /// Field number for the "type" field. public const int TypeFieldNumber = 1; - private global::LiveKit.Proto.AudioSourceType type_ = global::LiveKit.Proto.AudioSourceType.AudioSourceNative; + private readonly static global::LiveKit.Proto.AudioSourceType TypeDefaultValue = global::LiveKit.Proto.AudioSourceType.AudioSourceNative; + + private global::LiveKit.Proto.AudioSourceType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.AudioSourceType Type { - get { return type_; } + get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } } set { + _hasBits0 |= 1; type_ = value; } } - + /// Gets whether the "type" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as NewAudioSourceRequest); + public bool HasType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~1; } + /// Field number for the "options" field. + public const int OptionsFieldNumber = 2; + private global::LiveKit.Proto.AudioSourceOptions options_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NewAudioSourceRequest other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; + public global::LiveKit.Proto.AudioSourceOptions Options { + get { return options_; } + set { + options_ = value; } - if (Type != other.Type) return false; - return Equals(_unknownFields, other._unknownFields); } + /// Field number for the "sample_rate" field. + public const int SampleRateFieldNumber = 3; + private readonly static uint SampleRateDefaultValue = 0; + + private uint sampleRate_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) hash ^= Type.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); + public uint SampleRate { + get { if ((_hasBits0 & 2) != 0) { return sampleRate_; } else { return SampleRateDefaultValue; } } + set { + _hasBits0 |= 2; + sampleRate_ = value; } - return hash; } - + /// Gets whether the "sample_rate" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); + public bool HasSampleRate { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "sample_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSampleRate() { + _hasBits0 &= ~2; } + /// Field number for the "num_channels" field. + public const int NumChannelsFieldNumber = 4; + private readonly static uint NumChannelsDefaultValue = 0; + + private uint numChannels_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { - output.WriteRawTag(8); + public uint NumChannels { + get { if ((_hasBits0 & 4) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } + set { + _hasBits0 |= 4; + numChannels_ = value; + } + } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~4; + } + + /// Field number for the "queue_size_ms" field. + public const int QueueSizeMsFieldNumber = 5; + private readonly static uint QueueSizeMsDefaultValue = 0; + + private uint queueSizeMs_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint QueueSizeMs { + get { if ((_hasBits0 & 8) != 0) { return queueSizeMs_; } else { return QueueSizeMsDefaultValue; } } + set { + _hasBits0 |= 8; + queueSizeMs_ = value; + } + } + /// Gets whether the "queue_size_ms" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQueueSizeMs { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "queue_size_ms" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQueueSizeMs() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NewAudioSourceRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NewAudioSourceRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Type != other.Type) return false; + if (!object.Equals(Options, other.Options)) return false; + if (SampleRate != other.SampleRate) return false; + if (NumChannels != other.NumChannels) return false; + if (QueueSizeMs != other.QueueSizeMs) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasType) hash ^= Type.GetHashCode(); + if (options_ != null) hash ^= Options.GetHashCode(); + if (HasSampleRate) hash ^= SampleRate.GetHashCode(); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (HasQueueSizeMs) hash ^= QueueSizeMs.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasType) { + output.WriteRawTag(8); output.WriteEnum((int) Type); } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (HasSampleRate) { + output.WriteRawTag(24); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(32); + output.WriteUInt32(NumChannels); + } + if (HasQueueSizeMs) { + output.WriteRawTag(40); + output.WriteUInt32(QueueSizeMs); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1193,10 +2021,26 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { + if (HasType) { output.WriteRawTag(8); output.WriteEnum((int) Type); } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (HasSampleRate) { + output.WriteRawTag(24); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(32); + output.WriteUInt32(NumChannels); + } + if (HasQueueSizeMs) { + output.WriteRawTag(40); + output.WriteUInt32(QueueSizeMs); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1207,9 +2051,21 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { + if (HasType) { size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); } + if (options_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); + } + if (HasSampleRate) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); + } + if (HasNumChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); + } + if (HasQueueSizeMs) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(QueueSizeMs); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1222,9 +2078,24 @@ public void MergeFrom(NewAudioSourceRequest other) { if (other == null) { return; } - if (other.Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { + if (other.HasType) { Type = other.Type; } + if (other.options_ != null) { + if (options_ == null) { + Options = new global::LiveKit.Proto.AudioSourceOptions(); + } + Options.MergeFrom(other.Options); + } + if (other.HasSampleRate) { + SampleRate = other.SampleRate; + } + if (other.HasNumChannels) { + NumChannels = other.NumChannels; + } + if (other.HasQueueSizeMs) { + QueueSizeMs = other.QueueSizeMs; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1236,7 +2107,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1244,6 +2119,25 @@ public void MergeFrom(pb::CodedInputStream input) { Type = (global::LiveKit.Proto.AudioSourceType) input.ReadEnum(); break; } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.AudioSourceOptions(); + } + input.ReadMessage(Options); + break; + } + case 24: { + SampleRate = input.ReadUInt32(); + break; + } + case 32: { + NumChannels = input.ReadUInt32(); + break; + } + case 40: { + QueueSizeMs = input.ReadUInt32(); + break; + } } } #endif @@ -1255,7 +2149,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1263,6 +2161,25 @@ public void MergeFrom(pb::CodedInputStream input) { Type = (global::LiveKit.Proto.AudioSourceType) input.ReadEnum(); break; } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.AudioSourceOptions(); + } + input.ReadMessage(Options); + break; + } + case 24: { + SampleRate = input.ReadUInt32(); + break; + } + case 32: { + NumChannels = input.ReadUInt32(); + break; + } + case 40: { + QueueSizeMs = input.ReadUInt32(); + break; + } } } } @@ -1270,6 +2187,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class NewAudioSourceResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1316,10 +2234,10 @@ public NewAudioSourceResponse Clone() { /// Field number for the "source" field. public const int SourceFieldNumber = 1; - private global::LiveKit.Proto.AudioSourceInfo source_; + private global::LiveKit.Proto.OwnedAudioSource source_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioSourceInfo Source { + public global::LiveKit.Proto.OwnedAudioSource Source { get { return source_; } set { source_ = value; @@ -1413,7 +2331,7 @@ public void MergeFrom(NewAudioSourceResponse other) { } if (other.source_ != null) { if (source_ == null) { - Source = new global::LiveKit.Proto.AudioSourceInfo(); + Source = new global::LiveKit.Proto.OwnedAudioSource(); } Source.MergeFrom(other.Source); } @@ -1428,13 +2346,17 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (source_ == null) { - Source = new global::LiveKit.Proto.AudioSourceInfo(); + Source = new global::LiveKit.Proto.OwnedAudioSource(); } input.ReadMessage(Source); break; @@ -1450,13 +2372,17 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (source_ == null) { - Source = new global::LiveKit.Proto.AudioSourceInfo(); + Source = new global::LiveKit.Proto.OwnedAudioSource(); } input.ReadMessage(Source); break; @@ -1470,7 +2396,9 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Push a frame to an AudioSource + /// The data provided must be available as long as the client receive the callback. /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class CaptureAudioFrameRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1478,6 +2406,7 @@ public sealed partial class CaptureAudioFrameRequest : pb::IMessage _parser = new pb::MessageParser(() => new CaptureAudioFrameRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1505,8 +2434,9 @@ public CaptureAudioFrameRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public CaptureAudioFrameRequest(CaptureAudioFrameRequest other) : this() { - sourceHandle_ = other.sourceHandle_ != null ? other.sourceHandle_.Clone() : null; - bufferHandle_ = other.bufferHandle_ != null ? other.bufferHandle_.Clone() : null; + _hasBits0 = other._hasBits0; + sourceHandle_ = other.sourceHandle_; + buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1518,25 +2448,40 @@ public CaptureAudioFrameRequest Clone() { /// Field number for the "source_handle" field. public const int SourceHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId sourceHandle_; + private readonly static ulong SourceHandleDefaultValue = 0UL; + + private ulong sourceHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId SourceHandle { - get { return sourceHandle_; } + public ulong SourceHandle { + get { if ((_hasBits0 & 1) != 0) { return sourceHandle_; } else { return SourceHandleDefaultValue; } } set { + _hasBits0 |= 1; sourceHandle_ = value; } } + /// Gets whether the "source_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSourceHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "source_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSourceHandle() { + _hasBits0 &= ~1; + } - /// Field number for the "buffer_handle" field. - public const int BufferHandleFieldNumber = 2; - private global::LiveKit.Proto.FFIHandleId bufferHandle_; + /// Field number for the "buffer" field. + public const int BufferFieldNumber = 2; + private global::LiveKit.Proto.AudioFrameBufferInfo buffer_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId BufferHandle { - get { return bufferHandle_; } + public global::LiveKit.Proto.AudioFrameBufferInfo Buffer { + get { return buffer_; } set { - bufferHandle_ = value; + buffer_ = value; } } @@ -1555,8 +2500,8 @@ public bool Equals(CaptureAudioFrameRequest other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(SourceHandle, other.SourceHandle)) return false; - if (!object.Equals(BufferHandle, other.BufferHandle)) return false; + if (SourceHandle != other.SourceHandle) return false; + if (!object.Equals(Buffer, other.Buffer)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1564,8 +2509,8 @@ public bool Equals(CaptureAudioFrameRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (sourceHandle_ != null) hash ^= SourceHandle.GetHashCode(); - if (bufferHandle_ != null) hash ^= BufferHandle.GetHashCode(); + if (HasSourceHandle) hash ^= SourceHandle.GetHashCode(); + if (buffer_ != null) hash ^= Buffer.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1584,13 +2529,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (sourceHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(SourceHandle); + if (HasSourceHandle) { + output.WriteRawTag(8); + output.WriteUInt64(SourceHandle); } - if (bufferHandle_ != null) { + if (buffer_ != null) { output.WriteRawTag(18); - output.WriteMessage(BufferHandle); + output.WriteMessage(Buffer); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1602,13 +2547,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (sourceHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(SourceHandle); + if (HasSourceHandle) { + output.WriteRawTag(8); + output.WriteUInt64(SourceHandle); } - if (bufferHandle_ != null) { + if (buffer_ != null) { output.WriteRawTag(18); - output.WriteMessage(BufferHandle); + output.WriteMessage(Buffer); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1620,11 +2565,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (sourceHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceHandle); + if (HasSourceHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceHandle); } - if (bufferHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(BufferHandle); + if (buffer_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1638,17 +2583,14 @@ public void MergeFrom(CaptureAudioFrameRequest other) { if (other == null) { return; } - if (other.sourceHandle_ != null) { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - SourceHandle.MergeFrom(other.SourceHandle); + if (other.HasSourceHandle) { + SourceHandle = other.SourceHandle; } - if (other.bufferHandle_ != null) { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); + if (other.buffer_ != null) { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); } - BufferHandle.MergeFrom(other.BufferHandle); + Buffer.MergeFrom(other.Buffer); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1661,22 +2603,23 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 8: { + SourceHandle = input.ReadUInt64(); break; } case 18: { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); } - input.ReadMessage(BufferHandle); + input.ReadMessage(Buffer); break; } } @@ -1690,22 +2633,23 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 8: { + SourceHandle = input.ReadUInt64(); break; } case 18: { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); } - input.ReadMessage(BufferHandle); + input.ReadMessage(Buffer); break; } } @@ -1715,6 +2659,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class CaptureAudioFrameResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1722,6 +2667,7 @@ public sealed partial class CaptureAudioFrameResponse : pb::IMessage _parser = new pb::MessageParser(() => new CaptureAudioFrameResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1749,6 +2695,8 @@ public CaptureAudioFrameResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public CaptureAudioFrameResponse(CaptureAudioFrameResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1758,6 +2706,33 @@ public CaptureAudioFrameResponse Clone() { return new CaptureAudioFrameResponse(this); } + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -1773,6 +2748,7 @@ public bool Equals(CaptureAudioFrameResponse other) { if (ReferenceEquals(other, this)) { return true; } + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1780,6 +2756,7 @@ public bool Equals(CaptureAudioFrameResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1798,6 +2775,10 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1808,6 +2789,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1818,6 +2803,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1830,6 +2818,9 @@ public void MergeFrom(CaptureAudioFrameResponse other) { if (other == null) { return; } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1841,10 +2832,18 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } } } #endif @@ -1856,10 +2855,18 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } } } } @@ -1867,19 +2874,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Create a new AudioResampler - /// - public sealed partial class NewAudioResamplerRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CaptureAudioFrameCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioResamplerRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CaptureAudioFrameCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1895,7 +2901,7 @@ public sealed partial class NewAudioResamplerRequest : pb::IMessageField number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NewAudioResamplerRequest); + return Equals(other as CaptureAudioFrameCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NewAudioResamplerRequest other) { + public bool Equals(CaptureAudioFrameCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1935,6 +2999,8 @@ public bool Equals(NewAudioResamplerRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1953,8 +3019,16 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); } #endif } @@ -1963,6 +3037,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1973,6 +3055,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1981,10 +3069,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NewAudioResamplerRequest other) { + public void MergeFrom(CaptureAudioFrameCallback other) { if (other == null) { return; } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasError) { + Error = other.Error; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1996,10 +3090,22 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } } } #endif @@ -2011,10 +3117,22 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } } } } @@ -2022,16 +3140,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class NewAudioResamplerResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ClearAudioBufferRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioResamplerResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ClearAudioBufferRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2047,7 +3167,7 @@ public sealed partial class NewAudioResamplerResponse : pb::IMessageField number for the "handle" field. - public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; + /// Field number for the "source_handle" field. + public const int SourceHandleFieldNumber = 1; + private readonly static ulong SourceHandleDefaultValue = 0UL; + + private ulong sourceHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { - get { return handle_; } + public ulong SourceHandle { + get { if ((_hasBits0 & 1) != 0) { return sourceHandle_; } else { return SourceHandleDefaultValue; } } set { - handle_ = value; + _hasBits0 |= 1; + sourceHandle_ = value; } } + /// Gets whether the "source_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSourceHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "source_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSourceHandle() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NewAudioResamplerResponse); + return Equals(other as ClearAudioBufferRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NewAudioResamplerResponse other) { + public bool Equals(ClearAudioBufferRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Handle, other.Handle)) return false; + if (SourceHandle != other.SourceHandle) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2101,7 +3237,7 @@ public bool Equals(NewAudioResamplerResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (handle_ != null) hash ^= Handle.GetHashCode(); + if (HasSourceHandle) hash ^= SourceHandle.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2120,9 +3256,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); + if (HasSourceHandle) { + output.WriteRawTag(8); + output.WriteUInt64(SourceHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -2134,9 +3270,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); + if (HasSourceHandle) { + output.WriteRawTag(8); + output.WriteUInt64(SourceHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -2148,8 +3284,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + if (HasSourceHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceHandle); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -2159,15 +3295,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NewAudioResamplerResponse other) { + public void MergeFrom(ClearAudioBufferRequest other) { if (other == null) { return; } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); + if (other.HasSourceHandle) { + SourceHandle = other.SourceHandle; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2180,15 +3313,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + case 8: { + SourceHandle = input.ReadUInt64(); break; } } @@ -2202,15 +3336,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + case 8: { + SourceHandle = input.ReadUInt64(); break; } } @@ -2220,19 +3355,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Remix and resample an audio frame - /// - public sealed partial class RemixAndResampleRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ClearAudioBufferResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemixAndResampleRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ClearAudioBufferResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2248,7 +3381,7 @@ public sealed partial class RemixAndResampleRequest : pb::IMessageField number for the "resampler_handle" field. - public const int ResamplerHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId resamplerHandle_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId ResamplerHandle { - get { return resamplerHandle_; } - set { - resamplerHandle_ = value; - } - } - - /// Field number for the "buffer_handle" field. - public const int BufferHandleFieldNumber = 2; - private global::LiveKit.Proto.FFIHandleId bufferHandle_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId BufferHandle { - get { return bufferHandle_; } - set { - bufferHandle_ = value; - } - } - - /// Field number for the "num_channels" field. - public const int NumChannelsFieldNumber = 3; - private uint numChannels_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint NumChannels { - get { return numChannels_; } - set { - numChannels_ = value; - } - } - - /// Field number for the "sample_rate" field. - public const int SampleRateFieldNumber = 4; - private uint sampleRate_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint SampleRate { - get { return sampleRate_; } - set { - sampleRate_ = value; - } + public ClearAudioBufferResponse Clone() { + return new ClearAudioBufferResponse(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as RemixAndResampleRequest); + return Equals(other as ClearAudioBufferResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RemixAndResampleRequest other) { + public bool Equals(ClearAudioBufferResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(ResamplerHandle, other.ResamplerHandle)) return false; - if (!object.Equals(BufferHandle, other.BufferHandle)) return false; - if (NumChannels != other.NumChannels) return false; - if (SampleRate != other.SampleRate) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2344,10 +3421,6 @@ public bool Equals(RemixAndResampleRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (resamplerHandle_ != null) hash ^= ResamplerHandle.GetHashCode(); - if (bufferHandle_ != null) hash ^= BufferHandle.GetHashCode(); - if (NumChannels != 0) hash ^= NumChannels.GetHashCode(); - if (SampleRate != 0) hash ^= SampleRate.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2366,22 +3439,6 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (resamplerHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ResamplerHandle); - } - if (bufferHandle_ != null) { - output.WriteRawTag(18); - output.WriteMessage(BufferHandle); - } - if (NumChannels != 0) { - output.WriteRawTag(24); - output.WriteUInt32(NumChannels); - } - if (SampleRate != 0) { - output.WriteRawTag(32); - output.WriteUInt32(SampleRate); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -2392,22 +3449,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (resamplerHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(ResamplerHandle); - } - if (bufferHandle_ != null) { - output.WriteRawTag(18); - output.WriteMessage(BufferHandle); - } - if (NumChannels != 0) { - output.WriteRawTag(24); - output.WriteUInt32(NumChannels); - } - if (SampleRate != 0) { - output.WriteRawTag(32); - output.WriteUInt32(SampleRate); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2418,18 +3459,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (resamplerHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResamplerHandle); - } - if (bufferHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(BufferHandle); - } - if (NumChannels != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); - } - if (SampleRate != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2438,28 +3467,10 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(RemixAndResampleRequest other) { + public void MergeFrom(ClearAudioBufferResponse other) { if (other == null) { return; } - if (other.resamplerHandle_ != null) { - if (resamplerHandle_ == null) { - ResamplerHandle = new global::LiveKit.Proto.FFIHandleId(); - } - ResamplerHandle.MergeFrom(other.ResamplerHandle); - } - if (other.bufferHandle_ != null) { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); - } - BufferHandle.MergeFrom(other.BufferHandle); - } - if (other.NumChannels != 0) { - NumChannels = other.NumChannels; - } - if (other.SampleRate != 0) { - SampleRate = other.SampleRate; - } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2471,32 +3482,14 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (resamplerHandle_ == null) { - ResamplerHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(ResamplerHandle); - break; - } - case 18: { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(BufferHandle); - break; - } - case 24: { - NumChannels = input.ReadUInt32(); - break; - } - case 32: { - SampleRate = input.ReadUInt32(); - break; - } } } #endif @@ -2508,32 +3501,14 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (resamplerHandle_ == null) { - ResamplerHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(ResamplerHandle); - break; - } - case 18: { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(BufferHandle); - break; - } - case 24: { - NumChannels = input.ReadUInt32(); - break; - } - case 32: { - SampleRate = input.ReadUInt32(); - break; - } } } } @@ -2541,16 +3516,20 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class RemixAndResampleResponse : pb::IMessage + /// + /// Create a new AudioResampler + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewAudioResamplerRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemixAndResampleResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioResamplerRequest()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2566,7 +3545,7 @@ public sealed partial class RemixAndResampleResponse : pb::IMessageField number for the "buffer" field. - public const int BufferFieldNumber = 1; - private global::LiveKit.Proto.AudioFrameBufferInfo buffer_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioFrameBufferInfo Buffer { - get { return buffer_; } - set { - buffer_ = value; - } + public NewAudioResamplerRequest Clone() { + return new NewAudioResamplerRequest(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as RemixAndResampleResponse); + return Equals(other as NewAudioResamplerRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RemixAndResampleResponse other) { + public bool Equals(NewAudioResamplerRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Buffer, other.Buffer)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2620,7 +3585,6 @@ public bool Equals(RemixAndResampleResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (buffer_ != null) hash ^= Buffer.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2639,10 +3603,6 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (buffer_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Buffer); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -2653,10 +3613,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (buffer_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Buffer); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2667,9 +3623,768 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (buffer_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); - } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NewAudioResamplerRequest other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewAudioResamplerResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewAudioResamplerResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[12]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewAudioResamplerResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewAudioResamplerResponse(NewAudioResamplerResponse other) : this() { + resampler_ = other.resampler_ != null ? other.resampler_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewAudioResamplerResponse Clone() { + return new NewAudioResamplerResponse(this); + } + + /// Field number for the "resampler" field. + public const int ResamplerFieldNumber = 1; + private global::LiveKit.Proto.OwnedAudioResampler resampler_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedAudioResampler Resampler { + get { return resampler_; } + set { + resampler_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NewAudioResamplerResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NewAudioResamplerResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Resampler, other.Resampler)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (resampler_ != null) hash ^= Resampler.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (resampler_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Resampler); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (resampler_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Resampler); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (resampler_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Resampler); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NewAudioResamplerResponse other) { + if (other == null) { + return; + } + if (other.resampler_ != null) { + if (resampler_ == null) { + Resampler = new global::LiveKit.Proto.OwnedAudioResampler(); + } + Resampler.MergeFrom(other.Resampler); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (resampler_ == null) { + Resampler = new global::LiveKit.Proto.OwnedAudioResampler(); + } + input.ReadMessage(Resampler); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (resampler_ == null) { + Resampler = new global::LiveKit.Proto.OwnedAudioResampler(); + } + input.ReadMessage(Resampler); + break; + } + } + } + } + #endif + + } + + /// + /// Remix and resample an audio frame + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RemixAndResampleRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemixAndResampleRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[13]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemixAndResampleRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemixAndResampleRequest(RemixAndResampleRequest other) : this() { + _hasBits0 = other._hasBits0; + resamplerHandle_ = other.resamplerHandle_; + buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; + numChannels_ = other.numChannels_; + sampleRate_ = other.sampleRate_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemixAndResampleRequest Clone() { + return new RemixAndResampleRequest(this); + } + + /// Field number for the "resampler_handle" field. + public const int ResamplerHandleFieldNumber = 1; + private readonly static ulong ResamplerHandleDefaultValue = 0UL; + + private ulong resamplerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ResamplerHandle { + get { if ((_hasBits0 & 1) != 0) { return resamplerHandle_; } else { return ResamplerHandleDefaultValue; } } + set { + _hasBits0 |= 1; + resamplerHandle_ = value; + } + } + /// Gets whether the "resampler_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasResamplerHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "resampler_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResamplerHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "buffer" field. + public const int BufferFieldNumber = 2; + private global::LiveKit.Proto.AudioFrameBufferInfo buffer_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioFrameBufferInfo Buffer { + get { return buffer_; } + set { + buffer_ = value; + } + } + + /// Field number for the "num_channels" field. + public const int NumChannelsFieldNumber = 3; + private readonly static uint NumChannelsDefaultValue = 0; + + private uint numChannels_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NumChannels { + get { if ((_hasBits0 & 2) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } + set { + _hasBits0 |= 2; + numChannels_ = value; + } + } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~2; + } + + /// Field number for the "sample_rate" field. + public const int SampleRateFieldNumber = 4; + private readonly static uint SampleRateDefaultValue = 0; + + private uint sampleRate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint SampleRate { + get { if ((_hasBits0 & 4) != 0) { return sampleRate_; } else { return SampleRateDefaultValue; } } + set { + _hasBits0 |= 4; + sampleRate_ = value; + } + } + /// Gets whether the "sample_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSampleRate { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "sample_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSampleRate() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RemixAndResampleRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RemixAndResampleRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ResamplerHandle != other.ResamplerHandle) return false; + if (!object.Equals(Buffer, other.Buffer)) return false; + if (NumChannels != other.NumChannels) return false; + if (SampleRate != other.SampleRate) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasResamplerHandle) hash ^= ResamplerHandle.GetHashCode(); + if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (HasSampleRate) hash ^= SampleRate.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasResamplerHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ResamplerHandle); + } + if (buffer_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Buffer); + } + if (HasNumChannels) { + output.WriteRawTag(24); + output.WriteUInt32(NumChannels); + } + if (HasSampleRate) { + output.WriteRawTag(32); + output.WriteUInt32(SampleRate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasResamplerHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ResamplerHandle); + } + if (buffer_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Buffer); + } + if (HasNumChannels) { + output.WriteRawTag(24); + output.WriteUInt32(NumChannels); + } + if (HasSampleRate) { + output.WriteRawTag(32); + output.WriteUInt32(SampleRate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasResamplerHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ResamplerHandle); + } + if (buffer_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); + } + if (HasNumChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); + } + if (HasSampleRate) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RemixAndResampleRequest other) { + if (other == null) { + return; + } + if (other.HasResamplerHandle) { + ResamplerHandle = other.ResamplerHandle; + } + if (other.buffer_ != null) { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + } + Buffer.MergeFrom(other.Buffer); + } + if (other.HasNumChannels) { + NumChannels = other.NumChannels; + } + if (other.HasSampleRate) { + SampleRate = other.SampleRate; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ResamplerHandle = input.ReadUInt64(); + break; + } + case 18: { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + } + input.ReadMessage(Buffer); + break; + } + case 24: { + NumChannels = input.ReadUInt32(); + break; + } + case 32: { + SampleRate = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ResamplerHandle = input.ReadUInt64(); + break; + } + case 18: { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + } + input.ReadMessage(Buffer); + break; + } + case 24: { + NumChannels = input.ReadUInt32(); + break; + } + case 32: { + SampleRate = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RemixAndResampleResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemixAndResampleResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemixAndResampleResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemixAndResampleResponse(RemixAndResampleResponse other) : this() { + buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemixAndResampleResponse Clone() { + return new RemixAndResampleResponse(this); + } + + /// Field number for the "buffer" field. + public const int BufferFieldNumber = 1; + private global::LiveKit.Proto.OwnedAudioFrameBuffer buffer_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedAudioFrameBuffer Buffer { + get { return buffer_; } + set { + buffer_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RemixAndResampleResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RemixAndResampleResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Buffer, other.Buffer)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (buffer_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Buffer); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (buffer_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Buffer); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (buffer_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2682,11 +4397,7358 @@ public void MergeFrom(RemixAndResampleResponse other) { if (other == null) { return; } - if (other.buffer_ != null) { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + if (other.buffer_ != null) { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.OwnedAudioFrameBuffer(); + } + Buffer.MergeFrom(other.Buffer); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.OwnedAudioFrameBuffer(); + } + input.ReadMessage(Buffer); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.OwnedAudioFrameBuffer(); + } + input.ReadMessage(Buffer); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewApmRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewApmRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[15]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewApmRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewApmRequest(NewApmRequest other) : this() { + _hasBits0 = other._hasBits0; + echoCancellerEnabled_ = other.echoCancellerEnabled_; + gainControllerEnabled_ = other.gainControllerEnabled_; + highPassFilterEnabled_ = other.highPassFilterEnabled_; + noiseSuppressionEnabled_ = other.noiseSuppressionEnabled_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewApmRequest Clone() { + return new NewApmRequest(this); + } + + /// Field number for the "echo_canceller_enabled" field. + public const int EchoCancellerEnabledFieldNumber = 1; + private readonly static bool EchoCancellerEnabledDefaultValue = false; + + private bool echoCancellerEnabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool EchoCancellerEnabled { + get { if ((_hasBits0 & 1) != 0) { return echoCancellerEnabled_; } else { return EchoCancellerEnabledDefaultValue; } } + set { + _hasBits0 |= 1; + echoCancellerEnabled_ = value; + } + } + /// Gets whether the "echo_canceller_enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEchoCancellerEnabled { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "echo_canceller_enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEchoCancellerEnabled() { + _hasBits0 &= ~1; + } + + /// Field number for the "gain_controller_enabled" field. + public const int GainControllerEnabledFieldNumber = 2; + private readonly static bool GainControllerEnabledDefaultValue = false; + + private bool gainControllerEnabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool GainControllerEnabled { + get { if ((_hasBits0 & 2) != 0) { return gainControllerEnabled_; } else { return GainControllerEnabledDefaultValue; } } + set { + _hasBits0 |= 2; + gainControllerEnabled_ = value; + } + } + /// Gets whether the "gain_controller_enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasGainControllerEnabled { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "gain_controller_enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearGainControllerEnabled() { + _hasBits0 &= ~2; + } + + /// Field number for the "high_pass_filter_enabled" field. + public const int HighPassFilterEnabledFieldNumber = 3; + private readonly static bool HighPassFilterEnabledDefaultValue = false; + + private bool highPassFilterEnabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HighPassFilterEnabled { + get { if ((_hasBits0 & 4) != 0) { return highPassFilterEnabled_; } else { return HighPassFilterEnabledDefaultValue; } } + set { + _hasBits0 |= 4; + highPassFilterEnabled_ = value; + } + } + /// Gets whether the "high_pass_filter_enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHighPassFilterEnabled { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "high_pass_filter_enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHighPassFilterEnabled() { + _hasBits0 &= ~4; + } + + /// Field number for the "noise_suppression_enabled" field. + public const int NoiseSuppressionEnabledFieldNumber = 4; + private readonly static bool NoiseSuppressionEnabledDefaultValue = false; + + private bool noiseSuppressionEnabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool NoiseSuppressionEnabled { + get { if ((_hasBits0 & 8) != 0) { return noiseSuppressionEnabled_; } else { return NoiseSuppressionEnabledDefaultValue; } } + set { + _hasBits0 |= 8; + noiseSuppressionEnabled_ = value; + } + } + /// Gets whether the "noise_suppression_enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNoiseSuppressionEnabled { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "noise_suppression_enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNoiseSuppressionEnabled() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NewApmRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NewApmRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (EchoCancellerEnabled != other.EchoCancellerEnabled) return false; + if (GainControllerEnabled != other.GainControllerEnabled) return false; + if (HighPassFilterEnabled != other.HighPassFilterEnabled) return false; + if (NoiseSuppressionEnabled != other.NoiseSuppressionEnabled) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasEchoCancellerEnabled) hash ^= EchoCancellerEnabled.GetHashCode(); + if (HasGainControllerEnabled) hash ^= GainControllerEnabled.GetHashCode(); + if (HasHighPassFilterEnabled) hash ^= HighPassFilterEnabled.GetHashCode(); + if (HasNoiseSuppressionEnabled) hash ^= NoiseSuppressionEnabled.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasEchoCancellerEnabled) { + output.WriteRawTag(8); + output.WriteBool(EchoCancellerEnabled); + } + if (HasGainControllerEnabled) { + output.WriteRawTag(16); + output.WriteBool(GainControllerEnabled); + } + if (HasHighPassFilterEnabled) { + output.WriteRawTag(24); + output.WriteBool(HighPassFilterEnabled); + } + if (HasNoiseSuppressionEnabled) { + output.WriteRawTag(32); + output.WriteBool(NoiseSuppressionEnabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasEchoCancellerEnabled) { + output.WriteRawTag(8); + output.WriteBool(EchoCancellerEnabled); + } + if (HasGainControllerEnabled) { + output.WriteRawTag(16); + output.WriteBool(GainControllerEnabled); + } + if (HasHighPassFilterEnabled) { + output.WriteRawTag(24); + output.WriteBool(HighPassFilterEnabled); + } + if (HasNoiseSuppressionEnabled) { + output.WriteRawTag(32); + output.WriteBool(NoiseSuppressionEnabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasEchoCancellerEnabled) { + size += 1 + 1; + } + if (HasGainControllerEnabled) { + size += 1 + 1; + } + if (HasHighPassFilterEnabled) { + size += 1 + 1; + } + if (HasNoiseSuppressionEnabled) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NewApmRequest other) { + if (other == null) { + return; + } + if (other.HasEchoCancellerEnabled) { + EchoCancellerEnabled = other.EchoCancellerEnabled; + } + if (other.HasGainControllerEnabled) { + GainControllerEnabled = other.GainControllerEnabled; + } + if (other.HasHighPassFilterEnabled) { + HighPassFilterEnabled = other.HighPassFilterEnabled; + } + if (other.HasNoiseSuppressionEnabled) { + NoiseSuppressionEnabled = other.NoiseSuppressionEnabled; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + EchoCancellerEnabled = input.ReadBool(); + break; + } + case 16: { + GainControllerEnabled = input.ReadBool(); + break; + } + case 24: { + HighPassFilterEnabled = input.ReadBool(); + break; + } + case 32: { + NoiseSuppressionEnabled = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + EchoCancellerEnabled = input.ReadBool(); + break; + } + case 16: { + GainControllerEnabled = input.ReadBool(); + break; + } + case 24: { + HighPassFilterEnabled = input.ReadBool(); + break; + } + case 32: { + NoiseSuppressionEnabled = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewApmResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewApmResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[16]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewApmResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewApmResponse(NewApmResponse other) : this() { + apm_ = other.apm_ != null ? other.apm_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewApmResponse Clone() { + return new NewApmResponse(this); + } + + /// Field number for the "apm" field. + public const int ApmFieldNumber = 1; + private global::LiveKit.Proto.OwnedApm apm_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedApm Apm { + get { return apm_; } + set { + apm_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NewApmResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NewApmResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Apm, other.Apm)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (apm_ != null) hash ^= Apm.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (apm_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Apm); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (apm_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Apm); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (apm_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Apm); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NewApmResponse other) { + if (other == null) { + return; + } + if (other.apm_ != null) { + if (apm_ == null) { + Apm = new global::LiveKit.Proto.OwnedApm(); + } + Apm.MergeFrom(other.Apm); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (apm_ == null) { + Apm = new global::LiveKit.Proto.OwnedApm(); + } + input.ReadMessage(Apm); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (apm_ == null) { + Apm = new global::LiveKit.Proto.OwnedApm(); + } + input.ReadMessage(Apm); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ApmProcessStreamRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ApmProcessStreamRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[17]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessStreamRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessStreamRequest(ApmProcessStreamRequest other) : this() { + _hasBits0 = other._hasBits0; + apmHandle_ = other.apmHandle_; + dataPtr_ = other.dataPtr_; + size_ = other.size_; + sampleRate_ = other.sampleRate_; + numChannels_ = other.numChannels_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessStreamRequest Clone() { + return new ApmProcessStreamRequest(this); + } + + /// Field number for the "apm_handle" field. + public const int ApmHandleFieldNumber = 1; + private readonly static ulong ApmHandleDefaultValue = 0UL; + + private ulong apmHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ApmHandle { + get { if ((_hasBits0 & 1) != 0) { return apmHandle_; } else { return ApmHandleDefaultValue; } } + set { + _hasBits0 |= 1; + apmHandle_ = value; + } + } + /// Gets whether the "apm_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasApmHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "apm_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearApmHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 2; + private readonly static ulong DataPtrDefaultValue = 0UL; + + private ulong dataPtr_; + /// + /// *mut i16 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataPtr { + get { if ((_hasBits0 & 2) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } + set { + _hasBits0 |= 2; + dataPtr_ = value; + } + } + /// Gets whether the "data_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataPtr { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "data_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataPtr() { + _hasBits0 &= ~2; + } + + /// Field number for the "size" field. + public const int SizeFieldNumber = 3; + private readonly static uint SizeDefaultValue = 0; + + private uint size_; + /// + /// in bytes + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Size { + get { if ((_hasBits0 & 4) != 0) { return size_; } else { return SizeDefaultValue; } } + set { + _hasBits0 |= 4; + size_ = value; + } + } + /// Gets whether the "size" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSize { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "size" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSize() { + _hasBits0 &= ~4; + } + + /// Field number for the "sample_rate" field. + public const int SampleRateFieldNumber = 4; + private readonly static uint SampleRateDefaultValue = 0; + + private uint sampleRate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint SampleRate { + get { if ((_hasBits0 & 8) != 0) { return sampleRate_; } else { return SampleRateDefaultValue; } } + set { + _hasBits0 |= 8; + sampleRate_ = value; + } + } + /// Gets whether the "sample_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSampleRate { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "sample_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSampleRate() { + _hasBits0 &= ~8; + } + + /// Field number for the "num_channels" field. + public const int NumChannelsFieldNumber = 5; + private readonly static uint NumChannelsDefaultValue = 0; + + private uint numChannels_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NumChannels { + get { if ((_hasBits0 & 16) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } + set { + _hasBits0 |= 16; + numChannels_ = value; + } + } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~16; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ApmProcessStreamRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ApmProcessStreamRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ApmHandle != other.ApmHandle) return false; + if (DataPtr != other.DataPtr) return false; + if (Size != other.Size) return false; + if (SampleRate != other.SampleRate) return false; + if (NumChannels != other.NumChannels) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasApmHandle) hash ^= ApmHandle.GetHashCode(); + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasSize) hash ^= Size.GetHashCode(); + if (HasSampleRate) hash ^= SampleRate.GetHashCode(); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasApmHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ApmHandle); + } + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (HasSampleRate) { + output.WriteRawTag(32); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(40); + output.WriteUInt32(NumChannels); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasApmHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ApmHandle); + } + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (HasSampleRate) { + output.WriteRawTag(32); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(40); + output.WriteUInt32(NumChannels); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasApmHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ApmHandle); + } + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasSize) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Size); + } + if (HasSampleRate) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); + } + if (HasNumChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ApmProcessStreamRequest other) { + if (other == null) { + return; + } + if (other.HasApmHandle) { + ApmHandle = other.ApmHandle; + } + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasSize) { + Size = other.Size; + } + if (other.HasSampleRate) { + SampleRate = other.SampleRate; + } + if (other.HasNumChannels) { + NumChannels = other.NumChannels; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ApmHandle = input.ReadUInt64(); + break; + } + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + case 32: { + SampleRate = input.ReadUInt32(); + break; + } + case 40: { + NumChannels = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ApmHandle = input.ReadUInt64(); + break; + } + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + case 32: { + SampleRate = input.ReadUInt32(); + break; + } + case 40: { + NumChannels = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ApmProcessStreamResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ApmProcessStreamResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[18]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessStreamResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessStreamResponse(ApmProcessStreamResponse other) : this() { + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessStreamResponse Clone() { + return new ApmProcessStreamResponse(this); + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ApmProcessStreamResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ApmProcessStreamResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ApmProcessStreamResponse other) { + if (other == null) { + return; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ApmProcessReverseStreamRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ApmProcessReverseStreamRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[19]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessReverseStreamRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessReverseStreamRequest(ApmProcessReverseStreamRequest other) : this() { + _hasBits0 = other._hasBits0; + apmHandle_ = other.apmHandle_; + dataPtr_ = other.dataPtr_; + size_ = other.size_; + sampleRate_ = other.sampleRate_; + numChannels_ = other.numChannels_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessReverseStreamRequest Clone() { + return new ApmProcessReverseStreamRequest(this); + } + + /// Field number for the "apm_handle" field. + public const int ApmHandleFieldNumber = 1; + private readonly static ulong ApmHandleDefaultValue = 0UL; + + private ulong apmHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ApmHandle { + get { if ((_hasBits0 & 1) != 0) { return apmHandle_; } else { return ApmHandleDefaultValue; } } + set { + _hasBits0 |= 1; + apmHandle_ = value; + } + } + /// Gets whether the "apm_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasApmHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "apm_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearApmHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 2; + private readonly static ulong DataPtrDefaultValue = 0UL; + + private ulong dataPtr_; + /// + /// *mut i16 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataPtr { + get { if ((_hasBits0 & 2) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } + set { + _hasBits0 |= 2; + dataPtr_ = value; + } + } + /// Gets whether the "data_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataPtr { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "data_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataPtr() { + _hasBits0 &= ~2; + } + + /// Field number for the "size" field. + public const int SizeFieldNumber = 3; + private readonly static uint SizeDefaultValue = 0; + + private uint size_; + /// + /// in bytes + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Size { + get { if ((_hasBits0 & 4) != 0) { return size_; } else { return SizeDefaultValue; } } + set { + _hasBits0 |= 4; + size_ = value; + } + } + /// Gets whether the "size" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSize { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "size" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSize() { + _hasBits0 &= ~4; + } + + /// Field number for the "sample_rate" field. + public const int SampleRateFieldNumber = 4; + private readonly static uint SampleRateDefaultValue = 0; + + private uint sampleRate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint SampleRate { + get { if ((_hasBits0 & 8) != 0) { return sampleRate_; } else { return SampleRateDefaultValue; } } + set { + _hasBits0 |= 8; + sampleRate_ = value; + } + } + /// Gets whether the "sample_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSampleRate { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "sample_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSampleRate() { + _hasBits0 &= ~8; + } + + /// Field number for the "num_channels" field. + public const int NumChannelsFieldNumber = 5; + private readonly static uint NumChannelsDefaultValue = 0; + + private uint numChannels_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NumChannels { + get { if ((_hasBits0 & 16) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } + set { + _hasBits0 |= 16; + numChannels_ = value; + } + } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~16; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ApmProcessReverseStreamRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ApmProcessReverseStreamRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ApmHandle != other.ApmHandle) return false; + if (DataPtr != other.DataPtr) return false; + if (Size != other.Size) return false; + if (SampleRate != other.SampleRate) return false; + if (NumChannels != other.NumChannels) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasApmHandle) hash ^= ApmHandle.GetHashCode(); + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasSize) hash ^= Size.GetHashCode(); + if (HasSampleRate) hash ^= SampleRate.GetHashCode(); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasApmHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ApmHandle); + } + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (HasSampleRate) { + output.WriteRawTag(32); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(40); + output.WriteUInt32(NumChannels); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasApmHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ApmHandle); + } + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (HasSampleRate) { + output.WriteRawTag(32); + output.WriteUInt32(SampleRate); + } + if (HasNumChannels) { + output.WriteRawTag(40); + output.WriteUInt32(NumChannels); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasApmHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ApmHandle); + } + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasSize) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Size); + } + if (HasSampleRate) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); + } + if (HasNumChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ApmProcessReverseStreamRequest other) { + if (other == null) { + return; + } + if (other.HasApmHandle) { + ApmHandle = other.ApmHandle; + } + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasSize) { + Size = other.Size; + } + if (other.HasSampleRate) { + SampleRate = other.SampleRate; + } + if (other.HasNumChannels) { + NumChannels = other.NumChannels; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ApmHandle = input.ReadUInt64(); + break; + } + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + case 32: { + SampleRate = input.ReadUInt32(); + break; + } + case 40: { + NumChannels = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ApmHandle = input.ReadUInt64(); + break; + } + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + case 32: { + SampleRate = input.ReadUInt32(); + break; + } + case 40: { + NumChannels = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ApmProcessReverseStreamResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ApmProcessReverseStreamResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[20]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessReverseStreamResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessReverseStreamResponse(ApmProcessReverseStreamResponse other) : this() { + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmProcessReverseStreamResponse Clone() { + return new ApmProcessReverseStreamResponse(this); + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ApmProcessReverseStreamResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ApmProcessReverseStreamResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ApmProcessReverseStreamResponse other) { + if (other == null) { + return; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ApmSetStreamDelayRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ApmSetStreamDelayRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[21]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmSetStreamDelayRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmSetStreamDelayRequest(ApmSetStreamDelayRequest other) : this() { + _hasBits0 = other._hasBits0; + apmHandle_ = other.apmHandle_; + delayMs_ = other.delayMs_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmSetStreamDelayRequest Clone() { + return new ApmSetStreamDelayRequest(this); + } + + /// Field number for the "apm_handle" field. + public const int ApmHandleFieldNumber = 1; + private readonly static ulong ApmHandleDefaultValue = 0UL; + + private ulong apmHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ApmHandle { + get { if ((_hasBits0 & 1) != 0) { return apmHandle_; } else { return ApmHandleDefaultValue; } } + set { + _hasBits0 |= 1; + apmHandle_ = value; + } + } + /// Gets whether the "apm_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasApmHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "apm_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearApmHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "delay_ms" field. + public const int DelayMsFieldNumber = 2; + private readonly static int DelayMsDefaultValue = 0; + + private int delayMs_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int DelayMs { + get { if ((_hasBits0 & 2) != 0) { return delayMs_; } else { return DelayMsDefaultValue; } } + set { + _hasBits0 |= 2; + delayMs_ = value; + } + } + /// Gets whether the "delay_ms" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDelayMs { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "delay_ms" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDelayMs() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ApmSetStreamDelayRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ApmSetStreamDelayRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ApmHandle != other.ApmHandle) return false; + if (DelayMs != other.DelayMs) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasApmHandle) hash ^= ApmHandle.GetHashCode(); + if (HasDelayMs) hash ^= DelayMs.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasApmHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ApmHandle); + } + if (HasDelayMs) { + output.WriteRawTag(16); + output.WriteInt32(DelayMs); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasApmHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ApmHandle); + } + if (HasDelayMs) { + output.WriteRawTag(16); + output.WriteInt32(DelayMs); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasApmHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ApmHandle); + } + if (HasDelayMs) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(DelayMs); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ApmSetStreamDelayRequest other) { + if (other == null) { + return; + } + if (other.HasApmHandle) { + ApmHandle = other.ApmHandle; + } + if (other.HasDelayMs) { + DelayMs = other.DelayMs; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ApmHandle = input.ReadUInt64(); + break; + } + case 16: { + DelayMs = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ApmHandle = input.ReadUInt64(); + break; + } + case 16: { + DelayMs = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ApmSetStreamDelayResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ApmSetStreamDelayResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[22]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmSetStreamDelayResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmSetStreamDelayResponse(ApmSetStreamDelayResponse other) : this() { + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ApmSetStreamDelayResponse Clone() { + return new ApmSetStreamDelayResponse(this); + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ApmSetStreamDelayResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ApmSetStreamDelayResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ApmSetStreamDelayResponse other) { + if (other == null) { + return; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewSoxResamplerRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewSoxResamplerRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[23]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewSoxResamplerRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewSoxResamplerRequest(NewSoxResamplerRequest other) : this() { + _hasBits0 = other._hasBits0; + inputRate_ = other.inputRate_; + outputRate_ = other.outputRate_; + numChannels_ = other.numChannels_; + inputDataType_ = other.inputDataType_; + outputDataType_ = other.outputDataType_; + qualityRecipe_ = other.qualityRecipe_; + flags_ = other.flags_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewSoxResamplerRequest Clone() { + return new NewSoxResamplerRequest(this); + } + + /// Field number for the "input_rate" field. + public const int InputRateFieldNumber = 1; + private readonly static double InputRateDefaultValue = 0D; + + private double inputRate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double InputRate { + get { if ((_hasBits0 & 1) != 0) { return inputRate_; } else { return InputRateDefaultValue; } } + set { + _hasBits0 |= 1; + inputRate_ = value; + } + } + /// Gets whether the "input_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasInputRate { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "input_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearInputRate() { + _hasBits0 &= ~1; + } + + /// Field number for the "output_rate" field. + public const int OutputRateFieldNumber = 2; + private readonly static double OutputRateDefaultValue = 0D; + + private double outputRate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double OutputRate { + get { if ((_hasBits0 & 2) != 0) { return outputRate_; } else { return OutputRateDefaultValue; } } + set { + _hasBits0 |= 2; + outputRate_ = value; + } + } + /// Gets whether the "output_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOutputRate { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "output_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOutputRate() { + _hasBits0 &= ~2; + } + + /// Field number for the "num_channels" field. + public const int NumChannelsFieldNumber = 3; + private readonly static uint NumChannelsDefaultValue = 0; + + private uint numChannels_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NumChannels { + get { if ((_hasBits0 & 4) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } + set { + _hasBits0 |= 4; + numChannels_ = value; + } + } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~4; + } + + /// Field number for the "input_data_type" field. + public const int InputDataTypeFieldNumber = 4; + private readonly static global::LiveKit.Proto.SoxResamplerDataType InputDataTypeDefaultValue = global::LiveKit.Proto.SoxResamplerDataType.SoxrDatatypeInt16I; + + private global::LiveKit.Proto.SoxResamplerDataType inputDataType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SoxResamplerDataType InputDataType { + get { if ((_hasBits0 & 8) != 0) { return inputDataType_; } else { return InputDataTypeDefaultValue; } } + set { + _hasBits0 |= 8; + inputDataType_ = value; + } + } + /// Gets whether the "input_data_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasInputDataType { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "input_data_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearInputDataType() { + _hasBits0 &= ~8; + } + + /// Field number for the "output_data_type" field. + public const int OutputDataTypeFieldNumber = 5; + private readonly static global::LiveKit.Proto.SoxResamplerDataType OutputDataTypeDefaultValue = global::LiveKit.Proto.SoxResamplerDataType.SoxrDatatypeInt16I; + + private global::LiveKit.Proto.SoxResamplerDataType outputDataType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SoxResamplerDataType OutputDataType { + get { if ((_hasBits0 & 16) != 0) { return outputDataType_; } else { return OutputDataTypeDefaultValue; } } + set { + _hasBits0 |= 16; + outputDataType_ = value; + } + } + /// Gets whether the "output_data_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOutputDataType { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "output_data_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOutputDataType() { + _hasBits0 &= ~16; + } + + /// Field number for the "quality_recipe" field. + public const int QualityRecipeFieldNumber = 6; + private readonly static global::LiveKit.Proto.SoxQualityRecipe QualityRecipeDefaultValue = global::LiveKit.Proto.SoxQualityRecipe.SoxrQualityQuick; + + private global::LiveKit.Proto.SoxQualityRecipe qualityRecipe_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SoxQualityRecipe QualityRecipe { + get { if ((_hasBits0 & 32) != 0) { return qualityRecipe_; } else { return QualityRecipeDefaultValue; } } + set { + _hasBits0 |= 32; + qualityRecipe_ = value; + } + } + /// Gets whether the "quality_recipe" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQualityRecipe { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "quality_recipe" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQualityRecipe() { + _hasBits0 &= ~32; + } + + /// Field number for the "flags" field. + public const int FlagsFieldNumber = 7; + private readonly static uint FlagsDefaultValue = 0; + + private uint flags_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Flags { + get { if ((_hasBits0 & 64) != 0) { return flags_; } else { return FlagsDefaultValue; } } + set { + _hasBits0 |= 64; + flags_ = value; + } + } + /// Gets whether the "flags" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFlags { + get { return (_hasBits0 & 64) != 0; } + } + /// Clears the value of the "flags" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFlags() { + _hasBits0 &= ~64; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NewSoxResamplerRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NewSoxResamplerRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InputRate, other.InputRate)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(OutputRate, other.OutputRate)) return false; + if (NumChannels != other.NumChannels) return false; + if (InputDataType != other.InputDataType) return false; + if (OutputDataType != other.OutputDataType) return false; + if (QualityRecipe != other.QualityRecipe) return false; + if (Flags != other.Flags) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasInputRate) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InputRate); + if (HasOutputRate) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(OutputRate); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (HasInputDataType) hash ^= InputDataType.GetHashCode(); + if (HasOutputDataType) hash ^= OutputDataType.GetHashCode(); + if (HasQualityRecipe) hash ^= QualityRecipe.GetHashCode(); + if (HasFlags) hash ^= Flags.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasInputRate) { + output.WriteRawTag(9); + output.WriteDouble(InputRate); + } + if (HasOutputRate) { + output.WriteRawTag(17); + output.WriteDouble(OutputRate); + } + if (HasNumChannels) { + output.WriteRawTag(24); + output.WriteUInt32(NumChannels); + } + if (HasInputDataType) { + output.WriteRawTag(32); + output.WriteEnum((int) InputDataType); + } + if (HasOutputDataType) { + output.WriteRawTag(40); + output.WriteEnum((int) OutputDataType); + } + if (HasQualityRecipe) { + output.WriteRawTag(48); + output.WriteEnum((int) QualityRecipe); + } + if (HasFlags) { + output.WriteRawTag(56); + output.WriteUInt32(Flags); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasInputRate) { + output.WriteRawTag(9); + output.WriteDouble(InputRate); + } + if (HasOutputRate) { + output.WriteRawTag(17); + output.WriteDouble(OutputRate); + } + if (HasNumChannels) { + output.WriteRawTag(24); + output.WriteUInt32(NumChannels); + } + if (HasInputDataType) { + output.WriteRawTag(32); + output.WriteEnum((int) InputDataType); + } + if (HasOutputDataType) { + output.WriteRawTag(40); + output.WriteEnum((int) OutputDataType); + } + if (HasQualityRecipe) { + output.WriteRawTag(48); + output.WriteEnum((int) QualityRecipe); + } + if (HasFlags) { + output.WriteRawTag(56); + output.WriteUInt32(Flags); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasInputRate) { + size += 1 + 8; + } + if (HasOutputRate) { + size += 1 + 8; + } + if (HasNumChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); + } + if (HasInputDataType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) InputDataType); + } + if (HasOutputDataType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OutputDataType); + } + if (HasQualityRecipe) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) QualityRecipe); + } + if (HasFlags) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flags); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NewSoxResamplerRequest other) { + if (other == null) { + return; + } + if (other.HasInputRate) { + InputRate = other.InputRate; + } + if (other.HasOutputRate) { + OutputRate = other.OutputRate; + } + if (other.HasNumChannels) { + NumChannels = other.NumChannels; + } + if (other.HasInputDataType) { + InputDataType = other.InputDataType; + } + if (other.HasOutputDataType) { + OutputDataType = other.OutputDataType; + } + if (other.HasQualityRecipe) { + QualityRecipe = other.QualityRecipe; + } + if (other.HasFlags) { + Flags = other.Flags; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 9: { + InputRate = input.ReadDouble(); + break; + } + case 17: { + OutputRate = input.ReadDouble(); + break; + } + case 24: { + NumChannels = input.ReadUInt32(); + break; + } + case 32: { + InputDataType = (global::LiveKit.Proto.SoxResamplerDataType) input.ReadEnum(); + break; + } + case 40: { + OutputDataType = (global::LiveKit.Proto.SoxResamplerDataType) input.ReadEnum(); + break; + } + case 48: { + QualityRecipe = (global::LiveKit.Proto.SoxQualityRecipe) input.ReadEnum(); + break; + } + case 56: { + Flags = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 9: { + InputRate = input.ReadDouble(); + break; + } + case 17: { + OutputRate = input.ReadDouble(); + break; + } + case 24: { + NumChannels = input.ReadUInt32(); + break; + } + case 32: { + InputDataType = (global::LiveKit.Proto.SoxResamplerDataType) input.ReadEnum(); + break; + } + case 40: { + OutputDataType = (global::LiveKit.Proto.SoxResamplerDataType) input.ReadEnum(); + break; + } + case 48: { + QualityRecipe = (global::LiveKit.Proto.SoxQualityRecipe) input.ReadEnum(); + break; + } + case 56: { + Flags = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewSoxResamplerResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewSoxResamplerResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[24]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewSoxResamplerResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewSoxResamplerResponse(NewSoxResamplerResponse other) : this() { + switch (other.MessageCase) { + case MessageOneofCase.Resampler: + Resampler = other.Resampler.Clone(); + break; + case MessageOneofCase.Error: + Error = other.Error; + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public NewSoxResamplerResponse Clone() { + return new NewSoxResamplerResponse(this); + } + + /// Field number for the "resampler" field. + public const int ResamplerFieldNumber = 1; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedSoxResampler Resampler { + get { return messageCase_ == MessageOneofCase.Resampler ? (global::LiveKit.Proto.OwnedSoxResampler) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Resampler; + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return HasError ? (string) message_ : ""; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + messageCase_ = MessageOneofCase.Error; + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return messageCase_ == MessageOneofCase.Error; } + } + /// Clears the value of the oneof if it's currently set to "error" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + if (HasError) { + ClearMessage(); + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Resampler = 1, + Error = 2, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as NewSoxResamplerResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(NewSoxResamplerResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Resampler, other.Resampler)) return false; + if (Error != other.Error) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (messageCase_ == MessageOneofCase.Resampler) hash ^= Resampler.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (messageCase_ == MessageOneofCase.Resampler) { + output.WriteRawTag(10); + output.WriteMessage(Resampler); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (messageCase_ == MessageOneofCase.Resampler) { + output.WriteRawTag(10); + output.WriteMessage(Resampler); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (messageCase_ == MessageOneofCase.Resampler) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Resampler); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(NewSoxResamplerResponse other) { + if (other == null) { + return; + } + switch (other.MessageCase) { + case MessageOneofCase.Resampler: + if (Resampler == null) { + Resampler = new global::LiveKit.Proto.OwnedSoxResampler(); + } + Resampler.MergeFrom(other.Resampler); + break; + case MessageOneofCase.Error: + Error = other.Error; + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + global::LiveKit.Proto.OwnedSoxResampler subBuilder = new global::LiveKit.Proto.OwnedSoxResampler(); + if (messageCase_ == MessageOneofCase.Resampler) { + subBuilder.MergeFrom(Resampler); + } + input.ReadMessage(subBuilder); + Resampler = subBuilder; + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + global::LiveKit.Proto.OwnedSoxResampler subBuilder = new global::LiveKit.Proto.OwnedSoxResampler(); + if (messageCase_ == MessageOneofCase.Resampler) { + subBuilder.MergeFrom(Resampler); + } + input.ReadMessage(subBuilder); + Resampler = subBuilder; + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PushSoxResamplerRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PushSoxResamplerRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[25]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PushSoxResamplerRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PushSoxResamplerRequest(PushSoxResamplerRequest other) : this() { + _hasBits0 = other._hasBits0; + resamplerHandle_ = other.resamplerHandle_; + dataPtr_ = other.dataPtr_; + size_ = other.size_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PushSoxResamplerRequest Clone() { + return new PushSoxResamplerRequest(this); + } + + /// Field number for the "resampler_handle" field. + public const int ResamplerHandleFieldNumber = 1; + private readonly static ulong ResamplerHandleDefaultValue = 0UL; + + private ulong resamplerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ResamplerHandle { + get { if ((_hasBits0 & 1) != 0) { return resamplerHandle_; } else { return ResamplerHandleDefaultValue; } } + set { + _hasBits0 |= 1; + resamplerHandle_ = value; + } + } + /// Gets whether the "resampler_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasResamplerHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "resampler_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResamplerHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 2; + private readonly static ulong DataPtrDefaultValue = 0UL; + + private ulong dataPtr_; + /// + /// *const i16 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataPtr { + get { if ((_hasBits0 & 2) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } + set { + _hasBits0 |= 2; + dataPtr_ = value; + } + } + /// Gets whether the "data_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataPtr { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "data_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataPtr() { + _hasBits0 &= ~2; + } + + /// Field number for the "size" field. + public const int SizeFieldNumber = 3; + private readonly static uint SizeDefaultValue = 0; + + private uint size_; + /// + /// in bytes + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Size { + get { if ((_hasBits0 & 4) != 0) { return size_; } else { return SizeDefaultValue; } } + set { + _hasBits0 |= 4; + size_ = value; + } + } + /// Gets whether the "size" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSize { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "size" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSize() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PushSoxResamplerRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PushSoxResamplerRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ResamplerHandle != other.ResamplerHandle) return false; + if (DataPtr != other.DataPtr) return false; + if (Size != other.Size) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasResamplerHandle) hash ^= ResamplerHandle.GetHashCode(); + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasSize) hash ^= Size.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasResamplerHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ResamplerHandle); + } + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasResamplerHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ResamplerHandle); + } + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasResamplerHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ResamplerHandle); + } + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasSize) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Size); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PushSoxResamplerRequest other) { + if (other == null) { + return; + } + if (other.HasResamplerHandle) { + ResamplerHandle = other.ResamplerHandle; + } + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasSize) { + Size = other.Size; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ResamplerHandle = input.ReadUInt64(); + break; + } + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ResamplerHandle = input.ReadUInt64(); + break; + } + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PushSoxResamplerResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PushSoxResamplerResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[26]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PushSoxResamplerResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PushSoxResamplerResponse(PushSoxResamplerResponse other) : this() { + _hasBits0 = other._hasBits0; + outputPtr_ = other.outputPtr_; + size_ = other.size_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PushSoxResamplerResponse Clone() { + return new PushSoxResamplerResponse(this); + } + + /// Field number for the "output_ptr" field. + public const int OutputPtrFieldNumber = 1; + private readonly static ulong OutputPtrDefaultValue = 0UL; + + private ulong outputPtr_; + /// + /// *const i16 (could be null) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong OutputPtr { + get { if ((_hasBits0 & 1) != 0) { return outputPtr_; } else { return OutputPtrDefaultValue; } } + set { + _hasBits0 |= 1; + outputPtr_ = value; + } + } + /// Gets whether the "output_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOutputPtr { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "output_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOutputPtr() { + _hasBits0 &= ~1; + } + + /// Field number for the "size" field. + public const int SizeFieldNumber = 2; + private readonly static uint SizeDefaultValue = 0; + + private uint size_; + /// + /// in bytes + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Size { + get { if ((_hasBits0 & 2) != 0) { return size_; } else { return SizeDefaultValue; } } + set { + _hasBits0 |= 2; + size_ = value; + } + } + /// Gets whether the "size" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSize { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "size" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSize() { + _hasBits0 &= ~2; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PushSoxResamplerResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PushSoxResamplerResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (OutputPtr != other.OutputPtr) return false; + if (Size != other.Size) return false; + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasOutputPtr) hash ^= OutputPtr.GetHashCode(); + if (HasSize) hash ^= Size.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasOutputPtr) { + output.WriteRawTag(8); + output.WriteUInt64(OutputPtr); + } + if (HasSize) { + output.WriteRawTag(16); + output.WriteUInt32(Size); + } + if (HasError) { + output.WriteRawTag(26); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasOutputPtr) { + output.WriteRawTag(8); + output.WriteUInt64(OutputPtr); + } + if (HasSize) { + output.WriteRawTag(16); + output.WriteUInt32(Size); + } + if (HasError) { + output.WriteRawTag(26); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasOutputPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OutputPtr); + } + if (HasSize) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Size); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PushSoxResamplerResponse other) { + if (other == null) { + return; + } + if (other.HasOutputPtr) { + OutputPtr = other.OutputPtr; + } + if (other.HasSize) { + Size = other.Size; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + OutputPtr = input.ReadUInt64(); + break; + } + case 16: { + Size = input.ReadUInt32(); + break; + } + case 26: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + OutputPtr = input.ReadUInt64(); + break; + } + case 16: { + Size = input.ReadUInt32(); + break; + } + case 26: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FlushSoxResamplerRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FlushSoxResamplerRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[27]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FlushSoxResamplerRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FlushSoxResamplerRequest(FlushSoxResamplerRequest other) : this() { + _hasBits0 = other._hasBits0; + resamplerHandle_ = other.resamplerHandle_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FlushSoxResamplerRequest Clone() { + return new FlushSoxResamplerRequest(this); + } + + /// Field number for the "resampler_handle" field. + public const int ResamplerHandleFieldNumber = 1; + private readonly static ulong ResamplerHandleDefaultValue = 0UL; + + private ulong resamplerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ResamplerHandle { + get { if ((_hasBits0 & 1) != 0) { return resamplerHandle_; } else { return ResamplerHandleDefaultValue; } } + set { + _hasBits0 |= 1; + resamplerHandle_ = value; + } + } + /// Gets whether the "resampler_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasResamplerHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "resampler_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResamplerHandle() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FlushSoxResamplerRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FlushSoxResamplerRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ResamplerHandle != other.ResamplerHandle) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasResamplerHandle) hash ^= ResamplerHandle.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasResamplerHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ResamplerHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasResamplerHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ResamplerHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasResamplerHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ResamplerHandle); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FlushSoxResamplerRequest other) { + if (other == null) { + return; + } + if (other.HasResamplerHandle) { + ResamplerHandle = other.ResamplerHandle; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ResamplerHandle = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ResamplerHandle = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FlushSoxResamplerResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FlushSoxResamplerResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[28]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FlushSoxResamplerResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FlushSoxResamplerResponse(FlushSoxResamplerResponse other) : this() { + _hasBits0 = other._hasBits0; + outputPtr_ = other.outputPtr_; + size_ = other.size_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FlushSoxResamplerResponse Clone() { + return new FlushSoxResamplerResponse(this); + } + + /// Field number for the "output_ptr" field. + public const int OutputPtrFieldNumber = 1; + private readonly static ulong OutputPtrDefaultValue = 0UL; + + private ulong outputPtr_; + /// + /// *const i16 (could be null) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong OutputPtr { + get { if ((_hasBits0 & 1) != 0) { return outputPtr_; } else { return OutputPtrDefaultValue; } } + set { + _hasBits0 |= 1; + outputPtr_ = value; + } + } + /// Gets whether the "output_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOutputPtr { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "output_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOutputPtr() { + _hasBits0 &= ~1; + } + + /// Field number for the "size" field. + public const int SizeFieldNumber = 2; + private readonly static uint SizeDefaultValue = 0; + + private uint size_; + /// + /// in bytes + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Size { + get { if ((_hasBits0 & 2) != 0) { return size_; } else { return SizeDefaultValue; } } + set { + _hasBits0 |= 2; + size_ = value; + } + } + /// Gets whether the "size" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSize { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "size" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSize() { + _hasBits0 &= ~2; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FlushSoxResamplerResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FlushSoxResamplerResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (OutputPtr != other.OutputPtr) return false; + if (Size != other.Size) return false; + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasOutputPtr) hash ^= OutputPtr.GetHashCode(); + if (HasSize) hash ^= Size.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasOutputPtr) { + output.WriteRawTag(8); + output.WriteUInt64(OutputPtr); + } + if (HasSize) { + output.WriteRawTag(16); + output.WriteUInt32(Size); + } + if (HasError) { + output.WriteRawTag(26); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasOutputPtr) { + output.WriteRawTag(8); + output.WriteUInt64(OutputPtr); + } + if (HasSize) { + output.WriteRawTag(16); + output.WriteUInt32(Size); + } + if (HasError) { + output.WriteRawTag(26); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasOutputPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OutputPtr); + } + if (HasSize) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Size); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FlushSoxResamplerResponse other) { + if (other == null) { + return; + } + if (other.HasOutputPtr) { + OutputPtr = other.OutputPtr; + } + if (other.HasSize) { + Size = other.Size; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + OutputPtr = input.ReadUInt64(); + break; + } + case 16: { + Size = input.ReadUInt32(); + break; + } + case 26: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + OutputPtr = input.ReadUInt64(); + break; + } + case 16: { + Size = input.ReadUInt32(); + break; + } + case 26: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioFrameBufferInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioFrameBufferInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[29]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioFrameBufferInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioFrameBufferInfo(AudioFrameBufferInfo other) : this() { + _hasBits0 = other._hasBits0; + dataPtr_ = other.dataPtr_; + numChannels_ = other.numChannels_; + sampleRate_ = other.sampleRate_; + samplesPerChannel_ = other.samplesPerChannel_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioFrameBufferInfo Clone() { + return new AudioFrameBufferInfo(this); + } + + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 1; + private readonly static ulong DataPtrDefaultValue = 0UL; + + private ulong dataPtr_; + /// + /// *const i16 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataPtr { + get { if ((_hasBits0 & 1) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } + set { + _hasBits0 |= 1; + dataPtr_ = value; + } + } + /// Gets whether the "data_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataPtr { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "data_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataPtr() { + _hasBits0 &= ~1; + } + + /// Field number for the "num_channels" field. + public const int NumChannelsFieldNumber = 2; + private readonly static uint NumChannelsDefaultValue = 0; + + private uint numChannels_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NumChannels { + get { if ((_hasBits0 & 2) != 0) { return numChannels_; } else { return NumChannelsDefaultValue; } } + set { + _hasBits0 |= 2; + numChannels_ = value; + } + } + /// Gets whether the "num_channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNumChannels { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "num_channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNumChannels() { + _hasBits0 &= ~2; + } + + /// Field number for the "sample_rate" field. + public const int SampleRateFieldNumber = 3; + private readonly static uint SampleRateDefaultValue = 0; + + private uint sampleRate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint SampleRate { + get { if ((_hasBits0 & 4) != 0) { return sampleRate_; } else { return SampleRateDefaultValue; } } + set { + _hasBits0 |= 4; + sampleRate_ = value; + } + } + /// Gets whether the "sample_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSampleRate { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "sample_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSampleRate() { + _hasBits0 &= ~4; + } + + /// Field number for the "samples_per_channel" field. + public const int SamplesPerChannelFieldNumber = 4; + private readonly static uint SamplesPerChannelDefaultValue = 0; + + private uint samplesPerChannel_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint SamplesPerChannel { + get { if ((_hasBits0 & 8) != 0) { return samplesPerChannel_; } else { return SamplesPerChannelDefaultValue; } } + set { + _hasBits0 |= 8; + samplesPerChannel_ = value; + } + } + /// Gets whether the "samples_per_channel" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSamplesPerChannel { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "samples_per_channel" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSamplesPerChannel() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioFrameBufferInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioFrameBufferInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (DataPtr != other.DataPtr) return false; + if (NumChannels != other.NumChannels) return false; + if (SampleRate != other.SampleRate) return false; + if (SamplesPerChannel != other.SamplesPerChannel) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasNumChannels) hash ^= NumChannels.GetHashCode(); + if (HasSampleRate) hash ^= SampleRate.GetHashCode(); + if (HasSamplesPerChannel) hash ^= SamplesPerChannel.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasDataPtr) { + output.WriteRawTag(8); + output.WriteUInt64(DataPtr); + } + if (HasNumChannels) { + output.WriteRawTag(16); + output.WriteUInt32(NumChannels); + } + if (HasSampleRate) { + output.WriteRawTag(24); + output.WriteUInt32(SampleRate); + } + if (HasSamplesPerChannel) { + output.WriteRawTag(32); + output.WriteUInt32(SamplesPerChannel); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasDataPtr) { + output.WriteRawTag(8); + output.WriteUInt64(DataPtr); + } + if (HasNumChannels) { + output.WriteRawTag(16); + output.WriteUInt32(NumChannels); + } + if (HasSampleRate) { + output.WriteRawTag(24); + output.WriteUInt32(SampleRate); + } + if (HasSamplesPerChannel) { + output.WriteRawTag(32); + output.WriteUInt32(SamplesPerChannel); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasNumChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); + } + if (HasSampleRate) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); + } + if (HasSamplesPerChannel) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SamplesPerChannel); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioFrameBufferInfo other) { + if (other == null) { + return; + } + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasNumChannels) { + NumChannels = other.NumChannels; + } + if (other.HasSampleRate) { + SampleRate = other.SampleRate; + } + if (other.HasSamplesPerChannel) { + SamplesPerChannel = other.SamplesPerChannel; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + DataPtr = input.ReadUInt64(); + break; + } + case 16: { + NumChannels = input.ReadUInt32(); + break; + } + case 24: { + SampleRate = input.ReadUInt32(); + break; + } + case 32: { + SamplesPerChannel = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + DataPtr = input.ReadUInt64(); + break; + } + case 16: { + NumChannels = input.ReadUInt32(); + break; + } + case 24: { + SampleRate = input.ReadUInt32(); + break; + } + case 32: { + SamplesPerChannel = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedAudioFrameBuffer : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedAudioFrameBuffer()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[30]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioFrameBuffer() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioFrameBuffer(OwnedAudioFrameBuffer other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioFrameBuffer Clone() { + return new OwnedAudioFrameBuffer(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.AudioFrameBufferInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioFrameBufferInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedAudioFrameBuffer); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedAudioFrameBuffer other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedAudioFrameBuffer other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioFrameBufferInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioFrameBufferInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioFrameBufferInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioStreamInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioStreamInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[31]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamInfo(AudioStreamInfo other) : this() { + _hasBits0 = other._hasBits0; + type_ = other.type_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamInfo Clone() { + return new AudioStreamInfo(this); + } + + /// Field number for the "type" field. + public const int TypeFieldNumber = 1; + private readonly static global::LiveKit.Proto.AudioStreamType TypeDefaultValue = global::LiveKit.Proto.AudioStreamType.AudioStreamNative; + + private global::LiveKit.Proto.AudioStreamType type_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioStreamType Type { + get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } } + set { + _hasBits0 |= 1; + type_ = value; + } + } + /// Gets whether the "type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioStreamInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioStreamInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Type != other.Type) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasType) hash ^= Type.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasType) { + output.WriteRawTag(8); + output.WriteEnum((int) Type); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasType) { + output.WriteRawTag(8); + output.WriteEnum((int) Type); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioStreamInfo other) { + if (other == null) { + return; + } + if (other.HasType) { + Type = other.Type; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedAudioStream : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedAudioStream()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[32]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioStream() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioStream(OwnedAudioStream other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioStream Clone() { + return new OwnedAudioStream(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.AudioStreamInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioStreamInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedAudioStream); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedAudioStream other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedAudioStream other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioStreamInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioStreamEvent : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioStreamEvent()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[33]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamEvent() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamEvent(AudioStreamEvent other) : this() { + _hasBits0 = other._hasBits0; + streamHandle_ = other.streamHandle_; + switch (other.MessageCase) { + case MessageOneofCase.FrameReceived: + FrameReceived = other.FrameReceived.Clone(); + break; + case MessageOneofCase.Eos: + Eos = other.Eos.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamEvent Clone() { + return new AudioStreamEvent(this); + } + + /// Field number for the "stream_handle" field. + public const int StreamHandleFieldNumber = 1; + private readonly static ulong StreamHandleDefaultValue = 0UL; + + private ulong streamHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong StreamHandle { + get { if ((_hasBits0 & 1) != 0) { return streamHandle_; } else { return StreamHandleDefaultValue; } } + set { + _hasBits0 |= 1; + streamHandle_ = value; + } + } + /// Gets whether the "stream_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "stream_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "frame_received" field. + public const int FrameReceivedFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioFrameReceived FrameReceived { + get { return messageCase_ == MessageOneofCase.FrameReceived ? (global::LiveKit.Proto.AudioFrameReceived) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.FrameReceived; + } + } + + /// Field number for the "eos" field. + public const int EosFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioStreamEOS Eos { + get { return messageCase_ == MessageOneofCase.Eos ? (global::LiveKit.Proto.AudioStreamEOS) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Eos; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + FrameReceived = 2, + Eos = 3, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioStreamEvent); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioStreamEvent other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (StreamHandle != other.StreamHandle) return false; + if (!object.Equals(FrameReceived, other.FrameReceived)) return false; + if (!object.Equals(Eos, other.Eos)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasStreamHandle) hash ^= StreamHandle.GetHashCode(); + if (messageCase_ == MessageOneofCase.FrameReceived) hash ^= FrameReceived.GetHashCode(); + if (messageCase_ == MessageOneofCase.Eos) hash ^= Eos.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasStreamHandle) { + output.WriteRawTag(8); + output.WriteUInt64(StreamHandle); + } + if (messageCase_ == MessageOneofCase.FrameReceived) { + output.WriteRawTag(18); + output.WriteMessage(FrameReceived); + } + if (messageCase_ == MessageOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasStreamHandle) { + output.WriteRawTag(8); + output.WriteUInt64(StreamHandle); + } + if (messageCase_ == MessageOneofCase.FrameReceived) { + output.WriteRawTag(18); + output.WriteMessage(FrameReceived); + } + if (messageCase_ == MessageOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasStreamHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(StreamHandle); + } + if (messageCase_ == MessageOneofCase.FrameReceived) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(FrameReceived); + } + if (messageCase_ == MessageOneofCase.Eos) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Eos); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioStreamEvent other) { + if (other == null) { + return; + } + if (other.HasStreamHandle) { + StreamHandle = other.StreamHandle; + } + switch (other.MessageCase) { + case MessageOneofCase.FrameReceived: + if (FrameReceived == null) { + FrameReceived = new global::LiveKit.Proto.AudioFrameReceived(); + } + FrameReceived.MergeFrom(other.FrameReceived); + break; + case MessageOneofCase.Eos: + if (Eos == null) { + Eos = new global::LiveKit.Proto.AudioStreamEOS(); + } + Eos.MergeFrom(other.Eos); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + StreamHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.AudioFrameReceived subBuilder = new global::LiveKit.Proto.AudioFrameReceived(); + if (messageCase_ == MessageOneofCase.FrameReceived) { + subBuilder.MergeFrom(FrameReceived); + } + input.ReadMessage(subBuilder); + FrameReceived = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.AudioStreamEOS subBuilder = new global::LiveKit.Proto.AudioStreamEOS(); + if (messageCase_ == MessageOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + StreamHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.AudioFrameReceived subBuilder = new global::LiveKit.Proto.AudioFrameReceived(); + if (messageCase_ == MessageOneofCase.FrameReceived) { + subBuilder.MergeFrom(FrameReceived); + } + input.ReadMessage(subBuilder); + FrameReceived = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.AudioStreamEOS subBuilder = new global::LiveKit.Proto.AudioStreamEOS(); + if (messageCase_ == MessageOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioFrameReceived : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioFrameReceived()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[34]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioFrameReceived() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioFrameReceived(AudioFrameReceived other) : this() { + frame_ = other.frame_ != null ? other.frame_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioFrameReceived Clone() { + return new AudioFrameReceived(this); + } + + /// Field number for the "frame" field. + public const int FrameFieldNumber = 1; + private global::LiveKit.Proto.OwnedAudioFrameBuffer frame_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedAudioFrameBuffer Frame { + get { return frame_; } + set { + frame_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioFrameReceived); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioFrameReceived other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Frame, other.Frame)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (frame_ != null) hash ^= Frame.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (frame_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Frame); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (frame_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Frame); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (frame_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Frame); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioFrameReceived other) { + if (other == null) { + return; + } + if (other.frame_ != null) { + if (frame_ == null) { + Frame = new global::LiveKit.Proto.OwnedAudioFrameBuffer(); + } + Frame.MergeFrom(other.Frame); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (frame_ == null) { + Frame = new global::LiveKit.Proto.OwnedAudioFrameBuffer(); + } + input.ReadMessage(Frame); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (frame_ == null) { + Frame = new global::LiveKit.Proto.OwnedAudioFrameBuffer(); + } + input.ReadMessage(Frame); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioStreamEOS : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioStreamEOS()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[35]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamEOS() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamEOS(AudioStreamEOS other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioStreamEOS Clone() { + return new AudioStreamEOS(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioStreamEOS); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioStreamEOS other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioStreamEOS other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioSourceOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioSourceOptions()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[36]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceOptions(AudioSourceOptions other) : this() { + _hasBits0 = other._hasBits0; + echoCancellation_ = other.echoCancellation_; + noiseSuppression_ = other.noiseSuppression_; + autoGainControl_ = other.autoGainControl_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceOptions Clone() { + return new AudioSourceOptions(this); + } + + /// Field number for the "echo_cancellation" field. + public const int EchoCancellationFieldNumber = 1; + private readonly static bool EchoCancellationDefaultValue = false; + + private bool echoCancellation_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool EchoCancellation { + get { if ((_hasBits0 & 1) != 0) { return echoCancellation_; } else { return EchoCancellationDefaultValue; } } + set { + _hasBits0 |= 1; + echoCancellation_ = value; + } + } + /// Gets whether the "echo_cancellation" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEchoCancellation { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "echo_cancellation" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEchoCancellation() { + _hasBits0 &= ~1; + } + + /// Field number for the "noise_suppression" field. + public const int NoiseSuppressionFieldNumber = 2; + private readonly static bool NoiseSuppressionDefaultValue = false; + + private bool noiseSuppression_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool NoiseSuppression { + get { if ((_hasBits0 & 2) != 0) { return noiseSuppression_; } else { return NoiseSuppressionDefaultValue; } } + set { + _hasBits0 |= 2; + noiseSuppression_ = value; + } + } + /// Gets whether the "noise_suppression" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNoiseSuppression { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "noise_suppression" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNoiseSuppression() { + _hasBits0 &= ~2; + } + + /// Field number for the "auto_gain_control" field. + public const int AutoGainControlFieldNumber = 3; + private readonly static bool AutoGainControlDefaultValue = false; + + private bool autoGainControl_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool AutoGainControl { + get { if ((_hasBits0 & 4) != 0) { return autoGainControl_; } else { return AutoGainControlDefaultValue; } } + set { + _hasBits0 |= 4; + autoGainControl_ = value; + } + } + /// Gets whether the "auto_gain_control" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAutoGainControl { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "auto_gain_control" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAutoGainControl() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioSourceOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioSourceOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (EchoCancellation != other.EchoCancellation) return false; + if (NoiseSuppression != other.NoiseSuppression) return false; + if (AutoGainControl != other.AutoGainControl) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasEchoCancellation) hash ^= EchoCancellation.GetHashCode(); + if (HasNoiseSuppression) hash ^= NoiseSuppression.GetHashCode(); + if (HasAutoGainControl) hash ^= AutoGainControl.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasEchoCancellation) { + output.WriteRawTag(8); + output.WriteBool(EchoCancellation); + } + if (HasNoiseSuppression) { + output.WriteRawTag(16); + output.WriteBool(NoiseSuppression); + } + if (HasAutoGainControl) { + output.WriteRawTag(24); + output.WriteBool(AutoGainControl); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasEchoCancellation) { + output.WriteRawTag(8); + output.WriteBool(EchoCancellation); + } + if (HasNoiseSuppression) { + output.WriteRawTag(16); + output.WriteBool(NoiseSuppression); + } + if (HasAutoGainControl) { + output.WriteRawTag(24); + output.WriteBool(AutoGainControl); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasEchoCancellation) { + size += 1 + 1; + } + if (HasNoiseSuppression) { + size += 1 + 1; + } + if (HasAutoGainControl) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioSourceOptions other) { + if (other == null) { + return; + } + if (other.HasEchoCancellation) { + EchoCancellation = other.EchoCancellation; + } + if (other.HasNoiseSuppression) { + NoiseSuppression = other.NoiseSuppression; + } + if (other.HasAutoGainControl) { + AutoGainControl = other.AutoGainControl; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + EchoCancellation = input.ReadBool(); + break; + } + case 16: { + NoiseSuppression = input.ReadBool(); + break; + } + case 24: { + AutoGainControl = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + EchoCancellation = input.ReadBool(); + break; + } + case 16: { + NoiseSuppression = input.ReadBool(); + break; + } + case 24: { + AutoGainControl = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioSourceInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioSourceInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[37]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceInfo(AudioSourceInfo other) : this() { + _hasBits0 = other._hasBits0; + type_ = other.type_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceInfo Clone() { + return new AudioSourceInfo(this); + } + + /// Field number for the "type" field. + public const int TypeFieldNumber = 2; + private readonly static global::LiveKit.Proto.AudioSourceType TypeDefaultValue = global::LiveKit.Proto.AudioSourceType.AudioSourceNative; + + private global::LiveKit.Proto.AudioSourceType type_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioSourceType Type { + get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } } + set { + _hasBits0 |= 1; + type_ = value; + } + } + /// Gets whether the "type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioSourceInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioSourceInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Type != other.Type) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasType) hash ^= Type.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasType) { + output.WriteRawTag(16); + output.WriteEnum((int) Type); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasType) { + output.WriteRawTag(16); + output.WriteEnum((int) Type); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioSourceInfo other) { + if (other == null) { + return; + } + if (other.HasType) { + Type = other.Type; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 16: { + Type = (global::LiveKit.Proto.AudioSourceType) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 16: { + Type = (global::LiveKit.Proto.AudioSourceType) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedAudioSource : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedAudioSource()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[38]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioSource() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioSource(OwnedAudioSource other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioSource Clone() { + return new OwnedAudioSource(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.AudioSourceInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioSourceInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedAudioSource); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedAudioSource other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedAudioSource other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioSourceInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioSourceInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioSourceInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioResamplerInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioResamplerInfo()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[39]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioResamplerInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioResamplerInfo(AudioResamplerInfo other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioResamplerInfo Clone() { + return new AudioResamplerInfo(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioResamplerInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioResamplerInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioResamplerInfo other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedAudioResampler : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedAudioResampler()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[40]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioResampler() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioResampler(OwnedAudioResampler other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedAudioResampler Clone() { + return new OwnedAudioResampler(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.AudioResamplerInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioResamplerInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedAudioResampler); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedAudioResampler other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedAudioResampler other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioResamplerInfo(); } - Buffer.MergeFrom(other.Buffer); + Info.MergeFrom(other.Info); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2699,15 +11761,26 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } - input.ReadMessage(Buffer); + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioResamplerInfo(); + } + input.ReadMessage(Info); break; } } @@ -2721,15 +11794,26 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.AudioFrameBufferInfo(); + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } - input.ReadMessage(Buffer); + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.AudioResamplerInfo(); + } + input.ReadMessage(Info); break; } } @@ -2739,21 +11823,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AudioFrameBufferInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedApm : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioFrameBufferInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedApm()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[12]; } + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[41]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2764,7 +11849,7 @@ public sealed partial class AudioFrameBufferInfo : pb::IMessageField number for the "handle" field. public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; + private global::LiveKit.Proto.FfiOwnedHandle handle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { + public global::LiveKit.Proto.FfiOwnedHandle Handle { get { return handle_; } set { handle_ = value; } } - /// Field number for the "data_ptr" field. - public const int DataPtrFieldNumber = 2; - private ulong dataPtr_; - /// - /// *const i16 - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataPtr { - get { return dataPtr_; } - set { - dataPtr_ = value; - } - } - - /// Field number for the "num_channels" field. - public const int NumChannelsFieldNumber = 3; - private uint numChannels_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint NumChannels { - get { return numChannels_; } - set { - numChannels_ = value; - } - } - - /// Field number for the "sample_rate" field. - public const int SampleRateFieldNumber = 4; - private uint sampleRate_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint SampleRate { - get { return sampleRate_; } - set { - sampleRate_ = value; - } - } - - /// Field number for the "samples_per_channel" field. - public const int SamplesPerChannelFieldNumber = 5; - private uint samplesPerChannel_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint SamplesPerChannel { - get { return samplesPerChannel_; } - set { - samplesPerChannel_ = value; - } - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AudioFrameBufferInfo); + return Equals(other as OwnedApm); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AudioFrameBufferInfo other) { + public bool Equals(OwnedApm other) { if (ReferenceEquals(other, null)) { return false; } @@ -2866,10 +11896,6 @@ public bool Equals(AudioFrameBufferInfo other) { return true; } if (!object.Equals(Handle, other.Handle)) return false; - if (DataPtr != other.DataPtr) return false; - if (NumChannels != other.NumChannels) return false; - if (SampleRate != other.SampleRate) return false; - if (SamplesPerChannel != other.SamplesPerChannel) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2878,10 +11904,6 @@ public bool Equals(AudioFrameBufferInfo other) { public override int GetHashCode() { int hash = 1; if (handle_ != null) hash ^= Handle.GetHashCode(); - if (DataPtr != 0UL) hash ^= DataPtr.GetHashCode(); - if (NumChannels != 0) hash ^= NumChannels.GetHashCode(); - if (SampleRate != 0) hash ^= SampleRate.GetHashCode(); - if (SamplesPerChannel != 0) hash ^= SamplesPerChannel.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2904,22 +11926,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Handle); } - if (DataPtr != 0UL) { - output.WriteRawTag(16); - output.WriteUInt64(DataPtr); - } - if (NumChannels != 0) { - output.WriteRawTag(24); - output.WriteUInt32(NumChannels); - } - if (SampleRate != 0) { - output.WriteRawTag(32); - output.WriteUInt32(SampleRate); - } - if (SamplesPerChannel != 0) { - output.WriteRawTag(40); - output.WriteUInt32(SamplesPerChannel); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -2934,22 +11940,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Handle); } - if (DataPtr != 0UL) { - output.WriteRawTag(16); - output.WriteUInt64(DataPtr); - } - if (NumChannels != 0) { - output.WriteRawTag(24); - output.WriteUInt32(NumChannels); - } - if (SampleRate != 0) { - output.WriteRawTag(32); - output.WriteUInt32(SampleRate); - } - if (SamplesPerChannel != 0) { - output.WriteRawTag(40); - output.WriteUInt32(SamplesPerChannel); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2963,18 +11953,6 @@ public int CalculateSize() { if (handle_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); } - if (DataPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); - } - if (NumChannels != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumChannels); - } - if (SampleRate != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SampleRate); - } - if (SamplesPerChannel != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SamplesPerChannel); - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2983,28 +11961,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AudioFrameBufferInfo other) { + public void MergeFrom(OwnedApm other) { if (other == null) { return; } if (other.handle_ != null) { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } Handle.MergeFrom(other.Handle); } - if (other.DataPtr != 0UL) { - DataPtr = other.DataPtr; - } - if (other.NumChannels != 0) { - NumChannels = other.NumChannels; - } - if (other.SampleRate != 0) { - SampleRate = other.SampleRate; - } - if (other.SamplesPerChannel != 0) { - SamplesPerChannel = other.SamplesPerChannel; - } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3016,33 +11982,21 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } input.ReadMessage(Handle); break; } - case 16: { - DataPtr = input.ReadUInt64(); - break; - } - case 24: { - NumChannels = input.ReadUInt32(); - break; - } - case 32: { - SampleRate = input.ReadUInt32(); - break; - } - case 40: { - SamplesPerChannel = input.ReadUInt32(); - break; - } } } #endif @@ -3054,33 +12008,21 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } input.ReadMessage(Handle); break; } - case 16: { - DataPtr = input.ReadUInt64(); - break; - } - case 24: { - NumChannels = input.ReadUInt32(); - break; - } - case 32: { - SampleRate = input.ReadUInt32(); - break; - } - case 40: { - SamplesPerChannel = input.ReadUInt32(); - break; - } } } } @@ -3088,21 +12030,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AudioStreamInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SoxResamplerInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioStreamInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SoxResamplerInfo()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[13]; } + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[42]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3113,7 +12056,7 @@ public sealed partial class AudioStreamInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioStreamInfo() { + public SoxResamplerInfo() { OnConstruction(); } @@ -3121,73 +12064,31 @@ public AudioStreamInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioStreamInfo(AudioStreamInfo other) : this() { - handle_ = other.handle_ != null ? other.handle_.Clone() : null; - type_ = other.type_; - trackSid_ = other.trackSid_; + public SoxResamplerInfo(SoxResamplerInfo other) : this() { _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioStreamInfo Clone() { - return new AudioStreamInfo(this); - } - - /// Field number for the "handle" field. - public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { - get { return handle_; } - set { - handle_ = value; - } - } - - /// Field number for the "type" field. - public const int TypeFieldNumber = 2; - private global::LiveKit.Proto.AudioStreamType type_ = global::LiveKit.Proto.AudioStreamType.AudioStreamNative; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioStreamType Type { - get { return type_; } - set { - type_ = value; - } - } - - /// Field number for the "track_sid" field. - public const int TrackSidFieldNumber = 3; - private string trackSid_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string TrackSid { - get { return trackSid_; } - set { - trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + public SoxResamplerInfo Clone() { + return new SoxResamplerInfo(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AudioStreamInfo); + return Equals(other as SoxResamplerInfo); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AudioStreamInfo other) { + public bool Equals(SoxResamplerInfo other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Handle, other.Handle)) return false; - if (Type != other.Type) return false; - if (TrackSid != other.TrackSid) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3195,9 +12096,6 @@ public bool Equals(AudioStreamInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (handle_ != null) hash ^= Handle.GetHashCode(); - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) hash ^= Type.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3216,18 +12114,6 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); - } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3238,18 +12124,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); - } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3260,15 +12134,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); - } - if (Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); - } - if (TrackSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3277,22 +12142,10 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AudioStreamInfo other) { + public void MergeFrom(SoxResamplerInfo other) { if (other == null) { return; } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); - } - if (other.Type != global::LiveKit.Proto.AudioStreamType.AudioStreamNative) { - Type = other.Type; - } - if (other.TrackSid.Length != 0) { - TrackSid = other.TrackSid; - } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3301,28 +12154,17 @@ public void MergeFrom(AudioStreamInfo other) { public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); - break; - } - case 26: { - TrackSid = input.ReadString(); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - } } } #endif @@ -3334,25 +12176,14 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - Type = (global::LiveKit.Proto.AudioStreamType) input.ReadEnum(); - break; - } - case 26: { - TrackSid = input.ReadString(); - break; - } } } } @@ -3360,21 +12191,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AudioStreamEvent : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedSoxResampler : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioStreamEvent()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedSoxResampler()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[14]; } + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[43]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3385,7 +12217,7 @@ public sealed partial class AudioStreamEvent : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioStreamEvent() { + public OwnedSoxResampler() { OnConstruction(); } @@ -3393,76 +12225,51 @@ public AudioStreamEvent() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioStreamEvent(AudioStreamEvent other) : this() { + public OwnedSoxResampler(OwnedSoxResampler other) : this() { handle_ = other.handle_ != null ? other.handle_.Clone() : null; - switch (other.MessageCase) { - case MessageOneofCase.FrameReceived: - FrameReceived = other.FrameReceived.Clone(); - break; - } - + info_ = other.info_ != null ? other.info_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioStreamEvent Clone() { - return new AudioStreamEvent(this); + public OwnedSoxResampler Clone() { + return new OwnedSoxResampler(this); } /// Field number for the "handle" field. public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; + private global::LiveKit.Proto.FfiOwnedHandle handle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { + public global::LiveKit.Proto.FfiOwnedHandle Handle { get { return handle_; } set { handle_ = value; } } - /// Field number for the "frame_received" field. - public const int FrameReceivedFieldNumber = 2; + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.SoxResamplerInfo info_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioFrameReceived FrameReceived { - get { return messageCase_ == MessageOneofCase.FrameReceived ? (global::LiveKit.Proto.AudioFrameReceived) message_ : null; } + public global::LiveKit.Proto.SoxResamplerInfo Info { + get { return info_; } set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.FrameReceived; + info_ = value; } } - private object message_; - /// Enum of possible cases for the "message" oneof. - public enum MessageOneofCase { - None = 0, - FrameReceived = 2, - } - private MessageOneofCase messageCase_ = MessageOneofCase.None; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public MessageOneofCase MessageCase { - get { return messageCase_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearMessage() { - messageCase_ = MessageOneofCase.None; - message_ = null; - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AudioStreamEvent); + return Equals(other as OwnedSoxResampler); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AudioStreamEvent other) { + public bool Equals(OwnedSoxResampler other) { if (ReferenceEquals(other, null)) { return false; } @@ -3470,8 +12277,7 @@ public bool Equals(AudioStreamEvent other) { return true; } if (!object.Equals(Handle, other.Handle)) return false; - if (!object.Equals(FrameReceived, other.FrameReceived)) return false; - if (MessageCase != other.MessageCase) return false; + if (!object.Equals(Info, other.Info)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3480,8 +12286,7 @@ public bool Equals(AudioStreamEvent other) { public override int GetHashCode() { int hash = 1; if (handle_ != null) hash ^= Handle.GetHashCode(); - if (messageCase_ == MessageOneofCase.FrameReceived) hash ^= FrameReceived.GetHashCode(); - hash ^= (int) messageCase_; + if (info_ != null) hash ^= Info.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3504,9 +12309,9 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Handle); } - if (messageCase_ == MessageOneofCase.FrameReceived) { + if (info_ != null) { output.WriteRawTag(18); - output.WriteMessage(FrameReceived); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3522,9 +12327,9 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Handle); } - if (messageCase_ == MessageOneofCase.FrameReceived) { + if (info_ != null) { output.WriteRawTag(18); - output.WriteMessage(FrameReceived); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3539,8 +12344,8 @@ public int CalculateSize() { if (handle_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); } - if (messageCase_ == MessageOneofCase.FrameReceived) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(FrameReceived); + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3550,25 +12355,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AudioStreamEvent other) { + public void MergeFrom(OwnedSoxResampler other) { if (other == null) { return; } if (other.handle_ != null) { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } Handle.MergeFrom(other.Handle); } - switch (other.MessageCase) { - case MessageOneofCase.FrameReceived: - if (FrameReceived == null) { - FrameReceived = new global::LiveKit.Proto.AudioFrameReceived(); - } - FrameReceived.MergeFrom(other.FrameReceived); - break; + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.SoxResamplerInfo(); + } + Info.MergeFrom(other.Info); } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3580,24 +12382,26 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } input.ReadMessage(Handle); break; } case 18: { - global::LiveKit.Proto.AudioFrameReceived subBuilder = new global::LiveKit.Proto.AudioFrameReceived(); - if (messageCase_ == MessageOneofCase.FrameReceived) { - subBuilder.MergeFrom(FrameReceived); + if (info_ == null) { + Info = new global::LiveKit.Proto.SoxResamplerInfo(); } - input.ReadMessage(subBuilder); - FrameReceived = subBuilder; + input.ReadMessage(Info); break; } } @@ -3611,24 +12415,26 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } input.ReadMessage(Handle); break; } case 18: { - global::LiveKit.Proto.AudioFrameReceived subBuilder = new global::LiveKit.Proto.AudioFrameReceived(); - if (messageCase_ == MessageOneofCase.FrameReceived) { - subBuilder.MergeFrom(FrameReceived); + if (info_ == null) { + Info = new global::LiveKit.Proto.SoxResamplerInfo(); } - input.ReadMessage(subBuilder); - FrameReceived = subBuilder; + input.ReadMessage(Info); break; } } @@ -3638,21 +12444,25 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AudioFrameReceived : pb::IMessage + /// + /// Audio Filter Plugin + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LoadAudioFilterPluginRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioFrameReceived()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LoadAudioFilterPluginRequest()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[15]; } + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[44]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3663,7 +12473,7 @@ public sealed partial class AudioFrameReceived : pb::IMessageField number for the "frame" field. - public const int FrameFieldNumber = 1; - private global::LiveKit.Proto.AudioFrameBufferInfo frame_; + /// Field number for the "plugin_path" field. + public const int PluginPathFieldNumber = 1; + private readonly static string PluginPathDefaultValue = ""; + + private string pluginPath_; + /// + /// path for ffi audio filter plugin + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioFrameBufferInfo Frame { - get { return frame_; } + public string PluginPath { + get { return pluginPath_ ?? PluginPathDefaultValue; } set { - frame_ = value; + pluginPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "plugin_path" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPluginPath { + get { return pluginPath_ != null; } + } + /// Clears the value of the "plugin_path" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPluginPath() { + pluginPath_ = null; + } + + /// Field number for the "dependencies" field. + public const int DependenciesFieldNumber = 2; + private static readonly pb::FieldCodec _repeated_dependencies_codec + = pb::FieldCodec.ForString(18); + private readonly pbc::RepeatedField dependencies_ = new pbc::RepeatedField(); + /// + /// Optional: paths for dependency dylibs + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Dependencies { + get { return dependencies_; } + } + + /// Field number for the "module_id" field. + public const int ModuleIdFieldNumber = 3; + private readonly static string ModuleIdDefaultValue = ""; + + private string moduleId_; + /// + /// Unique identifier of the plugin + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ModuleId { + get { return moduleId_ ?? ModuleIdDefaultValue; } + set { + moduleId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "module_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasModuleId { + get { return moduleId_ != null; } + } + /// Clears the value of the "module_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearModuleId() { + moduleId_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AudioFrameReceived); + return Equals(other as LoadAudioFilterPluginRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AudioFrameReceived other) { + public bool Equals(LoadAudioFilterPluginRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Frame, other.Frame)) return false; + if (PluginPath != other.PluginPath) return false; + if(!dependencies_.Equals(other.dependencies_)) return false; + if (ModuleId != other.ModuleId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3717,7 +12591,9 @@ public bool Equals(AudioFrameReceived other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (frame_ != null) hash ^= Frame.GetHashCode(); + if (HasPluginPath) hash ^= PluginPath.GetHashCode(); + hash ^= dependencies_.GetHashCode(); + if (HasModuleId) hash ^= ModuleId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3736,9 +12612,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (frame_ != null) { + if (HasPluginPath) { output.WriteRawTag(10); - output.WriteMessage(Frame); + output.WriteString(PluginPath); + } + dependencies_.WriteTo(output, _repeated_dependencies_codec); + if (HasModuleId) { + output.WriteRawTag(26); + output.WriteString(ModuleId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3750,9 +12631,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (frame_ != null) { + if (HasPluginPath) { output.WriteRawTag(10); - output.WriteMessage(Frame); + output.WriteString(PluginPath); + } + dependencies_.WriteTo(ref output, _repeated_dependencies_codec); + if (HasModuleId) { + output.WriteRawTag(26); + output.WriteString(ModuleId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3764,8 +12650,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (frame_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Frame); + if (HasPluginPath) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PluginPath); + } + size += dependencies_.CalculateSize(_repeated_dependencies_codec); + if (HasModuleId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ModuleId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3775,15 +12665,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AudioFrameReceived other) { + public void MergeFrom(LoadAudioFilterPluginRequest other) { if (other == null) { return; } - if (other.frame_ != null) { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.AudioFrameBufferInfo(); - } - Frame.MergeFrom(other.Frame); + if (other.HasPluginPath) { + PluginPath = other.PluginPath; + } + dependencies_.Add(other.dependencies_); + if (other.HasModuleId) { + ModuleId = other.ModuleId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3796,15 +12687,24 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.AudioFrameBufferInfo(); - } - input.ReadMessage(Frame); + PluginPath = input.ReadString(); + break; + } + case 18: { + dependencies_.AddEntriesFrom(input, _repeated_dependencies_codec); + break; + } + case 26: { + ModuleId = input.ReadString(); break; } } @@ -3818,15 +12718,24 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.AudioFrameBufferInfo(); - } - input.ReadMessage(Frame); + PluginPath = input.ReadString(); + break; + } + case 18: { + dependencies_.AddEntriesFrom(ref input, _repeated_dependencies_codec); + break; + } + case 26: { + ModuleId = input.ReadString(); break; } } @@ -3836,21 +12745,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AudioSourceInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LoadAudioFilterPluginResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioSourceInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LoadAudioFilterPluginResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[16]; } + get { return global::LiveKit.Proto.AudioFrameReflection.Descriptor.MessageTypes[45]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3861,7 +12771,7 @@ public sealed partial class AudioSourceInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioSourceInfo() { + public LoadAudioFilterPluginResponse() { OnConstruction(); } @@ -3869,59 +12779,59 @@ public AudioSourceInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioSourceInfo(AudioSourceInfo other) : this() { - handle_ = other.handle_ != null ? other.handle_.Clone() : null; - type_ = other.type_; + public LoadAudioFilterPluginResponse(LoadAudioFilterPluginResponse other) : this() { + error_ = other.error_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioSourceInfo Clone() { - return new AudioSourceInfo(this); + public LoadAudioFilterPluginResponse Clone() { + return new LoadAudioFilterPluginResponse(this); } - /// Field number for the "handle" field. - public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + private readonly static string ErrorDefaultValue = ""; + + private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { - get { return handle_; } + public string Error { + get { return error_ ?? ErrorDefaultValue; } set { - handle_ = value; + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } - - /// Field number for the "type" field. - public const int TypeFieldNumber = 2; - private global::LiveKit.Proto.AudioSourceType type_ = global::LiveKit.Proto.AudioSourceType.AudioSourceNative; + /// Gets whether the "error" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioSourceType Type { - get { return type_; } - set { - type_ = value; - } + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AudioSourceInfo); + return Equals(other as LoadAudioFilterPluginResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AudioSourceInfo other) { + public bool Equals(LoadAudioFilterPluginResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Handle, other.Handle)) return false; - if (Type != other.Type) return false; + if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3929,8 +12839,7 @@ public bool Equals(AudioSourceInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (handle_ != null) hash ^= Handle.GetHashCode(); - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) hash ^= Type.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3949,13 +12858,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (handle_ != null) { + if (HasError) { output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3967,13 +12872,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { + if (HasError) { output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3985,11 +12886,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); - } - if (Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3999,18 +12897,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AudioSourceInfo other) { + public void MergeFrom(LoadAudioFilterPluginResponse other) { if (other == null) { return; } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); - } - if (other.Type != global::LiveKit.Proto.AudioSourceType.AudioSourceNative) { - Type = other.Type; + if (other.HasError) { + Error = other.Error; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4023,19 +12915,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - Type = (global::LiveKit.Proto.AudioSourceType) input.ReadEnum(); + Error = input.ReadString(); break; } } @@ -4049,19 +12938,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - Type = (global::LiveKit.Proto.AudioSourceType) input.ReadEnum(); + Error = input.ReadString(); break; } } diff --git a/Runtime/Scripts/Proto/DataStream.cs b/Runtime/Scripts/Proto/DataStream.cs new file mode 100644 index 00000000..75925ffa --- /dev/null +++ b/Runtime/Scripts/Proto/DataStream.cs @@ -0,0 +1,14857 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: data_stream.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace LiveKit.Proto { + + /// Holder for reflection information generated from data_stream.proto + public static partial class DataStreamReflection { + + #region Descriptor + /// File descriptor for data_stream.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static DataStreamReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "ChFkYXRhX3N0cmVhbS5wcm90bxINbGl2ZWtpdC5wcm90bxoMaGFuZGxlLnBy", + "b3RvInMKFU93bmVkVGV4dFN0cmVhbVJlYWRlchItCgZoYW5kbGUYASACKAsy", + "HS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEisKBGluZm8YAiACKAsy", + "HS5saXZla2l0LnByb3RvLlRleHRTdHJlYW1JbmZvIj8KJlRleHRTdHJlYW1S", + "ZWFkZXJSZWFkSW5jcmVtZW50YWxSZXF1ZXN0EhUKDXJlYWRlcl9oYW5kbGUY", + "ASACKAQiKQonVGV4dFN0cmVhbVJlYWRlclJlYWRJbmNyZW1lbnRhbFJlc3Bv", + "bnNlIjcKHlRleHRTdHJlYW1SZWFkZXJSZWFkQWxsUmVxdWVzdBIVCg1yZWFk", + "ZXJfaGFuZGxlGAEgAigEIjMKH1RleHRTdHJlYW1SZWFkZXJSZWFkQWxsUmVz", + "cG9uc2USEAoIYXN5bmNfaWQYASACKAQifQofVGV4dFN0cmVhbVJlYWRlclJl", + "YWRBbGxDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIRCgdjb250ZW50GAIg", + "ASgJSAASKwoFZXJyb3IYAyABKAsyGi5saXZla2l0LnByb3RvLlN0cmVhbUVy", + "cm9ySABCCAoGcmVzdWx0IrMBChVUZXh0U3RyZWFtUmVhZGVyRXZlbnQSFQoN", + "cmVhZGVyX2hhbmRsZRgBIAIoBBJGCg5jaHVua19yZWNlaXZlZBgCIAEoCzIs", + "LmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVJlYWRlckNodW5rUmVjZWl2ZWRI", + "ABIxCgNlb3MYAyABKAsyIi5saXZla2l0LnByb3RvLlRleHRTdHJlYW1SZWFk", + "ZXJFT1NIAEIICgZkZXRhaWwiMAodVGV4dFN0cmVhbVJlYWRlckNodW5rUmVj", + "ZWl2ZWQSDwoHY29udGVudBgBIAIoCSJAChNUZXh0U3RyZWFtUmVhZGVyRU9T", + "EikKBWVycm9yGAEgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvciJz", + "ChVPd25lZEJ5dGVTdHJlYW1SZWFkZXISLQoGaGFuZGxlGAEgAigLMh0ubGl2", + "ZWtpdC5wcm90by5GZmlPd25lZEhhbmRsZRIrCgRpbmZvGAIgAigLMh0ubGl2", + "ZWtpdC5wcm90by5CeXRlU3RyZWFtSW5mbyI/CiZCeXRlU3RyZWFtUmVhZGVy", + "UmVhZEluY3JlbWVudGFsUmVxdWVzdBIVCg1yZWFkZXJfaGFuZGxlGAEgAigE", + "IikKJ0J5dGVTdHJlYW1SZWFkZXJSZWFkSW5jcmVtZW50YWxSZXNwb25zZSI3", + "Ch5CeXRlU3RyZWFtUmVhZGVyUmVhZEFsbFJlcXVlc3QSFQoNcmVhZGVyX2hh", + "bmRsZRgBIAIoBCIzCh9CeXRlU3RyZWFtUmVhZGVyUmVhZEFsbFJlc3BvbnNl", + "EhAKCGFzeW5jX2lkGAEgAigEIn0KH0J5dGVTdHJlYW1SZWFkZXJSZWFkQWxs", + "Q2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSEQoHY29udGVudBgCIAEoDEgA", + "EisKBWVycm9yGAMgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvckgA", + "QggKBnJlc3VsdCJlCiJCeXRlU3RyZWFtUmVhZGVyV3JpdGVUb0ZpbGVSZXF1", + "ZXN0EhUKDXJlYWRlcl9oYW5kbGUYASACKAQSEQoJZGlyZWN0b3J5GAMgASgJ", + "EhUKDW5hbWVfb3ZlcnJpZGUYBCABKAkiNwojQnl0ZVN0cmVhbVJlYWRlcldy", + "aXRlVG9GaWxlUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQigwEKI0J5dGVT", + "dHJlYW1SZWFkZXJXcml0ZVRvRmlsZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEg", + "AigEEhMKCWZpbGVfcGF0aBgCIAEoCUgAEisKBWVycm9yGAMgASgLMhoubGl2", + "ZWtpdC5wcm90by5TdHJlYW1FcnJvckgAQggKBnJlc3VsdCKzAQoVQnl0ZVN0", + "cmVhbVJlYWRlckV2ZW50EhUKDXJlYWRlcl9oYW5kbGUYASACKAQSRgoOY2h1", + "bmtfcmVjZWl2ZWQYAiABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1S", + "ZWFkZXJDaHVua1JlY2VpdmVkSAASMQoDZW9zGAMgASgLMiIubGl2ZWtpdC5w", + "cm90by5CeXRlU3RyZWFtUmVhZGVyRU9TSABCCAoGZGV0YWlsIjAKHUJ5dGVT", + "dHJlYW1SZWFkZXJDaHVua1JlY2VpdmVkEg8KB2NvbnRlbnQYASACKAwiQAoT", + "Qnl0ZVN0cmVhbVJlYWRlckVPUxIpCgVlcnJvchgBIAEoCzIaLmxpdmVraXQu", + "cHJvdG8uU3RyZWFtRXJyb3IifwoVU3RyZWFtU2VuZEZpbGVSZXF1ZXN0EiAK", + "GGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIxCgdvcHRpb25zGAIg", + "AigLMiAubGl2ZWtpdC5wcm90by5TdHJlYW1CeXRlT3B0aW9ucxIRCglmaWxl", + "X3BhdGgYAyACKAkiKgoWU3RyZWFtU2VuZEZpbGVSZXNwb25zZRIQCghhc3lu", + "Y19pZBgBIAIoBCKQAQoWU3RyZWFtU2VuZEZpbGVDYWxsYmFjaxIQCghhc3lu", + "Y19pZBgBIAIoBBItCgRpbmZvGAIgASgLMh0ubGl2ZWtpdC5wcm90by5CeXRl", + "U3RyZWFtSW5mb0gAEisKBWVycm9yGAMgASgLMhoubGl2ZWtpdC5wcm90by5T", + "dHJlYW1FcnJvckgAQggKBnJlc3VsdCJ6ChVTdHJlYW1TZW5kVGV4dFJlcXVl", + "c3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEjEKB29wdGlv", + "bnMYAiACKAsyIC5saXZla2l0LnByb3RvLlN0cmVhbVRleHRPcHRpb25zEgwK", + "BHRleHQYAyACKAkiKgoWU3RyZWFtU2VuZFRleHRSZXNwb25zZRIQCghhc3lu", + "Y19pZBgBIAIoBCKQAQoWU3RyZWFtU2VuZFRleHRDYWxsYmFjaxIQCghhc3lu", + "Y19pZBgBIAIoBBItCgRpbmZvGAIgASgLMh0ubGl2ZWtpdC5wcm90by5UZXh0", + "U3RyZWFtSW5mb0gAEisKBWVycm9yGAMgASgLMhoubGl2ZWtpdC5wcm90by5T", + "dHJlYW1FcnJvckgAQggKBnJlc3VsdCJzChVPd25lZEJ5dGVTdHJlYW1Xcml0", + "ZXISLQoGaGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhh", + "bmRsZRIrCgRpbmZvGAIgAigLMh0ubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFt", + "SW5mbyJsChVCeXRlU3RyZWFtT3BlblJlcXVlc3QSIAoYbG9jYWxfcGFydGlj", + "aXBhbnRfaGFuZGxlGAEgAigEEjEKB29wdGlvbnMYAiACKAsyIC5saXZla2l0", + "LnByb3RvLlN0cmVhbUJ5dGVPcHRpb25zIioKFkJ5dGVTdHJlYW1PcGVuUmVz", + "cG9uc2USEAoIYXN5bmNfaWQYASACKAQimQEKFkJ5dGVTdHJlYW1PcGVuQ2Fs", + "bGJhY2sSEAoIYXN5bmNfaWQYASACKAQSNgoGd3JpdGVyGAIgASgLMiQubGl2", + "ZWtpdC5wcm90by5Pd25lZEJ5dGVTdHJlYW1Xcml0ZXJIABIrCgVlcnJvchgD", + "IAEoCzIaLmxpdmVraXQucHJvdG8uU3RyZWFtRXJyb3JIAEIICgZyZXN1bHQi", + "RAocQnl0ZVN0cmVhbVdyaXRlcldyaXRlUmVxdWVzdBIVCg13cml0ZXJfaGFu", + "ZGxlGAEgAigEEg0KBWJ5dGVzGAIgAigMIjEKHUJ5dGVTdHJlYW1Xcml0ZXJX", + "cml0ZVJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIlwKHUJ5dGVTdHJlYW1X", + "cml0ZXJXcml0ZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEikKBWVycm9y", + "GAIgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvciJFChxCeXRlU3Ry", + "ZWFtV3JpdGVyQ2xvc2VSZXF1ZXN0EhUKDXdyaXRlcl9oYW5kbGUYASACKAQS", + "DgoGcmVhc29uGAIgASgJIjEKHUJ5dGVTdHJlYW1Xcml0ZXJDbG9zZVJlc3Bv", + "bnNlEhAKCGFzeW5jX2lkGAEgAigEIlwKHUJ5dGVTdHJlYW1Xcml0ZXJDbG9z", + "ZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEikKBWVycm9yGAIgASgLMhou", + "bGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvciJzChVPd25lZFRleHRTdHJlYW1X", + "cml0ZXISLQoGaGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25l", + "ZEhhbmRsZRIrCgRpbmZvGAIgAigLMh0ubGl2ZWtpdC5wcm90by5UZXh0U3Ry", + "ZWFtSW5mbyJsChVUZXh0U3RyZWFtT3BlblJlcXVlc3QSIAoYbG9jYWxfcGFy", + "dGljaXBhbnRfaGFuZGxlGAEgAigEEjEKB29wdGlvbnMYAiACKAsyIC5saXZl", + "a2l0LnByb3RvLlN0cmVhbVRleHRPcHRpb25zIioKFlRleHRTdHJlYW1PcGVu", + "UmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQimQEKFlRleHRTdHJlYW1PcGVu", + "Q2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSNgoGd3JpdGVyGAIgASgLMiQu", + "bGl2ZWtpdC5wcm90by5Pd25lZFRleHRTdHJlYW1Xcml0ZXJIABIrCgVlcnJv", + "chgDIAEoCzIaLmxpdmVraXQucHJvdG8uU3RyZWFtRXJyb3JIAEIICgZyZXN1", + "bHQiQwocVGV4dFN0cmVhbVdyaXRlcldyaXRlUmVxdWVzdBIVCg13cml0ZXJf", + "aGFuZGxlGAEgAigEEgwKBHRleHQYAiACKAkiMQodVGV4dFN0cmVhbVdyaXRl", + "cldyaXRlUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQiXAodVGV4dFN0cmVh", + "bVdyaXRlcldyaXRlQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSKQoFZXJy", + "b3IYAiABKAsyGi5saXZla2l0LnByb3RvLlN0cmVhbUVycm9yIkUKHFRleHRT", + "dHJlYW1Xcml0ZXJDbG9zZVJlcXVlc3QSFQoNd3JpdGVyX2hhbmRsZRgBIAIo", + "BBIOCgZyZWFzb24YAiABKAkiMQodVGV4dFN0cmVhbVdyaXRlckNsb3NlUmVz", + "cG9uc2USEAoIYXN5bmNfaWQYASACKAQiXAodVGV4dFN0cmVhbVdyaXRlckNs", + "b3NlQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSKQoFZXJyb3IYAiABKAsy", + "Gi5saXZla2l0LnByb3RvLlN0cmVhbUVycm9yIskDCg5UZXh0U3RyZWFtSW5m", + "bxIRCglzdHJlYW1faWQYASACKAkSEQoJdGltZXN0YW1wGAIgAigDEhEKCW1p", + "bWVfdHlwZRgDIAIoCRINCgV0b3BpYxgEIAIoCRIUCgx0b3RhbF9sZW5ndGgY", + "BSABKAQSQQoKYXR0cmlidXRlcxgGIAMoCzItLmxpdmVraXQucHJvdG8uVGV4", + "dFN0cmVhbUluZm8uQXR0cmlidXRlc0VudHJ5EkMKDm9wZXJhdGlvbl90eXBl", + "GAcgAigOMisubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtSW5mby5PcGVyYXRp", + "b25UeXBlEg8KB3ZlcnNpb24YCCABKAUSGgoScmVwbHlfdG9fc3RyZWFtX2lk", + "GAkgASgJEhsKE2F0dGFjaGVkX3N0cmVhbV9pZHMYCiADKAkSEQoJZ2VuZXJh", + "dGVkGAsgASgIGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoF", + "dmFsdWUYAiABKAk6AjgBIkEKDU9wZXJhdGlvblR5cGUSCgoGQ1JFQVRFEAAS", + "CgoGVVBEQVRFEAESCgoGREVMRVRFEAISDAoIUkVBQ1RJT04QAyLyAQoOQnl0", + "ZVN0cmVhbUluZm8SEQoJc3RyZWFtX2lkGAEgAigJEhEKCXRpbWVzdGFtcBgC", + "IAIoAxIRCgltaW1lX3R5cGUYAyACKAkSDQoFdG9waWMYBCACKAkSFAoMdG90", + "YWxfbGVuZ3RoGAUgASgEEkEKCmF0dHJpYnV0ZXMYBiADKAsyLS5saXZla2l0", + "LnByb3RvLkJ5dGVTdHJlYW1JbmZvLkF0dHJpYnV0ZXNFbnRyeRIMCgRuYW1l", + "GAcgAigJGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFs", + "dWUYAiABKAk6AjgBIukCChFTdHJlYW1UZXh0T3B0aW9ucxINCgV0b3BpYxgB", + "IAIoCRJECgphdHRyaWJ1dGVzGAIgAygLMjAubGl2ZWtpdC5wcm90by5TdHJl", + "YW1UZXh0T3B0aW9ucy5BdHRyaWJ1dGVzRW50cnkSHgoWZGVzdGluYXRpb25f", + "aWRlbnRpdGllcxgDIAMoCRIKCgJpZBgEIAEoCRJDCg5vcGVyYXRpb25fdHlw", + "ZRgFIAEoDjIrLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbUluZm8uT3BlcmF0", + "aW9uVHlwZRIPCgd2ZXJzaW9uGAYgASgFEhoKEnJlcGx5X3RvX3N0cmVhbV9p", + "ZBgHIAEoCRIbChNhdHRhY2hlZF9zdHJlYW1faWRzGAggAygJEhEKCWdlbmVy", + "YXRlZBgJIAEoCBoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0K", + "BXZhbHVlGAIgASgJOgI4ASL+AQoRU3RyZWFtQnl0ZU9wdGlvbnMSDQoFdG9w", + "aWMYASACKAkSRAoKYXR0cmlidXRlcxgCIAMoCzIwLmxpdmVraXQucHJvdG8u", + "U3RyZWFtQnl0ZU9wdGlvbnMuQXR0cmlidXRlc0VudHJ5Eh4KFmRlc3RpbmF0", + "aW9uX2lkZW50aXRpZXMYAyADKAkSCgoCaWQYBCABKAkSDAoEbmFtZRgFIAEo", + "CRIRCgltaW1lX3R5cGUYBiABKAkSFAoMdG90YWxfbGVuZ3RoGAcgASgEGjEK", + "D0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6", + "AjgBIiIKC1N0cmVhbUVycm9yEhMKC2Rlc2NyaXB0aW9uGAEgAigJQhCqAg1M", + "aXZlS2l0LlByb3Rv")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedTextStreamReader), global::LiveKit.Proto.OwnedTextStreamReader.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest), global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest.Parser, new[]{ "ReaderHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse), global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderReadAllRequest), global::LiveKit.Proto.TextStreamReaderReadAllRequest.Parser, new[]{ "ReaderHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderReadAllResponse), global::LiveKit.Proto.TextStreamReaderReadAllResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderReadAllCallback), global::LiveKit.Proto.TextStreamReaderReadAllCallback.Parser, new[]{ "AsyncId", "Content", "Error" }, new[]{ "Result" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderEvent), global::LiveKit.Proto.TextStreamReaderEvent.Parser, new[]{ "ReaderHandle", "ChunkReceived", "Eos" }, new[]{ "Detail" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderChunkReceived), global::LiveKit.Proto.TextStreamReaderChunkReceived.Parser, new[]{ "Content" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamReaderEOS), global::LiveKit.Proto.TextStreamReaderEOS.Parser, new[]{ "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedByteStreamReader), global::LiveKit.Proto.OwnedByteStreamReader.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest), global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest.Parser, new[]{ "ReaderHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse), global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderReadAllRequest), global::LiveKit.Proto.ByteStreamReaderReadAllRequest.Parser, new[]{ "ReaderHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderReadAllResponse), global::LiveKit.Proto.ByteStreamReaderReadAllResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderReadAllCallback), global::LiveKit.Proto.ByteStreamReaderReadAllCallback.Parser, new[]{ "AsyncId", "Content", "Error" }, new[]{ "Result" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest), global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest.Parser, new[]{ "ReaderHandle", "Directory", "NameOverride" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse), global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback), global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback.Parser, new[]{ "AsyncId", "FilePath", "Error" }, new[]{ "Result" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderEvent), global::LiveKit.Proto.ByteStreamReaderEvent.Parser, new[]{ "ReaderHandle", "ChunkReceived", "Eos" }, new[]{ "Detail" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderChunkReceived), global::LiveKit.Proto.ByteStreamReaderChunkReceived.Parser, new[]{ "Content" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamReaderEOS), global::LiveKit.Proto.ByteStreamReaderEOS.Parser, new[]{ "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendFileRequest), global::LiveKit.Proto.StreamSendFileRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "FilePath" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendFileResponse), global::LiveKit.Proto.StreamSendFileResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendFileCallback), global::LiveKit.Proto.StreamSendFileCallback.Parser, new[]{ "AsyncId", "Info", "Error" }, new[]{ "Result" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendTextRequest), global::LiveKit.Proto.StreamSendTextRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "Text" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendTextResponse), global::LiveKit.Proto.StreamSendTextResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendTextCallback), global::LiveKit.Proto.StreamSendTextCallback.Parser, new[]{ "AsyncId", "Info", "Error" }, new[]{ "Result" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedByteStreamWriter), global::LiveKit.Proto.OwnedByteStreamWriter.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamOpenRequest), global::LiveKit.Proto.ByteStreamOpenRequest.Parser, new[]{ "LocalParticipantHandle", "Options" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamOpenResponse), global::LiveKit.Proto.ByteStreamOpenResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamOpenCallback), global::LiveKit.Proto.ByteStreamOpenCallback.Parser, new[]{ "AsyncId", "Writer", "Error" }, new[]{ "Result" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamWriterWriteRequest), global::LiveKit.Proto.ByteStreamWriterWriteRequest.Parser, new[]{ "WriterHandle", "Bytes" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamWriterWriteResponse), global::LiveKit.Proto.ByteStreamWriterWriteResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamWriterWriteCallback), global::LiveKit.Proto.ByteStreamWriterWriteCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamWriterCloseRequest), global::LiveKit.Proto.ByteStreamWriterCloseRequest.Parser, new[]{ "WriterHandle", "Reason" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamWriterCloseResponse), global::LiveKit.Proto.ByteStreamWriterCloseResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamWriterCloseCallback), global::LiveKit.Proto.ByteStreamWriterCloseCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedTextStreamWriter), global::LiveKit.Proto.OwnedTextStreamWriter.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamOpenRequest), global::LiveKit.Proto.TextStreamOpenRequest.Parser, new[]{ "LocalParticipantHandle", "Options" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamOpenResponse), global::LiveKit.Proto.TextStreamOpenResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamOpenCallback), global::LiveKit.Proto.TextStreamOpenCallback.Parser, new[]{ "AsyncId", "Writer", "Error" }, new[]{ "Result" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamWriterWriteRequest), global::LiveKit.Proto.TextStreamWriterWriteRequest.Parser, new[]{ "WriterHandle", "Text" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamWriterWriteResponse), global::LiveKit.Proto.TextStreamWriterWriteResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamWriterWriteCallback), global::LiveKit.Proto.TextStreamWriterWriteCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamWriterCloseRequest), global::LiveKit.Proto.TextStreamWriterCloseRequest.Parser, new[]{ "WriterHandle", "Reason" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamWriterCloseResponse), global::LiveKit.Proto.TextStreamWriterCloseResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamWriterCloseCallback), global::LiveKit.Proto.TextStreamWriterCloseCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamInfo), global::LiveKit.Proto.TextStreamInfo.Parser, new[]{ "StreamId", "Timestamp", "MimeType", "Topic", "TotalLength", "Attributes", "OperationType", "Version", "ReplyToStreamId", "AttachedStreamIds", "Generated" }, null, new[]{ typeof(global::LiveKit.Proto.TextStreamInfo.Types.OperationType) }, null, new pbr::GeneratedClrTypeInfo[] { null, }), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamInfo), global::LiveKit.Proto.ByteStreamInfo.Parser, new[]{ "StreamId", "Timestamp", "MimeType", "Topic", "TotalLength", "Attributes", "Name" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamTextOptions), global::LiveKit.Proto.StreamTextOptions.Parser, new[]{ "Topic", "Attributes", "DestinationIdentities", "Id", "OperationType", "Version", "ReplyToStreamId", "AttachedStreamIds", "Generated" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamByteOptions), global::LiveKit.Proto.StreamByteOptions.Parser, new[]{ "Topic", "Attributes", "DestinationIdentities", "Id", "Name", "MimeType", "TotalLength" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamError), global::LiveKit.Proto.StreamError.Parser, new[]{ "Description" }, null, null, null, null) + })); + } + #endregion + + } + #region Messages + /// + /// A reader for an incoming stream. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedTextStreamReader : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedTextStreamReader()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTextStreamReader() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTextStreamReader(OwnedTextStreamReader other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTextStreamReader Clone() { + return new OwnedTextStreamReader(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.TextStreamInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedTextStreamReader); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedTextStreamReader other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedTextStreamReader other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.TextStreamInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TextStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TextStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + /// + /// Reads an incoming text stream incrementally. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderReadIncrementalRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderReadIncrementalRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadIncrementalRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadIncrementalRequest(TextStreamReaderReadIncrementalRequest other) : this() { + _hasBits0 = other._hasBits0; + readerHandle_ = other.readerHandle_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadIncrementalRequest Clone() { + return new TextStreamReaderReadIncrementalRequest(this); + } + + /// Field number for the "reader_handle" field. + public const int ReaderHandleFieldNumber = 1; + private readonly static ulong ReaderHandleDefaultValue = 0UL; + + private ulong readerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReaderHandle { + get { if ((_hasBits0 & 1) != 0) { return readerHandle_; } else { return ReaderHandleDefaultValue; } } + set { + _hasBits0 |= 1; + readerHandle_ = value; + } + } + /// Gets whether the "reader_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReaderHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reader_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReaderHandle() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderReadIncrementalRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderReadIncrementalRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ReaderHandle != other.ReaderHandle) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReaderHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderReadIncrementalRequest other) { + if (other == null) { + return; + } + if (other.HasReaderHandle) { + ReaderHandle = other.ReaderHandle; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderReadIncrementalResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderReadIncrementalResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadIncrementalResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadIncrementalResponse(TextStreamReaderReadIncrementalResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadIncrementalResponse Clone() { + return new TextStreamReaderReadIncrementalResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderReadIncrementalResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderReadIncrementalResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderReadIncrementalResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + /// + /// Reads an incoming text stream in its entirety. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderReadAllRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderReadAllRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllRequest(TextStreamReaderReadAllRequest other) : this() { + _hasBits0 = other._hasBits0; + readerHandle_ = other.readerHandle_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllRequest Clone() { + return new TextStreamReaderReadAllRequest(this); + } + + /// Field number for the "reader_handle" field. + public const int ReaderHandleFieldNumber = 1; + private readonly static ulong ReaderHandleDefaultValue = 0UL; + + private ulong readerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReaderHandle { + get { if ((_hasBits0 & 1) != 0) { return readerHandle_; } else { return ReaderHandleDefaultValue; } } + set { + _hasBits0 |= 1; + readerHandle_ = value; + } + } + /// Gets whether the "reader_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReaderHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reader_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReaderHandle() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderReadAllRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderReadAllRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ReaderHandle != other.ReaderHandle) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReaderHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderReadAllRequest other) { + if (other == null) { + return; + } + if (other.HasReaderHandle) { + ReaderHandle = other.ReaderHandle; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderReadAllResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderReadAllResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[4]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllResponse(TextStreamReaderReadAllResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllResponse Clone() { + return new TextStreamReaderReadAllResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderReadAllResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderReadAllResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderReadAllResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderReadAllCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderReadAllCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[5]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllCallback(TextStreamReaderReadAllCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.ResultCase) { + case ResultOneofCase.Content: + Content = other.Content; + break; + case ResultOneofCase.Error: + Error = other.Error.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderReadAllCallback Clone() { + return new TextStreamReaderReadAllCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "content" field. + public const int ContentFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Content { + get { return HasContent ? (string) result_ : ""; } + set { + result_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + resultCase_ = ResultOneofCase.Content; + } + } + /// Gets whether the "content" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasContent { + get { return resultCase_ == ResultOneofCase.Content; } + } + /// Clears the value of the oneof if it's currently set to "content" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearContent() { + if (HasContent) { + ClearResult(); + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return resultCase_ == ResultOneofCase.Error ? (global::LiveKit.Proto.StreamError) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Error; + } + } + + private object result_; + /// Enum of possible cases for the "result" oneof. + public enum ResultOneofCase { + None = 0, + Content = 2, + Error = 3, + } + private ResultOneofCase resultCase_ = ResultOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ResultOneofCase ResultCase { + get { return resultCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResult() { + resultCase_ = ResultOneofCase.None; + result_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderReadAllCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderReadAllCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Content != other.Content) return false; + if (!object.Equals(Error, other.Error)) return false; + if (ResultCase != other.ResultCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasContent) hash ^= Content.GetHashCode(); + if (resultCase_ == ResultOneofCase.Error) hash ^= Error.GetHashCode(); + hash ^= (int) resultCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasContent) { + output.WriteRawTag(18); + output.WriteString(Content); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasContent) { + output.WriteRawTag(18); + output.WriteString(Content); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasContent) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Content); + } + if (resultCase_ == ResultOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderReadAllCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.ResultCase) { + case ResultOneofCase.Content: + Content = other.Content; + break; + case ResultOneofCase.Error: + if (Error == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Content = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Content = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderEvent : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderEvent()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[6]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderEvent() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderEvent(TextStreamReaderEvent other) : this() { + _hasBits0 = other._hasBits0; + readerHandle_ = other.readerHandle_; + switch (other.DetailCase) { + case DetailOneofCase.ChunkReceived: + ChunkReceived = other.ChunkReceived.Clone(); + break; + case DetailOneofCase.Eos: + Eos = other.Eos.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderEvent Clone() { + return new TextStreamReaderEvent(this); + } + + /// Field number for the "reader_handle" field. + public const int ReaderHandleFieldNumber = 1; + private readonly static ulong ReaderHandleDefaultValue = 0UL; + + private ulong readerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReaderHandle { + get { if ((_hasBits0 & 1) != 0) { return readerHandle_; } else { return ReaderHandleDefaultValue; } } + set { + _hasBits0 |= 1; + readerHandle_ = value; + } + } + /// Gets whether the "reader_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReaderHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reader_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReaderHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "chunk_received" field. + public const int ChunkReceivedFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderChunkReceived ChunkReceived { + get { return detailCase_ == DetailOneofCase.ChunkReceived ? (global::LiveKit.Proto.TextStreamReaderChunkReceived) detail_ : null; } + set { + detail_ = value; + detailCase_ = value == null ? DetailOneofCase.None : DetailOneofCase.ChunkReceived; + } + } + + /// Field number for the "eos" field. + public const int EosFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderEOS Eos { + get { return detailCase_ == DetailOneofCase.Eos ? (global::LiveKit.Proto.TextStreamReaderEOS) detail_ : null; } + set { + detail_ = value; + detailCase_ = value == null ? DetailOneofCase.None : DetailOneofCase.Eos; + } + } + + private object detail_; + /// Enum of possible cases for the "detail" oneof. + public enum DetailOneofCase { + None = 0, + ChunkReceived = 2, + Eos = 3, + } + private DetailOneofCase detailCase_ = DetailOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DetailOneofCase DetailCase { + get { return detailCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDetail() { + detailCase_ = DetailOneofCase.None; + detail_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderEvent); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderEvent other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ReaderHandle != other.ReaderHandle) return false; + if (!object.Equals(ChunkReceived, other.ChunkReceived)) return false; + if (!object.Equals(Eos, other.Eos)) return false; + if (DetailCase != other.DetailCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode(); + if (detailCase_ == DetailOneofCase.ChunkReceived) hash ^= ChunkReceived.GetHashCode(); + if (detailCase_ == DetailOneofCase.Eos) hash ^= Eos.GetHashCode(); + hash ^= (int) detailCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (detailCase_ == DetailOneofCase.ChunkReceived) { + output.WriteRawTag(18); + output.WriteMessage(ChunkReceived); + } + if (detailCase_ == DetailOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (detailCase_ == DetailOneofCase.ChunkReceived) { + output.WriteRawTag(18); + output.WriteMessage(ChunkReceived); + } + if (detailCase_ == DetailOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReaderHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle); + } + if (detailCase_ == DetailOneofCase.ChunkReceived) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ChunkReceived); + } + if (detailCase_ == DetailOneofCase.Eos) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Eos); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderEvent other) { + if (other == null) { + return; + } + if (other.HasReaderHandle) { + ReaderHandle = other.ReaderHandle; + } + switch (other.DetailCase) { + case DetailOneofCase.ChunkReceived: + if (ChunkReceived == null) { + ChunkReceived = new global::LiveKit.Proto.TextStreamReaderChunkReceived(); + } + ChunkReceived.MergeFrom(other.ChunkReceived); + break; + case DetailOneofCase.Eos: + if (Eos == null) { + Eos = new global::LiveKit.Proto.TextStreamReaderEOS(); + } + Eos.MergeFrom(other.Eos); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.TextStreamReaderChunkReceived subBuilder = new global::LiveKit.Proto.TextStreamReaderChunkReceived(); + if (detailCase_ == DetailOneofCase.ChunkReceived) { + subBuilder.MergeFrom(ChunkReceived); + } + input.ReadMessage(subBuilder); + ChunkReceived = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.TextStreamReaderEOS subBuilder = new global::LiveKit.Proto.TextStreamReaderEOS(); + if (detailCase_ == DetailOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.TextStreamReaderChunkReceived subBuilder = new global::LiveKit.Proto.TextStreamReaderChunkReceived(); + if (detailCase_ == DetailOneofCase.ChunkReceived) { + subBuilder.MergeFrom(ChunkReceived); + } + input.ReadMessage(subBuilder); + ChunkReceived = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.TextStreamReaderEOS subBuilder = new global::LiveKit.Proto.TextStreamReaderEOS(); + if (detailCase_ == DetailOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderChunkReceived : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderChunkReceived()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[7]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderChunkReceived() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderChunkReceived(TextStreamReaderChunkReceived other) : this() { + content_ = other.content_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderChunkReceived Clone() { + return new TextStreamReaderChunkReceived(this); + } + + /// Field number for the "content" field. + public const int ContentFieldNumber = 1; + private readonly static string ContentDefaultValue = ""; + + private string content_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Content { + get { return content_ ?? ContentDefaultValue; } + set { + content_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "content" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasContent { + get { return content_ != null; } + } + /// Clears the value of the "content" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearContent() { + content_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderChunkReceived); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderChunkReceived other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Content != other.Content) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasContent) hash ^= Content.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasContent) { + output.WriteRawTag(10); + output.WriteString(Content); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasContent) { + output.WriteRawTag(10); + output.WriteString(Content); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasContent) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Content); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderChunkReceived other) { + if (other == null) { + return; + } + if (other.HasContent) { + Content = other.Content; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Content = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Content = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamReaderEOS : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamReaderEOS()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[8]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderEOS() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderEOS(TextStreamReaderEOS other) : this() { + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamReaderEOS Clone() { + return new TextStreamReaderEOS(this); + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + private global::LiveKit.Proto.StreamError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamReaderEOS); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamReaderEOS other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (error_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (error_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamReaderEOS other) { + if (other == null) { + return; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + /// + /// A reader for an incoming stream. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedByteStreamReader : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedByteStreamReader()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[9]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedByteStreamReader() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedByteStreamReader(OwnedByteStreamReader other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedByteStreamReader Clone() { + return new OwnedByteStreamReader(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.ByteStreamInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedByteStreamReader); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedByteStreamReader other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedByteStreamReader other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.ByteStreamInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.ByteStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.ByteStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + /// + /// Reads an incoming byte stream incrementally. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderReadIncrementalRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderReadIncrementalRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[10]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadIncrementalRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadIncrementalRequest(ByteStreamReaderReadIncrementalRequest other) : this() { + _hasBits0 = other._hasBits0; + readerHandle_ = other.readerHandle_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadIncrementalRequest Clone() { + return new ByteStreamReaderReadIncrementalRequest(this); + } + + /// Field number for the "reader_handle" field. + public const int ReaderHandleFieldNumber = 1; + private readonly static ulong ReaderHandleDefaultValue = 0UL; + + private ulong readerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReaderHandle { + get { if ((_hasBits0 & 1) != 0) { return readerHandle_; } else { return ReaderHandleDefaultValue; } } + set { + _hasBits0 |= 1; + readerHandle_ = value; + } + } + /// Gets whether the "reader_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReaderHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reader_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReaderHandle() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderReadIncrementalRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderReadIncrementalRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ReaderHandle != other.ReaderHandle) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReaderHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderReadIncrementalRequest other) { + if (other == null) { + return; + } + if (other.HasReaderHandle) { + ReaderHandle = other.ReaderHandle; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderReadIncrementalResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderReadIncrementalResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[11]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadIncrementalResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadIncrementalResponse(ByteStreamReaderReadIncrementalResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadIncrementalResponse Clone() { + return new ByteStreamReaderReadIncrementalResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderReadIncrementalResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderReadIncrementalResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderReadIncrementalResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + /// + /// Reads an incoming byte stream in its entirety. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderReadAllRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderReadAllRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[12]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllRequest(ByteStreamReaderReadAllRequest other) : this() { + _hasBits0 = other._hasBits0; + readerHandle_ = other.readerHandle_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllRequest Clone() { + return new ByteStreamReaderReadAllRequest(this); + } + + /// Field number for the "reader_handle" field. + public const int ReaderHandleFieldNumber = 1; + private readonly static ulong ReaderHandleDefaultValue = 0UL; + + private ulong readerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReaderHandle { + get { if ((_hasBits0 & 1) != 0) { return readerHandle_; } else { return ReaderHandleDefaultValue; } } + set { + _hasBits0 |= 1; + readerHandle_ = value; + } + } + /// Gets whether the "reader_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReaderHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reader_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReaderHandle() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderReadAllRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderReadAllRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ReaderHandle != other.ReaderHandle) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReaderHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderReadAllRequest other) { + if (other == null) { + return; + } + if (other.HasReaderHandle) { + ReaderHandle = other.ReaderHandle; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderReadAllResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderReadAllResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[13]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllResponse(ByteStreamReaderReadAllResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllResponse Clone() { + return new ByteStreamReaderReadAllResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderReadAllResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderReadAllResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderReadAllResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderReadAllCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderReadAllCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllCallback(ByteStreamReaderReadAllCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.ResultCase) { + case ResultOneofCase.Content: + Content = other.Content; + break; + case ResultOneofCase.Error: + Error = other.Error.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderReadAllCallback Clone() { + return new ByteStreamReaderReadAllCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "content" field. + public const int ContentFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Content { + get { return HasContent ? (pb::ByteString) result_ : pb::ByteString.Empty; } + set { + result_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + resultCase_ = ResultOneofCase.Content; + } + } + /// Gets whether the "content" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasContent { + get { return resultCase_ == ResultOneofCase.Content; } + } + /// Clears the value of the oneof if it's currently set to "content" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearContent() { + if (HasContent) { + ClearResult(); + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return resultCase_ == ResultOneofCase.Error ? (global::LiveKit.Proto.StreamError) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Error; + } + } + + private object result_; + /// Enum of possible cases for the "result" oneof. + public enum ResultOneofCase { + None = 0, + Content = 2, + Error = 3, + } + private ResultOneofCase resultCase_ = ResultOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ResultOneofCase ResultCase { + get { return resultCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResult() { + resultCase_ = ResultOneofCase.None; + result_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderReadAllCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderReadAllCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Content != other.Content) return false; + if (!object.Equals(Error, other.Error)) return false; + if (ResultCase != other.ResultCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasContent) hash ^= Content.GetHashCode(); + if (resultCase_ == ResultOneofCase.Error) hash ^= Error.GetHashCode(); + hash ^= (int) resultCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasContent) { + output.WriteRawTag(18); + output.WriteBytes(Content); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasContent) { + output.WriteRawTag(18); + output.WriteBytes(Content); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasContent) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Content); + } + if (resultCase_ == ResultOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderReadAllCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.ResultCase) { + case ResultOneofCase.Content: + Content = other.Content; + break; + case ResultOneofCase.Error: + if (Error == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Content = input.ReadBytes(); + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Content = input.ReadBytes(); + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Writes data from an incoming stream to a file as it arrives. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderWriteToFileRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderWriteToFileRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[15]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileRequest(ByteStreamReaderWriteToFileRequest other) : this() { + _hasBits0 = other._hasBits0; + readerHandle_ = other.readerHandle_; + directory_ = other.directory_; + nameOverride_ = other.nameOverride_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileRequest Clone() { + return new ByteStreamReaderWriteToFileRequest(this); + } + + /// Field number for the "reader_handle" field. + public const int ReaderHandleFieldNumber = 1; + private readonly static ulong ReaderHandleDefaultValue = 0UL; + + private ulong readerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReaderHandle { + get { if ((_hasBits0 & 1) != 0) { return readerHandle_; } else { return ReaderHandleDefaultValue; } } + set { + _hasBits0 |= 1; + readerHandle_ = value; + } + } + /// Gets whether the "reader_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReaderHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reader_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReaderHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "directory" field. + public const int DirectoryFieldNumber = 3; + private readonly static string DirectoryDefaultValue = ""; + + private string directory_; + /// + /// Directory to write the file in (must be writable by the current process). + /// If not provided, the file will be written to the system's temp directory. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Directory { + get { return directory_ ?? DirectoryDefaultValue; } + set { + directory_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "directory" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDirectory { + get { return directory_ != null; } + } + /// Clears the value of the "directory" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDirectory() { + directory_ = null; + } + + /// Field number for the "name_override" field. + public const int NameOverrideFieldNumber = 4; + private readonly static string NameOverrideDefaultValue = ""; + + private string nameOverride_; + /// + /// Name to use for the written file. + /// If not provided, the file's name and extension will be inferred from + /// the stream's info. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string NameOverride { + get { return nameOverride_ ?? NameOverrideDefaultValue; } + set { + nameOverride_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name_override" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNameOverride { + get { return nameOverride_ != null; } + } + /// Clears the value of the "name_override" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNameOverride() { + nameOverride_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderWriteToFileRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderWriteToFileRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ReaderHandle != other.ReaderHandle) return false; + if (Directory != other.Directory) return false; + if (NameOverride != other.NameOverride) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode(); + if (HasDirectory) hash ^= Directory.GetHashCode(); + if (HasNameOverride) hash ^= NameOverride.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (HasDirectory) { + output.WriteRawTag(26); + output.WriteString(Directory); + } + if (HasNameOverride) { + output.WriteRawTag(34); + output.WriteString(NameOverride); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (HasDirectory) { + output.WriteRawTag(26); + output.WriteString(Directory); + } + if (HasNameOverride) { + output.WriteRawTag(34); + output.WriteString(NameOverride); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReaderHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle); + } + if (HasDirectory) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Directory); + } + if (HasNameOverride) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(NameOverride); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderWriteToFileRequest other) { + if (other == null) { + return; + } + if (other.HasReaderHandle) { + ReaderHandle = other.ReaderHandle; + } + if (other.HasDirectory) { + Directory = other.Directory; + } + if (other.HasNameOverride) { + NameOverride = other.NameOverride; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + case 26: { + Directory = input.ReadString(); + break; + } + case 34: { + NameOverride = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + case 26: { + Directory = input.ReadString(); + break; + } + case 34: { + NameOverride = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderWriteToFileResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderWriteToFileResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[16]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileResponse(ByteStreamReaderWriteToFileResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileResponse Clone() { + return new ByteStreamReaderWriteToFileResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderWriteToFileResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderWriteToFileResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderWriteToFileResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderWriteToFileCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderWriteToFileCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[17]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileCallback(ByteStreamReaderWriteToFileCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.ResultCase) { + case ResultOneofCase.FilePath: + FilePath = other.FilePath; + break; + case ResultOneofCase.Error: + Error = other.Error.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderWriteToFileCallback Clone() { + return new ByteStreamReaderWriteToFileCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "file_path" field. + public const int FilePathFieldNumber = 2; + /// + /// Path the file was written to. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string FilePath { + get { return HasFilePath ? (string) result_ : ""; } + set { + result_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + resultCase_ = ResultOneofCase.FilePath; + } + } + /// Gets whether the "file_path" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFilePath { + get { return resultCase_ == ResultOneofCase.FilePath; } + } + /// Clears the value of the oneof if it's currently set to "file_path" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFilePath() { + if (HasFilePath) { + ClearResult(); + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return resultCase_ == ResultOneofCase.Error ? (global::LiveKit.Proto.StreamError) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Error; + } + } + + private object result_; + /// Enum of possible cases for the "result" oneof. + public enum ResultOneofCase { + None = 0, + FilePath = 2, + Error = 3, + } + private ResultOneofCase resultCase_ = ResultOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ResultOneofCase ResultCase { + get { return resultCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResult() { + resultCase_ = ResultOneofCase.None; + result_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderWriteToFileCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderWriteToFileCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (FilePath != other.FilePath) return false; + if (!object.Equals(Error, other.Error)) return false; + if (ResultCase != other.ResultCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasFilePath) hash ^= FilePath.GetHashCode(); + if (resultCase_ == ResultOneofCase.Error) hash ^= Error.GetHashCode(); + hash ^= (int) resultCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasFilePath) { + output.WriteRawTag(18); + output.WriteString(FilePath); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasFilePath) { + output.WriteRawTag(18); + output.WriteString(FilePath); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasFilePath) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(FilePath); + } + if (resultCase_ == ResultOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderWriteToFileCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.ResultCase) { + case ResultOneofCase.FilePath: + FilePath = other.FilePath; + break; + case ResultOneofCase.Error: + if (Error == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + FilePath = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + FilePath = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderEvent : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderEvent()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[18]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderEvent() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderEvent(ByteStreamReaderEvent other) : this() { + _hasBits0 = other._hasBits0; + readerHandle_ = other.readerHandle_; + switch (other.DetailCase) { + case DetailOneofCase.ChunkReceived: + ChunkReceived = other.ChunkReceived.Clone(); + break; + case DetailOneofCase.Eos: + Eos = other.Eos.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderEvent Clone() { + return new ByteStreamReaderEvent(this); + } + + /// Field number for the "reader_handle" field. + public const int ReaderHandleFieldNumber = 1; + private readonly static ulong ReaderHandleDefaultValue = 0UL; + + private ulong readerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReaderHandle { + get { if ((_hasBits0 & 1) != 0) { return readerHandle_; } else { return ReaderHandleDefaultValue; } } + set { + _hasBits0 |= 1; + readerHandle_ = value; + } + } + /// Gets whether the "reader_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReaderHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reader_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReaderHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "chunk_received" field. + public const int ChunkReceivedFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderChunkReceived ChunkReceived { + get { return detailCase_ == DetailOneofCase.ChunkReceived ? (global::LiveKit.Proto.ByteStreamReaderChunkReceived) detail_ : null; } + set { + detail_ = value; + detailCase_ = value == null ? DetailOneofCase.None : DetailOneofCase.ChunkReceived; + } + } + + /// Field number for the "eos" field. + public const int EosFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderEOS Eos { + get { return detailCase_ == DetailOneofCase.Eos ? (global::LiveKit.Proto.ByteStreamReaderEOS) detail_ : null; } + set { + detail_ = value; + detailCase_ = value == null ? DetailOneofCase.None : DetailOneofCase.Eos; + } + } + + private object detail_; + /// Enum of possible cases for the "detail" oneof. + public enum DetailOneofCase { + None = 0, + ChunkReceived = 2, + Eos = 3, + } + private DetailOneofCase detailCase_ = DetailOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DetailOneofCase DetailCase { + get { return detailCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDetail() { + detailCase_ = DetailOneofCase.None; + detail_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderEvent); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderEvent other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ReaderHandle != other.ReaderHandle) return false; + if (!object.Equals(ChunkReceived, other.ChunkReceived)) return false; + if (!object.Equals(Eos, other.Eos)) return false; + if (DetailCase != other.DetailCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode(); + if (detailCase_ == DetailOneofCase.ChunkReceived) hash ^= ChunkReceived.GetHashCode(); + if (detailCase_ == DetailOneofCase.Eos) hash ^= Eos.GetHashCode(); + hash ^= (int) detailCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (detailCase_ == DetailOneofCase.ChunkReceived) { + output.WriteRawTag(18); + output.WriteMessage(ChunkReceived); + } + if (detailCase_ == DetailOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReaderHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ReaderHandle); + } + if (detailCase_ == DetailOneofCase.ChunkReceived) { + output.WriteRawTag(18); + output.WriteMessage(ChunkReceived); + } + if (detailCase_ == DetailOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReaderHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle); + } + if (detailCase_ == DetailOneofCase.ChunkReceived) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ChunkReceived); + } + if (detailCase_ == DetailOneofCase.Eos) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Eos); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderEvent other) { + if (other == null) { + return; + } + if (other.HasReaderHandle) { + ReaderHandle = other.ReaderHandle; + } + switch (other.DetailCase) { + case DetailOneofCase.ChunkReceived: + if (ChunkReceived == null) { + ChunkReceived = new global::LiveKit.Proto.ByteStreamReaderChunkReceived(); + } + ChunkReceived.MergeFrom(other.ChunkReceived); + break; + case DetailOneofCase.Eos: + if (Eos == null) { + Eos = new global::LiveKit.Proto.ByteStreamReaderEOS(); + } + Eos.MergeFrom(other.Eos); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.ByteStreamReaderChunkReceived subBuilder = new global::LiveKit.Proto.ByteStreamReaderChunkReceived(); + if (detailCase_ == DetailOneofCase.ChunkReceived) { + subBuilder.MergeFrom(ChunkReceived); + } + input.ReadMessage(subBuilder); + ChunkReceived = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.ByteStreamReaderEOS subBuilder = new global::LiveKit.Proto.ByteStreamReaderEOS(); + if (detailCase_ == DetailOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + ReaderHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.ByteStreamReaderChunkReceived subBuilder = new global::LiveKit.Proto.ByteStreamReaderChunkReceived(); + if (detailCase_ == DetailOneofCase.ChunkReceived) { + subBuilder.MergeFrom(ChunkReceived); + } + input.ReadMessage(subBuilder); + ChunkReceived = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.ByteStreamReaderEOS subBuilder = new global::LiveKit.Proto.ByteStreamReaderEOS(); + if (detailCase_ == DetailOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderChunkReceived : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderChunkReceived()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[19]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderChunkReceived() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderChunkReceived(ByteStreamReaderChunkReceived other) : this() { + content_ = other.content_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderChunkReceived Clone() { + return new ByteStreamReaderChunkReceived(this); + } + + /// Field number for the "content" field. + public const int ContentFieldNumber = 1; + private readonly static pb::ByteString ContentDefaultValue = pb::ByteString.Empty; + + private pb::ByteString content_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Content { + get { return content_ ?? ContentDefaultValue; } + set { + content_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "content" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasContent { + get { return content_ != null; } + } + /// Clears the value of the "content" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearContent() { + content_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderChunkReceived); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderChunkReceived other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Content != other.Content) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasContent) hash ^= Content.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasContent) { + output.WriteRawTag(10); + output.WriteBytes(Content); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasContent) { + output.WriteRawTag(10); + output.WriteBytes(Content); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasContent) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Content); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderChunkReceived other) { + if (other == null) { + return; + } + if (other.HasContent) { + Content = other.Content; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Content = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Content = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamReaderEOS : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamReaderEOS()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[20]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderEOS() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderEOS(ByteStreamReaderEOS other) : this() { + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamReaderEOS Clone() { + return new ByteStreamReaderEOS(this); + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + private global::LiveKit.Proto.StreamError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamReaderEOS); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamReaderEOS other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (error_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (error_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamReaderEOS other) { + if (other == null) { + return; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + /// + /// Sends the contents of a file over a data stream. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamSendFileRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamSendFileRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[21]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileRequest(StreamSendFileRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + options_ = other.options_ != null ? other.options_.Clone() : null; + filePath_ = other.filePath_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileRequest Clone() { + return new StreamSendFileRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "options" field. + public const int OptionsFieldNumber = 2; + private global::LiveKit.Proto.StreamByteOptions options_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamByteOptions Options { + get { return options_; } + set { + options_ = value; + } + } + + /// Field number for the "file_path" field. + public const int FilePathFieldNumber = 3; + private readonly static string FilePathDefaultValue = ""; + + private string filePath_; + /// + /// Path of the file to send (must be readable by the current process). + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string FilePath { + get { return filePath_ ?? FilePathDefaultValue; } + set { + filePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "file_path" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFilePath { + get { return filePath_ != null; } + } + /// Clears the value of the "file_path" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFilePath() { + filePath_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamSendFileRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamSendFileRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (!object.Equals(Options, other.Options)) return false; + if (FilePath != other.FilePath) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (options_ != null) hash ^= Options.GetHashCode(); + if (HasFilePath) hash ^= FilePath.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (HasFilePath) { + output.WriteRawTag(26); + output.WriteString(FilePath); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (HasFilePath) { + output.WriteRawTag(26); + output.WriteString(FilePath); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (options_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); + } + if (HasFilePath) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(FilePath); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamSendFileRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.options_ != null) { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamByteOptions(); + } + Options.MergeFrom(other.Options); + } + if (other.HasFilePath) { + FilePath = other.FilePath; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamByteOptions(); + } + input.ReadMessage(Options); + break; + } + case 26: { + FilePath = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamByteOptions(); + } + input.ReadMessage(Options); + break; + } + case 26: { + FilePath = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamSendFileResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamSendFileResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[22]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileResponse(StreamSendFileResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileResponse Clone() { + return new StreamSendFileResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamSendFileResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamSendFileResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamSendFileResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamSendFileCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamSendFileCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[23]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileCallback(StreamSendFileCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.ResultCase) { + case ResultOneofCase.Info: + Info = other.Info.Clone(); + break; + case ResultOneofCase.Error: + Error = other.Error.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendFileCallback Clone() { + return new StreamSendFileCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamInfo Info { + get { return resultCase_ == ResultOneofCase.Info ? (global::LiveKit.Proto.ByteStreamInfo) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Info; + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return resultCase_ == ResultOneofCase.Error ? (global::LiveKit.Proto.StreamError) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Error; + } + } + + private object result_; + /// Enum of possible cases for the "result" oneof. + public enum ResultOneofCase { + None = 0, + Info = 2, + Error = 3, + } + private ResultOneofCase resultCase_ = ResultOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ResultOneofCase ResultCase { + get { return resultCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResult() { + resultCase_ = ResultOneofCase.None; + result_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamSendFileCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamSendFileCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Info, other.Info)) return false; + if (!object.Equals(Error, other.Error)) return false; + if (ResultCase != other.ResultCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (resultCase_ == ResultOneofCase.Info) hash ^= Info.GetHashCode(); + if (resultCase_ == ResultOneofCase.Error) hash ^= Error.GetHashCode(); + hash ^= (int) resultCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Info) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Info) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (resultCase_ == ResultOneofCase.Info) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (resultCase_ == ResultOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamSendFileCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.ResultCase) { + case ResultOneofCase.Info: + if (Info == null) { + Info = new global::LiveKit.Proto.ByteStreamInfo(); + } + Info.MergeFrom(other.Info); + break; + case ResultOneofCase.Error: + if (Error == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.ByteStreamInfo subBuilder = new global::LiveKit.Proto.ByteStreamInfo(); + if (resultCase_ == ResultOneofCase.Info) { + subBuilder.MergeFrom(Info); + } + input.ReadMessage(subBuilder); + Info = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.ByteStreamInfo subBuilder = new global::LiveKit.Proto.ByteStreamInfo(); + if (resultCase_ == ResultOneofCase.Info) { + subBuilder.MergeFrom(Info); + } + input.ReadMessage(subBuilder); + Info = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Sends text over a data stream. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamSendTextRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamSendTextRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[24]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextRequest(StreamSendTextRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + options_ = other.options_ != null ? other.options_.Clone() : null; + text_ = other.text_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextRequest Clone() { + return new StreamSendTextRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "options" field. + public const int OptionsFieldNumber = 2; + private global::LiveKit.Proto.StreamTextOptions options_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamTextOptions Options { + get { return options_; } + set { + options_ = value; + } + } + + /// Field number for the "text" field. + public const int TextFieldNumber = 3; + private readonly static string TextDefaultValue = ""; + + private string text_; + /// + /// Text to send. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Text { + get { return text_ ?? TextDefaultValue; } + set { + text_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "text" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasText { + get { return text_ != null; } + } + /// Clears the value of the "text" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearText() { + text_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamSendTextRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamSendTextRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (!object.Equals(Options, other.Options)) return false; + if (Text != other.Text) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (options_ != null) hash ^= Options.GetHashCode(); + if (HasText) hash ^= Text.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (HasText) { + output.WriteRawTag(26); + output.WriteString(Text); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (HasText) { + output.WriteRawTag(26); + output.WriteString(Text); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (options_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); + } + if (HasText) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Text); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamSendTextRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.options_ != null) { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamTextOptions(); + } + Options.MergeFrom(other.Options); + } + if (other.HasText) { + Text = other.Text; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamTextOptions(); + } + input.ReadMessage(Options); + break; + } + case 26: { + Text = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamTextOptions(); + } + input.ReadMessage(Options); + break; + } + case 26: { + Text = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamSendTextResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamSendTextResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[25]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextResponse(StreamSendTextResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextResponse Clone() { + return new StreamSendTextResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamSendTextResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamSendTextResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamSendTextResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamSendTextCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamSendTextCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[26]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextCallback(StreamSendTextCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.ResultCase) { + case ResultOneofCase.Info: + Info = other.Info.Clone(); + break; + case ResultOneofCase.Error: + Error = other.Error.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamSendTextCallback Clone() { + return new StreamSendTextCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamInfo Info { + get { return resultCase_ == ResultOneofCase.Info ? (global::LiveKit.Proto.TextStreamInfo) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Info; + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return resultCase_ == ResultOneofCase.Error ? (global::LiveKit.Proto.StreamError) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Error; + } + } + + private object result_; + /// Enum of possible cases for the "result" oneof. + public enum ResultOneofCase { + None = 0, + Info = 2, + Error = 3, + } + private ResultOneofCase resultCase_ = ResultOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ResultOneofCase ResultCase { + get { return resultCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResult() { + resultCase_ = ResultOneofCase.None; + result_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamSendTextCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamSendTextCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Info, other.Info)) return false; + if (!object.Equals(Error, other.Error)) return false; + if (ResultCase != other.ResultCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (resultCase_ == ResultOneofCase.Info) hash ^= Info.GetHashCode(); + if (resultCase_ == ResultOneofCase.Error) hash ^= Error.GetHashCode(); + hash ^= (int) resultCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Info) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Info) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (resultCase_ == ResultOneofCase.Info) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (resultCase_ == ResultOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamSendTextCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.ResultCase) { + case ResultOneofCase.Info: + if (Info == null) { + Info = new global::LiveKit.Proto.TextStreamInfo(); + } + Info.MergeFrom(other.Info); + break; + case ResultOneofCase.Error: + if (Error == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.TextStreamInfo subBuilder = new global::LiveKit.Proto.TextStreamInfo(); + if (resultCase_ == ResultOneofCase.Info) { + subBuilder.MergeFrom(Info); + } + input.ReadMessage(subBuilder); + Info = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.TextStreamInfo subBuilder = new global::LiveKit.Proto.TextStreamInfo(); + if (resultCase_ == ResultOneofCase.Info) { + subBuilder.MergeFrom(Info); + } + input.ReadMessage(subBuilder); + Info = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedByteStreamWriter : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedByteStreamWriter()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[27]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedByteStreamWriter() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedByteStreamWriter(OwnedByteStreamWriter other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedByteStreamWriter Clone() { + return new OwnedByteStreamWriter(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.ByteStreamInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedByteStreamWriter); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedByteStreamWriter other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedByteStreamWriter other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.ByteStreamInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.ByteStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.ByteStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + /// + /// Opens an outgoing stream. + /// Call must be balanced with a StreamCloseRequest. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamOpenRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamOpenRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[28]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenRequest(ByteStreamOpenRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + options_ = other.options_ != null ? other.options_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenRequest Clone() { + return new ByteStreamOpenRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "options" field. + public const int OptionsFieldNumber = 2; + private global::LiveKit.Proto.StreamByteOptions options_; + /// + /// Options to use for opening the stream. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamByteOptions Options { + get { return options_; } + set { + options_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamOpenRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamOpenRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (!object.Equals(Options, other.Options)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (options_ != null) hash ^= Options.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (options_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamOpenRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.options_ != null) { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamByteOptions(); + } + Options.MergeFrom(other.Options); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamByteOptions(); + } + input.ReadMessage(Options); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamByteOptions(); + } + input.ReadMessage(Options); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamOpenResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamOpenResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[29]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenResponse(ByteStreamOpenResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenResponse Clone() { + return new ByteStreamOpenResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamOpenResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamOpenResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamOpenResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamOpenCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamOpenCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[30]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenCallback(ByteStreamOpenCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.ResultCase) { + case ResultOneofCase.Writer: + Writer = other.Writer.Clone(); + break; + case ResultOneofCase.Error: + Error = other.Error.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamOpenCallback Clone() { + return new ByteStreamOpenCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "writer" field. + public const int WriterFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedByteStreamWriter Writer { + get { return resultCase_ == ResultOneofCase.Writer ? (global::LiveKit.Proto.OwnedByteStreamWriter) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Writer; + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return resultCase_ == ResultOneofCase.Error ? (global::LiveKit.Proto.StreamError) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Error; + } + } + + private object result_; + /// Enum of possible cases for the "result" oneof. + public enum ResultOneofCase { + None = 0, + Writer = 2, + Error = 3, + } + private ResultOneofCase resultCase_ = ResultOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ResultOneofCase ResultCase { + get { return resultCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResult() { + resultCase_ = ResultOneofCase.None; + result_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamOpenCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamOpenCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Writer, other.Writer)) return false; + if (!object.Equals(Error, other.Error)) return false; + if (ResultCase != other.ResultCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (resultCase_ == ResultOneofCase.Writer) hash ^= Writer.GetHashCode(); + if (resultCase_ == ResultOneofCase.Error) hash ^= Error.GetHashCode(); + hash ^= (int) resultCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Writer) { + output.WriteRawTag(18); + output.WriteMessage(Writer); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Writer) { + output.WriteRawTag(18); + output.WriteMessage(Writer); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (resultCase_ == ResultOneofCase.Writer) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Writer); + } + if (resultCase_ == ResultOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamOpenCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.ResultCase) { + case ResultOneofCase.Writer: + if (Writer == null) { + Writer = new global::LiveKit.Proto.OwnedByteStreamWriter(); + } + Writer.MergeFrom(other.Writer); + break; + case ResultOneofCase.Error: + if (Error == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.OwnedByteStreamWriter subBuilder = new global::LiveKit.Proto.OwnedByteStreamWriter(); + if (resultCase_ == ResultOneofCase.Writer) { + subBuilder.MergeFrom(Writer); + } + input.ReadMessage(subBuilder); + Writer = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.OwnedByteStreamWriter subBuilder = new global::LiveKit.Proto.OwnedByteStreamWriter(); + if (resultCase_ == ResultOneofCase.Writer) { + subBuilder.MergeFrom(Writer); + } + input.ReadMessage(subBuilder); + Writer = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Writes data to a stream writer. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamWriterWriteRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamWriterWriteRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[31]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteRequest(ByteStreamWriterWriteRequest other) : this() { + _hasBits0 = other._hasBits0; + writerHandle_ = other.writerHandle_; + bytes_ = other.bytes_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteRequest Clone() { + return new ByteStreamWriterWriteRequest(this); + } + + /// Field number for the "writer_handle" field. + public const int WriterHandleFieldNumber = 1; + private readonly static ulong WriterHandleDefaultValue = 0UL; + + private ulong writerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong WriterHandle { + get { if ((_hasBits0 & 1) != 0) { return writerHandle_; } else { return WriterHandleDefaultValue; } } + set { + _hasBits0 |= 1; + writerHandle_ = value; + } + } + /// Gets whether the "writer_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasWriterHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "writer_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearWriterHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "bytes" field. + public const int BytesFieldNumber = 2; + private readonly static pb::ByteString BytesDefaultValue = pb::ByteString.Empty; + + private pb::ByteString bytes_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Bytes { + get { return bytes_ ?? BytesDefaultValue; } + set { + bytes_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "bytes" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytes { + get { return bytes_ != null; } + } + /// Clears the value of the "bytes" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytes() { + bytes_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamWriterWriteRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamWriterWriteRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (WriterHandle != other.WriterHandle) return false; + if (Bytes != other.Bytes) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasWriterHandle) hash ^= WriterHandle.GetHashCode(); + if (HasBytes) hash ^= Bytes.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasBytes) { + output.WriteRawTag(18); + output.WriteBytes(Bytes); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasBytes) { + output.WriteRawTag(18); + output.WriteBytes(Bytes); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasWriterHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WriterHandle); + } + if (HasBytes) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Bytes); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamWriterWriteRequest other) { + if (other == null) { + return; + } + if (other.HasWriterHandle) { + WriterHandle = other.WriterHandle; + } + if (other.HasBytes) { + Bytes = other.Bytes; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Bytes = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Bytes = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamWriterWriteResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamWriterWriteResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[32]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteResponse(ByteStreamWriterWriteResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteResponse Clone() { + return new ByteStreamWriterWriteResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamWriterWriteResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamWriterWriteResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamWriterWriteResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamWriterWriteCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamWriterWriteCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[33]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteCallback(ByteStreamWriterWriteCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterWriteCallback Clone() { + return new ByteStreamWriterWriteCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private global::LiveKit.Proto.StreamError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamWriterWriteCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamWriterWriteCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamWriterWriteCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + /// + /// Closes a stream writer. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamWriterCloseRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamWriterCloseRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[34]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseRequest(ByteStreamWriterCloseRequest other) : this() { + _hasBits0 = other._hasBits0; + writerHandle_ = other.writerHandle_; + reason_ = other.reason_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseRequest Clone() { + return new ByteStreamWriterCloseRequest(this); + } + + /// Field number for the "writer_handle" field. + public const int WriterHandleFieldNumber = 1; + private readonly static ulong WriterHandleDefaultValue = 0UL; + + private ulong writerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong WriterHandle { + get { if ((_hasBits0 & 1) != 0) { return writerHandle_; } else { return WriterHandleDefaultValue; } } + set { + _hasBits0 |= 1; + writerHandle_ = value; + } + } + /// Gets whether the "writer_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasWriterHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "writer_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearWriterHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "reason" field. + public const int ReasonFieldNumber = 2; + private readonly static string ReasonDefaultValue = ""; + + private string reason_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Reason { + get { return reason_ ?? ReasonDefaultValue; } + set { + reason_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "reason" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReason { + get { return reason_ != null; } + } + /// Clears the value of the "reason" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReason() { + reason_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamWriterCloseRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamWriterCloseRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (WriterHandle != other.WriterHandle) return false; + if (Reason != other.Reason) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasWriterHandle) hash ^= WriterHandle.GetHashCode(); + if (HasReason) hash ^= Reason.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasReason) { + output.WriteRawTag(18); + output.WriteString(Reason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasReason) { + output.WriteRawTag(18); + output.WriteString(Reason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasWriterHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WriterHandle); + } + if (HasReason) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Reason); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamWriterCloseRequest other) { + if (other == null) { + return; + } + if (other.HasWriterHandle) { + WriterHandle = other.WriterHandle; + } + if (other.HasReason) { + Reason = other.Reason; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Reason = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Reason = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamWriterCloseResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamWriterCloseResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[35]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseResponse(ByteStreamWriterCloseResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseResponse Clone() { + return new ByteStreamWriterCloseResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamWriterCloseResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamWriterCloseResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamWriterCloseResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamWriterCloseCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamWriterCloseCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[36]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseCallback(ByteStreamWriterCloseCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamWriterCloseCallback Clone() { + return new ByteStreamWriterCloseCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private global::LiveKit.Proto.StreamError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamWriterCloseCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamWriterCloseCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamWriterCloseCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedTextStreamWriter : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedTextStreamWriter()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[37]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTextStreamWriter() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTextStreamWriter(OwnedTextStreamWriter other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTextStreamWriter Clone() { + return new OwnedTextStreamWriter(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.TextStreamInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedTextStreamWriter); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedTextStreamWriter other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedTextStreamWriter other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.TextStreamInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TextStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TextStreamInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + /// + /// Opens an outgoing text stream. + /// Call must be balanced with a TextStreamCloseRequest. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamOpenRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamOpenRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[38]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenRequest(TextStreamOpenRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + options_ = other.options_ != null ? other.options_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenRequest Clone() { + return new TextStreamOpenRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "options" field. + public const int OptionsFieldNumber = 2; + private global::LiveKit.Proto.StreamTextOptions options_; + /// + /// Options to use for opening the stream. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamTextOptions Options { + get { return options_; } + set { + options_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamOpenRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamOpenRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (!object.Equals(Options, other.Options)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (options_ != null) hash ^= Options.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (options_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Options); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (options_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamOpenRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.options_ != null) { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamTextOptions(); + } + Options.MergeFrom(other.Options); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamTextOptions(); + } + input.ReadMessage(Options); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + if (options_ == null) { + Options = new global::LiveKit.Proto.StreamTextOptions(); + } + input.ReadMessage(Options); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamOpenResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamOpenResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[39]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenResponse(TextStreamOpenResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenResponse Clone() { + return new TextStreamOpenResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamOpenResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamOpenResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamOpenResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamOpenCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamOpenCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[40]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenCallback(TextStreamOpenCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.ResultCase) { + case ResultOneofCase.Writer: + Writer = other.Writer.Clone(); + break; + case ResultOneofCase.Error: + Error = other.Error.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamOpenCallback Clone() { + return new TextStreamOpenCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "writer" field. + public const int WriterFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedTextStreamWriter Writer { + get { return resultCase_ == ResultOneofCase.Writer ? (global::LiveKit.Proto.OwnedTextStreamWriter) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Writer; + } + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return resultCase_ == ResultOneofCase.Error ? (global::LiveKit.Proto.StreamError) result_ : null; } + set { + result_ = value; + resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Error; + } + } + + private object result_; + /// Enum of possible cases for the "result" oneof. + public enum ResultOneofCase { + None = 0, + Writer = 2, + Error = 3, + } + private ResultOneofCase resultCase_ = ResultOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ResultOneofCase ResultCase { + get { return resultCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResult() { + resultCase_ = ResultOneofCase.None; + result_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamOpenCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamOpenCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Writer, other.Writer)) return false; + if (!object.Equals(Error, other.Error)) return false; + if (ResultCase != other.ResultCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (resultCase_ == ResultOneofCase.Writer) hash ^= Writer.GetHashCode(); + if (resultCase_ == ResultOneofCase.Error) hash ^= Error.GetHashCode(); + hash ^= (int) resultCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Writer) { + output.WriteRawTag(18); + output.WriteMessage(Writer); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (resultCase_ == ResultOneofCase.Writer) { + output.WriteRawTag(18); + output.WriteMessage(Writer); + } + if (resultCase_ == ResultOneofCase.Error) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (resultCase_ == ResultOneofCase.Writer) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Writer); + } + if (resultCase_ == ResultOneofCase.Error) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamOpenCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.ResultCase) { + case ResultOneofCase.Writer: + if (Writer == null) { + Writer = new global::LiveKit.Proto.OwnedTextStreamWriter(); + } + Writer.MergeFrom(other.Writer); + break; + case ResultOneofCase.Error: + if (Error == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.OwnedTextStreamWriter subBuilder = new global::LiveKit.Proto.OwnedTextStreamWriter(); + if (resultCase_ == ResultOneofCase.Writer) { + subBuilder.MergeFrom(Writer); + } + input.ReadMessage(subBuilder); + Writer = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.OwnedTextStreamWriter subBuilder = new global::LiveKit.Proto.OwnedTextStreamWriter(); + if (resultCase_ == ResultOneofCase.Writer) { + subBuilder.MergeFrom(Writer); + } + input.ReadMessage(subBuilder); + Writer = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.StreamError subBuilder = new global::LiveKit.Proto.StreamError(); + if (resultCase_ == ResultOneofCase.Error) { + subBuilder.MergeFrom(Error); + } + input.ReadMessage(subBuilder); + Error = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Writes text to a text stream writer. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamWriterWriteRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamWriterWriteRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[41]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteRequest(TextStreamWriterWriteRequest other) : this() { + _hasBits0 = other._hasBits0; + writerHandle_ = other.writerHandle_; + text_ = other.text_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteRequest Clone() { + return new TextStreamWriterWriteRequest(this); + } + + /// Field number for the "writer_handle" field. + public const int WriterHandleFieldNumber = 1; + private readonly static ulong WriterHandleDefaultValue = 0UL; + + private ulong writerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong WriterHandle { + get { if ((_hasBits0 & 1) != 0) { return writerHandle_; } else { return WriterHandleDefaultValue; } } + set { + _hasBits0 |= 1; + writerHandle_ = value; + } + } + /// Gets whether the "writer_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasWriterHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "writer_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearWriterHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "text" field. + public const int TextFieldNumber = 2; + private readonly static string TextDefaultValue = ""; + + private string text_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Text { + get { return text_ ?? TextDefaultValue; } + set { + text_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "text" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasText { + get { return text_ != null; } + } + /// Clears the value of the "text" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearText() { + text_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamWriterWriteRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamWriterWriteRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (WriterHandle != other.WriterHandle) return false; + if (Text != other.Text) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasWriterHandle) hash ^= WriterHandle.GetHashCode(); + if (HasText) hash ^= Text.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasText) { + output.WriteRawTag(18); + output.WriteString(Text); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasText) { + output.WriteRawTag(18); + output.WriteString(Text); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasWriterHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WriterHandle); + } + if (HasText) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Text); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamWriterWriteRequest other) { + if (other == null) { + return; + } + if (other.HasWriterHandle) { + WriterHandle = other.WriterHandle; + } + if (other.HasText) { + Text = other.Text; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Text = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Text = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamWriterWriteResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamWriterWriteResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[42]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteResponse(TextStreamWriterWriteResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteResponse Clone() { + return new TextStreamWriterWriteResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamWriterWriteResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamWriterWriteResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamWriterWriteResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamWriterWriteCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamWriterWriteCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[43]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteCallback(TextStreamWriterWriteCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterWriteCallback Clone() { + return new TextStreamWriterWriteCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private global::LiveKit.Proto.StreamError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamWriterWriteCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamWriterWriteCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamWriterWriteCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + /// + /// Closes a text stream writer. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamWriterCloseRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamWriterCloseRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[44]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseRequest(TextStreamWriterCloseRequest other) : this() { + _hasBits0 = other._hasBits0; + writerHandle_ = other.writerHandle_; + reason_ = other.reason_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseRequest Clone() { + return new TextStreamWriterCloseRequest(this); + } + + /// Field number for the "writer_handle" field. + public const int WriterHandleFieldNumber = 1; + private readonly static ulong WriterHandleDefaultValue = 0UL; + + private ulong writerHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong WriterHandle { + get { if ((_hasBits0 & 1) != 0) { return writerHandle_; } else { return WriterHandleDefaultValue; } } + set { + _hasBits0 |= 1; + writerHandle_ = value; + } + } + /// Gets whether the "writer_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasWriterHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "writer_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearWriterHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "reason" field. + public const int ReasonFieldNumber = 2; + private readonly static string ReasonDefaultValue = ""; + + private string reason_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Reason { + get { return reason_ ?? ReasonDefaultValue; } + set { + reason_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "reason" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReason { + get { return reason_ != null; } + } + /// Clears the value of the "reason" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReason() { + reason_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamWriterCloseRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamWriterCloseRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (WriterHandle != other.WriterHandle) return false; + if (Reason != other.Reason) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasWriterHandle) hash ^= WriterHandle.GetHashCode(); + if (HasReason) hash ^= Reason.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasReason) { + output.WriteRawTag(18); + output.WriteString(Reason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasWriterHandle) { + output.WriteRawTag(8); + output.WriteUInt64(WriterHandle); + } + if (HasReason) { + output.WriteRawTag(18); + output.WriteString(Reason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasWriterHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WriterHandle); + } + if (HasReason) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Reason); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamWriterCloseRequest other) { + if (other == null) { + return; + } + if (other.HasWriterHandle) { + WriterHandle = other.WriterHandle; + } + if (other.HasReason) { + Reason = other.Reason; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Reason = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + WriterHandle = input.ReadUInt64(); + break; + } + case 18: { + Reason = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamWriterCloseResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamWriterCloseResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[45]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseResponse(TextStreamWriterCloseResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseResponse Clone() { + return new TextStreamWriterCloseResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamWriterCloseResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamWriterCloseResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamWriterCloseResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamWriterCloseCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamWriterCloseCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[46]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseCallback(TextStreamWriterCloseCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamWriterCloseCallback Clone() { + return new TextStreamWriterCloseCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private global::LiveKit.Proto.StreamError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamWriterCloseCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamWriterCloseCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (error_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamWriterCloseCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + if (error_ == null) { + Error = new global::LiveKit.Proto.StreamError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[47]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamInfo(TextStreamInfo other) : this() { + _hasBits0 = other._hasBits0; + streamId_ = other.streamId_; + timestamp_ = other.timestamp_; + mimeType_ = other.mimeType_; + topic_ = other.topic_; + totalLength_ = other.totalLength_; + attributes_ = other.attributes_.Clone(); + operationType_ = other.operationType_; + version_ = other.version_; + replyToStreamId_ = other.replyToStreamId_; + attachedStreamIds_ = other.attachedStreamIds_.Clone(); + generated_ = other.generated_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextStreamInfo Clone() { + return new TextStreamInfo(this); + } + + /// Field number for the "stream_id" field. + public const int StreamIdFieldNumber = 1; + private readonly static string StreamIdDefaultValue = ""; + + private string streamId_; + /// + /// unique identifier for this data stream + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string StreamId { + get { return streamId_ ?? StreamIdDefaultValue; } + set { + streamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamId { + get { return streamId_ != null; } + } + /// Clears the value of the "stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamId() { + streamId_ = null; + } + + /// Field number for the "timestamp" field. + public const int TimestampFieldNumber = 2; + private readonly static long TimestampDefaultValue = 0L; + + private long timestamp_; + /// + /// using int64 for Unix timestamp + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Timestamp { + get { if ((_hasBits0 & 1) != 0) { return timestamp_; } else { return TimestampDefaultValue; } } + set { + _hasBits0 |= 1; + timestamp_ = value; + } + } + /// Gets whether the "timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimestamp { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimestamp() { + _hasBits0 &= ~1; + } + + /// Field number for the "mime_type" field. + public const int MimeTypeFieldNumber = 3; + private readonly static string MimeTypeDefaultValue = ""; + + private string mimeType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MimeType { + get { return mimeType_ ?? MimeTypeDefaultValue; } + set { + mimeType_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mime_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMimeType { + get { return mimeType_ != null; } + } + /// Clears the value of the "mime_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMimeType() { + mimeType_ = null; + } + + /// Field number for the "topic" field. + public const int TopicFieldNumber = 4; + private readonly static string TopicDefaultValue = ""; + + private string topic_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Topic { + get { return topic_ ?? TopicDefaultValue; } + set { + topic_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "topic" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTopic { + get { return topic_ != null; } + } + /// Clears the value of the "topic" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTopic() { + topic_ = null; + } + + /// Field number for the "total_length" field. + public const int TotalLengthFieldNumber = 5; + private readonly static ulong TotalLengthDefaultValue = 0UL; + + private ulong totalLength_; + /// + /// only populated for finite streams, if it's a stream of unknown size this stays empty + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalLength { + get { if ((_hasBits0 & 2) != 0) { return totalLength_; } else { return TotalLengthDefaultValue; } } + set { + _hasBits0 |= 2; + totalLength_ = value; + } + } + /// Gets whether the "total_length" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalLength { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "total_length" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalLength() { + _hasBits0 &= ~2; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 6; + private static readonly pbc::MapField.Codec _map_attributes_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 50); + private readonly pbc::MapField attributes_ = new pbc::MapField(); + /// + /// user defined attributes map that can carry additional info + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField Attributes { + get { return attributes_; } + } + + /// Field number for the "operation_type" field. + public const int OperationTypeFieldNumber = 7; + private readonly static global::LiveKit.Proto.TextStreamInfo.Types.OperationType OperationTypeDefaultValue = global::LiveKit.Proto.TextStreamInfo.Types.OperationType.Create; + + private global::LiveKit.Proto.TextStreamInfo.Types.OperationType operationType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamInfo.Types.OperationType OperationType { + get { if ((_hasBits0 & 4) != 0) { return operationType_; } else { return OperationTypeDefaultValue; } } + set { + _hasBits0 |= 4; + operationType_ = value; + } + } + /// Gets whether the "operation_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOperationType { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "operation_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOperationType() { + _hasBits0 &= ~4; + } + + /// Field number for the "version" field. + public const int VersionFieldNumber = 8; + private readonly static int VersionDefaultValue = 0; + + private int version_; + /// + /// Optional: Version for updates/edits + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int Version { + get { if ((_hasBits0 & 8) != 0) { return version_; } else { return VersionDefaultValue; } } + set { + _hasBits0 |= 8; + version_ = value; + } + } + /// Gets whether the "version" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasVersion { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "version" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearVersion() { + _hasBits0 &= ~8; + } + + /// Field number for the "reply_to_stream_id" field. + public const int ReplyToStreamIdFieldNumber = 9; + private readonly static string ReplyToStreamIdDefaultValue = ""; + + private string replyToStreamId_; + /// + /// Optional: Reply to specific message + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ReplyToStreamId { + get { return replyToStreamId_ ?? ReplyToStreamIdDefaultValue; } + set { + replyToStreamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "reply_to_stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReplyToStreamId { + get { return replyToStreamId_ != null; } + } + /// Clears the value of the "reply_to_stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReplyToStreamId() { + replyToStreamId_ = null; + } + + /// Field number for the "attached_stream_ids" field. + public const int AttachedStreamIdsFieldNumber = 10; + private static readonly pb::FieldCodec _repeated_attachedStreamIds_codec + = pb::FieldCodec.ForString(82); + private readonly pbc::RepeatedField attachedStreamIds_ = new pbc::RepeatedField(); + /// + /// file attachments for text streams + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField AttachedStreamIds { + get { return attachedStreamIds_; } + } + + /// Field number for the "generated" field. + public const int GeneratedFieldNumber = 11; + private readonly static bool GeneratedDefaultValue = false; + + private bool generated_; + /// + /// true if the text has been generated by an agent from a participant's audio transcription + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Generated { + get { if ((_hasBits0 & 16) != 0) { return generated_; } else { return GeneratedDefaultValue; } } + set { + _hasBits0 |= 16; + generated_ = value; + } + } + /// Gets whether the "generated" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasGenerated { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "generated" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearGenerated() { + _hasBits0 &= ~16; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextStreamInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextStreamInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (StreamId != other.StreamId) return false; + if (Timestamp != other.Timestamp) return false; + if (MimeType != other.MimeType) return false; + if (Topic != other.Topic) return false; + if (TotalLength != other.TotalLength) return false; + if (!Attributes.Equals(other.Attributes)) return false; + if (OperationType != other.OperationType) return false; + if (Version != other.Version) return false; + if (ReplyToStreamId != other.ReplyToStreamId) return false; + if(!attachedStreamIds_.Equals(other.attachedStreamIds_)) return false; + if (Generated != other.Generated) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasStreamId) hash ^= StreamId.GetHashCode(); + if (HasTimestamp) hash ^= Timestamp.GetHashCode(); + if (HasMimeType) hash ^= MimeType.GetHashCode(); + if (HasTopic) hash ^= Topic.GetHashCode(); + if (HasTotalLength) hash ^= TotalLength.GetHashCode(); + hash ^= Attributes.GetHashCode(); + if (HasOperationType) hash ^= OperationType.GetHashCode(); + if (HasVersion) hash ^= Version.GetHashCode(); + if (HasReplyToStreamId) hash ^= ReplyToStreamId.GetHashCode(); + hash ^= attachedStreamIds_.GetHashCode(); + if (HasGenerated) hash ^= Generated.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasTopic) { + output.WriteRawTag(34); + output.WriteString(Topic); + } + if (HasTotalLength) { + output.WriteRawTag(40); + output.WriteUInt64(TotalLength); + } + attributes_.WriteTo(output, _map_attributes_codec); + if (HasOperationType) { + output.WriteRawTag(56); + output.WriteEnum((int) OperationType); + } + if (HasVersion) { + output.WriteRawTag(64); + output.WriteInt32(Version); + } + if (HasReplyToStreamId) { + output.WriteRawTag(74); + output.WriteString(ReplyToStreamId); + } + attachedStreamIds_.WriteTo(output, _repeated_attachedStreamIds_codec); + if (HasGenerated) { + output.WriteRawTag(88); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasTopic) { + output.WriteRawTag(34); + output.WriteString(Topic); + } + if (HasTotalLength) { + output.WriteRawTag(40); + output.WriteUInt64(TotalLength); + } + attributes_.WriteTo(ref output, _map_attributes_codec); + if (HasOperationType) { + output.WriteRawTag(56); + output.WriteEnum((int) OperationType); + } + if (HasVersion) { + output.WriteRawTag(64); + output.WriteInt32(Version); + } + if (HasReplyToStreamId) { + output.WriteRawTag(74); + output.WriteString(ReplyToStreamId); + } + attachedStreamIds_.WriteTo(ref output, _repeated_attachedStreamIds_codec); + if (HasGenerated) { + output.WriteRawTag(88); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(StreamId); + } + if (HasTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp); + } + if (HasMimeType) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MimeType); + } + if (HasTopic) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic); + } + if (HasTotalLength) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TotalLength); + } + size += attributes_.CalculateSize(_map_attributes_codec); + if (HasOperationType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OperationType); + } + if (HasVersion) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version); + } + if (HasReplyToStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ReplyToStreamId); + } + size += attachedStreamIds_.CalculateSize(_repeated_attachedStreamIds_codec); + if (HasGenerated) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextStreamInfo other) { + if (other == null) { + return; + } + if (other.HasStreamId) { + StreamId = other.StreamId; + } + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasMimeType) { + MimeType = other.MimeType; + } + if (other.HasTopic) { + Topic = other.Topic; + } + if (other.HasTotalLength) { + TotalLength = other.TotalLength; + } + attributes_.MergeFrom(other.attributes_); + if (other.HasOperationType) { + OperationType = other.OperationType; + } + if (other.HasVersion) { + Version = other.Version; + } + if (other.HasReplyToStreamId) { + ReplyToStreamId = other.ReplyToStreamId; + } + attachedStreamIds_.Add(other.attachedStreamIds_); + if (other.HasGenerated) { + Generated = other.Generated; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 34: { + Topic = input.ReadString(); + break; + } + case 40: { + TotalLength = input.ReadUInt64(); + break; + } + case 50: { + attributes_.AddEntriesFrom(input, _map_attributes_codec); + break; + } + case 56: { + OperationType = (global::LiveKit.Proto.TextStreamInfo.Types.OperationType) input.ReadEnum(); + break; + } + case 64: { + Version = input.ReadInt32(); + break; + } + case 74: { + ReplyToStreamId = input.ReadString(); + break; + } + case 82: { + attachedStreamIds_.AddEntriesFrom(input, _repeated_attachedStreamIds_codec); + break; + } + case 88: { + Generated = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 34: { + Topic = input.ReadString(); + break; + } + case 40: { + TotalLength = input.ReadUInt64(); + break; + } + case 50: { + attributes_.AddEntriesFrom(ref input, _map_attributes_codec); + break; + } + case 56: { + OperationType = (global::LiveKit.Proto.TextStreamInfo.Types.OperationType) input.ReadEnum(); + break; + } + case 64: { + Version = input.ReadInt32(); + break; + } + case 74: { + ReplyToStreamId = input.ReadString(); + break; + } + case 82: { + attachedStreamIds_.AddEntriesFrom(ref input, _repeated_attachedStreamIds_codec); + break; + } + case 88: { + Generated = input.ReadBool(); + break; + } + } + } + } + #endif + + #region Nested types + /// Container for nested types declared in the TextStreamInfo message type. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static partial class Types { + public enum OperationType { + [pbr::OriginalName("CREATE")] Create = 0, + [pbr::OriginalName("UPDATE")] Update = 1, + [pbr::OriginalName("DELETE")] Delete = 2, + [pbr::OriginalName("REACTION")] Reaction = 3, + } + + } + #endregion + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[48]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamInfo(ByteStreamInfo other) : this() { + _hasBits0 = other._hasBits0; + streamId_ = other.streamId_; + timestamp_ = other.timestamp_; + mimeType_ = other.mimeType_; + topic_ = other.topic_; + totalLength_ = other.totalLength_; + attributes_ = other.attributes_.Clone(); + name_ = other.name_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteStreamInfo Clone() { + return new ByteStreamInfo(this); + } + + /// Field number for the "stream_id" field. + public const int StreamIdFieldNumber = 1; + private readonly static string StreamIdDefaultValue = ""; + + private string streamId_; + /// + /// unique identifier for this data stream + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string StreamId { + get { return streamId_ ?? StreamIdDefaultValue; } + set { + streamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamId { + get { return streamId_ != null; } + } + /// Clears the value of the "stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamId() { + streamId_ = null; + } + + /// Field number for the "timestamp" field. + public const int TimestampFieldNumber = 2; + private readonly static long TimestampDefaultValue = 0L; + + private long timestamp_; + /// + /// using int64 for Unix timestamp + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Timestamp { + get { if ((_hasBits0 & 1) != 0) { return timestamp_; } else { return TimestampDefaultValue; } } + set { + _hasBits0 |= 1; + timestamp_ = value; + } + } + /// Gets whether the "timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimestamp { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimestamp() { + _hasBits0 &= ~1; + } + + /// Field number for the "mime_type" field. + public const int MimeTypeFieldNumber = 3; + private readonly static string MimeTypeDefaultValue = ""; + + private string mimeType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MimeType { + get { return mimeType_ ?? MimeTypeDefaultValue; } + set { + mimeType_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mime_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMimeType { + get { return mimeType_ != null; } + } + /// Clears the value of the "mime_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMimeType() { + mimeType_ = null; + } + + /// Field number for the "topic" field. + public const int TopicFieldNumber = 4; + private readonly static string TopicDefaultValue = ""; + + private string topic_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Topic { + get { return topic_ ?? TopicDefaultValue; } + set { + topic_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "topic" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTopic { + get { return topic_ != null; } + } + /// Clears the value of the "topic" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTopic() { + topic_ = null; + } + + /// Field number for the "total_length" field. + public const int TotalLengthFieldNumber = 5; + private readonly static ulong TotalLengthDefaultValue = 0UL; + + private ulong totalLength_; + /// + /// only populated for finite streams, if it's a stream of unknown size this stays empty + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalLength { + get { if ((_hasBits0 & 2) != 0) { return totalLength_; } else { return TotalLengthDefaultValue; } } + set { + _hasBits0 |= 2; + totalLength_ = value; + } + } + /// Gets whether the "total_length" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalLength { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "total_length" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalLength() { + _hasBits0 &= ~2; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 6; + private static readonly pbc::MapField.Codec _map_attributes_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 50); + private readonly pbc::MapField attributes_ = new pbc::MapField(); + /// + /// user defined attributes map that can carry additional info + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField Attributes { + get { return attributes_; } + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 7; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteStreamInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteStreamInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (StreamId != other.StreamId) return false; + if (Timestamp != other.Timestamp) return false; + if (MimeType != other.MimeType) return false; + if (Topic != other.Topic) return false; + if (TotalLength != other.TotalLength) return false; + if (!Attributes.Equals(other.Attributes)) return false; + if (Name != other.Name) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasStreamId) hash ^= StreamId.GetHashCode(); + if (HasTimestamp) hash ^= Timestamp.GetHashCode(); + if (HasMimeType) hash ^= MimeType.GetHashCode(); + if (HasTopic) hash ^= Topic.GetHashCode(); + if (HasTotalLength) hash ^= TotalLength.GetHashCode(); + hash ^= Attributes.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasTopic) { + output.WriteRawTag(34); + output.WriteString(Topic); + } + if (HasTotalLength) { + output.WriteRawTag(40); + output.WriteUInt64(TotalLength); + } + attributes_.WriteTo(output, _map_attributes_codec); + if (HasName) { + output.WriteRawTag(58); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasTopic) { + output.WriteRawTag(34); + output.WriteString(Topic); + } + if (HasTotalLength) { + output.WriteRawTag(40); + output.WriteUInt64(TotalLength); + } + attributes_.WriteTo(ref output, _map_attributes_codec); + if (HasName) { + output.WriteRawTag(58); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(StreamId); + } + if (HasTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp); + } + if (HasMimeType) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MimeType); + } + if (HasTopic) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic); + } + if (HasTotalLength) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TotalLength); + } + size += attributes_.CalculateSize(_map_attributes_codec); + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteStreamInfo other) { + if (other == null) { + return; + } + if (other.HasStreamId) { + StreamId = other.StreamId; + } + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasMimeType) { + MimeType = other.MimeType; + } + if (other.HasTopic) { + Topic = other.Topic; + } + if (other.HasTotalLength) { + TotalLength = other.TotalLength; + } + attributes_.MergeFrom(other.attributes_); + if (other.HasName) { + Name = other.Name; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 34: { + Topic = input.ReadString(); + break; + } + case 40: { + TotalLength = input.ReadUInt64(); + break; + } + case 50: { + attributes_.AddEntriesFrom(input, _map_attributes_codec); + break; + } + case 58: { + Name = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 34: { + Topic = input.ReadString(); + break; + } + case 40: { + TotalLength = input.ReadUInt64(); + break; + } + case 50: { + attributes_.AddEntriesFrom(ref input, _map_attributes_codec); + break; + } + case 58: { + Name = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamTextOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamTextOptions()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[49]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamTextOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamTextOptions(StreamTextOptions other) : this() { + _hasBits0 = other._hasBits0; + topic_ = other.topic_; + attributes_ = other.attributes_.Clone(); + destinationIdentities_ = other.destinationIdentities_.Clone(); + id_ = other.id_; + operationType_ = other.operationType_; + version_ = other.version_; + replyToStreamId_ = other.replyToStreamId_; + attachedStreamIds_ = other.attachedStreamIds_.Clone(); + generated_ = other.generated_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamTextOptions Clone() { + return new StreamTextOptions(this); + } + + /// Field number for the "topic" field. + public const int TopicFieldNumber = 1; + private readonly static string TopicDefaultValue = ""; + + private string topic_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Topic { + get { return topic_ ?? TopicDefaultValue; } + set { + topic_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "topic" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTopic { + get { return topic_ != null; } + } + /// Clears the value of the "topic" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTopic() { + topic_ = null; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 2; + private static readonly pbc::MapField.Codec _map_attributes_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18); + private readonly pbc::MapField attributes_ = new pbc::MapField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField Attributes { + get { return attributes_; } + } + + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(26); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + /// Field number for the "id" field. + public const int IdFieldNumber = 4; + private readonly static string IdDefaultValue = ""; + + private string id_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Id { + get { return id_ ?? IdDefaultValue; } + set { + id_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasId { + get { return id_ != null; } + } + /// Clears the value of the "id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearId() { + id_ = null; + } + + /// Field number for the "operation_type" field. + public const int OperationTypeFieldNumber = 5; + private readonly static global::LiveKit.Proto.TextStreamInfo.Types.OperationType OperationTypeDefaultValue = global::LiveKit.Proto.TextStreamInfo.Types.OperationType.Create; + + private global::LiveKit.Proto.TextStreamInfo.Types.OperationType operationType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamInfo.Types.OperationType OperationType { + get { if ((_hasBits0 & 1) != 0) { return operationType_; } else { return OperationTypeDefaultValue; } } + set { + _hasBits0 |= 1; + operationType_ = value; + } + } + /// Gets whether the "operation_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOperationType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "operation_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOperationType() { + _hasBits0 &= ~1; + } + + /// Field number for the "version" field. + public const int VersionFieldNumber = 6; + private readonly static int VersionDefaultValue = 0; + + private int version_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int Version { + get { if ((_hasBits0 & 2) != 0) { return version_; } else { return VersionDefaultValue; } } + set { + _hasBits0 |= 2; + version_ = value; + } + } + /// Gets whether the "version" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasVersion { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "version" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearVersion() { + _hasBits0 &= ~2; + } + + /// Field number for the "reply_to_stream_id" field. + public const int ReplyToStreamIdFieldNumber = 7; + private readonly static string ReplyToStreamIdDefaultValue = ""; + + private string replyToStreamId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ReplyToStreamId { + get { return replyToStreamId_ ?? ReplyToStreamIdDefaultValue; } + set { + replyToStreamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "reply_to_stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReplyToStreamId { + get { return replyToStreamId_ != null; } + } + /// Clears the value of the "reply_to_stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReplyToStreamId() { + replyToStreamId_ = null; + } + + /// Field number for the "attached_stream_ids" field. + public const int AttachedStreamIdsFieldNumber = 8; + private static readonly pb::FieldCodec _repeated_attachedStreamIds_codec + = pb::FieldCodec.ForString(66); + private readonly pbc::RepeatedField attachedStreamIds_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField AttachedStreamIds { + get { return attachedStreamIds_; } + } + + /// Field number for the "generated" field. + public const int GeneratedFieldNumber = 9; + private readonly static bool GeneratedDefaultValue = false; + + private bool generated_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Generated { + get { if ((_hasBits0 & 4) != 0) { return generated_; } else { return GeneratedDefaultValue; } } + set { + _hasBits0 |= 4; + generated_ = value; + } + } + /// Gets whether the "generated" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasGenerated { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "generated" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearGenerated() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamTextOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamTextOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Topic != other.Topic) return false; + if (!Attributes.Equals(other.Attributes)) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + if (Id != other.Id) return false; + if (OperationType != other.OperationType) return false; + if (Version != other.Version) return false; + if (ReplyToStreamId != other.ReplyToStreamId) return false; + if(!attachedStreamIds_.Equals(other.attachedStreamIds_)) return false; + if (Generated != other.Generated) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTopic) hash ^= Topic.GetHashCode(); + hash ^= Attributes.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (HasId) hash ^= Id.GetHashCode(); + if (HasOperationType) hash ^= OperationType.GetHashCode(); + if (HasVersion) hash ^= Version.GetHashCode(); + if (HasReplyToStreamId) hash ^= ReplyToStreamId.GetHashCode(); + hash ^= attachedStreamIds_.GetHashCode(); + if (HasGenerated) hash ^= Generated.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTopic) { + output.WriteRawTag(10); + output.WriteString(Topic); + } + attributes_.WriteTo(output, _map_attributes_codec); + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (HasId) { + output.WriteRawTag(34); + output.WriteString(Id); + } + if (HasOperationType) { + output.WriteRawTag(40); + output.WriteEnum((int) OperationType); + } + if (HasVersion) { + output.WriteRawTag(48); + output.WriteInt32(Version); + } + if (HasReplyToStreamId) { + output.WriteRawTag(58); + output.WriteString(ReplyToStreamId); + } + attachedStreamIds_.WriteTo(output, _repeated_attachedStreamIds_codec); + if (HasGenerated) { + output.WriteRawTag(72); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTopic) { + output.WriteRawTag(10); + output.WriteString(Topic); + } + attributes_.WriteTo(ref output, _map_attributes_codec); + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (HasId) { + output.WriteRawTag(34); + output.WriteString(Id); + } + if (HasOperationType) { + output.WriteRawTag(40); + output.WriteEnum((int) OperationType); + } + if (HasVersion) { + output.WriteRawTag(48); + output.WriteInt32(Version); + } + if (HasReplyToStreamId) { + output.WriteRawTag(58); + output.WriteString(ReplyToStreamId); + } + attachedStreamIds_.WriteTo(ref output, _repeated_attachedStreamIds_codec); + if (HasGenerated) { + output.WriteRawTag(72); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTopic) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic); + } + size += attributes_.CalculateSize(_map_attributes_codec); + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (HasId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Id); + } + if (HasOperationType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OperationType); + } + if (HasVersion) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version); + } + if (HasReplyToStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ReplyToStreamId); + } + size += attachedStreamIds_.CalculateSize(_repeated_attachedStreamIds_codec); + if (HasGenerated) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamTextOptions other) { + if (other == null) { + return; + } + if (other.HasTopic) { + Topic = other.Topic; + } + attributes_.MergeFrom(other.attributes_); + destinationIdentities_.Add(other.destinationIdentities_); + if (other.HasId) { + Id = other.Id; + } + if (other.HasOperationType) { + OperationType = other.OperationType; + } + if (other.HasVersion) { + Version = other.Version; + } + if (other.HasReplyToStreamId) { + ReplyToStreamId = other.ReplyToStreamId; + } + attachedStreamIds_.Add(other.attachedStreamIds_); + if (other.HasGenerated) { + Generated = other.Generated; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Topic = input.ReadString(); + break; + } + case 18: { + attributes_.AddEntriesFrom(input, _map_attributes_codec); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + Id = input.ReadString(); + break; + } + case 40: { + OperationType = (global::LiveKit.Proto.TextStreamInfo.Types.OperationType) input.ReadEnum(); + break; + } + case 48: { + Version = input.ReadInt32(); + break; + } + case 58: { + ReplyToStreamId = input.ReadString(); + break; + } + case 66: { + attachedStreamIds_.AddEntriesFrom(input, _repeated_attachedStreamIds_codec); + break; + } + case 72: { + Generated = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Topic = input.ReadString(); + break; + } + case 18: { + attributes_.AddEntriesFrom(ref input, _map_attributes_codec); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + Id = input.ReadString(); + break; + } + case 40: { + OperationType = (global::LiveKit.Proto.TextStreamInfo.Types.OperationType) input.ReadEnum(); + break; + } + case 48: { + Version = input.ReadInt32(); + break; + } + case 58: { + ReplyToStreamId = input.ReadString(); + break; + } + case 66: { + attachedStreamIds_.AddEntriesFrom(ref input, _repeated_attachedStreamIds_codec); + break; + } + case 72: { + Generated = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamByteOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamByteOptions()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[50]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamByteOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamByteOptions(StreamByteOptions other) : this() { + _hasBits0 = other._hasBits0; + topic_ = other.topic_; + attributes_ = other.attributes_.Clone(); + destinationIdentities_ = other.destinationIdentities_.Clone(); + id_ = other.id_; + name_ = other.name_; + mimeType_ = other.mimeType_; + totalLength_ = other.totalLength_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamByteOptions Clone() { + return new StreamByteOptions(this); + } + + /// Field number for the "topic" field. + public const int TopicFieldNumber = 1; + private readonly static string TopicDefaultValue = ""; + + private string topic_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Topic { + get { return topic_ ?? TopicDefaultValue; } + set { + topic_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "topic" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTopic { + get { return topic_ != null; } + } + /// Clears the value of the "topic" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTopic() { + topic_ = null; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 2; + private static readonly pbc::MapField.Codec _map_attributes_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18); + private readonly pbc::MapField attributes_ = new pbc::MapField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField Attributes { + get { return attributes_; } + } + + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(26); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + /// Field number for the "id" field. + public const int IdFieldNumber = 4; + private readonly static string IdDefaultValue = ""; + + private string id_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Id { + get { return id_ ?? IdDefaultValue; } + set { + id_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasId { + get { return id_ != null; } + } + /// Clears the value of the "id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearId() { + id_ = null; + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 5; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + /// Field number for the "mime_type" field. + public const int MimeTypeFieldNumber = 6; + private readonly static string MimeTypeDefaultValue = ""; + + private string mimeType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MimeType { + get { return mimeType_ ?? MimeTypeDefaultValue; } + set { + mimeType_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mime_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMimeType { + get { return mimeType_ != null; } + } + /// Clears the value of the "mime_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMimeType() { + mimeType_ = null; + } + + /// Field number for the "total_length" field. + public const int TotalLengthFieldNumber = 7; + private readonly static ulong TotalLengthDefaultValue = 0UL; + + private ulong totalLength_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalLength { + get { if ((_hasBits0 & 1) != 0) { return totalLength_; } else { return TotalLengthDefaultValue; } } + set { + _hasBits0 |= 1; + totalLength_ = value; + } + } + /// Gets whether the "total_length" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalLength { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "total_length" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalLength() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamByteOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamByteOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Topic != other.Topic) return false; + if (!Attributes.Equals(other.Attributes)) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + if (Id != other.Id) return false; + if (Name != other.Name) return false; + if (MimeType != other.MimeType) return false; + if (TotalLength != other.TotalLength) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTopic) hash ^= Topic.GetHashCode(); + hash ^= Attributes.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (HasId) hash ^= Id.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasMimeType) hash ^= MimeType.GetHashCode(); + if (HasTotalLength) hash ^= TotalLength.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTopic) { + output.WriteRawTag(10); + output.WriteString(Topic); + } + attributes_.WriteTo(output, _map_attributes_codec); + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (HasId) { + output.WriteRawTag(34); + output.WriteString(Id); + } + if (HasName) { + output.WriteRawTag(42); + output.WriteString(Name); + } + if (HasMimeType) { + output.WriteRawTag(50); + output.WriteString(MimeType); + } + if (HasTotalLength) { + output.WriteRawTag(56); + output.WriteUInt64(TotalLength); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTopic) { + output.WriteRawTag(10); + output.WriteString(Topic); + } + attributes_.WriteTo(ref output, _map_attributes_codec); + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (HasId) { + output.WriteRawTag(34); + output.WriteString(Id); + } + if (HasName) { + output.WriteRawTag(42); + output.WriteString(Name); + } + if (HasMimeType) { + output.WriteRawTag(50); + output.WriteString(MimeType); + } + if (HasTotalLength) { + output.WriteRawTag(56); + output.WriteUInt64(TotalLength); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTopic) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic); + } + size += attributes_.CalculateSize(_map_attributes_codec); + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (HasId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Id); + } + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (HasMimeType) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MimeType); + } + if (HasTotalLength) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TotalLength); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamByteOptions other) { + if (other == null) { + return; + } + if (other.HasTopic) { + Topic = other.Topic; + } + attributes_.MergeFrom(other.attributes_); + destinationIdentities_.Add(other.destinationIdentities_); + if (other.HasId) { + Id = other.Id; + } + if (other.HasName) { + Name = other.Name; + } + if (other.HasMimeType) { + MimeType = other.MimeType; + } + if (other.HasTotalLength) { + TotalLength = other.TotalLength; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Topic = input.ReadString(); + break; + } + case 18: { + attributes_.AddEntriesFrom(input, _map_attributes_codec); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + Id = input.ReadString(); + break; + } + case 42: { + Name = input.ReadString(); + break; + } + case 50: { + MimeType = input.ReadString(); + break; + } + case 56: { + TotalLength = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Topic = input.ReadString(); + break; + } + case 18: { + attributes_.AddEntriesFrom(ref input, _map_attributes_codec); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + Id = input.ReadString(); + break; + } + case 42: { + Name = input.ReadString(); + break; + } + case 50: { + MimeType = input.ReadString(); + break; + } + case 56: { + TotalLength = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + /// + /// Error pertaining to a stream. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamError : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamError()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStreamReflection.Descriptor.MessageTypes[51]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamError() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamError(StreamError other) : this() { + description_ = other.description_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamError Clone() { + return new StreamError(this); + } + + /// Field number for the "description" field. + public const int DescriptionFieldNumber = 1; + private readonly static string DescriptionDefaultValue = ""; + + private string description_; + /// + /// TODO(ladvoc): make this an enum. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Description { + get { return description_ ?? DescriptionDefaultValue; } + set { + description_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "description" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDescription { + get { return description_ != null; } + } + /// Clears the value of the "description" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDescription() { + description_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamError); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamError other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Description != other.Description) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasDescription) hash ^= Description.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasDescription) { + output.WriteRawTag(10); + output.WriteString(Description); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasDescription) { + output.WriteRawTag(10); + output.WriteString(Description); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasDescription) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Description); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamError other) { + if (other == null) { + return; + } + if (other.HasDescription) { + Description = other.Description; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Description = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Description = input.ReadString(); + break; + } + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Runtime/Scripts/Proto/DataStream.cs.meta b/Runtime/Scripts/Proto/DataStream.cs.meta new file mode 100644 index 00000000..973fd46e --- /dev/null +++ b/Runtime/Scripts/Proto/DataStream.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d9f252ddb64ef1249b6fd447be0f17bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Proto/E2Ee.cs b/Runtime/Scripts/Proto/E2Ee.cs new file mode 100644 index 00000000..a11d061f --- /dev/null +++ b/Runtime/Scripts/Proto/E2Ee.cs @@ -0,0 +1,7042 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: e2ee.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace LiveKit.Proto { + + /// Holder for reflection information generated from e2ee.proto + public static partial class E2EeReflection { + + #region Descriptor + /// File descriptor for e2ee.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static E2EeReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CgplMmVlLnByb3RvEg1saXZla2l0LnByb3RvImMKDEZyYW1lQ3J5cHRvchIc", + "ChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIRCgl0cmFja19zaWQYAiAC", + "KAkSEQoJa2V5X2luZGV4GAMgAigFEg8KB2VuYWJsZWQYBCACKAgidgoSS2V5", + "UHJvdmlkZXJPcHRpb25zEhIKCnNoYXJlZF9rZXkYASABKAwSGwoTcmF0Y2hl", + "dF93aW5kb3dfc2l6ZRgCIAIoBRIUCgxyYXRjaGV0X3NhbHQYAyACKAwSGQoR", + "ZmFpbHVyZV90b2xlcmFuY2UYBCACKAUihgEKC0UyZWVPcHRpb25zEjYKD2Vu", + "Y3J5cHRpb25fdHlwZRgBIAIoDjIdLmxpdmVraXQucHJvdG8uRW5jcnlwdGlv", + "blR5cGUSPwoUa2V5X3Byb3ZpZGVyX29wdGlvbnMYAiACKAsyIS5saXZla2l0", + "LnByb3RvLktleVByb3ZpZGVyT3B0aW9ucyIvChxFMmVlTWFuYWdlclNldEVu", + "YWJsZWRSZXF1ZXN0Eg8KB2VuYWJsZWQYASACKAgiHwodRTJlZU1hbmFnZXJT", + "ZXRFbmFibGVkUmVzcG9uc2UiJAoiRTJlZU1hbmFnZXJHZXRGcmFtZUNyeXB0", + "b3JzUmVxdWVzdCJaCiNFMmVlTWFuYWdlckdldEZyYW1lQ3J5cHRvcnNSZXNw", + "b25zZRIzCg5mcmFtZV9jcnlwdG9ycxgBIAMoCzIbLmxpdmVraXQucHJvdG8u", + "RnJhbWVDcnlwdG9yImEKHUZyYW1lQ3J5cHRvclNldEVuYWJsZWRSZXF1ZXN0", + "EhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhEKCXRyYWNrX3NpZBgC", + "IAIoCRIPCgdlbmFibGVkGAMgAigIIiAKHkZyYW1lQ3J5cHRvclNldEVuYWJs", + "ZWRSZXNwb25zZSJkCh5GcmFtZUNyeXB0b3JTZXRLZXlJbmRleFJlcXVlc3QS", + "HAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSEQoJdHJhY2tfc2lkGAIg", + "AigJEhEKCWtleV9pbmRleBgDIAIoBSIhCh9GcmFtZUNyeXB0b3JTZXRLZXlJ", + "bmRleFJlc3BvbnNlIjwKE1NldFNoYXJlZEtleVJlcXVlc3QSEgoKc2hhcmVk", + "X2tleRgBIAIoDBIRCglrZXlfaW5kZXgYAiACKAUiFgoUU2V0U2hhcmVkS2V5", + "UmVzcG9uc2UiLAoXUmF0Y2hldFNoYXJlZEtleVJlcXVlc3QSEQoJa2V5X2lu", + "ZGV4GAEgAigFIisKGFJhdGNoZXRTaGFyZWRLZXlSZXNwb25zZRIPCgduZXdf", + "a2V5GAEgASgMIigKE0dldFNoYXJlZEtleVJlcXVlc3QSEQoJa2V5X2luZGV4", + "GAEgAigFIiMKFEdldFNoYXJlZEtleVJlc3BvbnNlEgsKA2tleRgBIAEoDCJN", + "Cg1TZXRLZXlSZXF1ZXN0EhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJ", + "EgsKA2tleRgCIAIoDBIRCglrZXlfaW5kZXgYAyACKAUiEAoOU2V0S2V5UmVz", + "cG9uc2UiRAoRUmF0Y2hldEtleVJlcXVlc3QSHAoUcGFydGljaXBhbnRfaWRl", + "bnRpdHkYASACKAkSEQoJa2V5X2luZGV4GAIgAigFIiUKElJhdGNoZXRLZXlS", + "ZXNwb25zZRIPCgduZXdfa2V5GAEgASgMIkAKDUdldEtleVJlcXVlc3QSHAoU", + "cGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSEQoJa2V5X2luZGV4GAIgAigF", + "Ih0KDkdldEtleVJlc3BvbnNlEgsKA2tleRgBIAEoDCLMBQoLRTJlZVJlcXVl", + "c3QSEwoLcm9vbV9oYW5kbGUYASACKAQSSgoTbWFuYWdlcl9zZXRfZW5hYmxl", + "ZBgCIAEoCzIrLmxpdmVraXQucHJvdG8uRTJlZU1hbmFnZXJTZXRFbmFibGVk", + "UmVxdWVzdEgAElcKGm1hbmFnZXJfZ2V0X2ZyYW1lX2NyeXB0b3JzGAMgASgL", + "MjEubGl2ZWtpdC5wcm90by5FMmVlTWFuYWdlckdldEZyYW1lQ3J5cHRvcnNS", + "ZXF1ZXN0SAASSwoTY3J5cHRvcl9zZXRfZW5hYmxlZBgEIAEoCzIsLmxpdmVr", + "aXQucHJvdG8uRnJhbWVDcnlwdG9yU2V0RW5hYmxlZFJlcXVlc3RIABJOChVj", + "cnlwdG9yX3NldF9rZXlfaW5kZXgYBSABKAsyLS5saXZla2l0LnByb3RvLkZy", + "YW1lQ3J5cHRvclNldEtleUluZGV4UmVxdWVzdEgAEjwKDnNldF9zaGFyZWRf", + "a2V5GAYgASgLMiIubGl2ZWtpdC5wcm90by5TZXRTaGFyZWRLZXlSZXF1ZXN0", + "SAASRAoScmF0Y2hldF9zaGFyZWRfa2V5GAcgASgLMiYubGl2ZWtpdC5wcm90", + "by5SYXRjaGV0U2hhcmVkS2V5UmVxdWVzdEgAEjwKDmdldF9zaGFyZWRfa2V5", + "GAggASgLMiIubGl2ZWtpdC5wcm90by5HZXRTaGFyZWRLZXlSZXF1ZXN0SAAS", + "LwoHc2V0X2tleRgJIAEoCzIcLmxpdmVraXQucHJvdG8uU2V0S2V5UmVxdWVz", + "dEgAEjcKC3JhdGNoZXRfa2V5GAogASgLMiAubGl2ZWtpdC5wcm90by5SYXRj", + "aGV0S2V5UmVxdWVzdEgAEi8KB2dldF9rZXkYCyABKAsyHC5saXZla2l0LnBy", + "b3RvLkdldEtleVJlcXVlc3RIAEIJCgdtZXNzYWdlIsIFCgxFMmVlUmVzcG9u", + "c2USSwoTbWFuYWdlcl9zZXRfZW5hYmxlZBgBIAEoCzIsLmxpdmVraXQucHJv", + "dG8uRTJlZU1hbmFnZXJTZXRFbmFibGVkUmVzcG9uc2VIABJYChptYW5hZ2Vy", + "X2dldF9mcmFtZV9jcnlwdG9ycxgCIAEoCzIyLmxpdmVraXQucHJvdG8uRTJl", + "ZU1hbmFnZXJHZXRGcmFtZUNyeXB0b3JzUmVzcG9uc2VIABJMChNjcnlwdG9y", + "X3NldF9lbmFibGVkGAMgASgLMi0ubGl2ZWtpdC5wcm90by5GcmFtZUNyeXB0", + "b3JTZXRFbmFibGVkUmVzcG9uc2VIABJPChVjcnlwdG9yX3NldF9rZXlfaW5k", + "ZXgYBCABKAsyLi5saXZla2l0LnByb3RvLkZyYW1lQ3J5cHRvclNldEtleUlu", + "ZGV4UmVzcG9uc2VIABI9Cg5zZXRfc2hhcmVkX2tleRgFIAEoCzIjLmxpdmVr", + "aXQucHJvdG8uU2V0U2hhcmVkS2V5UmVzcG9uc2VIABJFChJyYXRjaGV0X3No", + "YXJlZF9rZXkYBiABKAsyJy5saXZla2l0LnByb3RvLlJhdGNoZXRTaGFyZWRL", + "ZXlSZXNwb25zZUgAEj0KDmdldF9zaGFyZWRfa2V5GAcgASgLMiMubGl2ZWtp", + "dC5wcm90by5HZXRTaGFyZWRLZXlSZXNwb25zZUgAEjAKB3NldF9rZXkYCCAB", + "KAsyHS5saXZla2l0LnByb3RvLlNldEtleVJlc3BvbnNlSAASOAoLcmF0Y2hl", + "dF9rZXkYCSABKAsyIS5saXZla2l0LnByb3RvLlJhdGNoZXRLZXlSZXNwb25z", + "ZUgAEjAKB2dldF9rZXkYCiABKAsyHS5saXZla2l0LnByb3RvLkdldEtleVJl", + "c3BvbnNlSABCCQoHbWVzc2FnZSovCg5FbmNyeXB0aW9uVHlwZRIICgROT05F", + "EAASBwoDR0NNEAESCgoGQ1VTVE9NEAIqiAEKD0VuY3J5cHRpb25TdGF0ZRIH", + "CgNORVcQABIGCgJPSxABEhUKEUVOQ1JZUFRJT05fRkFJTEVEEAISFQoRREVD", + "UllQVElPTl9GQUlMRUQQAxIPCgtNSVNTSU5HX0tFWRAEEhEKDUtFWV9SQVRD", + "SEVURUQQBRISCg5JTlRFUk5BTF9FUlJPUhAGQhCqAg1MaXZlS2l0LlByb3Rv")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.EncryptionType), typeof(global::LiveKit.Proto.EncryptionState), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FrameCryptor), global::LiveKit.Proto.FrameCryptor.Parser, new[]{ "ParticipantIdentity", "TrackSid", "KeyIndex", "Enabled" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.KeyProviderOptions), global::LiveKit.Proto.KeyProviderOptions.Parser, new[]{ "SharedKey", "RatchetWindowSize", "RatchetSalt", "FailureTolerance" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeOptions), global::LiveKit.Proto.E2eeOptions.Parser, new[]{ "EncryptionType", "KeyProviderOptions" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeManagerSetEnabledRequest), global::LiveKit.Proto.E2eeManagerSetEnabledRequest.Parser, new[]{ "Enabled" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeManagerSetEnabledResponse), global::LiveKit.Proto.E2eeManagerSetEnabledResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest), global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse), global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse.Parser, new[]{ "FrameCryptors" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FrameCryptorSetEnabledRequest), global::LiveKit.Proto.FrameCryptorSetEnabledRequest.Parser, new[]{ "ParticipantIdentity", "TrackSid", "Enabled" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FrameCryptorSetEnabledResponse), global::LiveKit.Proto.FrameCryptorSetEnabledResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest), global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest.Parser, new[]{ "ParticipantIdentity", "TrackSid", "KeyIndex" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse), global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetSharedKeyRequest), global::LiveKit.Proto.SetSharedKeyRequest.Parser, new[]{ "SharedKey", "KeyIndex" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetSharedKeyResponse), global::LiveKit.Proto.SetSharedKeyResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RatchetSharedKeyRequest), global::LiveKit.Proto.RatchetSharedKeyRequest.Parser, new[]{ "KeyIndex" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RatchetSharedKeyResponse), global::LiveKit.Proto.RatchetSharedKeyResponse.Parser, new[]{ "NewKey" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetSharedKeyRequest), global::LiveKit.Proto.GetSharedKeyRequest.Parser, new[]{ "KeyIndex" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetSharedKeyResponse), global::LiveKit.Proto.GetSharedKeyResponse.Parser, new[]{ "Key" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetKeyRequest), global::LiveKit.Proto.SetKeyRequest.Parser, new[]{ "ParticipantIdentity", "Key", "KeyIndex" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetKeyResponse), global::LiveKit.Proto.SetKeyResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RatchetKeyRequest), global::LiveKit.Proto.RatchetKeyRequest.Parser, new[]{ "ParticipantIdentity", "KeyIndex" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RatchetKeyResponse), global::LiveKit.Proto.RatchetKeyResponse.Parser, new[]{ "NewKey" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetKeyRequest), global::LiveKit.Proto.GetKeyRequest.Parser, new[]{ "ParticipantIdentity", "KeyIndex" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetKeyResponse), global::LiveKit.Proto.GetKeyResponse.Parser, new[]{ "Key" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeRequest), global::LiveKit.Proto.E2eeRequest.Parser, new[]{ "RoomHandle", "ManagerSetEnabled", "ManagerGetFrameCryptors", "CryptorSetEnabled", "CryptorSetKeyIndex", "SetSharedKey", "RatchetSharedKey", "GetSharedKey", "SetKey", "RatchetKey", "GetKey" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeResponse), global::LiveKit.Proto.E2eeResponse.Parser, new[]{ "ManagerSetEnabled", "ManagerGetFrameCryptors", "CryptorSetEnabled", "CryptorSetKeyIndex", "SetSharedKey", "RatchetSharedKey", "GetSharedKey", "SetKey", "RatchetKey", "GetKey" }, new[]{ "Message" }, null, null, null) + })); + } + #endregion + + } + #region Enums + public enum EncryptionType { + [pbr::OriginalName("NONE")] None = 0, + [pbr::OriginalName("GCM")] Gcm = 1, + [pbr::OriginalName("CUSTOM")] Custom = 2, + } + + public enum EncryptionState { + [pbr::OriginalName("NEW")] New = 0, + [pbr::OriginalName("OK")] Ok = 1, + [pbr::OriginalName("ENCRYPTION_FAILED")] EncryptionFailed = 2, + [pbr::OriginalName("DECRYPTION_FAILED")] DecryptionFailed = 3, + [pbr::OriginalName("MISSING_KEY")] MissingKey = 4, + [pbr::OriginalName("KEY_RATCHETED")] KeyRatcheted = 5, + [pbr::OriginalName("INTERNAL_ERROR")] InternalError = 6, + } + + #endregion + + #region Messages + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FrameCryptor : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FrameCryptor()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptor() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptor(FrameCryptor other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + keyIndex_ = other.keyIndex_; + enabled_ = other.enabled_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptor Clone() { + return new FrameCryptor(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 3; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + /// Field number for the "enabled" field. + public const int EnabledFieldNumber = 4; + private readonly static bool EnabledDefaultValue = false; + + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Enabled { + get { if ((_hasBits0 & 2) != 0) { return enabled_; } else { return EnabledDefaultValue; } } + set { + _hasBits0 |= 2; + enabled_ = value; + } + } + /// Gets whether the "enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEnabled { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEnabled() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FrameCryptor); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FrameCryptor other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + if (KeyIndex != other.KeyIndex) return false; + if (Enabled != other.Enabled) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (HasEnabled) hash ^= Enabled.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasKeyIndex) { + output.WriteRawTag(24); + output.WriteInt32(KeyIndex); + } + if (HasEnabled) { + output.WriteRawTag(32); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasKeyIndex) { + output.WriteRawTag(24); + output.WriteInt32(KeyIndex); + } + if (HasEnabled) { + output.WriteRawTag(32); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (HasEnabled) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FrameCryptor other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + if (other.HasEnabled) { + Enabled = other.Enabled; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 24: { + KeyIndex = input.ReadInt32(); + break; + } + case 32: { + Enabled = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 24: { + KeyIndex = input.ReadInt32(); + break; + } + case 32: { + Enabled = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class KeyProviderOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new KeyProviderOptions()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public KeyProviderOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public KeyProviderOptions(KeyProviderOptions other) : this() { + _hasBits0 = other._hasBits0; + sharedKey_ = other.sharedKey_; + ratchetWindowSize_ = other.ratchetWindowSize_; + ratchetSalt_ = other.ratchetSalt_; + failureTolerance_ = other.failureTolerance_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public KeyProviderOptions Clone() { + return new KeyProviderOptions(this); + } + + /// Field number for the "shared_key" field. + public const int SharedKeyFieldNumber = 1; + private readonly static pb::ByteString SharedKeyDefaultValue = pb::ByteString.Empty; + + private pb::ByteString sharedKey_; + /// + /// Only specify if you want to use a shared_key + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString SharedKey { + get { return sharedKey_ ?? SharedKeyDefaultValue; } + set { + sharedKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "shared_key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSharedKey { + get { return sharedKey_ != null; } + } + /// Clears the value of the "shared_key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSharedKey() { + sharedKey_ = null; + } + + /// Field number for the "ratchet_window_size" field. + public const int RatchetWindowSizeFieldNumber = 2; + private readonly static int RatchetWindowSizeDefaultValue = 0; + + private int ratchetWindowSize_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int RatchetWindowSize { + get { if ((_hasBits0 & 1) != 0) { return ratchetWindowSize_; } else { return RatchetWindowSizeDefaultValue; } } + set { + _hasBits0 |= 1; + ratchetWindowSize_ = value; + } + } + /// Gets whether the "ratchet_window_size" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRatchetWindowSize { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "ratchet_window_size" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRatchetWindowSize() { + _hasBits0 &= ~1; + } + + /// Field number for the "ratchet_salt" field. + public const int RatchetSaltFieldNumber = 3; + private readonly static pb::ByteString RatchetSaltDefaultValue = pb::ByteString.Empty; + + private pb::ByteString ratchetSalt_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString RatchetSalt { + get { return ratchetSalt_ ?? RatchetSaltDefaultValue; } + set { + ratchetSalt_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "ratchet_salt" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRatchetSalt { + get { return ratchetSalt_ != null; } + } + /// Clears the value of the "ratchet_salt" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRatchetSalt() { + ratchetSalt_ = null; + } + + /// Field number for the "failure_tolerance" field. + public const int FailureToleranceFieldNumber = 4; + private readonly static int FailureToleranceDefaultValue = 0; + + private int failureTolerance_; + /// + /// -1 = no tolerance + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int FailureTolerance { + get { if ((_hasBits0 & 2) != 0) { return failureTolerance_; } else { return FailureToleranceDefaultValue; } } + set { + _hasBits0 |= 2; + failureTolerance_ = value; + } + } + /// Gets whether the "failure_tolerance" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFailureTolerance { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "failure_tolerance" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFailureTolerance() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as KeyProviderOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(KeyProviderOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (SharedKey != other.SharedKey) return false; + if (RatchetWindowSize != other.RatchetWindowSize) return false; + if (RatchetSalt != other.RatchetSalt) return false; + if (FailureTolerance != other.FailureTolerance) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSharedKey) hash ^= SharedKey.GetHashCode(); + if (HasRatchetWindowSize) hash ^= RatchetWindowSize.GetHashCode(); + if (HasRatchetSalt) hash ^= RatchetSalt.GetHashCode(); + if (HasFailureTolerance) hash ^= FailureTolerance.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSharedKey) { + output.WriteRawTag(10); + output.WriteBytes(SharedKey); + } + if (HasRatchetWindowSize) { + output.WriteRawTag(16); + output.WriteInt32(RatchetWindowSize); + } + if (HasRatchetSalt) { + output.WriteRawTag(26); + output.WriteBytes(RatchetSalt); + } + if (HasFailureTolerance) { + output.WriteRawTag(32); + output.WriteInt32(FailureTolerance); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSharedKey) { + output.WriteRawTag(10); + output.WriteBytes(SharedKey); + } + if (HasRatchetWindowSize) { + output.WriteRawTag(16); + output.WriteInt32(RatchetWindowSize); + } + if (HasRatchetSalt) { + output.WriteRawTag(26); + output.WriteBytes(RatchetSalt); + } + if (HasFailureTolerance) { + output.WriteRawTag(32); + output.WriteInt32(FailureTolerance); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(SharedKey); + } + if (HasRatchetWindowSize) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(RatchetWindowSize); + } + if (HasRatchetSalt) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(RatchetSalt); + } + if (HasFailureTolerance) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(FailureTolerance); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(KeyProviderOptions other) { + if (other == null) { + return; + } + if (other.HasSharedKey) { + SharedKey = other.SharedKey; + } + if (other.HasRatchetWindowSize) { + RatchetWindowSize = other.RatchetWindowSize; + } + if (other.HasRatchetSalt) { + RatchetSalt = other.RatchetSalt; + } + if (other.HasFailureTolerance) { + FailureTolerance = other.FailureTolerance; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + SharedKey = input.ReadBytes(); + break; + } + case 16: { + RatchetWindowSize = input.ReadInt32(); + break; + } + case 26: { + RatchetSalt = input.ReadBytes(); + break; + } + case 32: { + FailureTolerance = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + SharedKey = input.ReadBytes(); + break; + } + case 16: { + RatchetWindowSize = input.ReadInt32(); + break; + } + case 26: { + RatchetSalt = input.ReadBytes(); + break; + } + case 32: { + FailureTolerance = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeOptions()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeOptions(E2eeOptions other) : this() { + _hasBits0 = other._hasBits0; + encryptionType_ = other.encryptionType_; + keyProviderOptions_ = other.keyProviderOptions_ != null ? other.keyProviderOptions_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeOptions Clone() { + return new E2eeOptions(this); + } + + /// Field number for the "encryption_type" field. + public const int EncryptionTypeFieldNumber = 1; + private readonly static global::LiveKit.Proto.EncryptionType EncryptionTypeDefaultValue = global::LiveKit.Proto.EncryptionType.None; + + private global::LiveKit.Proto.EncryptionType encryptionType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.EncryptionType EncryptionType { + get { if ((_hasBits0 & 1) != 0) { return encryptionType_; } else { return EncryptionTypeDefaultValue; } } + set { + _hasBits0 |= 1; + encryptionType_ = value; + } + } + /// Gets whether the "encryption_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEncryptionType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "encryption_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEncryptionType() { + _hasBits0 &= ~1; + } + + /// Field number for the "key_provider_options" field. + public const int KeyProviderOptionsFieldNumber = 2; + private global::LiveKit.Proto.KeyProviderOptions keyProviderOptions_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.KeyProviderOptions KeyProviderOptions { + get { return keyProviderOptions_; } + set { + keyProviderOptions_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (EncryptionType != other.EncryptionType) return false; + if (!object.Equals(KeyProviderOptions, other.KeyProviderOptions)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasEncryptionType) hash ^= EncryptionType.GetHashCode(); + if (keyProviderOptions_ != null) hash ^= KeyProviderOptions.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasEncryptionType) { + output.WriteRawTag(8); + output.WriteEnum((int) EncryptionType); + } + if (keyProviderOptions_ != null) { + output.WriteRawTag(18); + output.WriteMessage(KeyProviderOptions); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasEncryptionType) { + output.WriteRawTag(8); + output.WriteEnum((int) EncryptionType); + } + if (keyProviderOptions_ != null) { + output.WriteRawTag(18); + output.WriteMessage(KeyProviderOptions); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasEncryptionType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EncryptionType); + } + if (keyProviderOptions_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(KeyProviderOptions); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeOptions other) { + if (other == null) { + return; + } + if (other.HasEncryptionType) { + EncryptionType = other.EncryptionType; + } + if (other.keyProviderOptions_ != null) { + if (keyProviderOptions_ == null) { + KeyProviderOptions = new global::LiveKit.Proto.KeyProviderOptions(); + } + KeyProviderOptions.MergeFrom(other.KeyProviderOptions); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + EncryptionType = (global::LiveKit.Proto.EncryptionType) input.ReadEnum(); + break; + } + case 18: { + if (keyProviderOptions_ == null) { + KeyProviderOptions = new global::LiveKit.Proto.KeyProviderOptions(); + } + input.ReadMessage(KeyProviderOptions); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + EncryptionType = (global::LiveKit.Proto.EncryptionType) input.ReadEnum(); + break; + } + case 18: { + if (keyProviderOptions_ == null) { + KeyProviderOptions = new global::LiveKit.Proto.KeyProviderOptions(); + } + input.ReadMessage(KeyProviderOptions); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeManagerSetEnabledRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeManagerSetEnabledRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerSetEnabledRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerSetEnabledRequest(E2eeManagerSetEnabledRequest other) : this() { + _hasBits0 = other._hasBits0; + enabled_ = other.enabled_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerSetEnabledRequest Clone() { + return new E2eeManagerSetEnabledRequest(this); + } + + /// Field number for the "enabled" field. + public const int EnabledFieldNumber = 1; + private readonly static bool EnabledDefaultValue = false; + + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Enabled { + get { if ((_hasBits0 & 1) != 0) { return enabled_; } else { return EnabledDefaultValue; } } + set { + _hasBits0 |= 1; + enabled_ = value; + } + } + /// Gets whether the "enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEnabled { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEnabled() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeManagerSetEnabledRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeManagerSetEnabledRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Enabled != other.Enabled) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasEnabled) hash ^= Enabled.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasEnabled) { + output.WriteRawTag(8); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasEnabled) { + output.WriteRawTag(8); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasEnabled) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeManagerSetEnabledRequest other) { + if (other == null) { + return; + } + if (other.HasEnabled) { + Enabled = other.Enabled; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Enabled = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Enabled = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeManagerSetEnabledResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeManagerSetEnabledResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[4]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerSetEnabledResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerSetEnabledResponse(E2eeManagerSetEnabledResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerSetEnabledResponse Clone() { + return new E2eeManagerSetEnabledResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeManagerSetEnabledResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeManagerSetEnabledResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeManagerSetEnabledResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeManagerGetFrameCryptorsRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeManagerGetFrameCryptorsRequest()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[5]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerGetFrameCryptorsRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerGetFrameCryptorsRequest(E2eeManagerGetFrameCryptorsRequest other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerGetFrameCryptorsRequest Clone() { + return new E2eeManagerGetFrameCryptorsRequest(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeManagerGetFrameCryptorsRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeManagerGetFrameCryptorsRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeManagerGetFrameCryptorsRequest other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeManagerGetFrameCryptorsResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeManagerGetFrameCryptorsResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[6]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerGetFrameCryptorsResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerGetFrameCryptorsResponse(E2eeManagerGetFrameCryptorsResponse other) : this() { + frameCryptors_ = other.frameCryptors_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeManagerGetFrameCryptorsResponse Clone() { + return new E2eeManagerGetFrameCryptorsResponse(this); + } + + /// Field number for the "frame_cryptors" field. + public const int FrameCryptorsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_frameCryptors_codec + = pb::FieldCodec.ForMessage(10, global::LiveKit.Proto.FrameCryptor.Parser); + private readonly pbc::RepeatedField frameCryptors_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField FrameCryptors { + get { return frameCryptors_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeManagerGetFrameCryptorsResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeManagerGetFrameCryptorsResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!frameCryptors_.Equals(other.frameCryptors_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= frameCryptors_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + frameCryptors_.WriteTo(output, _repeated_frameCryptors_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + frameCryptors_.WriteTo(ref output, _repeated_frameCryptors_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += frameCryptors_.CalculateSize(_repeated_frameCryptors_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeManagerGetFrameCryptorsResponse other) { + if (other == null) { + return; + } + frameCryptors_.Add(other.frameCryptors_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + frameCryptors_.AddEntriesFrom(input, _repeated_frameCryptors_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + frameCryptors_.AddEntriesFrom(ref input, _repeated_frameCryptors_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FrameCryptorSetEnabledRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FrameCryptorSetEnabledRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[7]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetEnabledRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetEnabledRequest(FrameCryptorSetEnabledRequest other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + enabled_ = other.enabled_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetEnabledRequest Clone() { + return new FrameCryptorSetEnabledRequest(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + /// Field number for the "enabled" field. + public const int EnabledFieldNumber = 3; + private readonly static bool EnabledDefaultValue = false; + + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Enabled { + get { if ((_hasBits0 & 1) != 0) { return enabled_; } else { return EnabledDefaultValue; } } + set { + _hasBits0 |= 1; + enabled_ = value; + } + } + /// Gets whether the "enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEnabled { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEnabled() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FrameCryptorSetEnabledRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FrameCryptorSetEnabledRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + if (Enabled != other.Enabled) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (HasEnabled) hash ^= Enabled.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasEnabled) { + output.WriteRawTag(24); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasEnabled) { + output.WriteRawTag(24); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (HasEnabled) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FrameCryptorSetEnabledRequest other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + if (other.HasEnabled) { + Enabled = other.Enabled; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 24: { + Enabled = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 24: { + Enabled = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FrameCryptorSetEnabledResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FrameCryptorSetEnabledResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[8]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetEnabledResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetEnabledResponse(FrameCryptorSetEnabledResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetEnabledResponse Clone() { + return new FrameCryptorSetEnabledResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FrameCryptorSetEnabledResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FrameCryptorSetEnabledResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FrameCryptorSetEnabledResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FrameCryptorSetKeyIndexRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FrameCryptorSetKeyIndexRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[9]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetKeyIndexRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetKeyIndexRequest(FrameCryptorSetKeyIndexRequest other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + keyIndex_ = other.keyIndex_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetKeyIndexRequest Clone() { + return new FrameCryptorSetKeyIndexRequest(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 3; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FrameCryptorSetKeyIndexRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FrameCryptorSetKeyIndexRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + if (KeyIndex != other.KeyIndex) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasKeyIndex) { + output.WriteRawTag(24); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasKeyIndex) { + output.WriteRawTag(24); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FrameCryptorSetKeyIndexRequest other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 24: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 24: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FrameCryptorSetKeyIndexResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FrameCryptorSetKeyIndexResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[10]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetKeyIndexResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetKeyIndexResponse(FrameCryptorSetKeyIndexResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FrameCryptorSetKeyIndexResponse Clone() { + return new FrameCryptorSetKeyIndexResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FrameCryptorSetKeyIndexResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FrameCryptorSetKeyIndexResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FrameCryptorSetKeyIndexResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetSharedKeyRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetSharedKeyRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[11]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSharedKeyRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSharedKeyRequest(SetSharedKeyRequest other) : this() { + _hasBits0 = other._hasBits0; + sharedKey_ = other.sharedKey_; + keyIndex_ = other.keyIndex_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSharedKeyRequest Clone() { + return new SetSharedKeyRequest(this); + } + + /// Field number for the "shared_key" field. + public const int SharedKeyFieldNumber = 1; + private readonly static pb::ByteString SharedKeyDefaultValue = pb::ByteString.Empty; + + private pb::ByteString sharedKey_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString SharedKey { + get { return sharedKey_ ?? SharedKeyDefaultValue; } + set { + sharedKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "shared_key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSharedKey { + get { return sharedKey_ != null; } + } + /// Clears the value of the "shared_key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSharedKey() { + sharedKey_ = null; + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 2; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetSharedKeyRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetSharedKeyRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (SharedKey != other.SharedKey) return false; + if (KeyIndex != other.KeyIndex) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSharedKey) hash ^= SharedKey.GetHashCode(); + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSharedKey) { + output.WriteRawTag(10); + output.WriteBytes(SharedKey); + } + if (HasKeyIndex) { + output.WriteRawTag(16); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSharedKey) { + output.WriteRawTag(10); + output.WriteBytes(SharedKey); + } + if (HasKeyIndex) { + output.WriteRawTag(16); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(SharedKey); + } + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetSharedKeyRequest other) { + if (other == null) { + return; + } + if (other.HasSharedKey) { + SharedKey = other.SharedKey; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + SharedKey = input.ReadBytes(); + break; + } + case 16: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + SharedKey = input.ReadBytes(); + break; + } + case 16: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetSharedKeyResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetSharedKeyResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[12]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSharedKeyResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSharedKeyResponse(SetSharedKeyResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSharedKeyResponse Clone() { + return new SetSharedKeyResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetSharedKeyResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetSharedKeyResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetSharedKeyResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RatchetSharedKeyRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RatchetSharedKeyRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[13]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetSharedKeyRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetSharedKeyRequest(RatchetSharedKeyRequest other) : this() { + _hasBits0 = other._hasBits0; + keyIndex_ = other.keyIndex_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetSharedKeyRequest Clone() { + return new RatchetSharedKeyRequest(this); + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 1; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RatchetSharedKeyRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RatchetSharedKeyRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (KeyIndex != other.KeyIndex) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasKeyIndex) { + output.WriteRawTag(8); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKeyIndex) { + output.WriteRawTag(8); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RatchetSharedKeyRequest other) { + if (other == null) { + return; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RatchetSharedKeyResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RatchetSharedKeyResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetSharedKeyResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetSharedKeyResponse(RatchetSharedKeyResponse other) : this() { + newKey_ = other.newKey_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetSharedKeyResponse Clone() { + return new RatchetSharedKeyResponse(this); + } + + /// Field number for the "new_key" field. + public const int NewKeyFieldNumber = 1; + private readonly static pb::ByteString NewKeyDefaultValue = pb::ByteString.Empty; + + private pb::ByteString newKey_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString NewKey { + get { return newKey_ ?? NewKeyDefaultValue; } + set { + newKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "new_key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNewKey { + get { return newKey_ != null; } + } + /// Clears the value of the "new_key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNewKey() { + newKey_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RatchetSharedKeyResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RatchetSharedKeyResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (NewKey != other.NewKey) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasNewKey) hash ^= NewKey.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasNewKey) { + output.WriteRawTag(10); + output.WriteBytes(NewKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasNewKey) { + output.WriteRawTag(10); + output.WriteBytes(NewKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasNewKey) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(NewKey); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RatchetSharedKeyResponse other) { + if (other == null) { + return; + } + if (other.HasNewKey) { + NewKey = other.NewKey; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + NewKey = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + NewKey = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetSharedKeyRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetSharedKeyRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[15]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSharedKeyRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSharedKeyRequest(GetSharedKeyRequest other) : this() { + _hasBits0 = other._hasBits0; + keyIndex_ = other.keyIndex_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSharedKeyRequest Clone() { + return new GetSharedKeyRequest(this); + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 1; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as GetSharedKeyRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(GetSharedKeyRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (KeyIndex != other.KeyIndex) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasKeyIndex) { + output.WriteRawTag(8); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKeyIndex) { + output.WriteRawTag(8); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(GetSharedKeyRequest other) { + if (other == null) { + return; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetSharedKeyResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetSharedKeyResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[16]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSharedKeyResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSharedKeyResponse(GetSharedKeyResponse other) : this() { + key_ = other.key_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSharedKeyResponse Clone() { + return new GetSharedKeyResponse(this); + } + + /// Field number for the "key" field. + public const int KeyFieldNumber = 1; + private readonly static pb::ByteString KeyDefaultValue = pb::ByteString.Empty; + + private pb::ByteString key_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Key { + get { return key_ ?? KeyDefaultValue; } + set { + key_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKey { + get { return key_ != null; } + } + /// Clears the value of the "key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKey() { + key_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as GetSharedKeyResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(GetSharedKeyResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Key != other.Key) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasKey) hash ^= Key.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasKey) { + output.WriteRawTag(10); + output.WriteBytes(Key); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKey) { + output.WriteRawTag(10); + output.WriteBytes(Key); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasKey) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Key); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(GetSharedKeyResponse other) { + if (other == null) { + return; + } + if (other.HasKey) { + Key = other.Key; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Key = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Key = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetKeyRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetKeyRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[17]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetKeyRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetKeyRequest(SetKeyRequest other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + key_ = other.key_; + keyIndex_ = other.keyIndex_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetKeyRequest Clone() { + return new SetKeyRequest(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "key" field. + public const int KeyFieldNumber = 2; + private readonly static pb::ByteString KeyDefaultValue = pb::ByteString.Empty; + + private pb::ByteString key_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Key { + get { return key_ ?? KeyDefaultValue; } + set { + key_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKey { + get { return key_ != null; } + } + /// Clears the value of the "key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKey() { + key_ = null; + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 3; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetKeyRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetKeyRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (Key != other.Key) return false; + if (KeyIndex != other.KeyIndex) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasKey) hash ^= Key.GetHashCode(); + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasKey) { + output.WriteRawTag(18); + output.WriteBytes(Key); + } + if (HasKeyIndex) { + output.WriteRawTag(24); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasKey) { + output.WriteRawTag(18); + output.WriteBytes(Key); + } + if (HasKeyIndex) { + output.WriteRawTag(24); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasKey) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Key); + } + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetKeyRequest other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasKey) { + Key = other.Key; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + Key = input.ReadBytes(); + break; + } + case 24: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + Key = input.ReadBytes(); + break; + } + case 24: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetKeyResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetKeyResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[18]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetKeyResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetKeyResponse(SetKeyResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetKeyResponse Clone() { + return new SetKeyResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetKeyResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetKeyResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetKeyResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RatchetKeyRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RatchetKeyRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[19]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetKeyRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetKeyRequest(RatchetKeyRequest other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + keyIndex_ = other.keyIndex_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetKeyRequest Clone() { + return new RatchetKeyRequest(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 2; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RatchetKeyRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RatchetKeyRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (KeyIndex != other.KeyIndex) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasKeyIndex) { + output.WriteRawTag(16); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasKeyIndex) { + output.WriteRawTag(16); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RatchetKeyRequest other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RatchetKeyResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RatchetKeyResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[20]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetKeyResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetKeyResponse(RatchetKeyResponse other) : this() { + newKey_ = other.newKey_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RatchetKeyResponse Clone() { + return new RatchetKeyResponse(this); + } + + /// Field number for the "new_key" field. + public const int NewKeyFieldNumber = 1; + private readonly static pb::ByteString NewKeyDefaultValue = pb::ByteString.Empty; + + private pb::ByteString newKey_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString NewKey { + get { return newKey_ ?? NewKeyDefaultValue; } + set { + newKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "new_key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNewKey { + get { return newKey_ != null; } + } + /// Clears the value of the "new_key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNewKey() { + newKey_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RatchetKeyResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RatchetKeyResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (NewKey != other.NewKey) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasNewKey) hash ^= NewKey.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasNewKey) { + output.WriteRawTag(10); + output.WriteBytes(NewKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasNewKey) { + output.WriteRawTag(10); + output.WriteBytes(NewKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasNewKey) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(NewKey); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RatchetKeyResponse other) { + if (other == null) { + return; + } + if (other.HasNewKey) { + NewKey = other.NewKey; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + NewKey = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + NewKey = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetKeyRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetKeyRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[21]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetKeyRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetKeyRequest(GetKeyRequest other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + keyIndex_ = other.keyIndex_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetKeyRequest Clone() { + return new GetKeyRequest(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "key_index" field. + public const int KeyIndexFieldNumber = 2; + private readonly static int KeyIndexDefaultValue = 0; + + private int keyIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int KeyIndex { + get { if ((_hasBits0 & 1) != 0) { return keyIndex_; } else { return KeyIndexDefaultValue; } } + set { + _hasBits0 |= 1; + keyIndex_ = value; + } + } + /// Gets whether the "key_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "key_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyIndex() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as GetKeyRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(GetKeyRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (KeyIndex != other.KeyIndex) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasKeyIndex) hash ^= KeyIndex.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasKeyIndex) { + output.WriteRawTag(16); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasKeyIndex) { + output.WriteRawTag(16); + output.WriteInt32(KeyIndex); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyIndex); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(GetKeyRequest other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasKeyIndex) { + KeyIndex = other.KeyIndex; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + KeyIndex = input.ReadInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetKeyResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetKeyResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[22]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetKeyResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetKeyResponse(GetKeyResponse other) : this() { + key_ = other.key_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetKeyResponse Clone() { + return new GetKeyResponse(this); + } + + /// Field number for the "key" field. + public const int KeyFieldNumber = 1; + private readonly static pb::ByteString KeyDefaultValue = pb::ByteString.Empty; + + private pb::ByteString key_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Key { + get { return key_ ?? KeyDefaultValue; } + set { + key_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKey { + get { return key_ != null; } + } + /// Clears the value of the "key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKey() { + key_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as GetKeyResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(GetKeyResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Key != other.Key) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasKey) hash ^= Key.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasKey) { + output.WriteRawTag(10); + output.WriteBytes(Key); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKey) { + output.WriteRawTag(10); + output.WriteBytes(Key); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasKey) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Key); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(GetKeyResponse other) { + if (other == null) { + return; + } + if (other.HasKey) { + Key = other.Key; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Key = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Key = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[23]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeRequest(E2eeRequest other) : this() { + _hasBits0 = other._hasBits0; + roomHandle_ = other.roomHandle_; + switch (other.MessageCase) { + case MessageOneofCase.ManagerSetEnabled: + ManagerSetEnabled = other.ManagerSetEnabled.Clone(); + break; + case MessageOneofCase.ManagerGetFrameCryptors: + ManagerGetFrameCryptors = other.ManagerGetFrameCryptors.Clone(); + break; + case MessageOneofCase.CryptorSetEnabled: + CryptorSetEnabled = other.CryptorSetEnabled.Clone(); + break; + case MessageOneofCase.CryptorSetKeyIndex: + CryptorSetKeyIndex = other.CryptorSetKeyIndex.Clone(); + break; + case MessageOneofCase.SetSharedKey: + SetSharedKey = other.SetSharedKey.Clone(); + break; + case MessageOneofCase.RatchetSharedKey: + RatchetSharedKey = other.RatchetSharedKey.Clone(); + break; + case MessageOneofCase.GetSharedKey: + GetSharedKey = other.GetSharedKey.Clone(); + break; + case MessageOneofCase.SetKey: + SetKey = other.SetKey.Clone(); + break; + case MessageOneofCase.RatchetKey: + RatchetKey = other.RatchetKey.Clone(); + break; + case MessageOneofCase.GetKey: + GetKey = other.GetKey.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeRequest Clone() { + return new E2eeRequest(this); + } + + /// Field number for the "room_handle" field. + public const int RoomHandleFieldNumber = 1; + private readonly static ulong RoomHandleDefaultValue = 0UL; + + private ulong roomHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RoomHandle { + get { if ((_hasBits0 & 1) != 0) { return roomHandle_; } else { return RoomHandleDefaultValue; } } + set { + _hasBits0 |= 1; + roomHandle_ = value; + } + } + /// Gets whether the "room_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoomHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "room_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoomHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "manager_set_enabled" field. + public const int ManagerSetEnabledFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.E2eeManagerSetEnabledRequest ManagerSetEnabled { + get { return messageCase_ == MessageOneofCase.ManagerSetEnabled ? (global::LiveKit.Proto.E2eeManagerSetEnabledRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ManagerSetEnabled; + } + } + + /// Field number for the "manager_get_frame_cryptors" field. + public const int ManagerGetFrameCryptorsFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest ManagerGetFrameCryptors { + get { return messageCase_ == MessageOneofCase.ManagerGetFrameCryptors ? (global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ManagerGetFrameCryptors; + } + } + + /// Field number for the "cryptor_set_enabled" field. + public const int CryptorSetEnabledFieldNumber = 4; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FrameCryptorSetEnabledRequest CryptorSetEnabled { + get { return messageCase_ == MessageOneofCase.CryptorSetEnabled ? (global::LiveKit.Proto.FrameCryptorSetEnabledRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.CryptorSetEnabled; + } + } + + /// Field number for the "cryptor_set_key_index" field. + public const int CryptorSetKeyIndexFieldNumber = 5; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest CryptorSetKeyIndex { + get { return messageCase_ == MessageOneofCase.CryptorSetKeyIndex ? (global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.CryptorSetKeyIndex; + } + } + + /// Field number for the "set_shared_key" field. + public const int SetSharedKeyFieldNumber = 6; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetSharedKeyRequest SetSharedKey { + get { return messageCase_ == MessageOneofCase.SetSharedKey ? (global::LiveKit.Proto.SetSharedKeyRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetSharedKey; + } + } + + /// Field number for the "ratchet_shared_key" field. + public const int RatchetSharedKeyFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RatchetSharedKeyRequest RatchetSharedKey { + get { return messageCase_ == MessageOneofCase.RatchetSharedKey ? (global::LiveKit.Proto.RatchetSharedKeyRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RatchetSharedKey; + } + } + + /// Field number for the "get_shared_key" field. + public const int GetSharedKeyFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetSharedKeyRequest GetSharedKey { + get { return messageCase_ == MessageOneofCase.GetSharedKey ? (global::LiveKit.Proto.GetSharedKeyRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetSharedKey; + } + } + + /// Field number for the "set_key" field. + public const int SetKeyFieldNumber = 9; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetKeyRequest SetKey { + get { return messageCase_ == MessageOneofCase.SetKey ? (global::LiveKit.Proto.SetKeyRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetKey; + } + } + + /// Field number for the "ratchet_key" field. + public const int RatchetKeyFieldNumber = 10; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RatchetKeyRequest RatchetKey { + get { return messageCase_ == MessageOneofCase.RatchetKey ? (global::LiveKit.Proto.RatchetKeyRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RatchetKey; + } + } + + /// Field number for the "get_key" field. + public const int GetKeyFieldNumber = 11; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetKeyRequest GetKey { + get { return messageCase_ == MessageOneofCase.GetKey ? (global::LiveKit.Proto.GetKeyRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetKey; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + ManagerSetEnabled = 2, + ManagerGetFrameCryptors = 3, + CryptorSetEnabled = 4, + CryptorSetKeyIndex = 5, + SetSharedKey = 6, + RatchetSharedKey = 7, + GetSharedKey = 8, + SetKey = 9, + RatchetKey = 10, + GetKey = 11, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RoomHandle != other.RoomHandle) return false; + if (!object.Equals(ManagerSetEnabled, other.ManagerSetEnabled)) return false; + if (!object.Equals(ManagerGetFrameCryptors, other.ManagerGetFrameCryptors)) return false; + if (!object.Equals(CryptorSetEnabled, other.CryptorSetEnabled)) return false; + if (!object.Equals(CryptorSetKeyIndex, other.CryptorSetKeyIndex)) return false; + if (!object.Equals(SetSharedKey, other.SetSharedKey)) return false; + if (!object.Equals(RatchetSharedKey, other.RatchetSharedKey)) return false; + if (!object.Equals(GetSharedKey, other.GetSharedKey)) return false; + if (!object.Equals(SetKey, other.SetKey)) return false; + if (!object.Equals(RatchetKey, other.RatchetKey)) return false; + if (!object.Equals(GetKey, other.GetKey)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasRoomHandle) hash ^= RoomHandle.GetHashCode(); + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) hash ^= ManagerSetEnabled.GetHashCode(); + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) hash ^= ManagerGetFrameCryptors.GetHashCode(); + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) hash ^= CryptorSetEnabled.GetHashCode(); + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) hash ^= CryptorSetKeyIndex.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetSharedKey) hash ^= SetSharedKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.RatchetSharedKey) hash ^= RatchetSharedKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetSharedKey) hash ^= GetSharedKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetKey) hash ^= SetKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.RatchetKey) hash ^= RatchetKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetKey) hash ^= GetKey.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); + } + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + output.WriteRawTag(18); + output.WriteMessage(ManagerSetEnabled); + } + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + output.WriteRawTag(26); + output.WriteMessage(ManagerGetFrameCryptors); + } + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + output.WriteRawTag(34); + output.WriteMessage(CryptorSetEnabled); + } + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + output.WriteRawTag(42); + output.WriteMessage(CryptorSetKeyIndex); + } + if (messageCase_ == MessageOneofCase.SetSharedKey) { + output.WriteRawTag(50); + output.WriteMessage(SetSharedKey); + } + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + output.WriteRawTag(58); + output.WriteMessage(RatchetSharedKey); + } + if (messageCase_ == MessageOneofCase.GetSharedKey) { + output.WriteRawTag(66); + output.WriteMessage(GetSharedKey); + } + if (messageCase_ == MessageOneofCase.SetKey) { + output.WriteRawTag(74); + output.WriteMessage(SetKey); + } + if (messageCase_ == MessageOneofCase.RatchetKey) { + output.WriteRawTag(82); + output.WriteMessage(RatchetKey); + } + if (messageCase_ == MessageOneofCase.GetKey) { + output.WriteRawTag(90); + output.WriteMessage(GetKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); + } + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + output.WriteRawTag(18); + output.WriteMessage(ManagerSetEnabled); + } + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + output.WriteRawTag(26); + output.WriteMessage(ManagerGetFrameCryptors); + } + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + output.WriteRawTag(34); + output.WriteMessage(CryptorSetEnabled); + } + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + output.WriteRawTag(42); + output.WriteMessage(CryptorSetKeyIndex); + } + if (messageCase_ == MessageOneofCase.SetSharedKey) { + output.WriteRawTag(50); + output.WriteMessage(SetSharedKey); + } + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + output.WriteRawTag(58); + output.WriteMessage(RatchetSharedKey); + } + if (messageCase_ == MessageOneofCase.GetSharedKey) { + output.WriteRawTag(66); + output.WriteMessage(GetSharedKey); + } + if (messageCase_ == MessageOneofCase.SetKey) { + output.WriteRawTag(74); + output.WriteMessage(SetKey); + } + if (messageCase_ == MessageOneofCase.RatchetKey) { + output.WriteRawTag(82); + output.WriteMessage(RatchetKey); + } + if (messageCase_ == MessageOneofCase.GetKey) { + output.WriteRawTag(90); + output.WriteMessage(GetKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasRoomHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoomHandle); + } + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ManagerSetEnabled); + } + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ManagerGetFrameCryptors); + } + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CryptorSetEnabled); + } + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CryptorSetKeyIndex); + } + if (messageCase_ == MessageOneofCase.SetSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetSharedKey); + } + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RatchetSharedKey); + } + if (messageCase_ == MessageOneofCase.GetSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(GetSharedKey); + } + if (messageCase_ == MessageOneofCase.SetKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetKey); + } + if (messageCase_ == MessageOneofCase.RatchetKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RatchetKey); + } + if (messageCase_ == MessageOneofCase.GetKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(GetKey); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeRequest other) { + if (other == null) { + return; + } + if (other.HasRoomHandle) { + RoomHandle = other.RoomHandle; + } + switch (other.MessageCase) { + case MessageOneofCase.ManagerSetEnabled: + if (ManagerSetEnabled == null) { + ManagerSetEnabled = new global::LiveKit.Proto.E2eeManagerSetEnabledRequest(); + } + ManagerSetEnabled.MergeFrom(other.ManagerSetEnabled); + break; + case MessageOneofCase.ManagerGetFrameCryptors: + if (ManagerGetFrameCryptors == null) { + ManagerGetFrameCryptors = new global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest(); + } + ManagerGetFrameCryptors.MergeFrom(other.ManagerGetFrameCryptors); + break; + case MessageOneofCase.CryptorSetEnabled: + if (CryptorSetEnabled == null) { + CryptorSetEnabled = new global::LiveKit.Proto.FrameCryptorSetEnabledRequest(); + } + CryptorSetEnabled.MergeFrom(other.CryptorSetEnabled); + break; + case MessageOneofCase.CryptorSetKeyIndex: + if (CryptorSetKeyIndex == null) { + CryptorSetKeyIndex = new global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest(); + } + CryptorSetKeyIndex.MergeFrom(other.CryptorSetKeyIndex); + break; + case MessageOneofCase.SetSharedKey: + if (SetSharedKey == null) { + SetSharedKey = new global::LiveKit.Proto.SetSharedKeyRequest(); + } + SetSharedKey.MergeFrom(other.SetSharedKey); + break; + case MessageOneofCase.RatchetSharedKey: + if (RatchetSharedKey == null) { + RatchetSharedKey = new global::LiveKit.Proto.RatchetSharedKeyRequest(); + } + RatchetSharedKey.MergeFrom(other.RatchetSharedKey); + break; + case MessageOneofCase.GetSharedKey: + if (GetSharedKey == null) { + GetSharedKey = new global::LiveKit.Proto.GetSharedKeyRequest(); + } + GetSharedKey.MergeFrom(other.GetSharedKey); + break; + case MessageOneofCase.SetKey: + if (SetKey == null) { + SetKey = new global::LiveKit.Proto.SetKeyRequest(); + } + SetKey.MergeFrom(other.SetKey); + break; + case MessageOneofCase.RatchetKey: + if (RatchetKey == null) { + RatchetKey = new global::LiveKit.Proto.RatchetKeyRequest(); + } + RatchetKey.MergeFrom(other.RatchetKey); + break; + case MessageOneofCase.GetKey: + if (GetKey == null) { + GetKey = new global::LiveKit.Proto.GetKeyRequest(); + } + GetKey.MergeFrom(other.GetKey); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RoomHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.E2eeManagerSetEnabledRequest subBuilder = new global::LiveKit.Proto.E2eeManagerSetEnabledRequest(); + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + subBuilder.MergeFrom(ManagerSetEnabled); + } + input.ReadMessage(subBuilder); + ManagerSetEnabled = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest subBuilder = new global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest(); + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + subBuilder.MergeFrom(ManagerGetFrameCryptors); + } + input.ReadMessage(subBuilder); + ManagerGetFrameCryptors = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.FrameCryptorSetEnabledRequest subBuilder = new global::LiveKit.Proto.FrameCryptorSetEnabledRequest(); + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + subBuilder.MergeFrom(CryptorSetEnabled); + } + input.ReadMessage(subBuilder); + CryptorSetEnabled = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest subBuilder = new global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest(); + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + subBuilder.MergeFrom(CryptorSetKeyIndex); + } + input.ReadMessage(subBuilder); + CryptorSetKeyIndex = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.SetSharedKeyRequest subBuilder = new global::LiveKit.Proto.SetSharedKeyRequest(); + if (messageCase_ == MessageOneofCase.SetSharedKey) { + subBuilder.MergeFrom(SetSharedKey); + } + input.ReadMessage(subBuilder); + SetSharedKey = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.RatchetSharedKeyRequest subBuilder = new global::LiveKit.Proto.RatchetSharedKeyRequest(); + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + subBuilder.MergeFrom(RatchetSharedKey); + } + input.ReadMessage(subBuilder); + RatchetSharedKey = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.GetSharedKeyRequest subBuilder = new global::LiveKit.Proto.GetSharedKeyRequest(); + if (messageCase_ == MessageOneofCase.GetSharedKey) { + subBuilder.MergeFrom(GetSharedKey); + } + input.ReadMessage(subBuilder); + GetSharedKey = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.SetKeyRequest subBuilder = new global::LiveKit.Proto.SetKeyRequest(); + if (messageCase_ == MessageOneofCase.SetKey) { + subBuilder.MergeFrom(SetKey); + } + input.ReadMessage(subBuilder); + SetKey = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.RatchetKeyRequest subBuilder = new global::LiveKit.Proto.RatchetKeyRequest(); + if (messageCase_ == MessageOneofCase.RatchetKey) { + subBuilder.MergeFrom(RatchetKey); + } + input.ReadMessage(subBuilder); + RatchetKey = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.GetKeyRequest subBuilder = new global::LiveKit.Proto.GetKeyRequest(); + if (messageCase_ == MessageOneofCase.GetKey) { + subBuilder.MergeFrom(GetKey); + } + input.ReadMessage(subBuilder); + GetKey = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RoomHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.E2eeManagerSetEnabledRequest subBuilder = new global::LiveKit.Proto.E2eeManagerSetEnabledRequest(); + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + subBuilder.MergeFrom(ManagerSetEnabled); + } + input.ReadMessage(subBuilder); + ManagerSetEnabled = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest subBuilder = new global::LiveKit.Proto.E2eeManagerGetFrameCryptorsRequest(); + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + subBuilder.MergeFrom(ManagerGetFrameCryptors); + } + input.ReadMessage(subBuilder); + ManagerGetFrameCryptors = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.FrameCryptorSetEnabledRequest subBuilder = new global::LiveKit.Proto.FrameCryptorSetEnabledRequest(); + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + subBuilder.MergeFrom(CryptorSetEnabled); + } + input.ReadMessage(subBuilder); + CryptorSetEnabled = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest subBuilder = new global::LiveKit.Proto.FrameCryptorSetKeyIndexRequest(); + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + subBuilder.MergeFrom(CryptorSetKeyIndex); + } + input.ReadMessage(subBuilder); + CryptorSetKeyIndex = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.SetSharedKeyRequest subBuilder = new global::LiveKit.Proto.SetSharedKeyRequest(); + if (messageCase_ == MessageOneofCase.SetSharedKey) { + subBuilder.MergeFrom(SetSharedKey); + } + input.ReadMessage(subBuilder); + SetSharedKey = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.RatchetSharedKeyRequest subBuilder = new global::LiveKit.Proto.RatchetSharedKeyRequest(); + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + subBuilder.MergeFrom(RatchetSharedKey); + } + input.ReadMessage(subBuilder); + RatchetSharedKey = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.GetSharedKeyRequest subBuilder = new global::LiveKit.Proto.GetSharedKeyRequest(); + if (messageCase_ == MessageOneofCase.GetSharedKey) { + subBuilder.MergeFrom(GetSharedKey); + } + input.ReadMessage(subBuilder); + GetSharedKey = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.SetKeyRequest subBuilder = new global::LiveKit.Proto.SetKeyRequest(); + if (messageCase_ == MessageOneofCase.SetKey) { + subBuilder.MergeFrom(SetKey); + } + input.ReadMessage(subBuilder); + SetKey = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.RatchetKeyRequest subBuilder = new global::LiveKit.Proto.RatchetKeyRequest(); + if (messageCase_ == MessageOneofCase.RatchetKey) { + subBuilder.MergeFrom(RatchetKey); + } + input.ReadMessage(subBuilder); + RatchetKey = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.GetKeyRequest subBuilder = new global::LiveKit.Proto.GetKeyRequest(); + if (messageCase_ == MessageOneofCase.GetKey) { + subBuilder.MergeFrom(GetKey); + } + input.ReadMessage(subBuilder); + GetKey = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.E2EeReflection.Descriptor.MessageTypes[24]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeResponse(E2eeResponse other) : this() { + switch (other.MessageCase) { + case MessageOneofCase.ManagerSetEnabled: + ManagerSetEnabled = other.ManagerSetEnabled.Clone(); + break; + case MessageOneofCase.ManagerGetFrameCryptors: + ManagerGetFrameCryptors = other.ManagerGetFrameCryptors.Clone(); + break; + case MessageOneofCase.CryptorSetEnabled: + CryptorSetEnabled = other.CryptorSetEnabled.Clone(); + break; + case MessageOneofCase.CryptorSetKeyIndex: + CryptorSetKeyIndex = other.CryptorSetKeyIndex.Clone(); + break; + case MessageOneofCase.SetSharedKey: + SetSharedKey = other.SetSharedKey.Clone(); + break; + case MessageOneofCase.RatchetSharedKey: + RatchetSharedKey = other.RatchetSharedKey.Clone(); + break; + case MessageOneofCase.GetSharedKey: + GetSharedKey = other.GetSharedKey.Clone(); + break; + case MessageOneofCase.SetKey: + SetKey = other.SetKey.Clone(); + break; + case MessageOneofCase.RatchetKey: + RatchetKey = other.RatchetKey.Clone(); + break; + case MessageOneofCase.GetKey: + GetKey = other.GetKey.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeResponse Clone() { + return new E2eeResponse(this); + } + + /// Field number for the "manager_set_enabled" field. + public const int ManagerSetEnabledFieldNumber = 1; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.E2eeManagerSetEnabledResponse ManagerSetEnabled { + get { return messageCase_ == MessageOneofCase.ManagerSetEnabled ? (global::LiveKit.Proto.E2eeManagerSetEnabledResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ManagerSetEnabled; + } + } + + /// Field number for the "manager_get_frame_cryptors" field. + public const int ManagerGetFrameCryptorsFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse ManagerGetFrameCryptors { + get { return messageCase_ == MessageOneofCase.ManagerGetFrameCryptors ? (global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ManagerGetFrameCryptors; + } + } + + /// Field number for the "cryptor_set_enabled" field. + public const int CryptorSetEnabledFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FrameCryptorSetEnabledResponse CryptorSetEnabled { + get { return messageCase_ == MessageOneofCase.CryptorSetEnabled ? (global::LiveKit.Proto.FrameCryptorSetEnabledResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.CryptorSetEnabled; + } + } + + /// Field number for the "cryptor_set_key_index" field. + public const int CryptorSetKeyIndexFieldNumber = 4; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse CryptorSetKeyIndex { + get { return messageCase_ == MessageOneofCase.CryptorSetKeyIndex ? (global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.CryptorSetKeyIndex; + } + } + + /// Field number for the "set_shared_key" field. + public const int SetSharedKeyFieldNumber = 5; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetSharedKeyResponse SetSharedKey { + get { return messageCase_ == MessageOneofCase.SetSharedKey ? (global::LiveKit.Proto.SetSharedKeyResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetSharedKey; + } + } + + /// Field number for the "ratchet_shared_key" field. + public const int RatchetSharedKeyFieldNumber = 6; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RatchetSharedKeyResponse RatchetSharedKey { + get { return messageCase_ == MessageOneofCase.RatchetSharedKey ? (global::LiveKit.Proto.RatchetSharedKeyResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RatchetSharedKey; + } + } + + /// Field number for the "get_shared_key" field. + public const int GetSharedKeyFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetSharedKeyResponse GetSharedKey { + get { return messageCase_ == MessageOneofCase.GetSharedKey ? (global::LiveKit.Proto.GetSharedKeyResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetSharedKey; + } + } + + /// Field number for the "set_key" field. + public const int SetKeyFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetKeyResponse SetKey { + get { return messageCase_ == MessageOneofCase.SetKey ? (global::LiveKit.Proto.SetKeyResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetKey; + } + } + + /// Field number for the "ratchet_key" field. + public const int RatchetKeyFieldNumber = 9; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RatchetKeyResponse RatchetKey { + get { return messageCase_ == MessageOneofCase.RatchetKey ? (global::LiveKit.Proto.RatchetKeyResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RatchetKey; + } + } + + /// Field number for the "get_key" field. + public const int GetKeyFieldNumber = 10; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetKeyResponse GetKey { + get { return messageCase_ == MessageOneofCase.GetKey ? (global::LiveKit.Proto.GetKeyResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetKey; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + ManagerSetEnabled = 1, + ManagerGetFrameCryptors = 2, + CryptorSetEnabled = 3, + CryptorSetKeyIndex = 4, + SetSharedKey = 5, + RatchetSharedKey = 6, + GetSharedKey = 7, + SetKey = 8, + RatchetKey = 9, + GetKey = 10, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(ManagerSetEnabled, other.ManagerSetEnabled)) return false; + if (!object.Equals(ManagerGetFrameCryptors, other.ManagerGetFrameCryptors)) return false; + if (!object.Equals(CryptorSetEnabled, other.CryptorSetEnabled)) return false; + if (!object.Equals(CryptorSetKeyIndex, other.CryptorSetKeyIndex)) return false; + if (!object.Equals(SetSharedKey, other.SetSharedKey)) return false; + if (!object.Equals(RatchetSharedKey, other.RatchetSharedKey)) return false; + if (!object.Equals(GetSharedKey, other.GetSharedKey)) return false; + if (!object.Equals(SetKey, other.SetKey)) return false; + if (!object.Equals(RatchetKey, other.RatchetKey)) return false; + if (!object.Equals(GetKey, other.GetKey)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) hash ^= ManagerSetEnabled.GetHashCode(); + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) hash ^= ManagerGetFrameCryptors.GetHashCode(); + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) hash ^= CryptorSetEnabled.GetHashCode(); + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) hash ^= CryptorSetKeyIndex.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetSharedKey) hash ^= SetSharedKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.RatchetSharedKey) hash ^= RatchetSharedKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetSharedKey) hash ^= GetSharedKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetKey) hash ^= SetKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.RatchetKey) hash ^= RatchetKey.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetKey) hash ^= GetKey.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + output.WriteRawTag(10); + output.WriteMessage(ManagerSetEnabled); + } + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + output.WriteRawTag(18); + output.WriteMessage(ManagerGetFrameCryptors); + } + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + output.WriteRawTag(26); + output.WriteMessage(CryptorSetEnabled); + } + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + output.WriteRawTag(34); + output.WriteMessage(CryptorSetKeyIndex); + } + if (messageCase_ == MessageOneofCase.SetSharedKey) { + output.WriteRawTag(42); + output.WriteMessage(SetSharedKey); + } + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + output.WriteRawTag(50); + output.WriteMessage(RatchetSharedKey); + } + if (messageCase_ == MessageOneofCase.GetSharedKey) { + output.WriteRawTag(58); + output.WriteMessage(GetSharedKey); + } + if (messageCase_ == MessageOneofCase.SetKey) { + output.WriteRawTag(66); + output.WriteMessage(SetKey); + } + if (messageCase_ == MessageOneofCase.RatchetKey) { + output.WriteRawTag(74); + output.WriteMessage(RatchetKey); + } + if (messageCase_ == MessageOneofCase.GetKey) { + output.WriteRawTag(82); + output.WriteMessage(GetKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + output.WriteRawTag(10); + output.WriteMessage(ManagerSetEnabled); + } + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + output.WriteRawTag(18); + output.WriteMessage(ManagerGetFrameCryptors); + } + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + output.WriteRawTag(26); + output.WriteMessage(CryptorSetEnabled); + } + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + output.WriteRawTag(34); + output.WriteMessage(CryptorSetKeyIndex); + } + if (messageCase_ == MessageOneofCase.SetSharedKey) { + output.WriteRawTag(42); + output.WriteMessage(SetSharedKey); + } + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + output.WriteRawTag(50); + output.WriteMessage(RatchetSharedKey); + } + if (messageCase_ == MessageOneofCase.GetSharedKey) { + output.WriteRawTag(58); + output.WriteMessage(GetSharedKey); + } + if (messageCase_ == MessageOneofCase.SetKey) { + output.WriteRawTag(66); + output.WriteMessage(SetKey); + } + if (messageCase_ == MessageOneofCase.RatchetKey) { + output.WriteRawTag(74); + output.WriteMessage(RatchetKey); + } + if (messageCase_ == MessageOneofCase.GetKey) { + output.WriteRawTag(82); + output.WriteMessage(GetKey); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ManagerSetEnabled); + } + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ManagerGetFrameCryptors); + } + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CryptorSetEnabled); + } + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CryptorSetKeyIndex); + } + if (messageCase_ == MessageOneofCase.SetSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetSharedKey); + } + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RatchetSharedKey); + } + if (messageCase_ == MessageOneofCase.GetSharedKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(GetSharedKey); + } + if (messageCase_ == MessageOneofCase.SetKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetKey); + } + if (messageCase_ == MessageOneofCase.RatchetKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RatchetKey); + } + if (messageCase_ == MessageOneofCase.GetKey) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(GetKey); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeResponse other) { + if (other == null) { + return; + } + switch (other.MessageCase) { + case MessageOneofCase.ManagerSetEnabled: + if (ManagerSetEnabled == null) { + ManagerSetEnabled = new global::LiveKit.Proto.E2eeManagerSetEnabledResponse(); + } + ManagerSetEnabled.MergeFrom(other.ManagerSetEnabled); + break; + case MessageOneofCase.ManagerGetFrameCryptors: + if (ManagerGetFrameCryptors == null) { + ManagerGetFrameCryptors = new global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse(); + } + ManagerGetFrameCryptors.MergeFrom(other.ManagerGetFrameCryptors); + break; + case MessageOneofCase.CryptorSetEnabled: + if (CryptorSetEnabled == null) { + CryptorSetEnabled = new global::LiveKit.Proto.FrameCryptorSetEnabledResponse(); + } + CryptorSetEnabled.MergeFrom(other.CryptorSetEnabled); + break; + case MessageOneofCase.CryptorSetKeyIndex: + if (CryptorSetKeyIndex == null) { + CryptorSetKeyIndex = new global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse(); + } + CryptorSetKeyIndex.MergeFrom(other.CryptorSetKeyIndex); + break; + case MessageOneofCase.SetSharedKey: + if (SetSharedKey == null) { + SetSharedKey = new global::LiveKit.Proto.SetSharedKeyResponse(); + } + SetSharedKey.MergeFrom(other.SetSharedKey); + break; + case MessageOneofCase.RatchetSharedKey: + if (RatchetSharedKey == null) { + RatchetSharedKey = new global::LiveKit.Proto.RatchetSharedKeyResponse(); + } + RatchetSharedKey.MergeFrom(other.RatchetSharedKey); + break; + case MessageOneofCase.GetSharedKey: + if (GetSharedKey == null) { + GetSharedKey = new global::LiveKit.Proto.GetSharedKeyResponse(); + } + GetSharedKey.MergeFrom(other.GetSharedKey); + break; + case MessageOneofCase.SetKey: + if (SetKey == null) { + SetKey = new global::LiveKit.Proto.SetKeyResponse(); + } + SetKey.MergeFrom(other.SetKey); + break; + case MessageOneofCase.RatchetKey: + if (RatchetKey == null) { + RatchetKey = new global::LiveKit.Proto.RatchetKeyResponse(); + } + RatchetKey.MergeFrom(other.RatchetKey); + break; + case MessageOneofCase.GetKey: + if (GetKey == null) { + GetKey = new global::LiveKit.Proto.GetKeyResponse(); + } + GetKey.MergeFrom(other.GetKey); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + global::LiveKit.Proto.E2eeManagerSetEnabledResponse subBuilder = new global::LiveKit.Proto.E2eeManagerSetEnabledResponse(); + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + subBuilder.MergeFrom(ManagerSetEnabled); + } + input.ReadMessage(subBuilder); + ManagerSetEnabled = subBuilder; + break; + } + case 18: { + global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse subBuilder = new global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse(); + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + subBuilder.MergeFrom(ManagerGetFrameCryptors); + } + input.ReadMessage(subBuilder); + ManagerGetFrameCryptors = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.FrameCryptorSetEnabledResponse subBuilder = new global::LiveKit.Proto.FrameCryptorSetEnabledResponse(); + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + subBuilder.MergeFrom(CryptorSetEnabled); + } + input.ReadMessage(subBuilder); + CryptorSetEnabled = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse subBuilder = new global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse(); + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + subBuilder.MergeFrom(CryptorSetKeyIndex); + } + input.ReadMessage(subBuilder); + CryptorSetKeyIndex = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.SetSharedKeyResponse subBuilder = new global::LiveKit.Proto.SetSharedKeyResponse(); + if (messageCase_ == MessageOneofCase.SetSharedKey) { + subBuilder.MergeFrom(SetSharedKey); + } + input.ReadMessage(subBuilder); + SetSharedKey = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.RatchetSharedKeyResponse subBuilder = new global::LiveKit.Proto.RatchetSharedKeyResponse(); + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + subBuilder.MergeFrom(RatchetSharedKey); + } + input.ReadMessage(subBuilder); + RatchetSharedKey = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.GetSharedKeyResponse subBuilder = new global::LiveKit.Proto.GetSharedKeyResponse(); + if (messageCase_ == MessageOneofCase.GetSharedKey) { + subBuilder.MergeFrom(GetSharedKey); + } + input.ReadMessage(subBuilder); + GetSharedKey = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.SetKeyResponse subBuilder = new global::LiveKit.Proto.SetKeyResponse(); + if (messageCase_ == MessageOneofCase.SetKey) { + subBuilder.MergeFrom(SetKey); + } + input.ReadMessage(subBuilder); + SetKey = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.RatchetKeyResponse subBuilder = new global::LiveKit.Proto.RatchetKeyResponse(); + if (messageCase_ == MessageOneofCase.RatchetKey) { + subBuilder.MergeFrom(RatchetKey); + } + input.ReadMessage(subBuilder); + RatchetKey = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.GetKeyResponse subBuilder = new global::LiveKit.Proto.GetKeyResponse(); + if (messageCase_ == MessageOneofCase.GetKey) { + subBuilder.MergeFrom(GetKey); + } + input.ReadMessage(subBuilder); + GetKey = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + global::LiveKit.Proto.E2eeManagerSetEnabledResponse subBuilder = new global::LiveKit.Proto.E2eeManagerSetEnabledResponse(); + if (messageCase_ == MessageOneofCase.ManagerSetEnabled) { + subBuilder.MergeFrom(ManagerSetEnabled); + } + input.ReadMessage(subBuilder); + ManagerSetEnabled = subBuilder; + break; + } + case 18: { + global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse subBuilder = new global::LiveKit.Proto.E2eeManagerGetFrameCryptorsResponse(); + if (messageCase_ == MessageOneofCase.ManagerGetFrameCryptors) { + subBuilder.MergeFrom(ManagerGetFrameCryptors); + } + input.ReadMessage(subBuilder); + ManagerGetFrameCryptors = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.FrameCryptorSetEnabledResponse subBuilder = new global::LiveKit.Proto.FrameCryptorSetEnabledResponse(); + if (messageCase_ == MessageOneofCase.CryptorSetEnabled) { + subBuilder.MergeFrom(CryptorSetEnabled); + } + input.ReadMessage(subBuilder); + CryptorSetEnabled = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse subBuilder = new global::LiveKit.Proto.FrameCryptorSetKeyIndexResponse(); + if (messageCase_ == MessageOneofCase.CryptorSetKeyIndex) { + subBuilder.MergeFrom(CryptorSetKeyIndex); + } + input.ReadMessage(subBuilder); + CryptorSetKeyIndex = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.SetSharedKeyResponse subBuilder = new global::LiveKit.Proto.SetSharedKeyResponse(); + if (messageCase_ == MessageOneofCase.SetSharedKey) { + subBuilder.MergeFrom(SetSharedKey); + } + input.ReadMessage(subBuilder); + SetSharedKey = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.RatchetSharedKeyResponse subBuilder = new global::LiveKit.Proto.RatchetSharedKeyResponse(); + if (messageCase_ == MessageOneofCase.RatchetSharedKey) { + subBuilder.MergeFrom(RatchetSharedKey); + } + input.ReadMessage(subBuilder); + RatchetSharedKey = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.GetSharedKeyResponse subBuilder = new global::LiveKit.Proto.GetSharedKeyResponse(); + if (messageCase_ == MessageOneofCase.GetSharedKey) { + subBuilder.MergeFrom(GetSharedKey); + } + input.ReadMessage(subBuilder); + GetSharedKey = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.SetKeyResponse subBuilder = new global::LiveKit.Proto.SetKeyResponse(); + if (messageCase_ == MessageOneofCase.SetKey) { + subBuilder.MergeFrom(SetKey); + } + input.ReadMessage(subBuilder); + SetKey = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.RatchetKeyResponse subBuilder = new global::LiveKit.Proto.RatchetKeyResponse(); + if (messageCase_ == MessageOneofCase.RatchetKey) { + subBuilder.MergeFrom(RatchetKey); + } + input.ReadMessage(subBuilder); + RatchetKey = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.GetKeyResponse subBuilder = new global::LiveKit.Proto.GetKeyResponse(); + if (messageCase_ == MessageOneofCase.GetKey) { + subBuilder.MergeFrom(GetKey); + } + input.ReadMessage(subBuilder); + GetKey = subBuilder; + break; + } + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Runtime/Scripts/Proto/E2Ee.cs.meta b/Runtime/Scripts/Proto/E2Ee.cs.meta new file mode 100644 index 00000000..a51e3fc6 --- /dev/null +++ b/Runtime/Scripts/Proto/E2Ee.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3cc694437be331a439e6a932ab0c7025 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Proto/Ffi.cs b/Runtime/Scripts/Proto/Ffi.cs index 766673d5..34d80549 100644 --- a/Runtime/Scripts/Proto/Ffi.cs +++ b/Runtime/Scripts/Proto/Ffi.cs @@ -24,108 +24,330 @@ public static partial class FfiReflection { static FfiReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "CglmZmkucHJvdG8SB2xpdmVraXQaDGhhbmRsZS5wcm90bxoLdHJhY2sucHJv", - "dG8aCnJvb20ucHJvdG8aEXBhcnRpY2lwYW50LnByb3RvGhF2aWRlb19mcmFt", - "ZS5wcm90bxoRYXVkaW9fZnJhbWUucHJvdG8ikQkKCkZGSVJlcXVlc3QSMAoK", - "aW5pdGlhbGl6ZRgBIAEoCzIaLmxpdmVraXQuSW5pdGlhbGl6ZVJlcXVlc3RI", - "ABIqCgdkaXNwb3NlGAIgASgLMhcubGl2ZWtpdC5EaXNwb3NlUmVxdWVzdEgA", - "EioKB2Nvbm5lY3QYAyABKAsyFy5saXZla2l0LkNvbm5lY3RSZXF1ZXN0SAAS", - "MAoKZGlzY29ubmVjdBgEIAEoCzIaLmxpdmVraXQuRGlzY29ubmVjdFJlcXVl", - "c3RIABI1Cg1wdWJsaXNoX3RyYWNrGAUgASgLMhwubGl2ZWtpdC5QdWJsaXNo", - "VHJhY2tSZXF1ZXN0SAASOQoPdW5wdWJsaXNoX3RyYWNrGAYgASgLMh4ubGl2", - "ZWtpdC5VbnB1Ymxpc2hUcmFja1JlcXVlc3RIABI+ChJjcmVhdGVfdmlkZW9f", - "dHJhY2sYByABKAsyIC5saXZla2l0LkNyZWF0ZVZpZGVvVHJhY2tSZXF1ZXN0", - "SAASPgoSY3JlYXRlX2F1ZGlvX3RyYWNrGAggASgLMiAubGl2ZWtpdC5DcmVh", - "dGVBdWRpb1RyYWNrUmVxdWVzdEgAEj4KEmFsbG9jX3ZpZGVvX2J1ZmZlchgJ", - "IAEoCzIgLmxpdmVraXQuQWxsb2NWaWRlb0J1ZmZlclJlcXVlc3RIABI6ChBu", - "ZXdfdmlkZW9fc3RyZWFtGAogASgLMh4ubGl2ZWtpdC5OZXdWaWRlb1N0cmVh", - "bVJlcXVlc3RIABI6ChBuZXdfdmlkZW9fc291cmNlGAsgASgLMh4ubGl2ZWtp", - "dC5OZXdWaWRlb1NvdXJjZVJlcXVlc3RIABJAChNjYXB0dXJlX3ZpZGVvX2Zy", - "YW1lGAwgASgLMiEubGl2ZWtpdC5DYXB0dXJlVmlkZW9GcmFtZVJlcXVlc3RI", - "ABIpCgd0b19pNDIwGA0gASgLMhYubGl2ZWtpdC5Ub0k0MjBSZXF1ZXN0SAAS", - "KQoHdG9fYXJnYhgOIAEoCzIWLmxpdmVraXQuVG9BUkdCUmVxdWVzdEgAEj4K", - "EmFsbG9jX2F1ZGlvX2J1ZmZlchgPIAEoCzIgLmxpdmVraXQuQWxsb2NBdWRp", - "b0J1ZmZlclJlcXVlc3RIABI6ChBuZXdfYXVkaW9fc3RyZWFtGBAgASgLMh4u", - "bGl2ZWtpdC5OZXdBdWRpb1N0cmVhbVJlcXVlc3RIABI6ChBuZXdfYXVkaW9f", - "c291cmNlGBEgASgLMh4ubGl2ZWtpdC5OZXdBdWRpb1NvdXJjZVJlcXVlc3RI", - "ABJAChNjYXB0dXJlX2F1ZGlvX2ZyYW1lGBIgASgLMiEubGl2ZWtpdC5DYXB0", - "dXJlQXVkaW9GcmFtZVJlcXVlc3RIABJAChNuZXdfYXVkaW9fcmVzYW1wbGVy", - "GBMgASgLMiEubGl2ZWtpdC5OZXdBdWRpb1Jlc2FtcGxlclJlcXVlc3RIABI+", - "ChJyZW1peF9hbmRfcmVzYW1wbGUYFCABKAsyIC5saXZla2l0LlJlbWl4QW5k", - "UmVzYW1wbGVSZXF1ZXN0SABCCQoHbWVzc2FnZSKmCQoLRkZJUmVzcG9uc2US", - "MQoKaW5pdGlhbGl6ZRgBIAEoCzIbLmxpdmVraXQuSW5pdGlhbGl6ZVJlc3Bv", - "bnNlSAASKwoHZGlzcG9zZRgCIAEoCzIYLmxpdmVraXQuRGlzcG9zZVJlc3Bv", - "bnNlSAASKwoHY29ubmVjdBgDIAEoCzIYLmxpdmVraXQuQ29ubmVjdFJlc3Bv", - "bnNlSAASMQoKZGlzY29ubmVjdBgEIAEoCzIbLmxpdmVraXQuRGlzY29ubmVj", - "dFJlc3BvbnNlSAASNgoNcHVibGlzaF90cmFjaxgFIAEoCzIdLmxpdmVraXQu", - "UHVibGlzaFRyYWNrUmVzcG9uc2VIABI6Cg91bnB1Ymxpc2hfdHJhY2sYBiAB", - "KAsyHy5saXZla2l0LlVucHVibGlzaFRyYWNrUmVzcG9uc2VIABI/ChJjcmVh", - "dGVfdmlkZW9fdHJhY2sYByABKAsyIS5saXZla2l0LkNyZWF0ZVZpZGVvVHJh", - "Y2tSZXNwb25zZUgAEj8KEmNyZWF0ZV9hdWRpb190cmFjaxgIIAEoCzIhLmxp", - "dmVraXQuQ3JlYXRlQXVkaW9UcmFja1Jlc3BvbnNlSAASPwoSYWxsb2Nfdmlk", - "ZW9fYnVmZmVyGAkgASgLMiEubGl2ZWtpdC5BbGxvY1ZpZGVvQnVmZmVyUmVz", - "cG9uc2VIABI7ChBuZXdfdmlkZW9fc3RyZWFtGAogASgLMh8ubGl2ZWtpdC5O", - "ZXdWaWRlb1N0cmVhbVJlc3BvbnNlSAASOwoQbmV3X3ZpZGVvX3NvdXJjZRgL", - "IAEoCzIfLmxpdmVraXQuTmV3VmlkZW9Tb3VyY2VSZXNwb25zZUgAEkEKE2Nh", - "cHR1cmVfdmlkZW9fZnJhbWUYDCABKAsyIi5saXZla2l0LkNhcHR1cmVWaWRl", - "b0ZyYW1lUmVzcG9uc2VIABIqCgd0b19pNDIwGA0gASgLMhcubGl2ZWtpdC5U", - "b0k0MjBSZXNwb25zZUgAEioKB3RvX2FyZ2IYDiABKAsyFy5saXZla2l0LlRv", - "QVJHQlJlc3BvbnNlSAASPwoSYWxsb2NfYXVkaW9fYnVmZmVyGA8gASgLMiEu", - "bGl2ZWtpdC5BbGxvY0F1ZGlvQnVmZmVyUmVzcG9uc2VIABI7ChBuZXdfYXVk", - "aW9fc3RyZWFtGBAgASgLMh8ubGl2ZWtpdC5OZXdBdWRpb1N0cmVhbVJlc3Bv", - "bnNlSAASOwoQbmV3X2F1ZGlvX3NvdXJjZRgRIAEoCzIfLmxpdmVraXQuTmV3", - "QXVkaW9Tb3VyY2VSZXNwb25zZUgAEkEKE2NhcHR1cmVfYXVkaW9fZnJhbWUY", - "EiABKAsyIi5saXZla2l0LkNhcHR1cmVBdWRpb0ZyYW1lUmVzcG9uc2VIABJB", - "ChNuZXdfYXVkaW9fcmVzYW1wbGVyGBMgASgLMiIubGl2ZWtpdC5OZXdBdWRp", - "b1Jlc2FtcGxlclJlc3BvbnNlSAASPwoScmVtaXhfYW5kX3Jlc2FtcGxlGBQg", - "ASgLMiEubGl2ZWtpdC5SZW1peEFuZFJlc2FtcGxlUmVzcG9uc2VIAEIJCgdt", - "ZXNzYWdlIqcDCghGRklFdmVudBIoCgpyb29tX2V2ZW50GAEgASgLMhIubGl2", - "ZWtpdC5Sb29tRXZlbnRIABIqCgt0cmFja19ldmVudBgCIAEoCzITLmxpdmVr", - "aXQuVHJhY2tFdmVudEgAEjYKEXBhcnRpY2lwYW50X2V2ZW50GAMgASgLMhku", - "bGl2ZWtpdC5QYXJ0aWNpcGFudEV2ZW50SAASNwoSdmlkZW9fc3RyZWFtX2V2", - "ZW50GAQgASgLMhkubGl2ZWtpdC5WaWRlb1N0cmVhbUV2ZW50SAASNwoSYXVk", - "aW9fc3RyZWFtX2V2ZW50GAUgASgLMhkubGl2ZWtpdC5BdWRpb1N0cmVhbUV2", - "ZW50SAASKwoHY29ubmVjdBgGIAEoCzIYLmxpdmVraXQuQ29ubmVjdENhbGxi", - "YWNrSAASKwoHZGlzcG9zZRgHIAEoCzIYLmxpdmVraXQuRGlzcG9zZUNhbGxi", - "YWNrSAASNgoNcHVibGlzaF90cmFjaxgIIAEoCzIdLmxpdmVraXQuUHVibGlz", - "aFRyYWNrQ2FsbGJhY2tIAEIJCgdtZXNzYWdlIi8KEUluaXRpYWxpemVSZXF1", - "ZXN0EhoKEmV2ZW50X2NhbGxiYWNrX3B0chgBIAEoBCIUChJJbml0aWFsaXpl", - "UmVzcG9uc2UiHwoORGlzcG9zZVJlcXVlc3QSDQoFYXN5bmMYASABKAgiSgoP", - "RGlzcG9zZVJlc3BvbnNlEioKCGFzeW5jX2lkGAEgASgLMhMubGl2ZWtpdC5G", - "RklBc3luY0lkSACIAQFCCwoJX2FzeW5jX2lkIjgKD0Rpc3Bvc2VDYWxsYmFj", - "axIlCghhc3luY19pZBgBIAEoCzITLmxpdmVraXQuRkZJQXN5bmNJZEIQqgIN", - "TGl2ZUtpdC5Qcm90b2IGcHJvdG8z")); + "CglmZmkucHJvdG8SDWxpdmVraXQucHJvdG8aCmUyZWUucHJvdG8aC3RyYWNr", + "LnByb3RvGhd0cmFja19wdWJsaWNhdGlvbi5wcm90bxoKcm9vbS5wcm90bxoR", + "dmlkZW9fZnJhbWUucHJvdG8aEWF1ZGlvX2ZyYW1lLnByb3RvGglycGMucHJv", + "dG8aEWRhdGFfc3RyZWFtLnByb3RvIsEkCgpGZmlSZXF1ZXN0EjAKB2Rpc3Bv", + "c2UYAiABKAsyHS5saXZla2l0LnByb3RvLkRpc3Bvc2VSZXF1ZXN0SAASMAoH", + "Y29ubmVjdBgDIAEoCzIdLmxpdmVraXQucHJvdG8uQ29ubmVjdFJlcXVlc3RI", + "ABI2CgpkaXNjb25uZWN0GAQgASgLMiAubGl2ZWtpdC5wcm90by5EaXNjb25u", + "ZWN0UmVxdWVzdEgAEjsKDXB1Ymxpc2hfdHJhY2sYBSABKAsyIi5saXZla2l0", + "LnByb3RvLlB1Ymxpc2hUcmFja1JlcXVlc3RIABI/Cg91bnB1Ymxpc2hfdHJh", + "Y2sYBiABKAsyJC5saXZla2l0LnByb3RvLlVucHVibGlzaFRyYWNrUmVxdWVz", + "dEgAEjkKDHB1Ymxpc2hfZGF0YRgHIAEoCzIhLmxpdmVraXQucHJvdG8uUHVi", + "bGlzaERhdGFSZXF1ZXN0SAASPQoOc2V0X3N1YnNjcmliZWQYCCABKAsyIy5s", + "aXZla2l0LnByb3RvLlNldFN1YnNjcmliZWRSZXF1ZXN0SAASRAoSc2V0X2xv", + "Y2FsX21ldGFkYXRhGAkgASgLMiYubGl2ZWtpdC5wcm90by5TZXRMb2NhbE1l", + "dGFkYXRhUmVxdWVzdEgAEjwKDnNldF9sb2NhbF9uYW1lGAogASgLMiIubGl2", + "ZWtpdC5wcm90by5TZXRMb2NhbE5hbWVSZXF1ZXN0SAASSAoUc2V0X2xvY2Fs", + "X2F0dHJpYnV0ZXMYCyABKAsyKC5saXZla2l0LnByb3RvLlNldExvY2FsQXR0", + "cmlidXRlc1JlcXVlc3RIABJCChFnZXRfc2Vzc2lvbl9zdGF0cxgMIAEoCzIl", + "LmxpdmVraXQucHJvdG8uR2V0U2Vzc2lvblN0YXRzUmVxdWVzdEgAEksKFXB1", + "Ymxpc2hfdHJhbnNjcmlwdGlvbhgNIAEoCzIqLmxpdmVraXQucHJvdG8uUHVi", + "bGlzaFRyYW5zY3JpcHRpb25SZXF1ZXN0SAASQAoQcHVibGlzaF9zaXBfZHRt", + "ZhgOIAEoCzIkLmxpdmVraXQucHJvdG8uUHVibGlzaFNpcER0bWZSZXF1ZXN0", + "SAASRAoSY3JlYXRlX3ZpZGVvX3RyYWNrGA8gASgLMiYubGl2ZWtpdC5wcm90", + "by5DcmVhdGVWaWRlb1RyYWNrUmVxdWVzdEgAEkQKEmNyZWF0ZV9hdWRpb190", + "cmFjaxgQIAEoCzImLmxpdmVraXQucHJvdG8uQ3JlYXRlQXVkaW9UcmFja1Jl", + "cXVlc3RIABJAChBsb2NhbF90cmFja19tdXRlGBEgASgLMiQubGl2ZWtpdC5w", + "cm90by5Mb2NhbFRyYWNrTXV0ZVJlcXVlc3RIABJGChNlbmFibGVfcmVtb3Rl", + "X3RyYWNrGBIgASgLMicubGl2ZWtpdC5wcm90by5FbmFibGVSZW1vdGVUcmFj", + "a1JlcXVlc3RIABIzCglnZXRfc3RhdHMYEyABKAsyHi5saXZla2l0LnByb3Rv", + "LkdldFN0YXRzUmVxdWVzdEgAEmMKInNldF90cmFja19zdWJzY3JpcHRpb25f", + "cGVybWlzc2lvbnMYMCABKAsyNS5saXZla2l0LnByb3RvLlNldFRyYWNrU3Vi", + "c2NyaXB0aW9uUGVybWlzc2lvbnNSZXF1ZXN0SAASQAoQbmV3X3ZpZGVvX3N0", + "cmVhbRgUIAEoCzIkLmxpdmVraXQucHJvdG8uTmV3VmlkZW9TdHJlYW1SZXF1", + "ZXN0SAASQAoQbmV3X3ZpZGVvX3NvdXJjZRgVIAEoCzIkLmxpdmVraXQucHJv", + "dG8uTmV3VmlkZW9Tb3VyY2VSZXF1ZXN0SAASRgoTY2FwdHVyZV92aWRlb19m", + "cmFtZRgWIAEoCzInLmxpdmVraXQucHJvdG8uQ2FwdHVyZVZpZGVvRnJhbWVS", + "ZXF1ZXN0SAASOwoNdmlkZW9fY29udmVydBgXIAEoCzIiLmxpdmVraXQucHJv", + "dG8uVmlkZW9Db252ZXJ0UmVxdWVzdEgAElkKHXZpZGVvX3N0cmVhbV9mcm9t", + "X3BhcnRpY2lwYW50GBggASgLMjAubGl2ZWtpdC5wcm90by5WaWRlb1N0cmVh", + "bUZyb21QYXJ0aWNpcGFudFJlcXVlc3RIABJAChBuZXdfYXVkaW9fc3RyZWFt", + "GBkgASgLMiQubGl2ZWtpdC5wcm90by5OZXdBdWRpb1N0cmVhbVJlcXVlc3RI", + "ABJAChBuZXdfYXVkaW9fc291cmNlGBogASgLMiQubGl2ZWtpdC5wcm90by5O", + "ZXdBdWRpb1NvdXJjZVJlcXVlc3RIABJGChNjYXB0dXJlX2F1ZGlvX2ZyYW1l", + "GBsgASgLMicubGl2ZWtpdC5wcm90by5DYXB0dXJlQXVkaW9GcmFtZVJlcXVl", + "c3RIABJEChJjbGVhcl9hdWRpb19idWZmZXIYHCABKAsyJi5saXZla2l0LnBy", + "b3RvLkNsZWFyQXVkaW9CdWZmZXJSZXF1ZXN0SAASRgoTbmV3X2F1ZGlvX3Jl", + "c2FtcGxlchgdIAEoCzInLmxpdmVraXQucHJvdG8uTmV3QXVkaW9SZXNhbXBs", + "ZXJSZXF1ZXN0SAASRAoScmVtaXhfYW5kX3Jlc2FtcGxlGB4gASgLMiYubGl2", + "ZWtpdC5wcm90by5SZW1peEFuZFJlc2FtcGxlUmVxdWVzdEgAEioKBGUyZWUY", + "HyABKAsyGi5saXZla2l0LnByb3RvLkUyZWVSZXF1ZXN0SAASWQodYXVkaW9f", + "c3RyZWFtX2Zyb21fcGFydGljaXBhbnQYICABKAsyMC5saXZla2l0LnByb3Rv", + "LkF1ZGlvU3RyZWFtRnJvbVBhcnRpY2lwYW50UmVxdWVzdEgAEkIKEW5ld19z", + "b3hfcmVzYW1wbGVyGCEgASgLMiUubGl2ZWtpdC5wcm90by5OZXdTb3hSZXNh", + "bXBsZXJSZXF1ZXN0SAASRAoScHVzaF9zb3hfcmVzYW1wbGVyGCIgASgLMiYu", + "bGl2ZWtpdC5wcm90by5QdXNoU294UmVzYW1wbGVyUmVxdWVzdEgAEkYKE2Zs", + "dXNoX3NveF9yZXNhbXBsZXIYIyABKAsyJy5saXZla2l0LnByb3RvLkZsdXNo", + "U294UmVzYW1wbGVyUmVxdWVzdEgAEkIKEXNlbmRfY2hhdF9tZXNzYWdlGCQg", + "ASgLMiUubGl2ZWtpdC5wcm90by5TZW5kQ2hhdE1lc3NhZ2VSZXF1ZXN0SAAS", + "QgoRZWRpdF9jaGF0X21lc3NhZ2UYJSABKAsyJS5saXZla2l0LnByb3RvLkVk", + "aXRDaGF0TWVzc2FnZVJlcXVlc3RIABI3CgtwZXJmb3JtX3JwYxgmIAEoCzIg", + "LmxpdmVraXQucHJvdG8uUGVyZm9ybVJwY1JlcXVlc3RIABJGChNyZWdpc3Rl", + "cl9ycGNfbWV0aG9kGCcgASgLMicubGl2ZWtpdC5wcm90by5SZWdpc3RlclJw", + "Y01ldGhvZFJlcXVlc3RIABJKChV1bnJlZ2lzdGVyX3JwY19tZXRob2QYKCAB", + "KAsyKS5saXZla2l0LnByb3RvLlVucmVnaXN0ZXJScGNNZXRob2RSZXF1ZXN0", + "SAASWwoecnBjX21ldGhvZF9pbnZvY2F0aW9uX3Jlc3BvbnNlGCkgASgLMjEu", + "bGl2ZWtpdC5wcm90by5ScGNNZXRob2RJbnZvY2F0aW9uUmVzcG9uc2VSZXF1", + "ZXN0SAASXQofZW5hYmxlX3JlbW90ZV90cmFja19wdWJsaWNhdGlvbhgqIAEo", + "CzIyLmxpdmVraXQucHJvdG8uRW5hYmxlUmVtb3RlVHJhY2tQdWJsaWNhdGlv", + "blJlcXVlc3RIABJwCil1cGRhdGVfcmVtb3RlX3RyYWNrX3B1YmxpY2F0aW9u", + "X2RpbWVuc2lvbhgrIAEoCzI7LmxpdmVraXQucHJvdG8uVXBkYXRlUmVtb3Rl", + "VHJhY2tQdWJsaWNhdGlvbkRpbWVuc2lvblJlcXVlc3RIABJEChJzZW5kX3N0", + "cmVhbV9oZWFkZXIYLCABKAsyJi5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1I", + "ZWFkZXJSZXF1ZXN0SAASQgoRc2VuZF9zdHJlYW1fY2h1bmsYLSABKAsyJS5s", + "aXZla2l0LnByb3RvLlNlbmRTdHJlYW1DaHVua1JlcXVlc3RIABJGChNzZW5k", + "X3N0cmVhbV90cmFpbGVyGC4gASgLMicubGl2ZWtpdC5wcm90by5TZW5kU3Ry", + "ZWFtVHJhaWxlclJlcXVlc3RIABJ4Ci5zZXRfZGF0YV9jaGFubmVsX2J1ZmZl", + "cmVkX2Ftb3VudF9sb3dfdGhyZXNob2xkGC8gASgLMj4ubGl2ZWtpdC5wcm90", + "by5TZXREYXRhQ2hhbm5lbEJ1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkUmVx", + "dWVzdEgAEk8KGGxvYWRfYXVkaW9fZmlsdGVyX3BsdWdpbhgxIAEoCzIrLmxp", + "dmVraXQucHJvdG8uTG9hZEF1ZGlvRmlsdGVyUGx1Z2luUmVxdWVzdEgAEi8K", + "B25ld19hcG0YMiABKAsyHC5saXZla2l0LnByb3RvLk5ld0FwbVJlcXVlc3RI", + "ABJEChJhcG1fcHJvY2Vzc19zdHJlYW0YMyABKAsyJi5saXZla2l0LnByb3Rv", + "LkFwbVByb2Nlc3NTdHJlYW1SZXF1ZXN0SAASUwoaYXBtX3Byb2Nlc3NfcmV2", + "ZXJzZV9zdHJlYW0YNCABKAsyLS5saXZla2l0LnByb3RvLkFwbVByb2Nlc3NS", + "ZXZlcnNlU3RyZWFtUmVxdWVzdEgAEkcKFGFwbV9zZXRfc3RyZWFtX2RlbGF5", + "GDUgASgLMicubGl2ZWtpdC5wcm90by5BcG1TZXRTdHJlYW1EZWxheVJlcXVl", + "c3RIABJWChVieXRlX3JlYWRfaW5jcmVtZW50YWwYNiABKAsyNS5saXZla2l0", + "LnByb3RvLkJ5dGVTdHJlYW1SZWFkZXJSZWFkSW5jcmVtZW50YWxSZXF1ZXN0", + "SAASRgoNYnl0ZV9yZWFkX2FsbBg3IAEoCzItLmxpdmVraXQucHJvdG8uQnl0", + "ZVN0cmVhbVJlYWRlclJlYWRBbGxSZXF1ZXN0SAASTwoSYnl0ZV93cml0ZV90", + "b19maWxlGDggASgLMjEubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVy", + "V3JpdGVUb0ZpbGVSZXF1ZXN0SAASVgoVdGV4dF9yZWFkX2luY3JlbWVudGFs", + "GDkgASgLMjUubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtUmVhZGVyUmVhZElu", + "Y3JlbWVudGFsUmVxdWVzdEgAEkYKDXRleHRfcmVhZF9hbGwYOiABKAsyLS5s", + "aXZla2l0LnByb3RvLlRleHRTdHJlYW1SZWFkZXJSZWFkQWxsUmVxdWVzdEgA", + "EjkKCXNlbmRfZmlsZRg7IAEoCzIkLmxpdmVraXQucHJvdG8uU3RyZWFtU2Vu", + "ZEZpbGVSZXF1ZXN0SAASOQoJc2VuZF90ZXh0GDwgASgLMiQubGl2ZWtpdC5w", + "cm90by5TdHJlYW1TZW5kVGV4dFJlcXVlc3RIABJAChBieXRlX3N0cmVhbV9v", + "cGVuGD0gASgLMiQubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtT3BlblJlcXVl", + "c3RIABJIChFieXRlX3N0cmVhbV93cml0ZRg+IAEoCzIrLmxpdmVraXQucHJv", + "dG8uQnl0ZVN0cmVhbVdyaXRlcldyaXRlUmVxdWVzdEgAEkgKEWJ5dGVfc3Ry", + "ZWFtX2Nsb3NlGD8gASgLMisubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtV3Jp", + "dGVyQ2xvc2VSZXF1ZXN0SAASQAoQdGV4dF9zdHJlYW1fb3BlbhhAIAEoCzIk", + "LmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbU9wZW5SZXF1ZXN0SAASSAoRdGV4", + "dF9zdHJlYW1fd3JpdGUYQSABKAsyKy5saXZla2l0LnByb3RvLlRleHRTdHJl", + "YW1Xcml0ZXJXcml0ZVJlcXVlc3RIABJIChF0ZXh0X3N0cmVhbV9jbG9zZRhC", + "IAEoCzIrLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVdyaXRlckNsb3NlUmVx", + "dWVzdEgAQgkKB21lc3NhZ2UiviQKC0ZmaVJlc3BvbnNlEjEKB2Rpc3Bvc2UY", + "AiABKAsyHi5saXZla2l0LnByb3RvLkRpc3Bvc2VSZXNwb25zZUgAEjEKB2Nv", + "bm5lY3QYAyABKAsyHi5saXZla2l0LnByb3RvLkNvbm5lY3RSZXNwb25zZUgA", + "EjcKCmRpc2Nvbm5lY3QYBCABKAsyIS5saXZla2l0LnByb3RvLkRpc2Nvbm5l", + "Y3RSZXNwb25zZUgAEjwKDXB1Ymxpc2hfdHJhY2sYBSABKAsyIy5saXZla2l0", + "LnByb3RvLlB1Ymxpc2hUcmFja1Jlc3BvbnNlSAASQAoPdW5wdWJsaXNoX3Ry", + "YWNrGAYgASgLMiUubGl2ZWtpdC5wcm90by5VbnB1Ymxpc2hUcmFja1Jlc3Bv", + "bnNlSAASOgoMcHVibGlzaF9kYXRhGAcgASgLMiIubGl2ZWtpdC5wcm90by5Q", + "dWJsaXNoRGF0YVJlc3BvbnNlSAASPgoOc2V0X3N1YnNjcmliZWQYCCABKAsy", + "JC5saXZla2l0LnByb3RvLlNldFN1YnNjcmliZWRSZXNwb25zZUgAEkUKEnNl", + "dF9sb2NhbF9tZXRhZGF0YRgJIAEoCzInLmxpdmVraXQucHJvdG8uU2V0TG9j", + "YWxNZXRhZGF0YVJlc3BvbnNlSAASPQoOc2V0X2xvY2FsX25hbWUYCiABKAsy", + "Iy5saXZla2l0LnByb3RvLlNldExvY2FsTmFtZVJlc3BvbnNlSAASSQoUc2V0", + "X2xvY2FsX2F0dHJpYnV0ZXMYCyABKAsyKS5saXZla2l0LnByb3RvLlNldExv", + "Y2FsQXR0cmlidXRlc1Jlc3BvbnNlSAASQwoRZ2V0X3Nlc3Npb25fc3RhdHMY", + "DCABKAsyJi5saXZla2l0LnByb3RvLkdldFNlc3Npb25TdGF0c1Jlc3BvbnNl", + "SAASTAoVcHVibGlzaF90cmFuc2NyaXB0aW9uGA0gASgLMisubGl2ZWtpdC5w", + "cm90by5QdWJsaXNoVHJhbnNjcmlwdGlvblJlc3BvbnNlSAASQQoQcHVibGlz", + "aF9zaXBfZHRtZhgOIAEoCzIlLmxpdmVraXQucHJvdG8uUHVibGlzaFNpcER0", + "bWZSZXNwb25zZUgAEkUKEmNyZWF0ZV92aWRlb190cmFjaxgPIAEoCzInLmxp", + "dmVraXQucHJvdG8uQ3JlYXRlVmlkZW9UcmFja1Jlc3BvbnNlSAASRQoSY3Jl", + "YXRlX2F1ZGlvX3RyYWNrGBAgASgLMicubGl2ZWtpdC5wcm90by5DcmVhdGVB", + "dWRpb1RyYWNrUmVzcG9uc2VIABJBChBsb2NhbF90cmFja19tdXRlGBEgASgL", + "MiUubGl2ZWtpdC5wcm90by5Mb2NhbFRyYWNrTXV0ZVJlc3BvbnNlSAASRwoT", + "ZW5hYmxlX3JlbW90ZV90cmFjaxgSIAEoCzIoLmxpdmVraXQucHJvdG8uRW5h", + "YmxlUmVtb3RlVHJhY2tSZXNwb25zZUgAEjQKCWdldF9zdGF0cxgTIAEoCzIf", + "LmxpdmVraXQucHJvdG8uR2V0U3RhdHNSZXNwb25zZUgAEmQKInNldF90cmFj", + "a19zdWJzY3JpcHRpb25fcGVybWlzc2lvbnMYLyABKAsyNi5saXZla2l0LnBy", + "b3RvLlNldFRyYWNrU3Vic2NyaXB0aW9uUGVybWlzc2lvbnNSZXNwb25zZUgA", + "EkEKEG5ld192aWRlb19zdHJlYW0YFCABKAsyJS5saXZla2l0LnByb3RvLk5l", + "d1ZpZGVvU3RyZWFtUmVzcG9uc2VIABJBChBuZXdfdmlkZW9fc291cmNlGBUg", + "ASgLMiUubGl2ZWtpdC5wcm90by5OZXdWaWRlb1NvdXJjZVJlc3BvbnNlSAAS", + "RwoTY2FwdHVyZV92aWRlb19mcmFtZRgWIAEoCzIoLmxpdmVraXQucHJvdG8u", + "Q2FwdHVyZVZpZGVvRnJhbWVSZXNwb25zZUgAEjwKDXZpZGVvX2NvbnZlcnQY", + "FyABKAsyIy5saXZla2l0LnByb3RvLlZpZGVvQ29udmVydFJlc3BvbnNlSAAS", + "WgoddmlkZW9fc3RyZWFtX2Zyb21fcGFydGljaXBhbnQYGCABKAsyMS5saXZl", + "a2l0LnByb3RvLlZpZGVvU3RyZWFtRnJvbVBhcnRpY2lwYW50UmVzcG9uc2VI", + "ABJBChBuZXdfYXVkaW9fc3RyZWFtGBkgASgLMiUubGl2ZWtpdC5wcm90by5O", + "ZXdBdWRpb1N0cmVhbVJlc3BvbnNlSAASQQoQbmV3X2F1ZGlvX3NvdXJjZRga", + "IAEoCzIlLmxpdmVraXQucHJvdG8uTmV3QXVkaW9Tb3VyY2VSZXNwb25zZUgA", + "EkcKE2NhcHR1cmVfYXVkaW9fZnJhbWUYGyABKAsyKC5saXZla2l0LnByb3Rv", + "LkNhcHR1cmVBdWRpb0ZyYW1lUmVzcG9uc2VIABJFChJjbGVhcl9hdWRpb19i", + "dWZmZXIYHCABKAsyJy5saXZla2l0LnByb3RvLkNsZWFyQXVkaW9CdWZmZXJS", + "ZXNwb25zZUgAEkcKE25ld19hdWRpb19yZXNhbXBsZXIYHSABKAsyKC5saXZl", + "a2l0LnByb3RvLk5ld0F1ZGlvUmVzYW1wbGVyUmVzcG9uc2VIABJFChJyZW1p", + "eF9hbmRfcmVzYW1wbGUYHiABKAsyJy5saXZla2l0LnByb3RvLlJlbWl4QW5k", + "UmVzYW1wbGVSZXNwb25zZUgAEloKHWF1ZGlvX3N0cmVhbV9mcm9tX3BhcnRp", + "Y2lwYW50GB8gASgLMjEubGl2ZWtpdC5wcm90by5BdWRpb1N0cmVhbUZyb21Q", + "YXJ0aWNpcGFudFJlc3BvbnNlSAASKwoEZTJlZRggIAEoCzIbLmxpdmVraXQu", + "cHJvdG8uRTJlZVJlc3BvbnNlSAASQwoRbmV3X3NveF9yZXNhbXBsZXIYISAB", + "KAsyJi5saXZla2l0LnByb3RvLk5ld1NveFJlc2FtcGxlclJlc3BvbnNlSAAS", + "RQoScHVzaF9zb3hfcmVzYW1wbGVyGCIgASgLMicubGl2ZWtpdC5wcm90by5Q", + "dXNoU294UmVzYW1wbGVyUmVzcG9uc2VIABJHChNmbHVzaF9zb3hfcmVzYW1w", + "bGVyGCMgASgLMigubGl2ZWtpdC5wcm90by5GbHVzaFNveFJlc2FtcGxlclJl", + "c3BvbnNlSAASQwoRc2VuZF9jaGF0X21lc3NhZ2UYJCABKAsyJi5saXZla2l0", + "LnByb3RvLlNlbmRDaGF0TWVzc2FnZVJlc3BvbnNlSAASOAoLcGVyZm9ybV9y", + "cGMYJSABKAsyIS5saXZla2l0LnByb3RvLlBlcmZvcm1ScGNSZXNwb25zZUgA", + "EkcKE3JlZ2lzdGVyX3JwY19tZXRob2QYJiABKAsyKC5saXZla2l0LnByb3Rv", + "LlJlZ2lzdGVyUnBjTWV0aG9kUmVzcG9uc2VIABJLChV1bnJlZ2lzdGVyX3Jw", + "Y19tZXRob2QYJyABKAsyKi5saXZla2l0LnByb3RvLlVucmVnaXN0ZXJScGNN", + "ZXRob2RSZXNwb25zZUgAElwKHnJwY19tZXRob2RfaW52b2NhdGlvbl9yZXNw", + "b25zZRgoIAEoCzIyLmxpdmVraXQucHJvdG8uUnBjTWV0aG9kSW52b2NhdGlv", + "blJlc3BvbnNlUmVzcG9uc2VIABJeCh9lbmFibGVfcmVtb3RlX3RyYWNrX3B1", + "YmxpY2F0aW9uGCkgASgLMjMubGl2ZWtpdC5wcm90by5FbmFibGVSZW1vdGVU", + "cmFja1B1YmxpY2F0aW9uUmVzcG9uc2VIABJxCil1cGRhdGVfcmVtb3RlX3Ry", + "YWNrX3B1YmxpY2F0aW9uX2RpbWVuc2lvbhgqIAEoCzI8LmxpdmVraXQucHJv", + "dG8uVXBkYXRlUmVtb3RlVHJhY2tQdWJsaWNhdGlvbkRpbWVuc2lvblJlc3Bv", + "bnNlSAASRQoSc2VuZF9zdHJlYW1faGVhZGVyGCsgASgLMicubGl2ZWtpdC5w", + "cm90by5TZW5kU3RyZWFtSGVhZGVyUmVzcG9uc2VIABJDChFzZW5kX3N0cmVh", + "bV9jaHVuaxgsIAEoCzImLmxpdmVraXQucHJvdG8uU2VuZFN0cmVhbUNodW5r", + "UmVzcG9uc2VIABJHChNzZW5kX3N0cmVhbV90cmFpbGVyGC0gASgLMigubGl2", + "ZWtpdC5wcm90by5TZW5kU3RyZWFtVHJhaWxlclJlc3BvbnNlSAASeQouc2V0", + "X2RhdGFfY2hhbm5lbF9idWZmZXJlZF9hbW91bnRfbG93X3RocmVzaG9sZBgu", + "IAEoCzI/LmxpdmVraXQucHJvdG8uU2V0RGF0YUNoYW5uZWxCdWZmZXJlZEFt", + "b3VudExvd1RocmVzaG9sZFJlc3BvbnNlSAASUAoYbG9hZF9hdWRpb19maWx0", + "ZXJfcGx1Z2luGDAgASgLMiwubGl2ZWtpdC5wcm90by5Mb2FkQXVkaW9GaWx0", + "ZXJQbHVnaW5SZXNwb25zZUgAEjAKB25ld19hcG0YMSABKAsyHS5saXZla2l0", + "LnByb3RvLk5ld0FwbVJlc3BvbnNlSAASRQoSYXBtX3Byb2Nlc3Nfc3RyZWFt", + "GDIgASgLMicubGl2ZWtpdC5wcm90by5BcG1Qcm9jZXNzU3RyZWFtUmVzcG9u", + "c2VIABJUChphcG1fcHJvY2Vzc19yZXZlcnNlX3N0cmVhbRgzIAEoCzIuLmxp", + "dmVraXQucHJvdG8uQXBtUHJvY2Vzc1JldmVyc2VTdHJlYW1SZXNwb25zZUgA", + "EkgKFGFwbV9zZXRfc3RyZWFtX2RlbGF5GDQgASgLMigubGl2ZWtpdC5wcm90", + "by5BcG1TZXRTdHJlYW1EZWxheVJlc3BvbnNlSAASVwoVYnl0ZV9yZWFkX2lu", + "Y3JlbWVudGFsGDUgASgLMjYubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVh", + "ZGVyUmVhZEluY3JlbWVudGFsUmVzcG9uc2VIABJHCg1ieXRlX3JlYWRfYWxs", + "GDYgASgLMi4ubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVyUmVhZEFs", + "bFJlc3BvbnNlSAASUAoSYnl0ZV93cml0ZV90b19maWxlGDcgASgLMjIubGl2", + "ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVyV3JpdGVUb0ZpbGVSZXNwb25z", + "ZUgAElcKFXRleHRfcmVhZF9pbmNyZW1lbnRhbBg4IAEoCzI2LmxpdmVraXQu", + "cHJvdG8uVGV4dFN0cmVhbVJlYWRlclJlYWRJbmNyZW1lbnRhbFJlc3BvbnNl", + "SAASRwoNdGV4dF9yZWFkX2FsbBg5IAEoCzIuLmxpdmVraXQucHJvdG8uVGV4", + "dFN0cmVhbVJlYWRlclJlYWRBbGxSZXNwb25zZUgAEjoKCXNlbmRfZmlsZRg6", + "IAEoCzIlLmxpdmVraXQucHJvdG8uU3RyZWFtU2VuZEZpbGVSZXNwb25zZUgA", + "EjoKCXNlbmRfdGV4dBg7IAEoCzIlLmxpdmVraXQucHJvdG8uU3RyZWFtU2Vu", + "ZFRleHRSZXNwb25zZUgAEkEKEGJ5dGVfc3RyZWFtX29wZW4YPCABKAsyJS5s", + "aXZla2l0LnByb3RvLkJ5dGVTdHJlYW1PcGVuUmVzcG9uc2VIABJJChFieXRl", + "X3N0cmVhbV93cml0ZRg9IAEoCzIsLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVh", + "bVdyaXRlcldyaXRlUmVzcG9uc2VIABJJChFieXRlX3N0cmVhbV9jbG9zZRg+", + "IAEoCzIsLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVdyaXRlckNsb3NlUmVz", + "cG9uc2VIABJBChB0ZXh0X3N0cmVhbV9vcGVuGD8gASgLMiUubGl2ZWtpdC5w", + "cm90by5UZXh0U3RyZWFtT3BlblJlc3BvbnNlSAASSQoRdGV4dF9zdHJlYW1f", + "d3JpdGUYQCABKAsyLC5saXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJX", + "cml0ZVJlc3BvbnNlSAASSQoRdGV4dF9zdHJlYW1fY2xvc2UYQSABKAsyLC5s", + "aXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJDbG9zZVJlc3BvbnNlSABC", + "CQoHbWVzc2FnZSLHFAoIRmZpRXZlbnQSLgoKcm9vbV9ldmVudBgBIAEoCzIY", + "LmxpdmVraXQucHJvdG8uUm9vbUV2ZW50SAASMAoLdHJhY2tfZXZlbnQYAiAB", + "KAsyGS5saXZla2l0LnByb3RvLlRyYWNrRXZlbnRIABI9ChJ2aWRlb19zdHJl", + "YW1fZXZlbnQYAyABKAsyHy5saXZla2l0LnByb3RvLlZpZGVvU3RyZWFtRXZl", + "bnRIABI9ChJhdWRpb19zdHJlYW1fZXZlbnQYBCABKAsyHy5saXZla2l0LnBy", + "b3RvLkF1ZGlvU3RyZWFtRXZlbnRIABIxCgdjb25uZWN0GAUgASgLMh4ubGl2", + "ZWtpdC5wcm90by5Db25uZWN0Q2FsbGJhY2tIABI3CgpkaXNjb25uZWN0GAcg", + "ASgLMiEubGl2ZWtpdC5wcm90by5EaXNjb25uZWN0Q2FsbGJhY2tIABIxCgdk", + "aXNwb3NlGAggASgLMh4ubGl2ZWtpdC5wcm90by5EaXNwb3NlQ2FsbGJhY2tI", + "ABI8Cg1wdWJsaXNoX3RyYWNrGAkgASgLMiMubGl2ZWtpdC5wcm90by5QdWJs", + "aXNoVHJhY2tDYWxsYmFja0gAEkAKD3VucHVibGlzaF90cmFjaxgKIAEoCzIl", + "LmxpdmVraXQucHJvdG8uVW5wdWJsaXNoVHJhY2tDYWxsYmFja0gAEjoKDHB1", + "Ymxpc2hfZGF0YRgLIAEoCzIiLmxpdmVraXQucHJvdG8uUHVibGlzaERhdGFD", + "YWxsYmFja0gAEkwKFXB1Ymxpc2hfdHJhbnNjcmlwdGlvbhgMIAEoCzIrLmxp", + "dmVraXQucHJvdG8uUHVibGlzaFRyYW5zY3JpcHRpb25DYWxsYmFja0gAEkcK", + "E2NhcHR1cmVfYXVkaW9fZnJhbWUYDSABKAsyKC5saXZla2l0LnByb3RvLkNh", + "cHR1cmVBdWRpb0ZyYW1lQ2FsbGJhY2tIABJFChJzZXRfbG9jYWxfbWV0YWRh", + "dGEYDiABKAsyJy5saXZla2l0LnByb3RvLlNldExvY2FsTWV0YWRhdGFDYWxs", + "YmFja0gAEj0KDnNldF9sb2NhbF9uYW1lGA8gASgLMiMubGl2ZWtpdC5wcm90", + "by5TZXRMb2NhbE5hbWVDYWxsYmFja0gAEkkKFHNldF9sb2NhbF9hdHRyaWJ1", + "dGVzGBAgASgLMikubGl2ZWtpdC5wcm90by5TZXRMb2NhbEF0dHJpYnV0ZXND", + "YWxsYmFja0gAEjQKCWdldF9zdGF0cxgRIAEoCzIfLmxpdmVraXQucHJvdG8u", + "R2V0U3RhdHNDYWxsYmFja0gAEicKBGxvZ3MYEiABKAsyFy5saXZla2l0LnBy", + "b3RvLkxvZ0JhdGNoSAASQwoRZ2V0X3Nlc3Npb25fc3RhdHMYEyABKAsyJi5s", + "aXZla2l0LnByb3RvLkdldFNlc3Npb25TdGF0c0NhbGxiYWNrSAASJQoFcGFu", + "aWMYFCABKAsyFC5saXZla2l0LnByb3RvLlBhbmljSAASQQoQcHVibGlzaF9z", + "aXBfZHRtZhgVIAEoCzIlLmxpdmVraXQucHJvdG8uUHVibGlzaFNpcER0bWZD", + "YWxsYmFja0gAEj4KDGNoYXRfbWVzc2FnZRgWIAEoCzImLmxpdmVraXQucHJv", + "dG8uU2VuZENoYXRNZXNzYWdlQ2FsbGJhY2tIABI4CgtwZXJmb3JtX3JwYxgX", + "IAEoCzIhLmxpdmVraXQucHJvdG8uUGVyZm9ybVJwY0NhbGxiYWNrSAASSAoV", + "cnBjX21ldGhvZF9pbnZvY2F0aW9uGBggASgLMicubGl2ZWtpdC5wcm90by5S", + "cGNNZXRob2RJbnZvY2F0aW9uRXZlbnRIABJFChJzZW5kX3N0cmVhbV9oZWFk", + "ZXIYGSABKAsyJy5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1IZWFkZXJDYWxs", + "YmFja0gAEkMKEXNlbmRfc3RyZWFtX2NodW5rGBogASgLMiYubGl2ZWtpdC5w", + "cm90by5TZW5kU3RyZWFtQ2h1bmtDYWxsYmFja0gAEkcKE3NlbmRfc3RyZWFt", + "X3RyYWlsZXIYGyABKAsyKC5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1UcmFp", + "bGVyQ2FsbGJhY2tIABJIChhieXRlX3N0cmVhbV9yZWFkZXJfZXZlbnQYHCAB", + "KAsyJC5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1SZWFkZXJFdmVudEgAElUK", + "G2J5dGVfc3RyZWFtX3JlYWRlcl9yZWFkX2FsbBgdIAEoCzIuLmxpdmVraXQu", + "cHJvdG8uQnl0ZVN0cmVhbVJlYWRlclJlYWRBbGxDYWxsYmFja0gAEl4KIGJ5", + "dGVfc3RyZWFtX3JlYWRlcl93cml0ZV90b19maWxlGB4gASgLMjIubGl2ZWtp", + "dC5wcm90by5CeXRlU3RyZWFtUmVhZGVyV3JpdGVUb0ZpbGVDYWxsYmFja0gA", + "EkEKEGJ5dGVfc3RyZWFtX29wZW4YHyABKAsyJS5saXZla2l0LnByb3RvLkJ5", + "dGVTdHJlYW1PcGVuQ2FsbGJhY2tIABJQChhieXRlX3N0cmVhbV93cml0ZXJf", + "d3JpdGUYICABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1Xcml0ZXJX", + "cml0ZUNhbGxiYWNrSAASUAoYYnl0ZV9zdHJlYW1fd3JpdGVyX2Nsb3NlGCEg", + "ASgLMiwubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtV3JpdGVyQ2xvc2VDYWxs", + "YmFja0gAEjoKCXNlbmRfZmlsZRgiIAEoCzIlLmxpdmVraXQucHJvdG8uU3Ry", + "ZWFtU2VuZEZpbGVDYWxsYmFja0gAEkgKGHRleHRfc3RyZWFtX3JlYWRlcl9l", + "dmVudBgjIAEoCzIkLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVJlYWRlckV2", + "ZW50SAASVQobdGV4dF9zdHJlYW1fcmVhZGVyX3JlYWRfYWxsGCQgASgLMi4u", + "bGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtUmVhZGVyUmVhZEFsbENhbGxiYWNr", + "SAASQQoQdGV4dF9zdHJlYW1fb3BlbhglIAEoCzIlLmxpdmVraXQucHJvdG8u", + "VGV4dFN0cmVhbU9wZW5DYWxsYmFja0gAElAKGHRleHRfc3RyZWFtX3dyaXRl", + "cl93cml0ZRgmIAEoCzIsLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVdyaXRl", + "cldyaXRlQ2FsbGJhY2tIABJQChh0ZXh0X3N0cmVhbV93cml0ZXJfY2xvc2UY", + "JyABKAsyLC5saXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJDbG9zZUNh", + "bGxiYWNrSAASOgoJc2VuZF90ZXh0GCggASgLMiUubGl2ZWtpdC5wcm90by5T", + "dHJlYW1TZW5kVGV4dENhbGxiYWNrSABCCQoHbWVzc2FnZSIfCg5EaXNwb3Nl", + "UmVxdWVzdBINCgVhc3luYxgBIAIoCCIjCg9EaXNwb3NlUmVzcG9uc2USEAoI", + "YXN5bmNfaWQYASABKAQiIwoPRGlzcG9zZUNhbGxiYWNrEhAKCGFzeW5jX2lk", + "GAEgAigEIoUBCglMb2dSZWNvcmQSJgoFbGV2ZWwYASACKA4yFy5saXZla2l0", + "LnByb3RvLkxvZ0xldmVsEg4KBnRhcmdldBgCIAIoCRITCgttb2R1bGVfcGF0", + "aBgDIAEoCRIMCgRmaWxlGAQgASgJEgwKBGxpbmUYBSABKA0SDwoHbWVzc2Fn", + "ZRgGIAIoCSI1CghMb2dCYXRjaBIpCgdyZWNvcmRzGAEgAygLMhgubGl2ZWtp", + "dC5wcm90by5Mb2dSZWNvcmQiGAoFUGFuaWMSDwoHbWVzc2FnZRgBIAIoCSpT", + "CghMb2dMZXZlbBINCglMT0dfRVJST1IQABIMCghMT0dfV0FSThABEgwKCExP", + "R19JTkZPEAISDQoJTE9HX0RFQlVHEAMSDQoJTE9HX1RSQUNFEARCEKoCDUxp", + "dmVLaXQuUHJvdG8=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, global::LiveKit.Proto.RoomReflection.Descriptor, global::LiveKit.Proto.ParticipantReflection.Descriptor, global::LiveKit.Proto.VideoFrameReflection.Descriptor, global::LiveKit.Proto.AudioFrameReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FFIRequest), global::LiveKit.Proto.FFIRequest.Parser, new[]{ "Initialize", "Dispose", "Connect", "Disconnect", "PublishTrack", "UnpublishTrack", "CreateVideoTrack", "CreateAudioTrack", "AllocVideoBuffer", "NewVideoStream", "NewVideoSource", "CaptureVideoFrame", "ToI420", "ToArgb", "AllocAudioBuffer", "NewAudioStream", "NewAudioSource", "CaptureAudioFrame", "NewAudioResampler", "RemixAndResample" }, new[]{ "Message" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FFIResponse), global::LiveKit.Proto.FFIResponse.Parser, new[]{ "Initialize", "Dispose", "Connect", "Disconnect", "PublishTrack", "UnpublishTrack", "CreateVideoTrack", "CreateAudioTrack", "AllocVideoBuffer", "NewVideoStream", "NewVideoSource", "CaptureVideoFrame", "ToI420", "ToArgb", "AllocAudioBuffer", "NewAudioStream", "NewAudioSource", "CaptureAudioFrame", "NewAudioResampler", "RemixAndResample" }, new[]{ "Message" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FFIEvent), global::LiveKit.Proto.FFIEvent.Parser, new[]{ "RoomEvent", "TrackEvent", "ParticipantEvent", "VideoStreamEvent", "AudioStreamEvent", "Connect", "Dispose", "PublishTrack" }, new[]{ "Message" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.InitializeRequest), global::LiveKit.Proto.InitializeRequest.Parser, new[]{ "EventCallbackPtr" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.InitializeResponse), global::LiveKit.Proto.InitializeResponse.Parser, null, null, null, null, null), + new pbr::FileDescriptor[] { global::LiveKit.Proto.E2EeReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, global::LiveKit.Proto.TrackPublicationReflection.Descriptor, global::LiveKit.Proto.RoomReflection.Descriptor, global::LiveKit.Proto.VideoFrameReflection.Descriptor, global::LiveKit.Proto.AudioFrameReflection.Descriptor, global::LiveKit.Proto.RpcReflection.Descriptor, global::LiveKit.Proto.DataStreamReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.LogLevel), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FfiRequest), global::LiveKit.Proto.FfiRequest.Parser, new[]{ "Dispose", "Connect", "Disconnect", "PublishTrack", "UnpublishTrack", "PublishData", "SetSubscribed", "SetLocalMetadata", "SetLocalName", "SetLocalAttributes", "GetSessionStats", "PublishTranscription", "PublishSipDtmf", "CreateVideoTrack", "CreateAudioTrack", "LocalTrackMute", "EnableRemoteTrack", "GetStats", "SetTrackSubscriptionPermissions", "NewVideoStream", "NewVideoSource", "CaptureVideoFrame", "VideoConvert", "VideoStreamFromParticipant", "NewAudioStream", "NewAudioSource", "CaptureAudioFrame", "ClearAudioBuffer", "NewAudioResampler", "RemixAndResample", "E2Ee", "AudioStreamFromParticipant", "NewSoxResampler", "PushSoxResampler", "FlushSoxResampler", "SendChatMessage", "EditChatMessage", "PerformRpc", "RegisterRpcMethod", "UnregisterRpcMethod", "RpcMethodInvocationResponse", "EnableRemoteTrackPublication", "UpdateRemoteTrackPublicationDimension", "SendStreamHeader", "SendStreamChunk", "SendStreamTrailer", "SetDataChannelBufferedAmountLowThreshold", "LoadAudioFilterPlugin", "NewApm", "ApmProcessStream", "ApmProcessReverseStream", "ApmSetStreamDelay", "ByteReadIncremental", "ByteReadAll", "ByteWriteToFile", "TextReadIncremental", "TextReadAll", "SendFile", "SendText", "ByteStreamOpen", "ByteStreamWrite", "ByteStreamClose", "TextStreamOpen", "TextStreamWrite", "TextStreamClose" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FfiResponse), global::LiveKit.Proto.FfiResponse.Parser, new[]{ "Dispose", "Connect", "Disconnect", "PublishTrack", "UnpublishTrack", "PublishData", "SetSubscribed", "SetLocalMetadata", "SetLocalName", "SetLocalAttributes", "GetSessionStats", "PublishTranscription", "PublishSipDtmf", "CreateVideoTrack", "CreateAudioTrack", "LocalTrackMute", "EnableRemoteTrack", "GetStats", "SetTrackSubscriptionPermissions", "NewVideoStream", "NewVideoSource", "CaptureVideoFrame", "VideoConvert", "VideoStreamFromParticipant", "NewAudioStream", "NewAudioSource", "CaptureAudioFrame", "ClearAudioBuffer", "NewAudioResampler", "RemixAndResample", "AudioStreamFromParticipant", "E2Ee", "NewSoxResampler", "PushSoxResampler", "FlushSoxResampler", "SendChatMessage", "PerformRpc", "RegisterRpcMethod", "UnregisterRpcMethod", "RpcMethodInvocationResponse", "EnableRemoteTrackPublication", "UpdateRemoteTrackPublicationDimension", "SendStreamHeader", "SendStreamChunk", "SendStreamTrailer", "SetDataChannelBufferedAmountLowThreshold", "LoadAudioFilterPlugin", "NewApm", "ApmProcessStream", "ApmProcessReverseStream", "ApmSetStreamDelay", "ByteReadIncremental", "ByteReadAll", "ByteWriteToFile", "TextReadIncremental", "TextReadAll", "SendFile", "SendText", "ByteStreamOpen", "ByteStreamWrite", "ByteStreamClose", "TextStreamOpen", "TextStreamWrite", "TextStreamClose" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FfiEvent), global::LiveKit.Proto.FfiEvent.Parser, new[]{ "RoomEvent", "TrackEvent", "VideoStreamEvent", "AudioStreamEvent", "Connect", "Disconnect", "Dispose", "PublishTrack", "UnpublishTrack", "PublishData", "PublishTranscription", "CaptureAudioFrame", "SetLocalMetadata", "SetLocalName", "SetLocalAttributes", "GetStats", "Logs", "GetSessionStats", "Panic", "PublishSipDtmf", "ChatMessage", "PerformRpc", "RpcMethodInvocation", "SendStreamHeader", "SendStreamChunk", "SendStreamTrailer", "ByteStreamReaderEvent", "ByteStreamReaderReadAll", "ByteStreamReaderWriteToFile", "ByteStreamOpen", "ByteStreamWriterWrite", "ByteStreamWriterClose", "SendFile", "TextStreamReaderEvent", "TextStreamReaderReadAll", "TextStreamOpen", "TextStreamWriterWrite", "TextStreamWriterClose", "SendText" }, new[]{ "Message" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisposeRequest), global::LiveKit.Proto.DisposeRequest.Parser, new[]{ "Async" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisposeResponse), global::LiveKit.Proto.DisposeResponse.Parser, new[]{ "AsyncId" }, new[]{ "AsyncId" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisposeCallback), global::LiveKit.Proto.DisposeCallback.Parser, new[]{ "AsyncId" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisposeResponse), global::LiveKit.Proto.DisposeResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisposeCallback), global::LiveKit.Proto.DisposeCallback.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LogRecord), global::LiveKit.Proto.LogRecord.Parser, new[]{ "Level", "Target", "ModulePath", "File", "Line", "Message" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LogBatch), global::LiveKit.Proto.LogBatch.Parser, new[]{ "Records" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.Panic), global::LiveKit.Proto.Panic.Parser, new[]{ "Message" }, null, null, null, null) })); } #endregion } + #region Enums + public enum LogLevel { + [pbr::OriginalName("LOG_ERROR")] LogError = 0, + [pbr::OriginalName("LOG_WARN")] LogWarn = 1, + [pbr::OriginalName("LOG_INFO")] LogInfo = 2, + [pbr::OriginalName("LOG_DEBUG")] LogDebug = 3, + [pbr::OriginalName("LOG_TRACE")] LogTrace = 4, + } + + #endregion + #region Messages /// - //// This is the input of livekit_ffi_request function - //// We always expect a response (FFIResponse) + /// This is the input of livekit_ffi_request function + /// We always expect a response (FFIResponse, even if it's empty) /// - public sealed partial class FFIRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FfiRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FFIRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FfiRequest()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -141,7 +363,7 @@ public sealed partial class FFIRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIRequest() { + public FfiRequest() { OnConstruction(); } @@ -149,11 +371,8 @@ public FFIRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIRequest(FFIRequest other) : this() { + public FfiRequest(FfiRequest other) : this() { switch (other.MessageCase) { - case MessageOneofCase.Initialize: - Initialize = other.Initialize.Clone(); - break; case MessageOneofCase.Dispose: Dispose = other.Dispose.Clone(); break; @@ -169,14 +388,47 @@ public FFIRequest(FFIRequest other) : this() { case MessageOneofCase.UnpublishTrack: UnpublishTrack = other.UnpublishTrack.Clone(); break; + case MessageOneofCase.PublishData: + PublishData = other.PublishData.Clone(); + break; + case MessageOneofCase.SetSubscribed: + SetSubscribed = other.SetSubscribed.Clone(); + break; + case MessageOneofCase.SetLocalMetadata: + SetLocalMetadata = other.SetLocalMetadata.Clone(); + break; + case MessageOneofCase.SetLocalName: + SetLocalName = other.SetLocalName.Clone(); + break; + case MessageOneofCase.SetLocalAttributes: + SetLocalAttributes = other.SetLocalAttributes.Clone(); + break; + case MessageOneofCase.GetSessionStats: + GetSessionStats = other.GetSessionStats.Clone(); + break; + case MessageOneofCase.PublishTranscription: + PublishTranscription = other.PublishTranscription.Clone(); + break; + case MessageOneofCase.PublishSipDtmf: + PublishSipDtmf = other.PublishSipDtmf.Clone(); + break; case MessageOneofCase.CreateVideoTrack: CreateVideoTrack = other.CreateVideoTrack.Clone(); break; case MessageOneofCase.CreateAudioTrack: CreateAudioTrack = other.CreateAudioTrack.Clone(); break; - case MessageOneofCase.AllocVideoBuffer: - AllocVideoBuffer = other.AllocVideoBuffer.Clone(); + case MessageOneofCase.LocalTrackMute: + LocalTrackMute = other.LocalTrackMute.Clone(); + break; + case MessageOneofCase.EnableRemoteTrack: + EnableRemoteTrack = other.EnableRemoteTrack.Clone(); + break; + case MessageOneofCase.GetStats: + GetStats = other.GetStats.Clone(); + break; + case MessageOneofCase.SetTrackSubscriptionPermissions: + SetTrackSubscriptionPermissions = other.SetTrackSubscriptionPermissions.Clone(); break; case MessageOneofCase.NewVideoStream: NewVideoStream = other.NewVideoStream.Clone(); @@ -187,14 +439,11 @@ public FFIRequest(FFIRequest other) : this() { case MessageOneofCase.CaptureVideoFrame: CaptureVideoFrame = other.CaptureVideoFrame.Clone(); break; - case MessageOneofCase.ToI420: - ToI420 = other.ToI420.Clone(); + case MessageOneofCase.VideoConvert: + VideoConvert = other.VideoConvert.Clone(); break; - case MessageOneofCase.ToArgb: - ToArgb = other.ToArgb.Clone(); - break; - case MessageOneofCase.AllocAudioBuffer: - AllocAudioBuffer = other.AllocAudioBuffer.Clone(); + case MessageOneofCase.VideoStreamFromParticipant: + VideoStreamFromParticipant = other.VideoStreamFromParticipant.Clone(); break; case MessageOneofCase.NewAudioStream: NewAudioStream = other.NewAudioStream.Clone(); @@ -205,12 +454,120 @@ public FFIRequest(FFIRequest other) : this() { case MessageOneofCase.CaptureAudioFrame: CaptureAudioFrame = other.CaptureAudioFrame.Clone(); break; + case MessageOneofCase.ClearAudioBuffer: + ClearAudioBuffer = other.ClearAudioBuffer.Clone(); + break; case MessageOneofCase.NewAudioResampler: NewAudioResampler = other.NewAudioResampler.Clone(); break; case MessageOneofCase.RemixAndResample: RemixAndResample = other.RemixAndResample.Clone(); break; + case MessageOneofCase.E2Ee: + E2Ee = other.E2Ee.Clone(); + break; + case MessageOneofCase.AudioStreamFromParticipant: + AudioStreamFromParticipant = other.AudioStreamFromParticipant.Clone(); + break; + case MessageOneofCase.NewSoxResampler: + NewSoxResampler = other.NewSoxResampler.Clone(); + break; + case MessageOneofCase.PushSoxResampler: + PushSoxResampler = other.PushSoxResampler.Clone(); + break; + case MessageOneofCase.FlushSoxResampler: + FlushSoxResampler = other.FlushSoxResampler.Clone(); + break; + case MessageOneofCase.SendChatMessage: + SendChatMessage = other.SendChatMessage.Clone(); + break; + case MessageOneofCase.EditChatMessage: + EditChatMessage = other.EditChatMessage.Clone(); + break; + case MessageOneofCase.PerformRpc: + PerformRpc = other.PerformRpc.Clone(); + break; + case MessageOneofCase.RegisterRpcMethod: + RegisterRpcMethod = other.RegisterRpcMethod.Clone(); + break; + case MessageOneofCase.UnregisterRpcMethod: + UnregisterRpcMethod = other.UnregisterRpcMethod.Clone(); + break; + case MessageOneofCase.RpcMethodInvocationResponse: + RpcMethodInvocationResponse = other.RpcMethodInvocationResponse.Clone(); + break; + case MessageOneofCase.EnableRemoteTrackPublication: + EnableRemoteTrackPublication = other.EnableRemoteTrackPublication.Clone(); + break; + case MessageOneofCase.UpdateRemoteTrackPublicationDimension: + UpdateRemoteTrackPublicationDimension = other.UpdateRemoteTrackPublicationDimension.Clone(); + break; + case MessageOneofCase.SendStreamHeader: + SendStreamHeader = other.SendStreamHeader.Clone(); + break; + case MessageOneofCase.SendStreamChunk: + SendStreamChunk = other.SendStreamChunk.Clone(); + break; + case MessageOneofCase.SendStreamTrailer: + SendStreamTrailer = other.SendStreamTrailer.Clone(); + break; + case MessageOneofCase.SetDataChannelBufferedAmountLowThreshold: + SetDataChannelBufferedAmountLowThreshold = other.SetDataChannelBufferedAmountLowThreshold.Clone(); + break; + case MessageOneofCase.LoadAudioFilterPlugin: + LoadAudioFilterPlugin = other.LoadAudioFilterPlugin.Clone(); + break; + case MessageOneofCase.NewApm: + NewApm = other.NewApm.Clone(); + break; + case MessageOneofCase.ApmProcessStream: + ApmProcessStream = other.ApmProcessStream.Clone(); + break; + case MessageOneofCase.ApmProcessReverseStream: + ApmProcessReverseStream = other.ApmProcessReverseStream.Clone(); + break; + case MessageOneofCase.ApmSetStreamDelay: + ApmSetStreamDelay = other.ApmSetStreamDelay.Clone(); + break; + case MessageOneofCase.ByteReadIncremental: + ByteReadIncremental = other.ByteReadIncremental.Clone(); + break; + case MessageOneofCase.ByteReadAll: + ByteReadAll = other.ByteReadAll.Clone(); + break; + case MessageOneofCase.ByteWriteToFile: + ByteWriteToFile = other.ByteWriteToFile.Clone(); + break; + case MessageOneofCase.TextReadIncremental: + TextReadIncremental = other.TextReadIncremental.Clone(); + break; + case MessageOneofCase.TextReadAll: + TextReadAll = other.TextReadAll.Clone(); + break; + case MessageOneofCase.SendFile: + SendFile = other.SendFile.Clone(); + break; + case MessageOneofCase.SendText: + SendText = other.SendText.Clone(); + break; + case MessageOneofCase.ByteStreamOpen: + ByteStreamOpen = other.ByteStreamOpen.Clone(); + break; + case MessageOneofCase.ByteStreamWrite: + ByteStreamWrite = other.ByteStreamWrite.Clone(); + break; + case MessageOneofCase.ByteStreamClose: + ByteStreamClose = other.ByteStreamClose.Clone(); + break; + case MessageOneofCase.TextStreamOpen: + TextStreamOpen = other.TextStreamOpen.Clone(); + break; + case MessageOneofCase.TextStreamWrite: + TextStreamWrite = other.TextStreamWrite.Clone(); + break; + case MessageOneofCase.TextStreamClose: + TextStreamClose = other.TextStreamClose.Clone(); + break; } _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -218,20 +575,8 @@ public FFIRequest(FFIRequest other) : this() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIRequest Clone() { - return new FFIRequest(this); - } - - /// Field number for the "initialize" field. - public const int InitializeFieldNumber = 1; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.InitializeRequest Initialize { - get { return messageCase_ == MessageOneofCase.Initialize ? (global::LiveKit.Proto.InitializeRequest) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Initialize; - } + public FfiRequest Clone() { + return new FfiRequest(this); } /// Field number for the "dispose" field. @@ -297,8 +642,104 @@ public FFIRequest Clone() { } } + /// Field number for the "publish_data" field. + public const int PublishDataFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishDataRequest PublishData { + get { return messageCase_ == MessageOneofCase.PublishData ? (global::LiveKit.Proto.PublishDataRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishData; + } + } + + /// Field number for the "set_subscribed" field. + public const int SetSubscribedFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetSubscribedRequest SetSubscribed { + get { return messageCase_ == MessageOneofCase.SetSubscribed ? (global::LiveKit.Proto.SetSubscribedRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetSubscribed; + } + } + + /// Field number for the "set_local_metadata" field. + public const int SetLocalMetadataFieldNumber = 9; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalMetadataRequest SetLocalMetadata { + get { return messageCase_ == MessageOneofCase.SetLocalMetadata ? (global::LiveKit.Proto.SetLocalMetadataRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalMetadata; + } + } + + /// Field number for the "set_local_name" field. + public const int SetLocalNameFieldNumber = 10; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalNameRequest SetLocalName { + get { return messageCase_ == MessageOneofCase.SetLocalName ? (global::LiveKit.Proto.SetLocalNameRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalName; + } + } + + /// Field number for the "set_local_attributes" field. + public const int SetLocalAttributesFieldNumber = 11; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalAttributesRequest SetLocalAttributes { + get { return messageCase_ == MessageOneofCase.SetLocalAttributes ? (global::LiveKit.Proto.SetLocalAttributesRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalAttributes; + } + } + + /// Field number for the "get_session_stats" field. + public const int GetSessionStatsFieldNumber = 12; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetSessionStatsRequest GetSessionStats { + get { return messageCase_ == MessageOneofCase.GetSessionStats ? (global::LiveKit.Proto.GetSessionStatsRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetSessionStats; + } + } + + /// Field number for the "publish_transcription" field. + public const int PublishTranscriptionFieldNumber = 13; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishTranscriptionRequest PublishTranscription { + get { return messageCase_ == MessageOneofCase.PublishTranscription ? (global::LiveKit.Proto.PublishTranscriptionRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishTranscription; + } + } + + /// Field number for the "publish_sip_dtmf" field. + public const int PublishSipDtmfFieldNumber = 14; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishSipDtmfRequest PublishSipDtmf { + get { return messageCase_ == MessageOneofCase.PublishSipDtmf ? (global::LiveKit.Proto.PublishSipDtmfRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishSipDtmf; + } + } + /// Field number for the "create_video_track" field. - public const int CreateVideoTrackFieldNumber = 7; + public const int CreateVideoTrackFieldNumber = 15; /// /// Track /// @@ -313,7 +754,7 @@ public FFIRequest Clone() { } /// Field number for the "create_audio_track" field. - public const int CreateAudioTrackFieldNumber = 8; + public const int CreateAudioTrackFieldNumber = 16; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.CreateAudioTrackRequest CreateAudioTrack { @@ -324,23 +765,59 @@ public FFIRequest Clone() { } } - /// Field number for the "alloc_video_buffer" field. - public const int AllocVideoBufferFieldNumber = 9; - /// - /// Video - /// + /// Field number for the "local_track_mute" field. + public const int LocalTrackMuteFieldNumber = 17; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LocalTrackMuteRequest LocalTrackMute { + get { return messageCase_ == MessageOneofCase.LocalTrackMute ? (global::LiveKit.Proto.LocalTrackMuteRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalTrackMute; + } + } + + /// Field number for the "enable_remote_track" field. + public const int EnableRemoteTrackFieldNumber = 18; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.EnableRemoteTrackRequest EnableRemoteTrack { + get { return messageCase_ == MessageOneofCase.EnableRemoteTrack ? (global::LiveKit.Proto.EnableRemoteTrackRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.EnableRemoteTrack; + } + } + + /// Field number for the "get_stats" field. + public const int GetStatsFieldNumber = 19; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetStatsRequest GetStats { + get { return messageCase_ == MessageOneofCase.GetStats ? (global::LiveKit.Proto.GetStatsRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetStats; + } + } + + /// Field number for the "set_track_subscription_permissions" field. + public const int SetTrackSubscriptionPermissionsFieldNumber = 48; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AllocVideoBufferRequest AllocVideoBuffer { - get { return messageCase_ == MessageOneofCase.AllocVideoBuffer ? (global::LiveKit.Proto.AllocVideoBufferRequest) message_ : null; } + public global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest SetTrackSubscriptionPermissions { + get { return messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions ? (global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest) message_ : null; } set { message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AllocVideoBuffer; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetTrackSubscriptionPermissions; } } /// Field number for the "new_video_stream" field. - public const int NewVideoStreamFieldNumber = 10; + public const int NewVideoStreamFieldNumber = 20; + /// + /// Video + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewVideoStreamRequest NewVideoStream { @@ -352,7 +829,7 @@ public FFIRequest Clone() { } /// Field number for the "new_video_source" field. - public const int NewVideoSourceFieldNumber = 11; + public const int NewVideoSourceFieldNumber = 21; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewVideoSourceRequest NewVideoSource { @@ -364,7 +841,7 @@ public FFIRequest Clone() { } /// Field number for the "capture_video_frame" field. - public const int CaptureVideoFrameFieldNumber = 12; + public const int CaptureVideoFrameFieldNumber = 22; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.CaptureVideoFrameRequest CaptureVideoFrame { @@ -375,49 +852,37 @@ public FFIRequest Clone() { } } - /// Field number for the "to_i420" field. - public const int ToI420FieldNumber = 13; + /// Field number for the "video_convert" field. + public const int VideoConvertFieldNumber = 23; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ToI420Request ToI420 { - get { return messageCase_ == MessageOneofCase.ToI420 ? (global::LiveKit.Proto.ToI420Request) message_ : null; } + public global::LiveKit.Proto.VideoConvertRequest VideoConvert { + get { return messageCase_ == MessageOneofCase.VideoConvert ? (global::LiveKit.Proto.VideoConvertRequest) message_ : null; } set { message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ToI420; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.VideoConvert; } } - /// Field number for the "to_argb" field. - public const int ToArgbFieldNumber = 14; + /// Field number for the "video_stream_from_participant" field. + public const int VideoStreamFromParticipantFieldNumber = 24; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ToARGBRequest ToArgb { - get { return messageCase_ == MessageOneofCase.ToArgb ? (global::LiveKit.Proto.ToARGBRequest) message_ : null; } + public global::LiveKit.Proto.VideoStreamFromParticipantRequest VideoStreamFromParticipant { + get { return messageCase_ == MessageOneofCase.VideoStreamFromParticipant ? (global::LiveKit.Proto.VideoStreamFromParticipantRequest) message_ : null; } set { message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ToArgb; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.VideoStreamFromParticipant; } } - /// Field number for the "alloc_audio_buffer" field. - public const int AllocAudioBufferFieldNumber = 15; + /// Field number for the "new_audio_stream" field. + public const int NewAudioStreamFieldNumber = 25; /// /// Audio /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AllocAudioBufferRequest AllocAudioBuffer { - get { return messageCase_ == MessageOneofCase.AllocAudioBuffer ? (global::LiveKit.Proto.AllocAudioBufferRequest) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AllocAudioBuffer; - } - } - - /// Field number for the "new_audio_stream" field. - public const int NewAudioStreamFieldNumber = 16; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewAudioStreamRequest NewAudioStream { get { return messageCase_ == MessageOneofCase.NewAudioStream ? (global::LiveKit.Proto.NewAudioStreamRequest) message_ : null; } set { @@ -427,7 +892,7 @@ public FFIRequest Clone() { } /// Field number for the "new_audio_source" field. - public const int NewAudioSourceFieldNumber = 17; + public const int NewAudioSourceFieldNumber = 26; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewAudioSourceRequest NewAudioSource { @@ -439,7 +904,7 @@ public FFIRequest Clone() { } /// Field number for the "capture_audio_frame" field. - public const int CaptureAudioFrameFieldNumber = 18; + public const int CaptureAudioFrameFieldNumber = 27; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.CaptureAudioFrameRequest CaptureAudioFrame { @@ -450,8 +915,20 @@ public FFIRequest Clone() { } } + /// Field number for the "clear_audio_buffer" field. + public const int ClearAudioBufferFieldNumber = 28; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ClearAudioBufferRequest ClearAudioBuffer { + get { return messageCase_ == MessageOneofCase.ClearAudioBuffer ? (global::LiveKit.Proto.ClearAudioBufferRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ClearAudioBuffer; + } + } + /// Field number for the "new_audio_resampler" field. - public const int NewAudioResamplerFieldNumber = 19; + public const int NewAudioResamplerFieldNumber = 29; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewAudioResamplerRequest NewAudioResampler { @@ -463,7 +940,7 @@ public FFIRequest Clone() { } /// Field number for the "remix_and_resample" field. - public const int RemixAndResampleFieldNumber = 20; + public const int RemixAndResampleFieldNumber = 30; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.RemixAndResampleRequest RemixAndResample { @@ -474,360 +951,1323 @@ public FFIRequest Clone() { } } - private object message_; - /// Enum of possible cases for the "message" oneof. - public enum MessageOneofCase { - None = 0, - Initialize = 1, - Dispose = 2, - Connect = 3, - Disconnect = 4, - PublishTrack = 5, - UnpublishTrack = 6, - CreateVideoTrack = 7, - CreateAudioTrack = 8, - AllocVideoBuffer = 9, - NewVideoStream = 10, - NewVideoSource = 11, - CaptureVideoFrame = 12, - ToI420 = 13, - ToArgb = 14, - AllocAudioBuffer = 15, - NewAudioStream = 16, - NewAudioSource = 17, - CaptureAudioFrame = 18, - NewAudioResampler = 19, - RemixAndResample = 20, + /// Field number for the "e2ee" field. + public const int E2EeFieldNumber = 31; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.E2eeRequest E2Ee { + get { return messageCase_ == MessageOneofCase.E2Ee ? (global::LiveKit.Proto.E2eeRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.E2Ee; + } } - private MessageOneofCase messageCase_ = MessageOneofCase.None; + + /// Field number for the "audio_stream_from_participant" field. + public const int AudioStreamFromParticipantFieldNumber = 32; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public MessageOneofCase MessageCase { - get { return messageCase_; } + public global::LiveKit.Proto.AudioStreamFromParticipantRequest AudioStreamFromParticipant { + get { return messageCase_ == MessageOneofCase.AudioStreamFromParticipant ? (global::LiveKit.Proto.AudioStreamFromParticipantRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AudioStreamFromParticipant; + } } + /// Field number for the "new_sox_resampler" field. + public const int NewSoxResamplerFieldNumber = 33; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearMessage() { - messageCase_ = MessageOneofCase.None; - message_ = null; + public global::LiveKit.Proto.NewSoxResamplerRequest NewSoxResampler { + get { return messageCase_ == MessageOneofCase.NewSoxResampler ? (global::LiveKit.Proto.NewSoxResamplerRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.NewSoxResampler; + } } + /// Field number for the "push_sox_resampler" field. + public const int PushSoxResamplerFieldNumber = 34; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as FFIRequest); + public global::LiveKit.Proto.PushSoxResamplerRequest PushSoxResampler { + get { return messageCase_ == MessageOneofCase.PushSoxResampler ? (global::LiveKit.Proto.PushSoxResamplerRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PushSoxResampler; + } } + /// Field number for the "flush_sox_resampler" field. + public const int FlushSoxResamplerFieldNumber = 35; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FFIRequest other) { - if (ReferenceEquals(other, null)) { - return false; + public global::LiveKit.Proto.FlushSoxResamplerRequest FlushSoxResampler { + get { return messageCase_ == MessageOneofCase.FlushSoxResampler ? (global::LiveKit.Proto.FlushSoxResamplerRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.FlushSoxResampler; } - if (ReferenceEquals(other, this)) { - return true; + } + + /// Field number for the "send_chat_message" field. + public const int SendChatMessageFieldNumber = 36; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendChatMessageRequest SendChatMessage { + get { return messageCase_ == MessageOneofCase.SendChatMessage ? (global::LiveKit.Proto.SendChatMessageRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendChatMessage; } - if (!object.Equals(Initialize, other.Initialize)) return false; - if (!object.Equals(Dispose, other.Dispose)) return false; - if (!object.Equals(Connect, other.Connect)) return false; - if (!object.Equals(Disconnect, other.Disconnect)) return false; - if (!object.Equals(PublishTrack, other.PublishTrack)) return false; - if (!object.Equals(UnpublishTrack, other.UnpublishTrack)) return false; - if (!object.Equals(CreateVideoTrack, other.CreateVideoTrack)) return false; - if (!object.Equals(CreateAudioTrack, other.CreateAudioTrack)) return false; - if (!object.Equals(AllocVideoBuffer, other.AllocVideoBuffer)) return false; - if (!object.Equals(NewVideoStream, other.NewVideoStream)) return false; - if (!object.Equals(NewVideoSource, other.NewVideoSource)) return false; - if (!object.Equals(CaptureVideoFrame, other.CaptureVideoFrame)) return false; - if (!object.Equals(ToI420, other.ToI420)) return false; - if (!object.Equals(ToArgb, other.ToArgb)) return false; - if (!object.Equals(AllocAudioBuffer, other.AllocAudioBuffer)) return false; - if (!object.Equals(NewAudioStream, other.NewAudioStream)) return false; - if (!object.Equals(NewAudioSource, other.NewAudioSource)) return false; - if (!object.Equals(CaptureAudioFrame, other.CaptureAudioFrame)) return false; - if (!object.Equals(NewAudioResampler, other.NewAudioResampler)) return false; - if (!object.Equals(RemixAndResample, other.RemixAndResample)) return false; - if (MessageCase != other.MessageCase) return false; - return Equals(_unknownFields, other._unknownFields); } + /// Field number for the "edit_chat_message" field. + public const int EditChatMessageFieldNumber = 37; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (messageCase_ == MessageOneofCase.Initialize) hash ^= Initialize.GetHashCode(); - if (messageCase_ == MessageOneofCase.Dispose) hash ^= Dispose.GetHashCode(); - if (messageCase_ == MessageOneofCase.Connect) hash ^= Connect.GetHashCode(); - if (messageCase_ == MessageOneofCase.Disconnect) hash ^= Disconnect.GetHashCode(); - if (messageCase_ == MessageOneofCase.PublishTrack) hash ^= PublishTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.UnpublishTrack) hash ^= UnpublishTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.CreateVideoTrack) hash ^= CreateVideoTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.CreateAudioTrack) hash ^= CreateAudioTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) hash ^= AllocVideoBuffer.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewVideoStream) hash ^= NewVideoStream.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewVideoSource) hash ^= NewVideoSource.GetHashCode(); - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) hash ^= CaptureVideoFrame.GetHashCode(); - if (messageCase_ == MessageOneofCase.ToI420) hash ^= ToI420.GetHashCode(); - if (messageCase_ == MessageOneofCase.ToArgb) hash ^= ToArgb.GetHashCode(); - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) hash ^= AllocAudioBuffer.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewAudioStream) hash ^= NewAudioStream.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewAudioSource) hash ^= NewAudioSource.GetHashCode(); - if (messageCase_ == MessageOneofCase.CaptureAudioFrame) hash ^= CaptureAudioFrame.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewAudioResampler) hash ^= NewAudioResampler.GetHashCode(); - if (messageCase_ == MessageOneofCase.RemixAndResample) hash ^= RemixAndResample.GetHashCode(); - hash ^= (int) messageCase_; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); + public global::LiveKit.Proto.EditChatMessageRequest EditChatMessage { + get { return messageCase_ == MessageOneofCase.EditChatMessage ? (global::LiveKit.Proto.EditChatMessageRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.EditChatMessage; } - return hash; } + /// Field number for the "perform_rpc" field. + public const int PerformRpcFieldNumber = 38; + /// + /// RPC + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); + public global::LiveKit.Proto.PerformRpcRequest PerformRpc { + get { return messageCase_ == MessageOneofCase.PerformRpc ? (global::LiveKit.Proto.PerformRpcRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PerformRpc; + } } + /// Field number for the "register_rpc_method" field. + public const int RegisterRpcMethodFieldNumber = 39; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (messageCase_ == MessageOneofCase.Initialize) { - output.WriteRawTag(10); - output.WriteMessage(Initialize); + public global::LiveKit.Proto.RegisterRpcMethodRequest RegisterRpcMethod { + get { return messageCase_ == MessageOneofCase.RegisterRpcMethod ? (global::LiveKit.Proto.RegisterRpcMethodRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RegisterRpcMethod; } - if (messageCase_ == MessageOneofCase.Dispose) { - output.WriteRawTag(18); - output.WriteMessage(Dispose); - } - if (messageCase_ == MessageOneofCase.Connect) { - output.WriteRawTag(26); - output.WriteMessage(Connect); - } - if (messageCase_ == MessageOneofCase.Disconnect) { - output.WriteRawTag(34); - output.WriteMessage(Disconnect); - } - if (messageCase_ == MessageOneofCase.PublishTrack) { - output.WriteRawTag(42); - output.WriteMessage(PublishTrack); - } - if (messageCase_ == MessageOneofCase.UnpublishTrack) { - output.WriteRawTag(50); - output.WriteMessage(UnpublishTrack); - } - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - output.WriteRawTag(58); - output.WriteMessage(CreateVideoTrack); - } - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - output.WriteRawTag(66); - output.WriteMessage(CreateAudioTrack); - } - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - output.WriteRawTag(74); - output.WriteMessage(AllocVideoBuffer); + } + + /// Field number for the "unregister_rpc_method" field. + public const int UnregisterRpcMethodFieldNumber = 40; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.UnregisterRpcMethodRequest UnregisterRpcMethod { + get { return messageCase_ == MessageOneofCase.UnregisterRpcMethod ? (global::LiveKit.Proto.UnregisterRpcMethodRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.UnregisterRpcMethod; } - if (messageCase_ == MessageOneofCase.NewVideoStream) { - output.WriteRawTag(82); - output.WriteMessage(NewVideoStream); + } + + /// Field number for the "rpc_method_invocation_response" field. + public const int RpcMethodInvocationResponseFieldNumber = 41; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RpcMethodInvocationResponseRequest RpcMethodInvocationResponse { + get { return messageCase_ == MessageOneofCase.RpcMethodInvocationResponse ? (global::LiveKit.Proto.RpcMethodInvocationResponseRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RpcMethodInvocationResponse; } - if (messageCase_ == MessageOneofCase.NewVideoSource) { - output.WriteRawTag(90); - output.WriteMessage(NewVideoSource); + } + + /// Field number for the "enable_remote_track_publication" field. + public const int EnableRemoteTrackPublicationFieldNumber = 42; + /// + /// Track Publication + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.EnableRemoteTrackPublicationRequest EnableRemoteTrackPublication { + get { return messageCase_ == MessageOneofCase.EnableRemoteTrackPublication ? (global::LiveKit.Proto.EnableRemoteTrackPublicationRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.EnableRemoteTrackPublication; } - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - output.WriteRawTag(98); - output.WriteMessage(CaptureVideoFrame); + } + + /// Field number for the "update_remote_track_publication_dimension" field. + public const int UpdateRemoteTrackPublicationDimensionFieldNumber = 43; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest UpdateRemoteTrackPublicationDimension { + get { return messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension ? (global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.UpdateRemoteTrackPublicationDimension; } - if (messageCase_ == MessageOneofCase.ToI420) { - output.WriteRawTag(106); - output.WriteMessage(ToI420); + } + + /// Field number for the "send_stream_header" field. + public const int SendStreamHeaderFieldNumber = 44; + /// + /// Data Streams (low level) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamHeaderRequest SendStreamHeader { + get { return messageCase_ == MessageOneofCase.SendStreamHeader ? (global::LiveKit.Proto.SendStreamHeaderRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamHeader; } - if (messageCase_ == MessageOneofCase.ToArgb) { - output.WriteRawTag(114); - output.WriteMessage(ToArgb); + } + + /// Field number for the "send_stream_chunk" field. + public const int SendStreamChunkFieldNumber = 45; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamChunkRequest SendStreamChunk { + get { return messageCase_ == MessageOneofCase.SendStreamChunk ? (global::LiveKit.Proto.SendStreamChunkRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamChunk; } - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - output.WriteRawTag(122); - output.WriteMessage(AllocAudioBuffer); + } + + /// Field number for the "send_stream_trailer" field. + public const int SendStreamTrailerFieldNumber = 46; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamTrailerRequest SendStreamTrailer { + get { return messageCase_ == MessageOneofCase.SendStreamTrailer ? (global::LiveKit.Proto.SendStreamTrailerRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamTrailer; } - if (messageCase_ == MessageOneofCase.NewAudioStream) { - output.WriteRawTag(130, 1); - output.WriteMessage(NewAudioStream); + } + + /// Field number for the "set_data_channel_buffered_amount_low_threshold" field. + public const int SetDataChannelBufferedAmountLowThresholdFieldNumber = 47; + /// + /// Data Channel + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest SetDataChannelBufferedAmountLowThreshold { + get { return messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold ? (global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetDataChannelBufferedAmountLowThreshold; } - if (messageCase_ == MessageOneofCase.NewAudioSource) { - output.WriteRawTag(138, 1); - output.WriteMessage(NewAudioSource); + } + + /// Field number for the "load_audio_filter_plugin" field. + public const int LoadAudioFilterPluginFieldNumber = 49; + /// + /// Audio Filter Plugin + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LoadAudioFilterPluginRequest LoadAudioFilterPlugin { + get { return messageCase_ == MessageOneofCase.LoadAudioFilterPlugin ? (global::LiveKit.Proto.LoadAudioFilterPluginRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LoadAudioFilterPlugin; } - if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - output.WriteRawTag(146, 1); - output.WriteMessage(CaptureAudioFrame); + } + + /// Field number for the "new_apm" field. + public const int NewApmFieldNumber = 50; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.NewApmRequest NewApm { + get { return messageCase_ == MessageOneofCase.NewApm ? (global::LiveKit.Proto.NewApmRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.NewApm; } - if (messageCase_ == MessageOneofCase.NewAudioResampler) { - output.WriteRawTag(154, 1); - output.WriteMessage(NewAudioResampler); + } + + /// Field number for the "apm_process_stream" field. + public const int ApmProcessStreamFieldNumber = 51; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ApmProcessStreamRequest ApmProcessStream { + get { return messageCase_ == MessageOneofCase.ApmProcessStream ? (global::LiveKit.Proto.ApmProcessStreamRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ApmProcessStream; } - if (messageCase_ == MessageOneofCase.RemixAndResample) { - output.WriteRawTag(162, 1); - output.WriteMessage(RemixAndResample); + } + + /// Field number for the "apm_process_reverse_stream" field. + public const int ApmProcessReverseStreamFieldNumber = 52; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ApmProcessReverseStreamRequest ApmProcessReverseStream { + get { return messageCase_ == MessageOneofCase.ApmProcessReverseStream ? (global::LiveKit.Proto.ApmProcessReverseStreamRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ApmProcessReverseStream; } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); + } + + /// Field number for the "apm_set_stream_delay" field. + public const int ApmSetStreamDelayFieldNumber = 53; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ApmSetStreamDelayRequest ApmSetStreamDelay { + get { return messageCase_ == MessageOneofCase.ApmSetStreamDelay ? (global::LiveKit.Proto.ApmSetStreamDelayRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ApmSetStreamDelay; } - #endif } - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + /// Field number for the "byte_read_incremental" field. + public const int ByteReadIncrementalFieldNumber = 54; + /// + /// Data Streams (high level) + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (messageCase_ == MessageOneofCase.Initialize) { - output.WriteRawTag(10); - output.WriteMessage(Initialize); + public global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest ByteReadIncremental { + get { return messageCase_ == MessageOneofCase.ByteReadIncremental ? (global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteReadIncremental; } - if (messageCase_ == MessageOneofCase.Dispose) { - output.WriteRawTag(18); - output.WriteMessage(Dispose); + } + + /// Field number for the "byte_read_all" field. + public const int ByteReadAllFieldNumber = 55; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderReadAllRequest ByteReadAll { + get { return messageCase_ == MessageOneofCase.ByteReadAll ? (global::LiveKit.Proto.ByteStreamReaderReadAllRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteReadAll; } - if (messageCase_ == MessageOneofCase.Connect) { - output.WriteRawTag(26); - output.WriteMessage(Connect); + } + + /// Field number for the "byte_write_to_file" field. + public const int ByteWriteToFileFieldNumber = 56; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest ByteWriteToFile { + get { return messageCase_ == MessageOneofCase.ByteWriteToFile ? (global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteWriteToFile; } - if (messageCase_ == MessageOneofCase.Disconnect) { - output.WriteRawTag(34); - output.WriteMessage(Disconnect); + } + + /// Field number for the "text_read_incremental" field. + public const int TextReadIncrementalFieldNumber = 57; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest TextReadIncremental { + get { return messageCase_ == MessageOneofCase.TextReadIncremental ? (global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextReadIncremental; } - if (messageCase_ == MessageOneofCase.PublishTrack) { - output.WriteRawTag(42); - output.WriteMessage(PublishTrack); + } + + /// Field number for the "text_read_all" field. + public const int TextReadAllFieldNumber = 58; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderReadAllRequest TextReadAll { + get { return messageCase_ == MessageOneofCase.TextReadAll ? (global::LiveKit.Proto.TextStreamReaderReadAllRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextReadAll; } - if (messageCase_ == MessageOneofCase.UnpublishTrack) { - output.WriteRawTag(50); - output.WriteMessage(UnpublishTrack); + } + + /// Field number for the "send_file" field. + public const int SendFileFieldNumber = 59; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamSendFileRequest SendFile { + get { return messageCase_ == MessageOneofCase.SendFile ? (global::LiveKit.Proto.StreamSendFileRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendFile; } - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - output.WriteRawTag(58); - output.WriteMessage(CreateVideoTrack); + } + + /// Field number for the "send_text" field. + public const int SendTextFieldNumber = 60; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamSendTextRequest SendText { + get { return messageCase_ == MessageOneofCase.SendText ? (global::LiveKit.Proto.StreamSendTextRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendText; } - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - output.WriteRawTag(66); - output.WriteMessage(CreateAudioTrack); + } + + /// Field number for the "byte_stream_open" field. + public const int ByteStreamOpenFieldNumber = 61; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamOpenRequest ByteStreamOpen { + get { return messageCase_ == MessageOneofCase.ByteStreamOpen ? (global::LiveKit.Proto.ByteStreamOpenRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamOpen; } - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - output.WriteRawTag(74); - output.WriteMessage(AllocVideoBuffer); + } + + /// Field number for the "byte_stream_write" field. + public const int ByteStreamWriteFieldNumber = 62; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamWriterWriteRequest ByteStreamWrite { + get { return messageCase_ == MessageOneofCase.ByteStreamWrite ? (global::LiveKit.Proto.ByteStreamWriterWriteRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamWrite; } - if (messageCase_ == MessageOneofCase.NewVideoStream) { - output.WriteRawTag(82); - output.WriteMessage(NewVideoStream); + } + + /// Field number for the "byte_stream_close" field. + public const int ByteStreamCloseFieldNumber = 63; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamWriterCloseRequest ByteStreamClose { + get { return messageCase_ == MessageOneofCase.ByteStreamClose ? (global::LiveKit.Proto.ByteStreamWriterCloseRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamClose; } - if (messageCase_ == MessageOneofCase.NewVideoSource) { - output.WriteRawTag(90); - output.WriteMessage(NewVideoSource); + } + + /// Field number for the "text_stream_open" field. + public const int TextStreamOpenFieldNumber = 64; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamOpenRequest TextStreamOpen { + get { return messageCase_ == MessageOneofCase.TextStreamOpen ? (global::LiveKit.Proto.TextStreamOpenRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamOpen; } - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - output.WriteRawTag(98); - output.WriteMessage(CaptureVideoFrame); + } + + /// Field number for the "text_stream_write" field. + public const int TextStreamWriteFieldNumber = 65; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamWriterWriteRequest TextStreamWrite { + get { return messageCase_ == MessageOneofCase.TextStreamWrite ? (global::LiveKit.Proto.TextStreamWriterWriteRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamWrite; } - if (messageCase_ == MessageOneofCase.ToI420) { - output.WriteRawTag(106); - output.WriteMessage(ToI420); + } + + /// Field number for the "text_stream_close" field. + public const int TextStreamCloseFieldNumber = 66; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamWriterCloseRequest TextStreamClose { + get { return messageCase_ == MessageOneofCase.TextStreamClose ? (global::LiveKit.Proto.TextStreamWriterCloseRequest) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamClose; } - if (messageCase_ == MessageOneofCase.ToArgb) { + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Dispose = 2, + Connect = 3, + Disconnect = 4, + PublishTrack = 5, + UnpublishTrack = 6, + PublishData = 7, + SetSubscribed = 8, + SetLocalMetadata = 9, + SetLocalName = 10, + SetLocalAttributes = 11, + GetSessionStats = 12, + PublishTranscription = 13, + PublishSipDtmf = 14, + CreateVideoTrack = 15, + CreateAudioTrack = 16, + LocalTrackMute = 17, + EnableRemoteTrack = 18, + GetStats = 19, + SetTrackSubscriptionPermissions = 48, + NewVideoStream = 20, + NewVideoSource = 21, + CaptureVideoFrame = 22, + VideoConvert = 23, + VideoStreamFromParticipant = 24, + NewAudioStream = 25, + NewAudioSource = 26, + CaptureAudioFrame = 27, + ClearAudioBuffer = 28, + NewAudioResampler = 29, + RemixAndResample = 30, + E2Ee = 31, + AudioStreamFromParticipant = 32, + NewSoxResampler = 33, + PushSoxResampler = 34, + FlushSoxResampler = 35, + SendChatMessage = 36, + EditChatMessage = 37, + PerformRpc = 38, + RegisterRpcMethod = 39, + UnregisterRpcMethod = 40, + RpcMethodInvocationResponse = 41, + EnableRemoteTrackPublication = 42, + UpdateRemoteTrackPublicationDimension = 43, + SendStreamHeader = 44, + SendStreamChunk = 45, + SendStreamTrailer = 46, + SetDataChannelBufferedAmountLowThreshold = 47, + LoadAudioFilterPlugin = 49, + NewApm = 50, + ApmProcessStream = 51, + ApmProcessReverseStream = 52, + ApmSetStreamDelay = 53, + ByteReadIncremental = 54, + ByteReadAll = 55, + ByteWriteToFile = 56, + TextReadIncremental = 57, + TextReadAll = 58, + SendFile = 59, + SendText = 60, + ByteStreamOpen = 61, + ByteStreamWrite = 62, + ByteStreamClose = 63, + TextStreamOpen = 64, + TextStreamWrite = 65, + TextStreamClose = 66, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FfiRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FfiRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Dispose, other.Dispose)) return false; + if (!object.Equals(Connect, other.Connect)) return false; + if (!object.Equals(Disconnect, other.Disconnect)) return false; + if (!object.Equals(PublishTrack, other.PublishTrack)) return false; + if (!object.Equals(UnpublishTrack, other.UnpublishTrack)) return false; + if (!object.Equals(PublishData, other.PublishData)) return false; + if (!object.Equals(SetSubscribed, other.SetSubscribed)) return false; + if (!object.Equals(SetLocalMetadata, other.SetLocalMetadata)) return false; + if (!object.Equals(SetLocalName, other.SetLocalName)) return false; + if (!object.Equals(SetLocalAttributes, other.SetLocalAttributes)) return false; + if (!object.Equals(GetSessionStats, other.GetSessionStats)) return false; + if (!object.Equals(PublishTranscription, other.PublishTranscription)) return false; + if (!object.Equals(PublishSipDtmf, other.PublishSipDtmf)) return false; + if (!object.Equals(CreateVideoTrack, other.CreateVideoTrack)) return false; + if (!object.Equals(CreateAudioTrack, other.CreateAudioTrack)) return false; + if (!object.Equals(LocalTrackMute, other.LocalTrackMute)) return false; + if (!object.Equals(EnableRemoteTrack, other.EnableRemoteTrack)) return false; + if (!object.Equals(GetStats, other.GetStats)) return false; + if (!object.Equals(SetTrackSubscriptionPermissions, other.SetTrackSubscriptionPermissions)) return false; + if (!object.Equals(NewVideoStream, other.NewVideoStream)) return false; + if (!object.Equals(NewVideoSource, other.NewVideoSource)) return false; + if (!object.Equals(CaptureVideoFrame, other.CaptureVideoFrame)) return false; + if (!object.Equals(VideoConvert, other.VideoConvert)) return false; + if (!object.Equals(VideoStreamFromParticipant, other.VideoStreamFromParticipant)) return false; + if (!object.Equals(NewAudioStream, other.NewAudioStream)) return false; + if (!object.Equals(NewAudioSource, other.NewAudioSource)) return false; + if (!object.Equals(CaptureAudioFrame, other.CaptureAudioFrame)) return false; + if (!object.Equals(ClearAudioBuffer, other.ClearAudioBuffer)) return false; + if (!object.Equals(NewAudioResampler, other.NewAudioResampler)) return false; + if (!object.Equals(RemixAndResample, other.RemixAndResample)) return false; + if (!object.Equals(E2Ee, other.E2Ee)) return false; + if (!object.Equals(AudioStreamFromParticipant, other.AudioStreamFromParticipant)) return false; + if (!object.Equals(NewSoxResampler, other.NewSoxResampler)) return false; + if (!object.Equals(PushSoxResampler, other.PushSoxResampler)) return false; + if (!object.Equals(FlushSoxResampler, other.FlushSoxResampler)) return false; + if (!object.Equals(SendChatMessage, other.SendChatMessage)) return false; + if (!object.Equals(EditChatMessage, other.EditChatMessage)) return false; + if (!object.Equals(PerformRpc, other.PerformRpc)) return false; + if (!object.Equals(RegisterRpcMethod, other.RegisterRpcMethod)) return false; + if (!object.Equals(UnregisterRpcMethod, other.UnregisterRpcMethod)) return false; + if (!object.Equals(RpcMethodInvocationResponse, other.RpcMethodInvocationResponse)) return false; + if (!object.Equals(EnableRemoteTrackPublication, other.EnableRemoteTrackPublication)) return false; + if (!object.Equals(UpdateRemoteTrackPublicationDimension, other.UpdateRemoteTrackPublicationDimension)) return false; + if (!object.Equals(SendStreamHeader, other.SendStreamHeader)) return false; + if (!object.Equals(SendStreamChunk, other.SendStreamChunk)) return false; + if (!object.Equals(SendStreamTrailer, other.SendStreamTrailer)) return false; + if (!object.Equals(SetDataChannelBufferedAmountLowThreshold, other.SetDataChannelBufferedAmountLowThreshold)) return false; + if (!object.Equals(LoadAudioFilterPlugin, other.LoadAudioFilterPlugin)) return false; + if (!object.Equals(NewApm, other.NewApm)) return false; + if (!object.Equals(ApmProcessStream, other.ApmProcessStream)) return false; + if (!object.Equals(ApmProcessReverseStream, other.ApmProcessReverseStream)) return false; + if (!object.Equals(ApmSetStreamDelay, other.ApmSetStreamDelay)) return false; + if (!object.Equals(ByteReadIncremental, other.ByteReadIncremental)) return false; + if (!object.Equals(ByteReadAll, other.ByteReadAll)) return false; + if (!object.Equals(ByteWriteToFile, other.ByteWriteToFile)) return false; + if (!object.Equals(TextReadIncremental, other.TextReadIncremental)) return false; + if (!object.Equals(TextReadAll, other.TextReadAll)) return false; + if (!object.Equals(SendFile, other.SendFile)) return false; + if (!object.Equals(SendText, other.SendText)) return false; + if (!object.Equals(ByteStreamOpen, other.ByteStreamOpen)) return false; + if (!object.Equals(ByteStreamWrite, other.ByteStreamWrite)) return false; + if (!object.Equals(ByteStreamClose, other.ByteStreamClose)) return false; + if (!object.Equals(TextStreamOpen, other.TextStreamOpen)) return false; + if (!object.Equals(TextStreamWrite, other.TextStreamWrite)) return false; + if (!object.Equals(TextStreamClose, other.TextStreamClose)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (messageCase_ == MessageOneofCase.Dispose) hash ^= Dispose.GetHashCode(); + if (messageCase_ == MessageOneofCase.Connect) hash ^= Connect.GetHashCode(); + if (messageCase_ == MessageOneofCase.Disconnect) hash ^= Disconnect.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishTrack) hash ^= PublishTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.UnpublishTrack) hash ^= UnpublishTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishData) hash ^= PublishData.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetSubscribed) hash ^= SetSubscribed.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) hash ^= SetLocalMetadata.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalName) hash ^= SetLocalName.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) hash ^= SetLocalAttributes.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetSessionStats) hash ^= GetSessionStats.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishTranscription) hash ^= PublishTranscription.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) hash ^= PublishSipDtmf.GetHashCode(); + if (messageCase_ == MessageOneofCase.CreateVideoTrack) hash ^= CreateVideoTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.CreateAudioTrack) hash ^= CreateAudioTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.LocalTrackMute) hash ^= LocalTrackMute.GetHashCode(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) hash ^= EnableRemoteTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetStats) hash ^= GetStats.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) hash ^= SetTrackSubscriptionPermissions.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewVideoStream) hash ^= NewVideoStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewVideoSource) hash ^= NewVideoSource.GetHashCode(); + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) hash ^= CaptureVideoFrame.GetHashCode(); + if (messageCase_ == MessageOneofCase.VideoConvert) hash ^= VideoConvert.GetHashCode(); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) hash ^= VideoStreamFromParticipant.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewAudioStream) hash ^= NewAudioStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewAudioSource) hash ^= NewAudioSource.GetHashCode(); + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) hash ^= CaptureAudioFrame.GetHashCode(); + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) hash ^= ClearAudioBuffer.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewAudioResampler) hash ^= NewAudioResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.RemixAndResample) hash ^= RemixAndResample.GetHashCode(); + if (messageCase_ == MessageOneofCase.E2Ee) hash ^= E2Ee.GetHashCode(); + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) hash ^= AudioStreamFromParticipant.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewSoxResampler) hash ^= NewSoxResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.PushSoxResampler) hash ^= PushSoxResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.FlushSoxResampler) hash ^= FlushSoxResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendChatMessage) hash ^= SendChatMessage.GetHashCode(); + if (messageCase_ == MessageOneofCase.EditChatMessage) hash ^= EditChatMessage.GetHashCode(); + if (messageCase_ == MessageOneofCase.PerformRpc) hash ^= PerformRpc.GetHashCode(); + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) hash ^= RegisterRpcMethod.GetHashCode(); + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) hash ^= UnregisterRpcMethod.GetHashCode(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) hash ^= RpcMethodInvocationResponse.GetHashCode(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) hash ^= EnableRemoteTrackPublication.GetHashCode(); + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) hash ^= UpdateRemoteTrackPublicationDimension.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) hash ^= SendStreamHeader.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) hash ^= SendStreamChunk.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) hash ^= SendStreamTrailer.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) hash ^= SetDataChannelBufferedAmountLowThreshold.GetHashCode(); + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) hash ^= LoadAudioFilterPlugin.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewApm) hash ^= NewApm.GetHashCode(); + if (messageCase_ == MessageOneofCase.ApmProcessStream) hash ^= ApmProcessStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) hash ^= ApmProcessReverseStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) hash ^= ApmSetStreamDelay.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteReadIncremental) hash ^= ByteReadIncremental.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteReadAll) hash ^= ByteReadAll.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteWriteToFile) hash ^= ByteWriteToFile.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextReadIncremental) hash ^= TextReadIncremental.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextReadAll) hash ^= TextReadAll.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendFile) hash ^= SendFile.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendText) hash ^= SendText.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) hash ^= ByteStreamOpen.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamWrite) hash ^= ByteStreamWrite.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamClose) hash ^= ByteStreamClose.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) hash ^= TextStreamOpen.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamWrite) hash ^= TextStreamWrite.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamClose) hash ^= TextStreamClose.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (messageCase_ == MessageOneofCase.Dispose) { + output.WriteRawTag(18); + output.WriteMessage(Dispose); + } + if (messageCase_ == MessageOneofCase.Connect) { + output.WriteRawTag(26); + output.WriteMessage(Connect); + } + if (messageCase_ == MessageOneofCase.Disconnect) { + output.WriteRawTag(34); + output.WriteMessage(Disconnect); + } + if (messageCase_ == MessageOneofCase.PublishTrack) { + output.WriteRawTag(42); + output.WriteMessage(PublishTrack); + } + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + output.WriteRawTag(50); + output.WriteMessage(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + output.WriteRawTag(58); + output.WriteMessage(PublishData); + } + if (messageCase_ == MessageOneofCase.SetSubscribed) { + output.WriteRawTag(66); + output.WriteMessage(SetSubscribed); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + output.WriteRawTag(74); + output.WriteMessage(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + output.WriteRawTag(82); + output.WriteMessage(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + output.WriteRawTag(90); + output.WriteMessage(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + output.WriteRawTag(98); + output.WriteMessage(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + output.WriteRawTag(106); + output.WriteMessage(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { output.WriteRawTag(114); - output.WriteMessage(ToArgb); + output.WriteMessage(PublishSipDtmf); } - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { output.WriteRawTag(122); - output.WriteMessage(AllocAudioBuffer); + output.WriteMessage(CreateVideoTrack); } - if (messageCase_ == MessageOneofCase.NewAudioStream) { + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { output.WriteRawTag(130, 1); + output.WriteMessage(CreateAudioTrack); + } + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + output.WriteRawTag(138, 1); + output.WriteMessage(LocalTrackMute); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + output.WriteRawTag(146, 1); + output.WriteMessage(EnableRemoteTrack); + } + if (messageCase_ == MessageOneofCase.GetStats) { + output.WriteRawTag(154, 1); + output.WriteMessage(GetStats); + } + if (messageCase_ == MessageOneofCase.NewVideoStream) { + output.WriteRawTag(162, 1); + output.WriteMessage(NewVideoStream); + } + if (messageCase_ == MessageOneofCase.NewVideoSource) { + output.WriteRawTag(170, 1); + output.WriteMessage(NewVideoSource); + } + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + output.WriteRawTag(178, 1); + output.WriteMessage(CaptureVideoFrame); + } + if (messageCase_ == MessageOneofCase.VideoConvert) { + output.WriteRawTag(186, 1); + output.WriteMessage(VideoConvert); + } + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + output.WriteRawTag(194, 1); + output.WriteMessage(VideoStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.NewAudioStream) { + output.WriteRawTag(202, 1); output.WriteMessage(NewAudioStream); } if (messageCase_ == MessageOneofCase.NewAudioSource) { - output.WriteRawTag(138, 1); + output.WriteRawTag(210, 1); output.WriteMessage(NewAudioSource); } if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - output.WriteRawTag(146, 1); + output.WriteRawTag(218, 1); output.WriteMessage(CaptureAudioFrame); } + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + output.WriteRawTag(226, 1); + output.WriteMessage(ClearAudioBuffer); + } if (messageCase_ == MessageOneofCase.NewAudioResampler) { - output.WriteRawTag(154, 1); + output.WriteRawTag(234, 1); output.WriteMessage(NewAudioResampler); } if (messageCase_ == MessageOneofCase.RemixAndResample) { - output.WriteRawTag(162, 1); + output.WriteRawTag(242, 1); output.WriteMessage(RemixAndResample); } + if (messageCase_ == MessageOneofCase.E2Ee) { + output.WriteRawTag(250, 1); + output.WriteMessage(E2Ee); + } + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + output.WriteRawTag(130, 2); + output.WriteMessage(AudioStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + output.WriteRawTag(138, 2); + output.WriteMessage(NewSoxResampler); + } + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + output.WriteRawTag(146, 2); + output.WriteMessage(PushSoxResampler); + } + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + output.WriteRawTag(154, 2); + output.WriteMessage(FlushSoxResampler); + } + if (messageCase_ == MessageOneofCase.SendChatMessage) { + output.WriteRawTag(162, 2); + output.WriteMessage(SendChatMessage); + } + if (messageCase_ == MessageOneofCase.EditChatMessage) { + output.WriteRawTag(170, 2); + output.WriteMessage(EditChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + output.WriteRawTag(178, 2); + output.WriteMessage(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + output.WriteRawTag(186, 2); + output.WriteMessage(RegisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + output.WriteRawTag(194, 2); + output.WriteMessage(UnregisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + output.WriteRawTag(202, 2); + output.WriteMessage(RpcMethodInvocationResponse); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + output.WriteRawTag(210, 2); + output.WriteMessage(EnableRemoteTrackPublication); + } + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + output.WriteRawTag(218, 2); + output.WriteMessage(UpdateRemoteTrackPublicationDimension); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + output.WriteRawTag(226, 2); + output.WriteMessage(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + output.WriteRawTag(234, 2); + output.WriteMessage(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + output.WriteRawTag(242, 2); + output.WriteMessage(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + output.WriteRawTag(250, 2); + output.WriteMessage(SetDataChannelBufferedAmountLowThreshold); + } + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + output.WriteRawTag(130, 3); + output.WriteMessage(SetTrackSubscriptionPermissions); + } + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + output.WriteRawTag(138, 3); + output.WriteMessage(LoadAudioFilterPlugin); + } + if (messageCase_ == MessageOneofCase.NewApm) { + output.WriteRawTag(146, 3); + output.WriteMessage(NewApm); + } + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + output.WriteRawTag(154, 3); + output.WriteMessage(ApmProcessStream); + } + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + output.WriteRawTag(162, 3); + output.WriteMessage(ApmProcessReverseStream); + } + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + output.WriteRawTag(170, 3); + output.WriteMessage(ApmSetStreamDelay); + } + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + output.WriteRawTag(178, 3); + output.WriteMessage(ByteReadIncremental); + } + if (messageCase_ == MessageOneofCase.ByteReadAll) { + output.WriteRawTag(186, 3); + output.WriteMessage(ByteReadAll); + } + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + output.WriteRawTag(194, 3); + output.WriteMessage(ByteWriteToFile); + } + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + output.WriteRawTag(202, 3); + output.WriteMessage(TextReadIncremental); + } + if (messageCase_ == MessageOneofCase.TextReadAll) { + output.WriteRawTag(210, 3); + output.WriteMessage(TextReadAll); + } + if (messageCase_ == MessageOneofCase.SendFile) { + output.WriteRawTag(218, 3); + output.WriteMessage(SendFile); + } + if (messageCase_ == MessageOneofCase.SendText) { + output.WriteRawTag(226, 3); + output.WriteMessage(SendText); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + output.WriteRawTag(234, 3); + output.WriteMessage(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + output.WriteRawTag(242, 3); + output.WriteMessage(ByteStreamWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + output.WriteRawTag(250, 3); + output.WriteMessage(ByteStreamClose); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + output.WriteRawTag(130, 4); + output.WriteMessage(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + output.WriteRawTag(138, 4); + output.WriteMessage(TextStreamWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamClose) { + output.WriteRawTag(146, 4); + output.WriteMessage(TextStreamClose); + } if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); + _unknownFields.WriteTo(output); } - } #endif + } + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (messageCase_ == MessageOneofCase.Initialize) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Initialize); - } + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (messageCase_ == MessageOneofCase.Dispose) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dispose); + output.WriteRawTag(18); + output.WriteMessage(Dispose); } if (messageCase_ == MessageOneofCase.Connect) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Connect); + output.WriteRawTag(26); + output.WriteMessage(Connect); } if (messageCase_ == MessageOneofCase.Disconnect) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Disconnect); + output.WriteRawTag(34); + output.WriteMessage(Disconnect); } if (messageCase_ == MessageOneofCase.PublishTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTrack); + output.WriteRawTag(42); + output.WriteMessage(PublishTrack); } if (messageCase_ == MessageOneofCase.UnpublishTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(UnpublishTrack); + output.WriteRawTag(50); + output.WriteMessage(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + output.WriteRawTag(58); + output.WriteMessage(PublishData); + } + if (messageCase_ == MessageOneofCase.SetSubscribed) { + output.WriteRawTag(66); + output.WriteMessage(SetSubscribed); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + output.WriteRawTag(74); + output.WriteMessage(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + output.WriteRawTag(82); + output.WriteMessage(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + output.WriteRawTag(90); + output.WriteMessage(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + output.WriteRawTag(98); + output.WriteMessage(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + output.WriteRawTag(106); + output.WriteMessage(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + output.WriteRawTag(114); + output.WriteMessage(PublishSipDtmf); } if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateVideoTrack); + output.WriteRawTag(122); + output.WriteMessage(CreateVideoTrack); } if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateAudioTrack); + output.WriteRawTag(130, 1); + output.WriteMessage(CreateAudioTrack); + } + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + output.WriteRawTag(138, 1); + output.WriteMessage(LocalTrackMute); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + output.WriteRawTag(146, 1); + output.WriteMessage(EnableRemoteTrack); } - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllocVideoBuffer); + if (messageCase_ == MessageOneofCase.GetStats) { + output.WriteRawTag(154, 1); + output.WriteMessage(GetStats); } if (messageCase_ == MessageOneofCase.NewVideoStream) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(NewVideoStream); + output.WriteRawTag(162, 1); + output.WriteMessage(NewVideoStream); } if (messageCase_ == MessageOneofCase.NewVideoSource) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(NewVideoSource); + output.WriteRawTag(170, 1); + output.WriteMessage(NewVideoSource); } if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CaptureVideoFrame); - } - if (messageCase_ == MessageOneofCase.ToI420) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ToI420); + output.WriteRawTag(178, 1); + output.WriteMessage(CaptureVideoFrame); } - if (messageCase_ == MessageOneofCase.ToArgb) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ToArgb); + if (messageCase_ == MessageOneofCase.VideoConvert) { + output.WriteRawTag(186, 1); + output.WriteMessage(VideoConvert); } - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllocAudioBuffer); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + output.WriteRawTag(194, 1); + output.WriteMessage(VideoStreamFromParticipant); } if (messageCase_ == MessageOneofCase.NewAudioStream) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioStream); + output.WriteRawTag(202, 1); + output.WriteMessage(NewAudioStream); } if (messageCase_ == MessageOneofCase.NewAudioSource) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioSource); + output.WriteRawTag(210, 1); + output.WriteMessage(NewAudioSource); } if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(CaptureAudioFrame); + output.WriteRawTag(218, 1); + output.WriteMessage(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + output.WriteRawTag(226, 1); + output.WriteMessage(ClearAudioBuffer); + } + if (messageCase_ == MessageOneofCase.NewAudioResampler) { + output.WriteRawTag(234, 1); + output.WriteMessage(NewAudioResampler); + } + if (messageCase_ == MessageOneofCase.RemixAndResample) { + output.WriteRawTag(242, 1); + output.WriteMessage(RemixAndResample); + } + if (messageCase_ == MessageOneofCase.E2Ee) { + output.WriteRawTag(250, 1); + output.WriteMessage(E2Ee); + } + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + output.WriteRawTag(130, 2); + output.WriteMessage(AudioStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + output.WriteRawTag(138, 2); + output.WriteMessage(NewSoxResampler); + } + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + output.WriteRawTag(146, 2); + output.WriteMessage(PushSoxResampler); + } + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + output.WriteRawTag(154, 2); + output.WriteMessage(FlushSoxResampler); + } + if (messageCase_ == MessageOneofCase.SendChatMessage) { + output.WriteRawTag(162, 2); + output.WriteMessage(SendChatMessage); + } + if (messageCase_ == MessageOneofCase.EditChatMessage) { + output.WriteRawTag(170, 2); + output.WriteMessage(EditChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + output.WriteRawTag(178, 2); + output.WriteMessage(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + output.WriteRawTag(186, 2); + output.WriteMessage(RegisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + output.WriteRawTag(194, 2); + output.WriteMessage(UnregisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + output.WriteRawTag(202, 2); + output.WriteMessage(RpcMethodInvocationResponse); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + output.WriteRawTag(210, 2); + output.WriteMessage(EnableRemoteTrackPublication); + } + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + output.WriteRawTag(218, 2); + output.WriteMessage(UpdateRemoteTrackPublicationDimension); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + output.WriteRawTag(226, 2); + output.WriteMessage(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + output.WriteRawTag(234, 2); + output.WriteMessage(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + output.WriteRawTag(242, 2); + output.WriteMessage(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + output.WriteRawTag(250, 2); + output.WriteMessage(SetDataChannelBufferedAmountLowThreshold); + } + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + output.WriteRawTag(130, 3); + output.WriteMessage(SetTrackSubscriptionPermissions); + } + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + output.WriteRawTag(138, 3); + output.WriteMessage(LoadAudioFilterPlugin); + } + if (messageCase_ == MessageOneofCase.NewApm) { + output.WriteRawTag(146, 3); + output.WriteMessage(NewApm); + } + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + output.WriteRawTag(154, 3); + output.WriteMessage(ApmProcessStream); + } + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + output.WriteRawTag(162, 3); + output.WriteMessage(ApmProcessReverseStream); + } + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + output.WriteRawTag(170, 3); + output.WriteMessage(ApmSetStreamDelay); + } + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + output.WriteRawTag(178, 3); + output.WriteMessage(ByteReadIncremental); + } + if (messageCase_ == MessageOneofCase.ByteReadAll) { + output.WriteRawTag(186, 3); + output.WriteMessage(ByteReadAll); + } + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + output.WriteRawTag(194, 3); + output.WriteMessage(ByteWriteToFile); + } + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + output.WriteRawTag(202, 3); + output.WriteMessage(TextReadIncremental); + } + if (messageCase_ == MessageOneofCase.TextReadAll) { + output.WriteRawTag(210, 3); + output.WriteMessage(TextReadAll); + } + if (messageCase_ == MessageOneofCase.SendFile) { + output.WriteRawTag(218, 3); + output.WriteMessage(SendFile); + } + if (messageCase_ == MessageOneofCase.SendText) { + output.WriteRawTag(226, 3); + output.WriteMessage(SendText); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + output.WriteRawTag(234, 3); + output.WriteMessage(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + output.WriteRawTag(242, 3); + output.WriteMessage(ByteStreamWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + output.WriteRawTag(250, 3); + output.WriteMessage(ByteStreamClose); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + output.WriteRawTag(130, 4); + output.WriteMessage(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + output.WriteRawTag(138, 4); + output.WriteMessage(TextStreamWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamClose) { + output.WriteRawTag(146, 4); + output.WriteMessage(TextStreamClose); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (messageCase_ == MessageOneofCase.Dispose) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dispose); + } + if (messageCase_ == MessageOneofCase.Connect) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Connect); + } + if (messageCase_ == MessageOneofCase.Disconnect) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Disconnect); + } + if (messageCase_ == MessageOneofCase.PublishTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTrack); + } + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishData); + } + if (messageCase_ == MessageOneofCase.SetSubscribed) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetSubscribed); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishSipDtmf); + } + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateVideoTrack); + } + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(CreateAudioTrack); + } + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalTrackMute); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableRemoteTrack); + } + if (messageCase_ == MessageOneofCase.GetStats) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(GetStats); + } + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetTrackSubscriptionPermissions); + } + if (messageCase_ == MessageOneofCase.NewVideoStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewVideoStream); + } + if (messageCase_ == MessageOneofCase.NewVideoSource) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewVideoSource); + } + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(CaptureVideoFrame); + } + if (messageCase_ == MessageOneofCase.VideoConvert) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(VideoConvert); + } + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(VideoStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.NewAudioStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioStream); + } + if (messageCase_ == MessageOneofCase.NewAudioSource) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioSource); + } + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ClearAudioBuffer); } if (messageCase_ == MessageOneofCase.NewAudioResampler) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioResampler); @@ -835,6 +2275,111 @@ public int CalculateSize() { if (messageCase_ == MessageOneofCase.RemixAndResample) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemixAndResample); } + if (messageCase_ == MessageOneofCase.E2Ee) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(E2Ee); + } + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(AudioStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewSoxResampler); + } + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(PushSoxResampler); + } + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(FlushSoxResampler); + } + if (messageCase_ == MessageOneofCase.SendChatMessage) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendChatMessage); + } + if (messageCase_ == MessageOneofCase.EditChatMessage) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(EditChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(RegisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(UnregisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(RpcMethodInvocationResponse); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableRemoteTrackPublication); + } + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(UpdateRemoteTrackPublicationDimension); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetDataChannelBufferedAmountLowThreshold); + } + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(LoadAudioFilterPlugin); + } + if (messageCase_ == MessageOneofCase.NewApm) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewApm); + } + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ApmProcessStream); + } + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ApmProcessReverseStream); + } + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ApmSetStreamDelay); + } + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteReadIncremental); + } + if (messageCase_ == MessageOneofCase.ByteReadAll) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteReadAll); + } + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteWriteToFile); + } + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextReadIncremental); + } + if (messageCase_ == MessageOneofCase.TextReadAll) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextReadAll); + } + if (messageCase_ == MessageOneofCase.SendFile) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendFile); + } + if (messageCase_ == MessageOneofCase.SendText) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendText); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamClose); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamClose) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamClose); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -843,17 +2388,11 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FFIRequest other) { + public void MergeFrom(FfiRequest other) { if (other == null) { return; } switch (other.MessageCase) { - case MessageOneofCase.Initialize: - if (Initialize == null) { - Initialize = new global::LiveKit.Proto.InitializeRequest(); - } - Initialize.MergeFrom(other.Initialize); - break; case MessageOneofCase.Dispose: if (Dispose == null) { Dispose = new global::LiveKit.Proto.DisposeRequest(); @@ -884,6 +2423,54 @@ public void MergeFrom(FFIRequest other) { } UnpublishTrack.MergeFrom(other.UnpublishTrack); break; + case MessageOneofCase.PublishData: + if (PublishData == null) { + PublishData = new global::LiveKit.Proto.PublishDataRequest(); + } + PublishData.MergeFrom(other.PublishData); + break; + case MessageOneofCase.SetSubscribed: + if (SetSubscribed == null) { + SetSubscribed = new global::LiveKit.Proto.SetSubscribedRequest(); + } + SetSubscribed.MergeFrom(other.SetSubscribed); + break; + case MessageOneofCase.SetLocalMetadata: + if (SetLocalMetadata == null) { + SetLocalMetadata = new global::LiveKit.Proto.SetLocalMetadataRequest(); + } + SetLocalMetadata.MergeFrom(other.SetLocalMetadata); + break; + case MessageOneofCase.SetLocalName: + if (SetLocalName == null) { + SetLocalName = new global::LiveKit.Proto.SetLocalNameRequest(); + } + SetLocalName.MergeFrom(other.SetLocalName); + break; + case MessageOneofCase.SetLocalAttributes: + if (SetLocalAttributes == null) { + SetLocalAttributes = new global::LiveKit.Proto.SetLocalAttributesRequest(); + } + SetLocalAttributes.MergeFrom(other.SetLocalAttributes); + break; + case MessageOneofCase.GetSessionStats: + if (GetSessionStats == null) { + GetSessionStats = new global::LiveKit.Proto.GetSessionStatsRequest(); + } + GetSessionStats.MergeFrom(other.GetSessionStats); + break; + case MessageOneofCase.PublishTranscription: + if (PublishTranscription == null) { + PublishTranscription = new global::LiveKit.Proto.PublishTranscriptionRequest(); + } + PublishTranscription.MergeFrom(other.PublishTranscription); + break; + case MessageOneofCase.PublishSipDtmf: + if (PublishSipDtmf == null) { + PublishSipDtmf = new global::LiveKit.Proto.PublishSipDtmfRequest(); + } + PublishSipDtmf.MergeFrom(other.PublishSipDtmf); + break; case MessageOneofCase.CreateVideoTrack: if (CreateVideoTrack == null) { CreateVideoTrack = new global::LiveKit.Proto.CreateVideoTrackRequest(); @@ -896,11 +2483,29 @@ public void MergeFrom(FFIRequest other) { } CreateAudioTrack.MergeFrom(other.CreateAudioTrack); break; - case MessageOneofCase.AllocVideoBuffer: - if (AllocVideoBuffer == null) { - AllocVideoBuffer = new global::LiveKit.Proto.AllocVideoBufferRequest(); + case MessageOneofCase.LocalTrackMute: + if (LocalTrackMute == null) { + LocalTrackMute = new global::LiveKit.Proto.LocalTrackMuteRequest(); + } + LocalTrackMute.MergeFrom(other.LocalTrackMute); + break; + case MessageOneofCase.EnableRemoteTrack: + if (EnableRemoteTrack == null) { + EnableRemoteTrack = new global::LiveKit.Proto.EnableRemoteTrackRequest(); + } + EnableRemoteTrack.MergeFrom(other.EnableRemoteTrack); + break; + case MessageOneofCase.GetStats: + if (GetStats == null) { + GetStats = new global::LiveKit.Proto.GetStatsRequest(); + } + GetStats.MergeFrom(other.GetStats); + break; + case MessageOneofCase.SetTrackSubscriptionPermissions: + if (SetTrackSubscriptionPermissions == null) { + SetTrackSubscriptionPermissions = new global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest(); } - AllocVideoBuffer.MergeFrom(other.AllocVideoBuffer); + SetTrackSubscriptionPermissions.MergeFrom(other.SetTrackSubscriptionPermissions); break; case MessageOneofCase.NewVideoStream: if (NewVideoStream == null) { @@ -920,23 +2525,17 @@ public void MergeFrom(FFIRequest other) { } CaptureVideoFrame.MergeFrom(other.CaptureVideoFrame); break; - case MessageOneofCase.ToI420: - if (ToI420 == null) { - ToI420 = new global::LiveKit.Proto.ToI420Request(); - } - ToI420.MergeFrom(other.ToI420); - break; - case MessageOneofCase.ToArgb: - if (ToArgb == null) { - ToArgb = new global::LiveKit.Proto.ToARGBRequest(); + case MessageOneofCase.VideoConvert: + if (VideoConvert == null) { + VideoConvert = new global::LiveKit.Proto.VideoConvertRequest(); } - ToArgb.MergeFrom(other.ToArgb); + VideoConvert.MergeFrom(other.VideoConvert); break; - case MessageOneofCase.AllocAudioBuffer: - if (AllocAudioBuffer == null) { - AllocAudioBuffer = new global::LiveKit.Proto.AllocAudioBufferRequest(); + case MessageOneofCase.VideoStreamFromParticipant: + if (VideoStreamFromParticipant == null) { + VideoStreamFromParticipant = new global::LiveKit.Proto.VideoStreamFromParticipantRequest(); } - AllocAudioBuffer.MergeFrom(other.AllocAudioBuffer); + VideoStreamFromParticipant.MergeFrom(other.VideoStreamFromParticipant); break; case MessageOneofCase.NewAudioStream: if (NewAudioStream == null) { @@ -956,6 +2555,12 @@ public void MergeFrom(FFIRequest other) { } CaptureAudioFrame.MergeFrom(other.CaptureAudioFrame); break; + case MessageOneofCase.ClearAudioBuffer: + if (ClearAudioBuffer == null) { + ClearAudioBuffer = new global::LiveKit.Proto.ClearAudioBufferRequest(); + } + ClearAudioBuffer.MergeFrom(other.ClearAudioBuffer); + break; case MessageOneofCase.NewAudioResampler: if (NewAudioResampler == null) { NewAudioResampler = new global::LiveKit.Proto.NewAudioResamplerRequest(); @@ -968,6 +2573,216 @@ public void MergeFrom(FFIRequest other) { } RemixAndResample.MergeFrom(other.RemixAndResample); break; + case MessageOneofCase.E2Ee: + if (E2Ee == null) { + E2Ee = new global::LiveKit.Proto.E2eeRequest(); + } + E2Ee.MergeFrom(other.E2Ee); + break; + case MessageOneofCase.AudioStreamFromParticipant: + if (AudioStreamFromParticipant == null) { + AudioStreamFromParticipant = new global::LiveKit.Proto.AudioStreamFromParticipantRequest(); + } + AudioStreamFromParticipant.MergeFrom(other.AudioStreamFromParticipant); + break; + case MessageOneofCase.NewSoxResampler: + if (NewSoxResampler == null) { + NewSoxResampler = new global::LiveKit.Proto.NewSoxResamplerRequest(); + } + NewSoxResampler.MergeFrom(other.NewSoxResampler); + break; + case MessageOneofCase.PushSoxResampler: + if (PushSoxResampler == null) { + PushSoxResampler = new global::LiveKit.Proto.PushSoxResamplerRequest(); + } + PushSoxResampler.MergeFrom(other.PushSoxResampler); + break; + case MessageOneofCase.FlushSoxResampler: + if (FlushSoxResampler == null) { + FlushSoxResampler = new global::LiveKit.Proto.FlushSoxResamplerRequest(); + } + FlushSoxResampler.MergeFrom(other.FlushSoxResampler); + break; + case MessageOneofCase.SendChatMessage: + if (SendChatMessage == null) { + SendChatMessage = new global::LiveKit.Proto.SendChatMessageRequest(); + } + SendChatMessage.MergeFrom(other.SendChatMessage); + break; + case MessageOneofCase.EditChatMessage: + if (EditChatMessage == null) { + EditChatMessage = new global::LiveKit.Proto.EditChatMessageRequest(); + } + EditChatMessage.MergeFrom(other.EditChatMessage); + break; + case MessageOneofCase.PerformRpc: + if (PerformRpc == null) { + PerformRpc = new global::LiveKit.Proto.PerformRpcRequest(); + } + PerformRpc.MergeFrom(other.PerformRpc); + break; + case MessageOneofCase.RegisterRpcMethod: + if (RegisterRpcMethod == null) { + RegisterRpcMethod = new global::LiveKit.Proto.RegisterRpcMethodRequest(); + } + RegisterRpcMethod.MergeFrom(other.RegisterRpcMethod); + break; + case MessageOneofCase.UnregisterRpcMethod: + if (UnregisterRpcMethod == null) { + UnregisterRpcMethod = new global::LiveKit.Proto.UnregisterRpcMethodRequest(); + } + UnregisterRpcMethod.MergeFrom(other.UnregisterRpcMethod); + break; + case MessageOneofCase.RpcMethodInvocationResponse: + if (RpcMethodInvocationResponse == null) { + RpcMethodInvocationResponse = new global::LiveKit.Proto.RpcMethodInvocationResponseRequest(); + } + RpcMethodInvocationResponse.MergeFrom(other.RpcMethodInvocationResponse); + break; + case MessageOneofCase.EnableRemoteTrackPublication: + if (EnableRemoteTrackPublication == null) { + EnableRemoteTrackPublication = new global::LiveKit.Proto.EnableRemoteTrackPublicationRequest(); + } + EnableRemoteTrackPublication.MergeFrom(other.EnableRemoteTrackPublication); + break; + case MessageOneofCase.UpdateRemoteTrackPublicationDimension: + if (UpdateRemoteTrackPublicationDimension == null) { + UpdateRemoteTrackPublicationDimension = new global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest(); + } + UpdateRemoteTrackPublicationDimension.MergeFrom(other.UpdateRemoteTrackPublicationDimension); + break; + case MessageOneofCase.SendStreamHeader: + if (SendStreamHeader == null) { + SendStreamHeader = new global::LiveKit.Proto.SendStreamHeaderRequest(); + } + SendStreamHeader.MergeFrom(other.SendStreamHeader); + break; + case MessageOneofCase.SendStreamChunk: + if (SendStreamChunk == null) { + SendStreamChunk = new global::LiveKit.Proto.SendStreamChunkRequest(); + } + SendStreamChunk.MergeFrom(other.SendStreamChunk); + break; + case MessageOneofCase.SendStreamTrailer: + if (SendStreamTrailer == null) { + SendStreamTrailer = new global::LiveKit.Proto.SendStreamTrailerRequest(); + } + SendStreamTrailer.MergeFrom(other.SendStreamTrailer); + break; + case MessageOneofCase.SetDataChannelBufferedAmountLowThreshold: + if (SetDataChannelBufferedAmountLowThreshold == null) { + SetDataChannelBufferedAmountLowThreshold = new global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest(); + } + SetDataChannelBufferedAmountLowThreshold.MergeFrom(other.SetDataChannelBufferedAmountLowThreshold); + break; + case MessageOneofCase.LoadAudioFilterPlugin: + if (LoadAudioFilterPlugin == null) { + LoadAudioFilterPlugin = new global::LiveKit.Proto.LoadAudioFilterPluginRequest(); + } + LoadAudioFilterPlugin.MergeFrom(other.LoadAudioFilterPlugin); + break; + case MessageOneofCase.NewApm: + if (NewApm == null) { + NewApm = new global::LiveKit.Proto.NewApmRequest(); + } + NewApm.MergeFrom(other.NewApm); + break; + case MessageOneofCase.ApmProcessStream: + if (ApmProcessStream == null) { + ApmProcessStream = new global::LiveKit.Proto.ApmProcessStreamRequest(); + } + ApmProcessStream.MergeFrom(other.ApmProcessStream); + break; + case MessageOneofCase.ApmProcessReverseStream: + if (ApmProcessReverseStream == null) { + ApmProcessReverseStream = new global::LiveKit.Proto.ApmProcessReverseStreamRequest(); + } + ApmProcessReverseStream.MergeFrom(other.ApmProcessReverseStream); + break; + case MessageOneofCase.ApmSetStreamDelay: + if (ApmSetStreamDelay == null) { + ApmSetStreamDelay = new global::LiveKit.Proto.ApmSetStreamDelayRequest(); + } + ApmSetStreamDelay.MergeFrom(other.ApmSetStreamDelay); + break; + case MessageOneofCase.ByteReadIncremental: + if (ByteReadIncremental == null) { + ByteReadIncremental = new global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest(); + } + ByteReadIncremental.MergeFrom(other.ByteReadIncremental); + break; + case MessageOneofCase.ByteReadAll: + if (ByteReadAll == null) { + ByteReadAll = new global::LiveKit.Proto.ByteStreamReaderReadAllRequest(); + } + ByteReadAll.MergeFrom(other.ByteReadAll); + break; + case MessageOneofCase.ByteWriteToFile: + if (ByteWriteToFile == null) { + ByteWriteToFile = new global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest(); + } + ByteWriteToFile.MergeFrom(other.ByteWriteToFile); + break; + case MessageOneofCase.TextReadIncremental: + if (TextReadIncremental == null) { + TextReadIncremental = new global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest(); + } + TextReadIncremental.MergeFrom(other.TextReadIncremental); + break; + case MessageOneofCase.TextReadAll: + if (TextReadAll == null) { + TextReadAll = new global::LiveKit.Proto.TextStreamReaderReadAllRequest(); + } + TextReadAll.MergeFrom(other.TextReadAll); + break; + case MessageOneofCase.SendFile: + if (SendFile == null) { + SendFile = new global::LiveKit.Proto.StreamSendFileRequest(); + } + SendFile.MergeFrom(other.SendFile); + break; + case MessageOneofCase.SendText: + if (SendText == null) { + SendText = new global::LiveKit.Proto.StreamSendTextRequest(); + } + SendText.MergeFrom(other.SendText); + break; + case MessageOneofCase.ByteStreamOpen: + if (ByteStreamOpen == null) { + ByteStreamOpen = new global::LiveKit.Proto.ByteStreamOpenRequest(); + } + ByteStreamOpen.MergeFrom(other.ByteStreamOpen); + break; + case MessageOneofCase.ByteStreamWrite: + if (ByteStreamWrite == null) { + ByteStreamWrite = new global::LiveKit.Proto.ByteStreamWriterWriteRequest(); + } + ByteStreamWrite.MergeFrom(other.ByteStreamWrite); + break; + case MessageOneofCase.ByteStreamClose: + if (ByteStreamClose == null) { + ByteStreamClose = new global::LiveKit.Proto.ByteStreamWriterCloseRequest(); + } + ByteStreamClose.MergeFrom(other.ByteStreamClose); + break; + case MessageOneofCase.TextStreamOpen: + if (TextStreamOpen == null) { + TextStreamOpen = new global::LiveKit.Proto.TextStreamOpenRequest(); + } + TextStreamOpen.MergeFrom(other.TextStreamOpen); + break; + case MessageOneofCase.TextStreamWrite: + if (TextStreamWrite == null) { + TextStreamWrite = new global::LiveKit.Proto.TextStreamWriterWriteRequest(); + } + TextStreamWrite.MergeFrom(other.TextStreamWrite); + break; + case MessageOneofCase.TextStreamClose: + if (TextStreamClose == null) { + TextStreamClose = new global::LiveKit.Proto.TextStreamWriterCloseRequest(); + } + TextStreamClose.MergeFrom(other.TextStreamClose); + break; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); @@ -981,19 +2796,14 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - global::LiveKit.Proto.InitializeRequest subBuilder = new global::LiveKit.Proto.InitializeRequest(); - if (messageCase_ == MessageOneofCase.Initialize) { - subBuilder.MergeFrom(Initialize); - } - input.ReadMessage(subBuilder); - Initialize = subBuilder; - break; - } case 18: { global::LiveKit.Proto.DisposeRequest subBuilder = new global::LiveKit.Proto.DisposeRequest(); if (messageCase_ == MessageOneofCase.Dispose) { @@ -1040,87 +2850,168 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 58: { - global::LiveKit.Proto.CreateVideoTrackRequest subBuilder = new global::LiveKit.Proto.CreateVideoTrackRequest(); - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - subBuilder.MergeFrom(CreateVideoTrack); + global::LiveKit.Proto.PublishDataRequest subBuilder = new global::LiveKit.Proto.PublishDataRequest(); + if (messageCase_ == MessageOneofCase.PublishData) { + subBuilder.MergeFrom(PublishData); } input.ReadMessage(subBuilder); - CreateVideoTrack = subBuilder; + PublishData = subBuilder; break; } case 66: { - global::LiveKit.Proto.CreateAudioTrackRequest subBuilder = new global::LiveKit.Proto.CreateAudioTrackRequest(); - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - subBuilder.MergeFrom(CreateAudioTrack); + global::LiveKit.Proto.SetSubscribedRequest subBuilder = new global::LiveKit.Proto.SetSubscribedRequest(); + if (messageCase_ == MessageOneofCase.SetSubscribed) { + subBuilder.MergeFrom(SetSubscribed); } input.ReadMessage(subBuilder); - CreateAudioTrack = subBuilder; + SetSubscribed = subBuilder; break; } case 74: { - global::LiveKit.Proto.AllocVideoBufferRequest subBuilder = new global::LiveKit.Proto.AllocVideoBufferRequest(); - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - subBuilder.MergeFrom(AllocVideoBuffer); + global::LiveKit.Proto.SetLocalMetadataRequest subBuilder = new global::LiveKit.Proto.SetLocalMetadataRequest(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + subBuilder.MergeFrom(SetLocalMetadata); } input.ReadMessage(subBuilder); - AllocVideoBuffer = subBuilder; + SetLocalMetadata = subBuilder; break; } case 82: { - global::LiveKit.Proto.NewVideoStreamRequest subBuilder = new global::LiveKit.Proto.NewVideoStreamRequest(); - if (messageCase_ == MessageOneofCase.NewVideoStream) { - subBuilder.MergeFrom(NewVideoStream); + global::LiveKit.Proto.SetLocalNameRequest subBuilder = new global::LiveKit.Proto.SetLocalNameRequest(); + if (messageCase_ == MessageOneofCase.SetLocalName) { + subBuilder.MergeFrom(SetLocalName); } input.ReadMessage(subBuilder); - NewVideoStream = subBuilder; + SetLocalName = subBuilder; break; } case 90: { - global::LiveKit.Proto.NewVideoSourceRequest subBuilder = new global::LiveKit.Proto.NewVideoSourceRequest(); - if (messageCase_ == MessageOneofCase.NewVideoSource) { - subBuilder.MergeFrom(NewVideoSource); + global::LiveKit.Proto.SetLocalAttributesRequest subBuilder = new global::LiveKit.Proto.SetLocalAttributesRequest(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + subBuilder.MergeFrom(SetLocalAttributes); } input.ReadMessage(subBuilder); - NewVideoSource = subBuilder; + SetLocalAttributes = subBuilder; break; } case 98: { - global::LiveKit.Proto.CaptureVideoFrameRequest subBuilder = new global::LiveKit.Proto.CaptureVideoFrameRequest(); - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - subBuilder.MergeFrom(CaptureVideoFrame); + global::LiveKit.Proto.GetSessionStatsRequest subBuilder = new global::LiveKit.Proto.GetSessionStatsRequest(); + if (messageCase_ == MessageOneofCase.GetSessionStats) { + subBuilder.MergeFrom(GetSessionStats); } input.ReadMessage(subBuilder); - CaptureVideoFrame = subBuilder; + GetSessionStats = subBuilder; break; } case 106: { - global::LiveKit.Proto.ToI420Request subBuilder = new global::LiveKit.Proto.ToI420Request(); - if (messageCase_ == MessageOneofCase.ToI420) { - subBuilder.MergeFrom(ToI420); + global::LiveKit.Proto.PublishTranscriptionRequest subBuilder = new global::LiveKit.Proto.PublishTranscriptionRequest(); + if (messageCase_ == MessageOneofCase.PublishTranscription) { + subBuilder.MergeFrom(PublishTranscription); } input.ReadMessage(subBuilder); - ToI420 = subBuilder; + PublishTranscription = subBuilder; break; } case 114: { - global::LiveKit.Proto.ToARGBRequest subBuilder = new global::LiveKit.Proto.ToARGBRequest(); - if (messageCase_ == MessageOneofCase.ToArgb) { - subBuilder.MergeFrom(ToArgb); + global::LiveKit.Proto.PublishSipDtmfRequest subBuilder = new global::LiveKit.Proto.PublishSipDtmfRequest(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + subBuilder.MergeFrom(PublishSipDtmf); } input.ReadMessage(subBuilder); - ToArgb = subBuilder; + PublishSipDtmf = subBuilder; break; } case 122: { - global::LiveKit.Proto.AllocAudioBufferRequest subBuilder = new global::LiveKit.Proto.AllocAudioBufferRequest(); - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - subBuilder.MergeFrom(AllocAudioBuffer); + global::LiveKit.Proto.CreateVideoTrackRequest subBuilder = new global::LiveKit.Proto.CreateVideoTrackRequest(); + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { + subBuilder.MergeFrom(CreateVideoTrack); } input.ReadMessage(subBuilder); - AllocAudioBuffer = subBuilder; + CreateVideoTrack = subBuilder; break; } case 130: { + global::LiveKit.Proto.CreateAudioTrackRequest subBuilder = new global::LiveKit.Proto.CreateAudioTrackRequest(); + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { + subBuilder.MergeFrom(CreateAudioTrack); + } + input.ReadMessage(subBuilder); + CreateAudioTrack = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.LocalTrackMuteRequest subBuilder = new global::LiveKit.Proto.LocalTrackMuteRequest(); + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + subBuilder.MergeFrom(LocalTrackMute); + } + input.ReadMessage(subBuilder); + LocalTrackMute = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.EnableRemoteTrackRequest subBuilder = new global::LiveKit.Proto.EnableRemoteTrackRequest(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + subBuilder.MergeFrom(EnableRemoteTrack); + } + input.ReadMessage(subBuilder); + EnableRemoteTrack = subBuilder; + break; + } + case 154: { + global::LiveKit.Proto.GetStatsRequest subBuilder = new global::LiveKit.Proto.GetStatsRequest(); + if (messageCase_ == MessageOneofCase.GetStats) { + subBuilder.MergeFrom(GetStats); + } + input.ReadMessage(subBuilder); + GetStats = subBuilder; + break; + } + case 162: { + global::LiveKit.Proto.NewVideoStreamRequest subBuilder = new global::LiveKit.Proto.NewVideoStreamRequest(); + if (messageCase_ == MessageOneofCase.NewVideoStream) { + subBuilder.MergeFrom(NewVideoStream); + } + input.ReadMessage(subBuilder); + NewVideoStream = subBuilder; + break; + } + case 170: { + global::LiveKit.Proto.NewVideoSourceRequest subBuilder = new global::LiveKit.Proto.NewVideoSourceRequest(); + if (messageCase_ == MessageOneofCase.NewVideoSource) { + subBuilder.MergeFrom(NewVideoSource); + } + input.ReadMessage(subBuilder); + NewVideoSource = subBuilder; + break; + } + case 178: { + global::LiveKit.Proto.CaptureVideoFrameRequest subBuilder = new global::LiveKit.Proto.CaptureVideoFrameRequest(); + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + subBuilder.MergeFrom(CaptureVideoFrame); + } + input.ReadMessage(subBuilder); + CaptureVideoFrame = subBuilder; + break; + } + case 186: { + global::LiveKit.Proto.VideoConvertRequest subBuilder = new global::LiveKit.Proto.VideoConvertRequest(); + if (messageCase_ == MessageOneofCase.VideoConvert) { + subBuilder.MergeFrom(VideoConvert); + } + input.ReadMessage(subBuilder); + VideoConvert = subBuilder; + break; + } + case 194: { + global::LiveKit.Proto.VideoStreamFromParticipantRequest subBuilder = new global::LiveKit.Proto.VideoStreamFromParticipantRequest(); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + subBuilder.MergeFrom(VideoStreamFromParticipant); + } + input.ReadMessage(subBuilder); + VideoStreamFromParticipant = subBuilder; + break; + } + case 202: { global::LiveKit.Proto.NewAudioStreamRequest subBuilder = new global::LiveKit.Proto.NewAudioStreamRequest(); if (messageCase_ == MessageOneofCase.NewAudioStream) { subBuilder.MergeFrom(NewAudioStream); @@ -1129,7 +3020,7 @@ public void MergeFrom(pb::CodedInputStream input) { NewAudioStream = subBuilder; break; } - case 138: { + case 210: { global::LiveKit.Proto.NewAudioSourceRequest subBuilder = new global::LiveKit.Proto.NewAudioSourceRequest(); if (messageCase_ == MessageOneofCase.NewAudioSource) { subBuilder.MergeFrom(NewAudioSource); @@ -1138,7 +3029,7 @@ public void MergeFrom(pb::CodedInputStream input) { NewAudioSource = subBuilder; break; } - case 146: { + case 218: { global::LiveKit.Proto.CaptureAudioFrameRequest subBuilder = new global::LiveKit.Proto.CaptureAudioFrameRequest(); if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { subBuilder.MergeFrom(CaptureAudioFrame); @@ -1147,7 +3038,16 @@ public void MergeFrom(pb::CodedInputStream input) { CaptureAudioFrame = subBuilder; break; } - case 154: { + case 226: { + global::LiveKit.Proto.ClearAudioBufferRequest subBuilder = new global::LiveKit.Proto.ClearAudioBufferRequest(); + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + subBuilder.MergeFrom(ClearAudioBuffer); + } + input.ReadMessage(subBuilder); + ClearAudioBuffer = subBuilder; + break; + } + case 234: { global::LiveKit.Proto.NewAudioResamplerRequest subBuilder = new global::LiveKit.Proto.NewAudioResamplerRequest(); if (messageCase_ == MessageOneofCase.NewAudioResampler) { subBuilder.MergeFrom(NewAudioResampler); @@ -1156,7 +3056,7 @@ public void MergeFrom(pb::CodedInputStream input) { NewAudioResampler = subBuilder; break; } - case 162: { + case 242: { global::LiveKit.Proto.RemixAndResampleRequest subBuilder = new global::LiveKit.Proto.RemixAndResampleRequest(); if (messageCase_ == MessageOneofCase.RemixAndResample) { subBuilder.MergeFrom(RemixAndResample); @@ -1165,6 +3065,330 @@ public void MergeFrom(pb::CodedInputStream input) { RemixAndResample = subBuilder; break; } + case 250: { + global::LiveKit.Proto.E2eeRequest subBuilder = new global::LiveKit.Proto.E2eeRequest(); + if (messageCase_ == MessageOneofCase.E2Ee) { + subBuilder.MergeFrom(E2Ee); + } + input.ReadMessage(subBuilder); + E2Ee = subBuilder; + break; + } + case 258: { + global::LiveKit.Proto.AudioStreamFromParticipantRequest subBuilder = new global::LiveKit.Proto.AudioStreamFromParticipantRequest(); + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + subBuilder.MergeFrom(AudioStreamFromParticipant); + } + input.ReadMessage(subBuilder); + AudioStreamFromParticipant = subBuilder; + break; + } + case 266: { + global::LiveKit.Proto.NewSoxResamplerRequest subBuilder = new global::LiveKit.Proto.NewSoxResamplerRequest(); + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + subBuilder.MergeFrom(NewSoxResampler); + } + input.ReadMessage(subBuilder); + NewSoxResampler = subBuilder; + break; + } + case 274: { + global::LiveKit.Proto.PushSoxResamplerRequest subBuilder = new global::LiveKit.Proto.PushSoxResamplerRequest(); + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + subBuilder.MergeFrom(PushSoxResampler); + } + input.ReadMessage(subBuilder); + PushSoxResampler = subBuilder; + break; + } + case 282: { + global::LiveKit.Proto.FlushSoxResamplerRequest subBuilder = new global::LiveKit.Proto.FlushSoxResamplerRequest(); + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + subBuilder.MergeFrom(FlushSoxResampler); + } + input.ReadMessage(subBuilder); + FlushSoxResampler = subBuilder; + break; + } + case 290: { + global::LiveKit.Proto.SendChatMessageRequest subBuilder = new global::LiveKit.Proto.SendChatMessageRequest(); + if (messageCase_ == MessageOneofCase.SendChatMessage) { + subBuilder.MergeFrom(SendChatMessage); + } + input.ReadMessage(subBuilder); + SendChatMessage = subBuilder; + break; + } + case 298: { + global::LiveKit.Proto.EditChatMessageRequest subBuilder = new global::LiveKit.Proto.EditChatMessageRequest(); + if (messageCase_ == MessageOneofCase.EditChatMessage) { + subBuilder.MergeFrom(EditChatMessage); + } + input.ReadMessage(subBuilder); + EditChatMessage = subBuilder; + break; + } + case 306: { + global::LiveKit.Proto.PerformRpcRequest subBuilder = new global::LiveKit.Proto.PerformRpcRequest(); + if (messageCase_ == MessageOneofCase.PerformRpc) { + subBuilder.MergeFrom(PerformRpc); + } + input.ReadMessage(subBuilder); + PerformRpc = subBuilder; + break; + } + case 314: { + global::LiveKit.Proto.RegisterRpcMethodRequest subBuilder = new global::LiveKit.Proto.RegisterRpcMethodRequest(); + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + subBuilder.MergeFrom(RegisterRpcMethod); + } + input.ReadMessage(subBuilder); + RegisterRpcMethod = subBuilder; + break; + } + case 322: { + global::LiveKit.Proto.UnregisterRpcMethodRequest subBuilder = new global::LiveKit.Proto.UnregisterRpcMethodRequest(); + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + subBuilder.MergeFrom(UnregisterRpcMethod); + } + input.ReadMessage(subBuilder); + UnregisterRpcMethod = subBuilder; + break; + } + case 330: { + global::LiveKit.Proto.RpcMethodInvocationResponseRequest subBuilder = new global::LiveKit.Proto.RpcMethodInvocationResponseRequest(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + subBuilder.MergeFrom(RpcMethodInvocationResponse); + } + input.ReadMessage(subBuilder); + RpcMethodInvocationResponse = subBuilder; + break; + } + case 338: { + global::LiveKit.Proto.EnableRemoteTrackPublicationRequest subBuilder = new global::LiveKit.Proto.EnableRemoteTrackPublicationRequest(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + subBuilder.MergeFrom(EnableRemoteTrackPublication); + } + input.ReadMessage(subBuilder); + EnableRemoteTrackPublication = subBuilder; + break; + } + case 346: { + global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest subBuilder = new global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest(); + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + subBuilder.MergeFrom(UpdateRemoteTrackPublicationDimension); + } + input.ReadMessage(subBuilder); + UpdateRemoteTrackPublicationDimension = subBuilder; + break; + } + case 354: { + global::LiveKit.Proto.SendStreamHeaderRequest subBuilder = new global::LiveKit.Proto.SendStreamHeaderRequest(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + subBuilder.MergeFrom(SendStreamHeader); + } + input.ReadMessage(subBuilder); + SendStreamHeader = subBuilder; + break; + } + case 362: { + global::LiveKit.Proto.SendStreamChunkRequest subBuilder = new global::LiveKit.Proto.SendStreamChunkRequest(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + subBuilder.MergeFrom(SendStreamChunk); + } + input.ReadMessage(subBuilder); + SendStreamChunk = subBuilder; + break; + } + case 370: { + global::LiveKit.Proto.SendStreamTrailerRequest subBuilder = new global::LiveKit.Proto.SendStreamTrailerRequest(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + subBuilder.MergeFrom(SendStreamTrailer); + } + input.ReadMessage(subBuilder); + SendStreamTrailer = subBuilder; + break; + } + case 378: { + global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest subBuilder = new global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest(); + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + subBuilder.MergeFrom(SetDataChannelBufferedAmountLowThreshold); + } + input.ReadMessage(subBuilder); + SetDataChannelBufferedAmountLowThreshold = subBuilder; + break; + } + case 386: { + global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest subBuilder = new global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest(); + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + subBuilder.MergeFrom(SetTrackSubscriptionPermissions); + } + input.ReadMessage(subBuilder); + SetTrackSubscriptionPermissions = subBuilder; + break; + } + case 394: { + global::LiveKit.Proto.LoadAudioFilterPluginRequest subBuilder = new global::LiveKit.Proto.LoadAudioFilterPluginRequest(); + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + subBuilder.MergeFrom(LoadAudioFilterPlugin); + } + input.ReadMessage(subBuilder); + LoadAudioFilterPlugin = subBuilder; + break; + } + case 402: { + global::LiveKit.Proto.NewApmRequest subBuilder = new global::LiveKit.Proto.NewApmRequest(); + if (messageCase_ == MessageOneofCase.NewApm) { + subBuilder.MergeFrom(NewApm); + } + input.ReadMessage(subBuilder); + NewApm = subBuilder; + break; + } + case 410: { + global::LiveKit.Proto.ApmProcessStreamRequest subBuilder = new global::LiveKit.Proto.ApmProcessStreamRequest(); + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + subBuilder.MergeFrom(ApmProcessStream); + } + input.ReadMessage(subBuilder); + ApmProcessStream = subBuilder; + break; + } + case 418: { + global::LiveKit.Proto.ApmProcessReverseStreamRequest subBuilder = new global::LiveKit.Proto.ApmProcessReverseStreamRequest(); + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + subBuilder.MergeFrom(ApmProcessReverseStream); + } + input.ReadMessage(subBuilder); + ApmProcessReverseStream = subBuilder; + break; + } + case 426: { + global::LiveKit.Proto.ApmSetStreamDelayRequest subBuilder = new global::LiveKit.Proto.ApmSetStreamDelayRequest(); + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + subBuilder.MergeFrom(ApmSetStreamDelay); + } + input.ReadMessage(subBuilder); + ApmSetStreamDelay = subBuilder; + break; + } + case 434: { + global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest(); + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + subBuilder.MergeFrom(ByteReadIncremental); + } + input.ReadMessage(subBuilder); + ByteReadIncremental = subBuilder; + break; + } + case 442: { + global::LiveKit.Proto.ByteStreamReaderReadAllRequest subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadAllRequest(); + if (messageCase_ == MessageOneofCase.ByteReadAll) { + subBuilder.MergeFrom(ByteReadAll); + } + input.ReadMessage(subBuilder); + ByteReadAll = subBuilder; + break; + } + case 450: { + global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest subBuilder = new global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest(); + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + subBuilder.MergeFrom(ByteWriteToFile); + } + input.ReadMessage(subBuilder); + ByteWriteToFile = subBuilder; + break; + } + case 458: { + global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest subBuilder = new global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest(); + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + subBuilder.MergeFrom(TextReadIncremental); + } + input.ReadMessage(subBuilder); + TextReadIncremental = subBuilder; + break; + } + case 466: { + global::LiveKit.Proto.TextStreamReaderReadAllRequest subBuilder = new global::LiveKit.Proto.TextStreamReaderReadAllRequest(); + if (messageCase_ == MessageOneofCase.TextReadAll) { + subBuilder.MergeFrom(TextReadAll); + } + input.ReadMessage(subBuilder); + TextReadAll = subBuilder; + break; + } + case 474: { + global::LiveKit.Proto.StreamSendFileRequest subBuilder = new global::LiveKit.Proto.StreamSendFileRequest(); + if (messageCase_ == MessageOneofCase.SendFile) { + subBuilder.MergeFrom(SendFile); + } + input.ReadMessage(subBuilder); + SendFile = subBuilder; + break; + } + case 482: { + global::LiveKit.Proto.StreamSendTextRequest subBuilder = new global::LiveKit.Proto.StreamSendTextRequest(); + if (messageCase_ == MessageOneofCase.SendText) { + subBuilder.MergeFrom(SendText); + } + input.ReadMessage(subBuilder); + SendText = subBuilder; + break; + } + case 490: { + global::LiveKit.Proto.ByteStreamOpenRequest subBuilder = new global::LiveKit.Proto.ByteStreamOpenRequest(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + subBuilder.MergeFrom(ByteStreamOpen); + } + input.ReadMessage(subBuilder); + ByteStreamOpen = subBuilder; + break; + } + case 498: { + global::LiveKit.Proto.ByteStreamWriterWriteRequest subBuilder = new global::LiveKit.Proto.ByteStreamWriterWriteRequest(); + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + subBuilder.MergeFrom(ByteStreamWrite); + } + input.ReadMessage(subBuilder); + ByteStreamWrite = subBuilder; + break; + } + case 506: { + global::LiveKit.Proto.ByteStreamWriterCloseRequest subBuilder = new global::LiveKit.Proto.ByteStreamWriterCloseRequest(); + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + subBuilder.MergeFrom(ByteStreamClose); + } + input.ReadMessage(subBuilder); + ByteStreamClose = subBuilder; + break; + } + case 514: { + global::LiveKit.Proto.TextStreamOpenRequest subBuilder = new global::LiveKit.Proto.TextStreamOpenRequest(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + subBuilder.MergeFrom(TextStreamOpen); + } + input.ReadMessage(subBuilder); + TextStreamOpen = subBuilder; + break; + } + case 522: { + global::LiveKit.Proto.TextStreamWriterWriteRequest subBuilder = new global::LiveKit.Proto.TextStreamWriterWriteRequest(); + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + subBuilder.MergeFrom(TextStreamWrite); + } + input.ReadMessage(subBuilder); + TextStreamWrite = subBuilder; + break; + } + case 530: { + global::LiveKit.Proto.TextStreamWriterCloseRequest subBuilder = new global::LiveKit.Proto.TextStreamWriterCloseRequest(); + if (messageCase_ == MessageOneofCase.TextStreamClose) { + subBuilder.MergeFrom(TextStreamClose); + } + input.ReadMessage(subBuilder); + TextStreamClose = subBuilder; + break; + } } } #endif @@ -1176,19 +3400,14 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - global::LiveKit.Proto.InitializeRequest subBuilder = new global::LiveKit.Proto.InitializeRequest(); - if (messageCase_ == MessageOneofCase.Initialize) { - subBuilder.MergeFrom(Initialize); - } - input.ReadMessage(subBuilder); - Initialize = subBuilder; - break; - } case 18: { global::LiveKit.Proto.DisposeRequest subBuilder = new global::LiveKit.Proto.DisposeRequest(); if (messageCase_ == MessageOneofCase.Dispose) { @@ -1235,96 +3454,177 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 58: { - global::LiveKit.Proto.CreateVideoTrackRequest subBuilder = new global::LiveKit.Proto.CreateVideoTrackRequest(); - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - subBuilder.MergeFrom(CreateVideoTrack); + global::LiveKit.Proto.PublishDataRequest subBuilder = new global::LiveKit.Proto.PublishDataRequest(); + if (messageCase_ == MessageOneofCase.PublishData) { + subBuilder.MergeFrom(PublishData); } input.ReadMessage(subBuilder); - CreateVideoTrack = subBuilder; + PublishData = subBuilder; break; } case 66: { - global::LiveKit.Proto.CreateAudioTrackRequest subBuilder = new global::LiveKit.Proto.CreateAudioTrackRequest(); - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - subBuilder.MergeFrom(CreateAudioTrack); + global::LiveKit.Proto.SetSubscribedRequest subBuilder = new global::LiveKit.Proto.SetSubscribedRequest(); + if (messageCase_ == MessageOneofCase.SetSubscribed) { + subBuilder.MergeFrom(SetSubscribed); } input.ReadMessage(subBuilder); - CreateAudioTrack = subBuilder; + SetSubscribed = subBuilder; break; } case 74: { - global::LiveKit.Proto.AllocVideoBufferRequest subBuilder = new global::LiveKit.Proto.AllocVideoBufferRequest(); - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - subBuilder.MergeFrom(AllocVideoBuffer); + global::LiveKit.Proto.SetLocalMetadataRequest subBuilder = new global::LiveKit.Proto.SetLocalMetadataRequest(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + subBuilder.MergeFrom(SetLocalMetadata); } input.ReadMessage(subBuilder); - AllocVideoBuffer = subBuilder; + SetLocalMetadata = subBuilder; break; } case 82: { - global::LiveKit.Proto.NewVideoStreamRequest subBuilder = new global::LiveKit.Proto.NewVideoStreamRequest(); - if (messageCase_ == MessageOneofCase.NewVideoStream) { - subBuilder.MergeFrom(NewVideoStream); + global::LiveKit.Proto.SetLocalNameRequest subBuilder = new global::LiveKit.Proto.SetLocalNameRequest(); + if (messageCase_ == MessageOneofCase.SetLocalName) { + subBuilder.MergeFrom(SetLocalName); } input.ReadMessage(subBuilder); - NewVideoStream = subBuilder; + SetLocalName = subBuilder; break; } case 90: { - global::LiveKit.Proto.NewVideoSourceRequest subBuilder = new global::LiveKit.Proto.NewVideoSourceRequest(); - if (messageCase_ == MessageOneofCase.NewVideoSource) { - subBuilder.MergeFrom(NewVideoSource); + global::LiveKit.Proto.SetLocalAttributesRequest subBuilder = new global::LiveKit.Proto.SetLocalAttributesRequest(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + subBuilder.MergeFrom(SetLocalAttributes); } input.ReadMessage(subBuilder); - NewVideoSource = subBuilder; + SetLocalAttributes = subBuilder; break; } case 98: { - global::LiveKit.Proto.CaptureVideoFrameRequest subBuilder = new global::LiveKit.Proto.CaptureVideoFrameRequest(); - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - subBuilder.MergeFrom(CaptureVideoFrame); + global::LiveKit.Proto.GetSessionStatsRequest subBuilder = new global::LiveKit.Proto.GetSessionStatsRequest(); + if (messageCase_ == MessageOneofCase.GetSessionStats) { + subBuilder.MergeFrom(GetSessionStats); } input.ReadMessage(subBuilder); - CaptureVideoFrame = subBuilder; + GetSessionStats = subBuilder; break; } case 106: { - global::LiveKit.Proto.ToI420Request subBuilder = new global::LiveKit.Proto.ToI420Request(); - if (messageCase_ == MessageOneofCase.ToI420) { - subBuilder.MergeFrom(ToI420); + global::LiveKit.Proto.PublishTranscriptionRequest subBuilder = new global::LiveKit.Proto.PublishTranscriptionRequest(); + if (messageCase_ == MessageOneofCase.PublishTranscription) { + subBuilder.MergeFrom(PublishTranscription); } input.ReadMessage(subBuilder); - ToI420 = subBuilder; + PublishTranscription = subBuilder; break; } case 114: { - global::LiveKit.Proto.ToARGBRequest subBuilder = new global::LiveKit.Proto.ToARGBRequest(); - if (messageCase_ == MessageOneofCase.ToArgb) { - subBuilder.MergeFrom(ToArgb); + global::LiveKit.Proto.PublishSipDtmfRequest subBuilder = new global::LiveKit.Proto.PublishSipDtmfRequest(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + subBuilder.MergeFrom(PublishSipDtmf); } input.ReadMessage(subBuilder); - ToArgb = subBuilder; + PublishSipDtmf = subBuilder; break; } case 122: { - global::LiveKit.Proto.AllocAudioBufferRequest subBuilder = new global::LiveKit.Proto.AllocAudioBufferRequest(); - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - subBuilder.MergeFrom(AllocAudioBuffer); + global::LiveKit.Proto.CreateVideoTrackRequest subBuilder = new global::LiveKit.Proto.CreateVideoTrackRequest(); + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { + subBuilder.MergeFrom(CreateVideoTrack); } input.ReadMessage(subBuilder); - AllocAudioBuffer = subBuilder; + CreateVideoTrack = subBuilder; break; } case 130: { - global::LiveKit.Proto.NewAudioStreamRequest subBuilder = new global::LiveKit.Proto.NewAudioStreamRequest(); - if (messageCase_ == MessageOneofCase.NewAudioStream) { - subBuilder.MergeFrom(NewAudioStream); - } - input.ReadMessage(subBuilder); - NewAudioStream = subBuilder; + global::LiveKit.Proto.CreateAudioTrackRequest subBuilder = new global::LiveKit.Proto.CreateAudioTrackRequest(); + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { + subBuilder.MergeFrom(CreateAudioTrack); + } + input.ReadMessage(subBuilder); + CreateAudioTrack = subBuilder; break; } case 138: { + global::LiveKit.Proto.LocalTrackMuteRequest subBuilder = new global::LiveKit.Proto.LocalTrackMuteRequest(); + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + subBuilder.MergeFrom(LocalTrackMute); + } + input.ReadMessage(subBuilder); + LocalTrackMute = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.EnableRemoteTrackRequest subBuilder = new global::LiveKit.Proto.EnableRemoteTrackRequest(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + subBuilder.MergeFrom(EnableRemoteTrack); + } + input.ReadMessage(subBuilder); + EnableRemoteTrack = subBuilder; + break; + } + case 154: { + global::LiveKit.Proto.GetStatsRequest subBuilder = new global::LiveKit.Proto.GetStatsRequest(); + if (messageCase_ == MessageOneofCase.GetStats) { + subBuilder.MergeFrom(GetStats); + } + input.ReadMessage(subBuilder); + GetStats = subBuilder; + break; + } + case 162: { + global::LiveKit.Proto.NewVideoStreamRequest subBuilder = new global::LiveKit.Proto.NewVideoStreamRequest(); + if (messageCase_ == MessageOneofCase.NewVideoStream) { + subBuilder.MergeFrom(NewVideoStream); + } + input.ReadMessage(subBuilder); + NewVideoStream = subBuilder; + break; + } + case 170: { + global::LiveKit.Proto.NewVideoSourceRequest subBuilder = new global::LiveKit.Proto.NewVideoSourceRequest(); + if (messageCase_ == MessageOneofCase.NewVideoSource) { + subBuilder.MergeFrom(NewVideoSource); + } + input.ReadMessage(subBuilder); + NewVideoSource = subBuilder; + break; + } + case 178: { + global::LiveKit.Proto.CaptureVideoFrameRequest subBuilder = new global::LiveKit.Proto.CaptureVideoFrameRequest(); + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + subBuilder.MergeFrom(CaptureVideoFrame); + } + input.ReadMessage(subBuilder); + CaptureVideoFrame = subBuilder; + break; + } + case 186: { + global::LiveKit.Proto.VideoConvertRequest subBuilder = new global::LiveKit.Proto.VideoConvertRequest(); + if (messageCase_ == MessageOneofCase.VideoConvert) { + subBuilder.MergeFrom(VideoConvert); + } + input.ReadMessage(subBuilder); + VideoConvert = subBuilder; + break; + } + case 194: { + global::LiveKit.Proto.VideoStreamFromParticipantRequest subBuilder = new global::LiveKit.Proto.VideoStreamFromParticipantRequest(); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + subBuilder.MergeFrom(VideoStreamFromParticipant); + } + input.ReadMessage(subBuilder); + VideoStreamFromParticipant = subBuilder; + break; + } + case 202: { + global::LiveKit.Proto.NewAudioStreamRequest subBuilder = new global::LiveKit.Proto.NewAudioStreamRequest(); + if (messageCase_ == MessageOneofCase.NewAudioStream) { + subBuilder.MergeFrom(NewAudioStream); + } + input.ReadMessage(subBuilder); + NewAudioStream = subBuilder; + break; + } + case 210: { global::LiveKit.Proto.NewAudioSourceRequest subBuilder = new global::LiveKit.Proto.NewAudioSourceRequest(); if (messageCase_ == MessageOneofCase.NewAudioSource) { subBuilder.MergeFrom(NewAudioSource); @@ -1333,7 +3633,7 @@ public void MergeFrom(pb::CodedInputStream input) { NewAudioSource = subBuilder; break; } - case 146: { + case 218: { global::LiveKit.Proto.CaptureAudioFrameRequest subBuilder = new global::LiveKit.Proto.CaptureAudioFrameRequest(); if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { subBuilder.MergeFrom(CaptureAudioFrame); @@ -1342,7 +3642,16 @@ public void MergeFrom(pb::CodedInputStream input) { CaptureAudioFrame = subBuilder; break; } - case 154: { + case 226: { + global::LiveKit.Proto.ClearAudioBufferRequest subBuilder = new global::LiveKit.Proto.ClearAudioBufferRequest(); + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + subBuilder.MergeFrom(ClearAudioBuffer); + } + input.ReadMessage(subBuilder); + ClearAudioBuffer = subBuilder; + break; + } + case 234: { global::LiveKit.Proto.NewAudioResamplerRequest subBuilder = new global::LiveKit.Proto.NewAudioResamplerRequest(); if (messageCase_ == MessageOneofCase.NewAudioResampler) { subBuilder.MergeFrom(NewAudioResampler); @@ -1351,7 +3660,7 @@ public void MergeFrom(pb::CodedInputStream input) { NewAudioResampler = subBuilder; break; } - case 162: { + case 242: { global::LiveKit.Proto.RemixAndResampleRequest subBuilder = new global::LiveKit.Proto.RemixAndResampleRequest(); if (messageCase_ == MessageOneofCase.RemixAndResample) { subBuilder.MergeFrom(RemixAndResample); @@ -1360,6 +3669,330 @@ public void MergeFrom(pb::CodedInputStream input) { RemixAndResample = subBuilder; break; } + case 250: { + global::LiveKit.Proto.E2eeRequest subBuilder = new global::LiveKit.Proto.E2eeRequest(); + if (messageCase_ == MessageOneofCase.E2Ee) { + subBuilder.MergeFrom(E2Ee); + } + input.ReadMessage(subBuilder); + E2Ee = subBuilder; + break; + } + case 258: { + global::LiveKit.Proto.AudioStreamFromParticipantRequest subBuilder = new global::LiveKit.Proto.AudioStreamFromParticipantRequest(); + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + subBuilder.MergeFrom(AudioStreamFromParticipant); + } + input.ReadMessage(subBuilder); + AudioStreamFromParticipant = subBuilder; + break; + } + case 266: { + global::LiveKit.Proto.NewSoxResamplerRequest subBuilder = new global::LiveKit.Proto.NewSoxResamplerRequest(); + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + subBuilder.MergeFrom(NewSoxResampler); + } + input.ReadMessage(subBuilder); + NewSoxResampler = subBuilder; + break; + } + case 274: { + global::LiveKit.Proto.PushSoxResamplerRequest subBuilder = new global::LiveKit.Proto.PushSoxResamplerRequest(); + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + subBuilder.MergeFrom(PushSoxResampler); + } + input.ReadMessage(subBuilder); + PushSoxResampler = subBuilder; + break; + } + case 282: { + global::LiveKit.Proto.FlushSoxResamplerRequest subBuilder = new global::LiveKit.Proto.FlushSoxResamplerRequest(); + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + subBuilder.MergeFrom(FlushSoxResampler); + } + input.ReadMessage(subBuilder); + FlushSoxResampler = subBuilder; + break; + } + case 290: { + global::LiveKit.Proto.SendChatMessageRequest subBuilder = new global::LiveKit.Proto.SendChatMessageRequest(); + if (messageCase_ == MessageOneofCase.SendChatMessage) { + subBuilder.MergeFrom(SendChatMessage); + } + input.ReadMessage(subBuilder); + SendChatMessage = subBuilder; + break; + } + case 298: { + global::LiveKit.Proto.EditChatMessageRequest subBuilder = new global::LiveKit.Proto.EditChatMessageRequest(); + if (messageCase_ == MessageOneofCase.EditChatMessage) { + subBuilder.MergeFrom(EditChatMessage); + } + input.ReadMessage(subBuilder); + EditChatMessage = subBuilder; + break; + } + case 306: { + global::LiveKit.Proto.PerformRpcRequest subBuilder = new global::LiveKit.Proto.PerformRpcRequest(); + if (messageCase_ == MessageOneofCase.PerformRpc) { + subBuilder.MergeFrom(PerformRpc); + } + input.ReadMessage(subBuilder); + PerformRpc = subBuilder; + break; + } + case 314: { + global::LiveKit.Proto.RegisterRpcMethodRequest subBuilder = new global::LiveKit.Proto.RegisterRpcMethodRequest(); + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + subBuilder.MergeFrom(RegisterRpcMethod); + } + input.ReadMessage(subBuilder); + RegisterRpcMethod = subBuilder; + break; + } + case 322: { + global::LiveKit.Proto.UnregisterRpcMethodRequest subBuilder = new global::LiveKit.Proto.UnregisterRpcMethodRequest(); + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + subBuilder.MergeFrom(UnregisterRpcMethod); + } + input.ReadMessage(subBuilder); + UnregisterRpcMethod = subBuilder; + break; + } + case 330: { + global::LiveKit.Proto.RpcMethodInvocationResponseRequest subBuilder = new global::LiveKit.Proto.RpcMethodInvocationResponseRequest(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + subBuilder.MergeFrom(RpcMethodInvocationResponse); + } + input.ReadMessage(subBuilder); + RpcMethodInvocationResponse = subBuilder; + break; + } + case 338: { + global::LiveKit.Proto.EnableRemoteTrackPublicationRequest subBuilder = new global::LiveKit.Proto.EnableRemoteTrackPublicationRequest(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + subBuilder.MergeFrom(EnableRemoteTrackPublication); + } + input.ReadMessage(subBuilder); + EnableRemoteTrackPublication = subBuilder; + break; + } + case 346: { + global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest subBuilder = new global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest(); + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + subBuilder.MergeFrom(UpdateRemoteTrackPublicationDimension); + } + input.ReadMessage(subBuilder); + UpdateRemoteTrackPublicationDimension = subBuilder; + break; + } + case 354: { + global::LiveKit.Proto.SendStreamHeaderRequest subBuilder = new global::LiveKit.Proto.SendStreamHeaderRequest(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + subBuilder.MergeFrom(SendStreamHeader); + } + input.ReadMessage(subBuilder); + SendStreamHeader = subBuilder; + break; + } + case 362: { + global::LiveKit.Proto.SendStreamChunkRequest subBuilder = new global::LiveKit.Proto.SendStreamChunkRequest(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + subBuilder.MergeFrom(SendStreamChunk); + } + input.ReadMessage(subBuilder); + SendStreamChunk = subBuilder; + break; + } + case 370: { + global::LiveKit.Proto.SendStreamTrailerRequest subBuilder = new global::LiveKit.Proto.SendStreamTrailerRequest(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + subBuilder.MergeFrom(SendStreamTrailer); + } + input.ReadMessage(subBuilder); + SendStreamTrailer = subBuilder; + break; + } + case 378: { + global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest subBuilder = new global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest(); + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + subBuilder.MergeFrom(SetDataChannelBufferedAmountLowThreshold); + } + input.ReadMessage(subBuilder); + SetDataChannelBufferedAmountLowThreshold = subBuilder; + break; + } + case 386: { + global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest subBuilder = new global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest(); + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + subBuilder.MergeFrom(SetTrackSubscriptionPermissions); + } + input.ReadMessage(subBuilder); + SetTrackSubscriptionPermissions = subBuilder; + break; + } + case 394: { + global::LiveKit.Proto.LoadAudioFilterPluginRequest subBuilder = new global::LiveKit.Proto.LoadAudioFilterPluginRequest(); + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + subBuilder.MergeFrom(LoadAudioFilterPlugin); + } + input.ReadMessage(subBuilder); + LoadAudioFilterPlugin = subBuilder; + break; + } + case 402: { + global::LiveKit.Proto.NewApmRequest subBuilder = new global::LiveKit.Proto.NewApmRequest(); + if (messageCase_ == MessageOneofCase.NewApm) { + subBuilder.MergeFrom(NewApm); + } + input.ReadMessage(subBuilder); + NewApm = subBuilder; + break; + } + case 410: { + global::LiveKit.Proto.ApmProcessStreamRequest subBuilder = new global::LiveKit.Proto.ApmProcessStreamRequest(); + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + subBuilder.MergeFrom(ApmProcessStream); + } + input.ReadMessage(subBuilder); + ApmProcessStream = subBuilder; + break; + } + case 418: { + global::LiveKit.Proto.ApmProcessReverseStreamRequest subBuilder = new global::LiveKit.Proto.ApmProcessReverseStreamRequest(); + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + subBuilder.MergeFrom(ApmProcessReverseStream); + } + input.ReadMessage(subBuilder); + ApmProcessReverseStream = subBuilder; + break; + } + case 426: { + global::LiveKit.Proto.ApmSetStreamDelayRequest subBuilder = new global::LiveKit.Proto.ApmSetStreamDelayRequest(); + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + subBuilder.MergeFrom(ApmSetStreamDelay); + } + input.ReadMessage(subBuilder); + ApmSetStreamDelay = subBuilder; + break; + } + case 434: { + global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadIncrementalRequest(); + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + subBuilder.MergeFrom(ByteReadIncremental); + } + input.ReadMessage(subBuilder); + ByteReadIncremental = subBuilder; + break; + } + case 442: { + global::LiveKit.Proto.ByteStreamReaderReadAllRequest subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadAllRequest(); + if (messageCase_ == MessageOneofCase.ByteReadAll) { + subBuilder.MergeFrom(ByteReadAll); + } + input.ReadMessage(subBuilder); + ByteReadAll = subBuilder; + break; + } + case 450: { + global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest subBuilder = new global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest(); + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + subBuilder.MergeFrom(ByteWriteToFile); + } + input.ReadMessage(subBuilder); + ByteWriteToFile = subBuilder; + break; + } + case 458: { + global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest subBuilder = new global::LiveKit.Proto.TextStreamReaderReadIncrementalRequest(); + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + subBuilder.MergeFrom(TextReadIncremental); + } + input.ReadMessage(subBuilder); + TextReadIncremental = subBuilder; + break; + } + case 466: { + global::LiveKit.Proto.TextStreamReaderReadAllRequest subBuilder = new global::LiveKit.Proto.TextStreamReaderReadAllRequest(); + if (messageCase_ == MessageOneofCase.TextReadAll) { + subBuilder.MergeFrom(TextReadAll); + } + input.ReadMessage(subBuilder); + TextReadAll = subBuilder; + break; + } + case 474: { + global::LiveKit.Proto.StreamSendFileRequest subBuilder = new global::LiveKit.Proto.StreamSendFileRequest(); + if (messageCase_ == MessageOneofCase.SendFile) { + subBuilder.MergeFrom(SendFile); + } + input.ReadMessage(subBuilder); + SendFile = subBuilder; + break; + } + case 482: { + global::LiveKit.Proto.StreamSendTextRequest subBuilder = new global::LiveKit.Proto.StreamSendTextRequest(); + if (messageCase_ == MessageOneofCase.SendText) { + subBuilder.MergeFrom(SendText); + } + input.ReadMessage(subBuilder); + SendText = subBuilder; + break; + } + case 490: { + global::LiveKit.Proto.ByteStreamOpenRequest subBuilder = new global::LiveKit.Proto.ByteStreamOpenRequest(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + subBuilder.MergeFrom(ByteStreamOpen); + } + input.ReadMessage(subBuilder); + ByteStreamOpen = subBuilder; + break; + } + case 498: { + global::LiveKit.Proto.ByteStreamWriterWriteRequest subBuilder = new global::LiveKit.Proto.ByteStreamWriterWriteRequest(); + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + subBuilder.MergeFrom(ByteStreamWrite); + } + input.ReadMessage(subBuilder); + ByteStreamWrite = subBuilder; + break; + } + case 506: { + global::LiveKit.Proto.ByteStreamWriterCloseRequest subBuilder = new global::LiveKit.Proto.ByteStreamWriterCloseRequest(); + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + subBuilder.MergeFrom(ByteStreamClose); + } + input.ReadMessage(subBuilder); + ByteStreamClose = subBuilder; + break; + } + case 514: { + global::LiveKit.Proto.TextStreamOpenRequest subBuilder = new global::LiveKit.Proto.TextStreamOpenRequest(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + subBuilder.MergeFrom(TextStreamOpen); + } + input.ReadMessage(subBuilder); + TextStreamOpen = subBuilder; + break; + } + case 522: { + global::LiveKit.Proto.TextStreamWriterWriteRequest subBuilder = new global::LiveKit.Proto.TextStreamWriterWriteRequest(); + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + subBuilder.MergeFrom(TextStreamWrite); + } + input.ReadMessage(subBuilder); + TextStreamWrite = subBuilder; + break; + } + case 530: { + global::LiveKit.Proto.TextStreamWriterCloseRequest subBuilder = new global::LiveKit.Proto.TextStreamWriterCloseRequest(); + if (messageCase_ == MessageOneofCase.TextStreamClose) { + subBuilder.MergeFrom(TextStreamClose); + } + input.ReadMessage(subBuilder); + TextStreamClose = subBuilder; + break; + } } } } @@ -1368,18 +4001,19 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - //// This is the output of livekit_ffi_request function. + /// This is the output of livekit_ffi_request function. /// - public sealed partial class FFIResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FfiResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FFIResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FfiResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1395,7 +4029,7 @@ public sealed partial class FFIResponse : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIResponse() { + public FfiResponse() { OnConstruction(); } @@ -1403,11 +4037,8 @@ public FFIResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIResponse(FFIResponse other) : this() { + public FfiResponse(FfiResponse other) : this() { switch (other.MessageCase) { - case MessageOneofCase.Initialize: - Initialize = other.Initialize.Clone(); - break; case MessageOneofCase.Dispose: Dispose = other.Dispose.Clone(); break; @@ -1423,14 +4054,47 @@ public FFIResponse(FFIResponse other) : this() { case MessageOneofCase.UnpublishTrack: UnpublishTrack = other.UnpublishTrack.Clone(); break; + case MessageOneofCase.PublishData: + PublishData = other.PublishData.Clone(); + break; + case MessageOneofCase.SetSubscribed: + SetSubscribed = other.SetSubscribed.Clone(); + break; + case MessageOneofCase.SetLocalMetadata: + SetLocalMetadata = other.SetLocalMetadata.Clone(); + break; + case MessageOneofCase.SetLocalName: + SetLocalName = other.SetLocalName.Clone(); + break; + case MessageOneofCase.SetLocalAttributes: + SetLocalAttributes = other.SetLocalAttributes.Clone(); + break; + case MessageOneofCase.GetSessionStats: + GetSessionStats = other.GetSessionStats.Clone(); + break; + case MessageOneofCase.PublishTranscription: + PublishTranscription = other.PublishTranscription.Clone(); + break; + case MessageOneofCase.PublishSipDtmf: + PublishSipDtmf = other.PublishSipDtmf.Clone(); + break; case MessageOneofCase.CreateVideoTrack: CreateVideoTrack = other.CreateVideoTrack.Clone(); break; case MessageOneofCase.CreateAudioTrack: CreateAudioTrack = other.CreateAudioTrack.Clone(); break; - case MessageOneofCase.AllocVideoBuffer: - AllocVideoBuffer = other.AllocVideoBuffer.Clone(); + case MessageOneofCase.LocalTrackMute: + LocalTrackMute = other.LocalTrackMute.Clone(); + break; + case MessageOneofCase.EnableRemoteTrack: + EnableRemoteTrack = other.EnableRemoteTrack.Clone(); + break; + case MessageOneofCase.GetStats: + GetStats = other.GetStats.Clone(); + break; + case MessageOneofCase.SetTrackSubscriptionPermissions: + SetTrackSubscriptionPermissions = other.SetTrackSubscriptionPermissions.Clone(); break; case MessageOneofCase.NewVideoStream: NewVideoStream = other.NewVideoStream.Clone(); @@ -1441,14 +4105,11 @@ public FFIResponse(FFIResponse other) : this() { case MessageOneofCase.CaptureVideoFrame: CaptureVideoFrame = other.CaptureVideoFrame.Clone(); break; - case MessageOneofCase.ToI420: - ToI420 = other.ToI420.Clone(); - break; - case MessageOneofCase.ToArgb: - ToArgb = other.ToArgb.Clone(); + case MessageOneofCase.VideoConvert: + VideoConvert = other.VideoConvert.Clone(); break; - case MessageOneofCase.AllocAudioBuffer: - AllocAudioBuffer = other.AllocAudioBuffer.Clone(); + case MessageOneofCase.VideoStreamFromParticipant: + VideoStreamFromParticipant = other.VideoStreamFromParticipant.Clone(); break; case MessageOneofCase.NewAudioStream: NewAudioStream = other.NewAudioStream.Clone(); @@ -1459,48 +4120,141 @@ public FFIResponse(FFIResponse other) : this() { case MessageOneofCase.CaptureAudioFrame: CaptureAudioFrame = other.CaptureAudioFrame.Clone(); break; + case MessageOneofCase.ClearAudioBuffer: + ClearAudioBuffer = other.ClearAudioBuffer.Clone(); + break; case MessageOneofCase.NewAudioResampler: NewAudioResampler = other.NewAudioResampler.Clone(); break; case MessageOneofCase.RemixAndResample: RemixAndResample = other.RemixAndResample.Clone(); break; - } - - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIResponse Clone() { - return new FFIResponse(this); - } - - /// Field number for the "initialize" field. - public const int InitializeFieldNumber = 1; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.InitializeResponse Initialize { - get { return messageCase_ == MessageOneofCase.Initialize ? (global::LiveKit.Proto.InitializeResponse) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Initialize; - } - } - - /// Field number for the "dispose" field. - public const int DisposeFieldNumber = 2; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.DisposeResponse Dispose { - get { return messageCase_ == MessageOneofCase.Dispose ? (global::LiveKit.Proto.DisposeResponse) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Dispose; - } - } - - /// Field number for the "connect" field. + case MessageOneofCase.AudioStreamFromParticipant: + AudioStreamFromParticipant = other.AudioStreamFromParticipant.Clone(); + break; + case MessageOneofCase.E2Ee: + E2Ee = other.E2Ee.Clone(); + break; + case MessageOneofCase.NewSoxResampler: + NewSoxResampler = other.NewSoxResampler.Clone(); + break; + case MessageOneofCase.PushSoxResampler: + PushSoxResampler = other.PushSoxResampler.Clone(); + break; + case MessageOneofCase.FlushSoxResampler: + FlushSoxResampler = other.FlushSoxResampler.Clone(); + break; + case MessageOneofCase.SendChatMessage: + SendChatMessage = other.SendChatMessage.Clone(); + break; + case MessageOneofCase.PerformRpc: + PerformRpc = other.PerformRpc.Clone(); + break; + case MessageOneofCase.RegisterRpcMethod: + RegisterRpcMethod = other.RegisterRpcMethod.Clone(); + break; + case MessageOneofCase.UnregisterRpcMethod: + UnregisterRpcMethod = other.UnregisterRpcMethod.Clone(); + break; + case MessageOneofCase.RpcMethodInvocationResponse: + RpcMethodInvocationResponse = other.RpcMethodInvocationResponse.Clone(); + break; + case MessageOneofCase.EnableRemoteTrackPublication: + EnableRemoteTrackPublication = other.EnableRemoteTrackPublication.Clone(); + break; + case MessageOneofCase.UpdateRemoteTrackPublicationDimension: + UpdateRemoteTrackPublicationDimension = other.UpdateRemoteTrackPublicationDimension.Clone(); + break; + case MessageOneofCase.SendStreamHeader: + SendStreamHeader = other.SendStreamHeader.Clone(); + break; + case MessageOneofCase.SendStreamChunk: + SendStreamChunk = other.SendStreamChunk.Clone(); + break; + case MessageOneofCase.SendStreamTrailer: + SendStreamTrailer = other.SendStreamTrailer.Clone(); + break; + case MessageOneofCase.SetDataChannelBufferedAmountLowThreshold: + SetDataChannelBufferedAmountLowThreshold = other.SetDataChannelBufferedAmountLowThreshold.Clone(); + break; + case MessageOneofCase.LoadAudioFilterPlugin: + LoadAudioFilterPlugin = other.LoadAudioFilterPlugin.Clone(); + break; + case MessageOneofCase.NewApm: + NewApm = other.NewApm.Clone(); + break; + case MessageOneofCase.ApmProcessStream: + ApmProcessStream = other.ApmProcessStream.Clone(); + break; + case MessageOneofCase.ApmProcessReverseStream: + ApmProcessReverseStream = other.ApmProcessReverseStream.Clone(); + break; + case MessageOneofCase.ApmSetStreamDelay: + ApmSetStreamDelay = other.ApmSetStreamDelay.Clone(); + break; + case MessageOneofCase.ByteReadIncremental: + ByteReadIncremental = other.ByteReadIncremental.Clone(); + break; + case MessageOneofCase.ByteReadAll: + ByteReadAll = other.ByteReadAll.Clone(); + break; + case MessageOneofCase.ByteWriteToFile: + ByteWriteToFile = other.ByteWriteToFile.Clone(); + break; + case MessageOneofCase.TextReadIncremental: + TextReadIncremental = other.TextReadIncremental.Clone(); + break; + case MessageOneofCase.TextReadAll: + TextReadAll = other.TextReadAll.Clone(); + break; + case MessageOneofCase.SendFile: + SendFile = other.SendFile.Clone(); + break; + case MessageOneofCase.SendText: + SendText = other.SendText.Clone(); + break; + case MessageOneofCase.ByteStreamOpen: + ByteStreamOpen = other.ByteStreamOpen.Clone(); + break; + case MessageOneofCase.ByteStreamWrite: + ByteStreamWrite = other.ByteStreamWrite.Clone(); + break; + case MessageOneofCase.ByteStreamClose: + ByteStreamClose = other.ByteStreamClose.Clone(); + break; + case MessageOneofCase.TextStreamOpen: + TextStreamOpen = other.TextStreamOpen.Clone(); + break; + case MessageOneofCase.TextStreamWrite: + TextStreamWrite = other.TextStreamWrite.Clone(); + break; + case MessageOneofCase.TextStreamClose: + TextStreamClose = other.TextStreamClose.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FfiResponse Clone() { + return new FfiResponse(this); + } + + /// Field number for the "dispose" field. + public const int DisposeFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DisposeResponse Dispose { + get { return messageCase_ == MessageOneofCase.Dispose ? (global::LiveKit.Proto.DisposeResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Dispose; + } + } + + /// Field number for the "connect" field. public const int ConnectFieldNumber = 3; /// /// Room @@ -1551,8 +4305,104 @@ public FFIResponse Clone() { } } + /// Field number for the "publish_data" field. + public const int PublishDataFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishDataResponse PublishData { + get { return messageCase_ == MessageOneofCase.PublishData ? (global::LiveKit.Proto.PublishDataResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishData; + } + } + + /// Field number for the "set_subscribed" field. + public const int SetSubscribedFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetSubscribedResponse SetSubscribed { + get { return messageCase_ == MessageOneofCase.SetSubscribed ? (global::LiveKit.Proto.SetSubscribedResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetSubscribed; + } + } + + /// Field number for the "set_local_metadata" field. + public const int SetLocalMetadataFieldNumber = 9; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalMetadataResponse SetLocalMetadata { + get { return messageCase_ == MessageOneofCase.SetLocalMetadata ? (global::LiveKit.Proto.SetLocalMetadataResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalMetadata; + } + } + + /// Field number for the "set_local_name" field. + public const int SetLocalNameFieldNumber = 10; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalNameResponse SetLocalName { + get { return messageCase_ == MessageOneofCase.SetLocalName ? (global::LiveKit.Proto.SetLocalNameResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalName; + } + } + + /// Field number for the "set_local_attributes" field. + public const int SetLocalAttributesFieldNumber = 11; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalAttributesResponse SetLocalAttributes { + get { return messageCase_ == MessageOneofCase.SetLocalAttributes ? (global::LiveKit.Proto.SetLocalAttributesResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalAttributes; + } + } + + /// Field number for the "get_session_stats" field. + public const int GetSessionStatsFieldNumber = 12; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetSessionStatsResponse GetSessionStats { + get { return messageCase_ == MessageOneofCase.GetSessionStats ? (global::LiveKit.Proto.GetSessionStatsResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetSessionStats; + } + } + + /// Field number for the "publish_transcription" field. + public const int PublishTranscriptionFieldNumber = 13; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishTranscriptionResponse PublishTranscription { + get { return messageCase_ == MessageOneofCase.PublishTranscription ? (global::LiveKit.Proto.PublishTranscriptionResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishTranscription; + } + } + + /// Field number for the "publish_sip_dtmf" field. + public const int PublishSipDtmfFieldNumber = 14; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishSipDtmfResponse PublishSipDtmf { + get { return messageCase_ == MessageOneofCase.PublishSipDtmf ? (global::LiveKit.Proto.PublishSipDtmfResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishSipDtmf; + } + } + /// Field number for the "create_video_track" field. - public const int CreateVideoTrackFieldNumber = 7; + public const int CreateVideoTrackFieldNumber = 15; /// /// Track /// @@ -1567,7 +4417,7 @@ public FFIResponse Clone() { } /// Field number for the "create_audio_track" field. - public const int CreateAudioTrackFieldNumber = 8; + public const int CreateAudioTrackFieldNumber = 16; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.CreateAudioTrackResponse CreateAudioTrack { @@ -1578,23 +4428,59 @@ public FFIResponse Clone() { } } - /// Field number for the "alloc_video_buffer" field. - public const int AllocVideoBufferFieldNumber = 9; - /// - /// Video - /// + /// Field number for the "local_track_mute" field. + public const int LocalTrackMuteFieldNumber = 17; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LocalTrackMuteResponse LocalTrackMute { + get { return messageCase_ == MessageOneofCase.LocalTrackMute ? (global::LiveKit.Proto.LocalTrackMuteResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalTrackMute; + } + } + + /// Field number for the "enable_remote_track" field. + public const int EnableRemoteTrackFieldNumber = 18; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.EnableRemoteTrackResponse EnableRemoteTrack { + get { return messageCase_ == MessageOneofCase.EnableRemoteTrack ? (global::LiveKit.Proto.EnableRemoteTrackResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.EnableRemoteTrack; + } + } + + /// Field number for the "get_stats" field. + public const int GetStatsFieldNumber = 19; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetStatsResponse GetStats { + get { return messageCase_ == MessageOneofCase.GetStats ? (global::LiveKit.Proto.GetStatsResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetStats; + } + } + + /// Field number for the "set_track_subscription_permissions" field. + public const int SetTrackSubscriptionPermissionsFieldNumber = 47; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AllocVideoBufferResponse AllocVideoBuffer { - get { return messageCase_ == MessageOneofCase.AllocVideoBuffer ? (global::LiveKit.Proto.AllocVideoBufferResponse) message_ : null; } + public global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse SetTrackSubscriptionPermissions { + get { return messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions ? (global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse) message_ : null; } set { message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AllocVideoBuffer; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetTrackSubscriptionPermissions; } } /// Field number for the "new_video_stream" field. - public const int NewVideoStreamFieldNumber = 10; + public const int NewVideoStreamFieldNumber = 20; + /// + /// Video + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewVideoStreamResponse NewVideoStream { @@ -1606,7 +4492,7 @@ public FFIResponse Clone() { } /// Field number for the "new_video_source" field. - public const int NewVideoSourceFieldNumber = 11; + public const int NewVideoSourceFieldNumber = 21; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewVideoSourceResponse NewVideoSource { @@ -1618,7 +4504,7 @@ public FFIResponse Clone() { } /// Field number for the "capture_video_frame" field. - public const int CaptureVideoFrameFieldNumber = 12; + public const int CaptureVideoFrameFieldNumber = 22; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.CaptureVideoFrameResponse CaptureVideoFrame { @@ -1629,49 +4515,37 @@ public FFIResponse Clone() { } } - /// Field number for the "to_i420" field. - public const int ToI420FieldNumber = 13; + /// Field number for the "video_convert" field. + public const int VideoConvertFieldNumber = 23; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ToI420Response ToI420 { - get { return messageCase_ == MessageOneofCase.ToI420 ? (global::LiveKit.Proto.ToI420Response) message_ : null; } + public global::LiveKit.Proto.VideoConvertResponse VideoConvert { + get { return messageCase_ == MessageOneofCase.VideoConvert ? (global::LiveKit.Proto.VideoConvertResponse) message_ : null; } set { message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ToI420; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.VideoConvert; } } - /// Field number for the "to_argb" field. - public const int ToArgbFieldNumber = 14; + /// Field number for the "video_stream_from_participant" field. + public const int VideoStreamFromParticipantFieldNumber = 24; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ToARGBResponse ToArgb { - get { return messageCase_ == MessageOneofCase.ToArgb ? (global::LiveKit.Proto.ToARGBResponse) message_ : null; } + public global::LiveKit.Proto.VideoStreamFromParticipantResponse VideoStreamFromParticipant { + get { return messageCase_ == MessageOneofCase.VideoStreamFromParticipant ? (global::LiveKit.Proto.VideoStreamFromParticipantResponse) message_ : null; } set { message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ToArgb; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.VideoStreamFromParticipant; } } - /// Field number for the "alloc_audio_buffer" field. - public const int AllocAudioBufferFieldNumber = 15; + /// Field number for the "new_audio_stream" field. + public const int NewAudioStreamFieldNumber = 25; /// /// Audio /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AllocAudioBufferResponse AllocAudioBuffer { - get { return messageCase_ == MessageOneofCase.AllocAudioBuffer ? (global::LiveKit.Proto.AllocAudioBufferResponse) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AllocAudioBuffer; - } - } - - /// Field number for the "new_audio_stream" field. - public const int NewAudioStreamFieldNumber = 16; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewAudioStreamResponse NewAudioStream { get { return messageCase_ == MessageOneofCase.NewAudioStream ? (global::LiveKit.Proto.NewAudioStreamResponse) message_ : null; } set { @@ -1681,7 +4555,7 @@ public FFIResponse Clone() { } /// Field number for the "new_audio_source" field. - public const int NewAudioSourceFieldNumber = 17; + public const int NewAudioSourceFieldNumber = 26; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewAudioSourceResponse NewAudioSource { @@ -1693,7 +4567,7 @@ public FFIResponse Clone() { } /// Field number for the "capture_audio_frame" field. - public const int CaptureAudioFrameFieldNumber = 18; + public const int CaptureAudioFrameFieldNumber = 27; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.CaptureAudioFrameResponse CaptureAudioFrame { @@ -1704,8 +4578,20 @@ public FFIResponse Clone() { } } + /// Field number for the "clear_audio_buffer" field. + public const int ClearAudioBufferFieldNumber = 28; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ClearAudioBufferResponse ClearAudioBuffer { + get { return messageCase_ == MessageOneofCase.ClearAudioBuffer ? (global::LiveKit.Proto.ClearAudioBufferResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ClearAudioBuffer; + } + } + /// Field number for the "new_audio_resampler" field. - public const int NewAudioResamplerFieldNumber = 19; + public const int NewAudioResamplerFieldNumber = 29; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.NewAudioResamplerResponse NewAudioResampler { @@ -1717,7 +4603,7 @@ public FFIResponse Clone() { } /// Field number for the "remix_and_resample" field. - public const int RemixAndResampleFieldNumber = 20; + public const int RemixAndResampleFieldNumber = 30; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.RemixAndResampleResponse RemixAndResample { @@ -1728,890 +4614,5262 @@ public FFIResponse Clone() { } } - private object message_; - /// Enum of possible cases for the "message" oneof. - public enum MessageOneofCase { - None = 0, - Initialize = 1, - Dispose = 2, - Connect = 3, - Disconnect = 4, - PublishTrack = 5, - UnpublishTrack = 6, - CreateVideoTrack = 7, - CreateAudioTrack = 8, - AllocVideoBuffer = 9, - NewVideoStream = 10, - NewVideoSource = 11, - CaptureVideoFrame = 12, - ToI420 = 13, - ToArgb = 14, - AllocAudioBuffer = 15, - NewAudioStream = 16, - NewAudioSource = 17, - CaptureAudioFrame = 18, - NewAudioResampler = 19, - RemixAndResample = 20, - } - private MessageOneofCase messageCase_ = MessageOneofCase.None; + /// Field number for the "audio_stream_from_participant" field. + public const int AudioStreamFromParticipantFieldNumber = 31; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public MessageOneofCase MessageCase { - get { return messageCase_; } + public global::LiveKit.Proto.AudioStreamFromParticipantResponse AudioStreamFromParticipant { + get { return messageCase_ == MessageOneofCase.AudioStreamFromParticipant ? (global::LiveKit.Proto.AudioStreamFromParticipantResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AudioStreamFromParticipant; + } } + /// Field number for the "e2ee" field. + public const int E2EeFieldNumber = 32; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearMessage() { - messageCase_ = MessageOneofCase.None; - message_ = null; + public global::LiveKit.Proto.E2eeResponse E2Ee { + get { return messageCase_ == MessageOneofCase.E2Ee ? (global::LiveKit.Proto.E2eeResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.E2Ee; + } } + /// Field number for the "new_sox_resampler" field. + public const int NewSoxResamplerFieldNumber = 33; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as FFIResponse); + public global::LiveKit.Proto.NewSoxResamplerResponse NewSoxResampler { + get { return messageCase_ == MessageOneofCase.NewSoxResampler ? (global::LiveKit.Proto.NewSoxResamplerResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.NewSoxResampler; + } } + /// Field number for the "push_sox_resampler" field. + public const int PushSoxResamplerFieldNumber = 34; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FFIResponse other) { - if (ReferenceEquals(other, null)) { - return false; + public global::LiveKit.Proto.PushSoxResamplerResponse PushSoxResampler { + get { return messageCase_ == MessageOneofCase.PushSoxResampler ? (global::LiveKit.Proto.PushSoxResamplerResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PushSoxResampler; } - if (ReferenceEquals(other, this)) { - return true; + } + + /// Field number for the "flush_sox_resampler" field. + public const int FlushSoxResamplerFieldNumber = 35; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FlushSoxResamplerResponse FlushSoxResampler { + get { return messageCase_ == MessageOneofCase.FlushSoxResampler ? (global::LiveKit.Proto.FlushSoxResamplerResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.FlushSoxResampler; } - if (!object.Equals(Initialize, other.Initialize)) return false; - if (!object.Equals(Dispose, other.Dispose)) return false; - if (!object.Equals(Connect, other.Connect)) return false; - if (!object.Equals(Disconnect, other.Disconnect)) return false; - if (!object.Equals(PublishTrack, other.PublishTrack)) return false; - if (!object.Equals(UnpublishTrack, other.UnpublishTrack)) return false; - if (!object.Equals(CreateVideoTrack, other.CreateVideoTrack)) return false; - if (!object.Equals(CreateAudioTrack, other.CreateAudioTrack)) return false; - if (!object.Equals(AllocVideoBuffer, other.AllocVideoBuffer)) return false; - if (!object.Equals(NewVideoStream, other.NewVideoStream)) return false; - if (!object.Equals(NewVideoSource, other.NewVideoSource)) return false; - if (!object.Equals(CaptureVideoFrame, other.CaptureVideoFrame)) return false; - if (!object.Equals(ToI420, other.ToI420)) return false; - if (!object.Equals(ToArgb, other.ToArgb)) return false; - if (!object.Equals(AllocAudioBuffer, other.AllocAudioBuffer)) return false; - if (!object.Equals(NewAudioStream, other.NewAudioStream)) return false; - if (!object.Equals(NewAudioSource, other.NewAudioSource)) return false; - if (!object.Equals(CaptureAudioFrame, other.CaptureAudioFrame)) return false; - if (!object.Equals(NewAudioResampler, other.NewAudioResampler)) return false; - if (!object.Equals(RemixAndResample, other.RemixAndResample)) return false; - if (MessageCase != other.MessageCase) return false; - return Equals(_unknownFields, other._unknownFields); } + /// Field number for the "send_chat_message" field. + public const int SendChatMessageFieldNumber = 36; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (messageCase_ == MessageOneofCase.Initialize) hash ^= Initialize.GetHashCode(); - if (messageCase_ == MessageOneofCase.Dispose) hash ^= Dispose.GetHashCode(); - if (messageCase_ == MessageOneofCase.Connect) hash ^= Connect.GetHashCode(); - if (messageCase_ == MessageOneofCase.Disconnect) hash ^= Disconnect.GetHashCode(); - if (messageCase_ == MessageOneofCase.PublishTrack) hash ^= PublishTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.UnpublishTrack) hash ^= UnpublishTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.CreateVideoTrack) hash ^= CreateVideoTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.CreateAudioTrack) hash ^= CreateAudioTrack.GetHashCode(); - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) hash ^= AllocVideoBuffer.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewVideoStream) hash ^= NewVideoStream.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewVideoSource) hash ^= NewVideoSource.GetHashCode(); - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) hash ^= CaptureVideoFrame.GetHashCode(); - if (messageCase_ == MessageOneofCase.ToI420) hash ^= ToI420.GetHashCode(); - if (messageCase_ == MessageOneofCase.ToArgb) hash ^= ToArgb.GetHashCode(); - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) hash ^= AllocAudioBuffer.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewAudioStream) hash ^= NewAudioStream.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewAudioSource) hash ^= NewAudioSource.GetHashCode(); - if (messageCase_ == MessageOneofCase.CaptureAudioFrame) hash ^= CaptureAudioFrame.GetHashCode(); - if (messageCase_ == MessageOneofCase.NewAudioResampler) hash ^= NewAudioResampler.GetHashCode(); - if (messageCase_ == MessageOneofCase.RemixAndResample) hash ^= RemixAndResample.GetHashCode(); - hash ^= (int) messageCase_; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); + public global::LiveKit.Proto.SendChatMessageResponse SendChatMessage { + get { return messageCase_ == MessageOneofCase.SendChatMessage ? (global::LiveKit.Proto.SendChatMessageResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendChatMessage; } - return hash; } + /// Field number for the "perform_rpc" field. + public const int PerformRpcFieldNumber = 37; + /// + /// RPC + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); + public global::LiveKit.Proto.PerformRpcResponse PerformRpc { + get { return messageCase_ == MessageOneofCase.PerformRpc ? (global::LiveKit.Proto.PerformRpcResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PerformRpc; + } } + /// Field number for the "register_rpc_method" field. + public const int RegisterRpcMethodFieldNumber = 38; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (messageCase_ == MessageOneofCase.Initialize) { - output.WriteRawTag(10); - output.WriteMessage(Initialize); + public global::LiveKit.Proto.RegisterRpcMethodResponse RegisterRpcMethod { + get { return messageCase_ == MessageOneofCase.RegisterRpcMethod ? (global::LiveKit.Proto.RegisterRpcMethodResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RegisterRpcMethod; } - if (messageCase_ == MessageOneofCase.Dispose) { - output.WriteRawTag(18); - output.WriteMessage(Dispose); + } + + /// Field number for the "unregister_rpc_method" field. + public const int UnregisterRpcMethodFieldNumber = 39; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.UnregisterRpcMethodResponse UnregisterRpcMethod { + get { return messageCase_ == MessageOneofCase.UnregisterRpcMethod ? (global::LiveKit.Proto.UnregisterRpcMethodResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.UnregisterRpcMethod; } - if (messageCase_ == MessageOneofCase.Connect) { - output.WriteRawTag(26); - output.WriteMessage(Connect); - } - if (messageCase_ == MessageOneofCase.Disconnect) { - output.WriteRawTag(34); - output.WriteMessage(Disconnect); - } - if (messageCase_ == MessageOneofCase.PublishTrack) { - output.WriteRawTag(42); - output.WriteMessage(PublishTrack); - } - if (messageCase_ == MessageOneofCase.UnpublishTrack) { - output.WriteRawTag(50); - output.WriteMessage(UnpublishTrack); - } - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - output.WriteRawTag(58); - output.WriteMessage(CreateVideoTrack); - } - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - output.WriteRawTag(66); - output.WriteMessage(CreateAudioTrack); - } - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - output.WriteRawTag(74); - output.WriteMessage(AllocVideoBuffer); - } - if (messageCase_ == MessageOneofCase.NewVideoStream) { - output.WriteRawTag(82); - output.WriteMessage(NewVideoStream); - } - if (messageCase_ == MessageOneofCase.NewVideoSource) { - output.WriteRawTag(90); - output.WriteMessage(NewVideoSource); - } - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - output.WriteRawTag(98); - output.WriteMessage(CaptureVideoFrame); - } - if (messageCase_ == MessageOneofCase.ToI420) { - output.WriteRawTag(106); - output.WriteMessage(ToI420); - } - if (messageCase_ == MessageOneofCase.ToArgb) { - output.WriteRawTag(114); - output.WriteMessage(ToArgb); - } - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - output.WriteRawTag(122); - output.WriteMessage(AllocAudioBuffer); - } - if (messageCase_ == MessageOneofCase.NewAudioStream) { - output.WriteRawTag(130, 1); - output.WriteMessage(NewAudioStream); - } - if (messageCase_ == MessageOneofCase.NewAudioSource) { - output.WriteRawTag(138, 1); - output.WriteMessage(NewAudioSource); - } - if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - output.WriteRawTag(146, 1); - output.WriteMessage(CaptureAudioFrame); - } - if (messageCase_ == MessageOneofCase.NewAudioResampler) { - output.WriteRawTag(154, 1); - output.WriteMessage(NewAudioResampler); - } - if (messageCase_ == MessageOneofCase.RemixAndResample) { - output.WriteRawTag(162, 1); - output.WriteMessage(RemixAndResample); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif } - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + /// Field number for the "rpc_method_invocation_response" field. + public const int RpcMethodInvocationResponseFieldNumber = 40; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (messageCase_ == MessageOneofCase.Initialize) { - output.WriteRawTag(10); - output.WriteMessage(Initialize); - } - if (messageCase_ == MessageOneofCase.Dispose) { - output.WriteRawTag(18); - output.WriteMessage(Dispose); + public global::LiveKit.Proto.RpcMethodInvocationResponseResponse RpcMethodInvocationResponse { + get { return messageCase_ == MessageOneofCase.RpcMethodInvocationResponse ? (global::LiveKit.Proto.RpcMethodInvocationResponseResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RpcMethodInvocationResponse; } - if (messageCase_ == MessageOneofCase.Connect) { - output.WriteRawTag(26); - output.WriteMessage(Connect); + } + + /// Field number for the "enable_remote_track_publication" field. + public const int EnableRemoteTrackPublicationFieldNumber = 41; + /// + /// Track Publication + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.EnableRemoteTrackPublicationResponse EnableRemoteTrackPublication { + get { return messageCase_ == MessageOneofCase.EnableRemoteTrackPublication ? (global::LiveKit.Proto.EnableRemoteTrackPublicationResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.EnableRemoteTrackPublication; } - if (messageCase_ == MessageOneofCase.Disconnect) { - output.WriteRawTag(34); - output.WriteMessage(Disconnect); + } + + /// Field number for the "update_remote_track_publication_dimension" field. + public const int UpdateRemoteTrackPublicationDimensionFieldNumber = 42; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse UpdateRemoteTrackPublicationDimension { + get { return messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension ? (global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.UpdateRemoteTrackPublicationDimension; } - if (messageCase_ == MessageOneofCase.PublishTrack) { - output.WriteRawTag(42); - output.WriteMessage(PublishTrack); + } + + /// Field number for the "send_stream_header" field. + public const int SendStreamHeaderFieldNumber = 43; + /// + /// Data Streams + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamHeaderResponse SendStreamHeader { + get { return messageCase_ == MessageOneofCase.SendStreamHeader ? (global::LiveKit.Proto.SendStreamHeaderResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamHeader; } - if (messageCase_ == MessageOneofCase.UnpublishTrack) { - output.WriteRawTag(50); - output.WriteMessage(UnpublishTrack); + } + + /// Field number for the "send_stream_chunk" field. + public const int SendStreamChunkFieldNumber = 44; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamChunkResponse SendStreamChunk { + get { return messageCase_ == MessageOneofCase.SendStreamChunk ? (global::LiveKit.Proto.SendStreamChunkResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamChunk; } - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - output.WriteRawTag(58); - output.WriteMessage(CreateVideoTrack); + } + + /// Field number for the "send_stream_trailer" field. + public const int SendStreamTrailerFieldNumber = 45; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamTrailerResponse SendStreamTrailer { + get { return messageCase_ == MessageOneofCase.SendStreamTrailer ? (global::LiveKit.Proto.SendStreamTrailerResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamTrailer; } - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - output.WriteRawTag(66); - output.WriteMessage(CreateAudioTrack); + } + + /// Field number for the "set_data_channel_buffered_amount_low_threshold" field. + public const int SetDataChannelBufferedAmountLowThresholdFieldNumber = 46; + /// + /// Data Channel + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse SetDataChannelBufferedAmountLowThreshold { + get { return messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold ? (global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetDataChannelBufferedAmountLowThreshold; } - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - output.WriteRawTag(74); - output.WriteMessage(AllocVideoBuffer); + } + + /// Field number for the "load_audio_filter_plugin" field. + public const int LoadAudioFilterPluginFieldNumber = 48; + /// + /// Audio Filter Plugin + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LoadAudioFilterPluginResponse LoadAudioFilterPlugin { + get { return messageCase_ == MessageOneofCase.LoadAudioFilterPlugin ? (global::LiveKit.Proto.LoadAudioFilterPluginResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LoadAudioFilterPlugin; } - if (messageCase_ == MessageOneofCase.NewVideoStream) { - output.WriteRawTag(82); - output.WriteMessage(NewVideoStream); + } + + /// Field number for the "new_apm" field. + public const int NewApmFieldNumber = 49; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.NewApmResponse NewApm { + get { return messageCase_ == MessageOneofCase.NewApm ? (global::LiveKit.Proto.NewApmResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.NewApm; } - if (messageCase_ == MessageOneofCase.NewVideoSource) { - output.WriteRawTag(90); - output.WriteMessage(NewVideoSource); + } + + /// Field number for the "apm_process_stream" field. + public const int ApmProcessStreamFieldNumber = 50; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ApmProcessStreamResponse ApmProcessStream { + get { return messageCase_ == MessageOneofCase.ApmProcessStream ? (global::LiveKit.Proto.ApmProcessStreamResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ApmProcessStream; } - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - output.WriteRawTag(98); - output.WriteMessage(CaptureVideoFrame); + } + + /// Field number for the "apm_process_reverse_stream" field. + public const int ApmProcessReverseStreamFieldNumber = 51; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ApmProcessReverseStreamResponse ApmProcessReverseStream { + get { return messageCase_ == MessageOneofCase.ApmProcessReverseStream ? (global::LiveKit.Proto.ApmProcessReverseStreamResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ApmProcessReverseStream; } - if (messageCase_ == MessageOneofCase.ToI420) { - output.WriteRawTag(106); - output.WriteMessage(ToI420); + } + + /// Field number for the "apm_set_stream_delay" field. + public const int ApmSetStreamDelayFieldNumber = 52; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ApmSetStreamDelayResponse ApmSetStreamDelay { + get { return messageCase_ == MessageOneofCase.ApmSetStreamDelay ? (global::LiveKit.Proto.ApmSetStreamDelayResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ApmSetStreamDelay; } - if (messageCase_ == MessageOneofCase.ToArgb) { - output.WriteRawTag(114); - output.WriteMessage(ToArgb); + } + + /// Field number for the "byte_read_incremental" field. + public const int ByteReadIncrementalFieldNumber = 53; + /// + /// Data Streams (high level) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse ByteReadIncremental { + get { return messageCase_ == MessageOneofCase.ByteReadIncremental ? (global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteReadIncremental; } - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - output.WriteRawTag(122); - output.WriteMessage(AllocAudioBuffer); + } + + /// Field number for the "byte_read_all" field. + public const int ByteReadAllFieldNumber = 54; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderReadAllResponse ByteReadAll { + get { return messageCase_ == MessageOneofCase.ByteReadAll ? (global::LiveKit.Proto.ByteStreamReaderReadAllResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteReadAll; } - if (messageCase_ == MessageOneofCase.NewAudioStream) { - output.WriteRawTag(130, 1); - output.WriteMessage(NewAudioStream); + } + + /// Field number for the "byte_write_to_file" field. + public const int ByteWriteToFileFieldNumber = 55; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse ByteWriteToFile { + get { return messageCase_ == MessageOneofCase.ByteWriteToFile ? (global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteWriteToFile; } - if (messageCase_ == MessageOneofCase.NewAudioSource) { - output.WriteRawTag(138, 1); - output.WriteMessage(NewAudioSource); + } + + /// Field number for the "text_read_incremental" field. + public const int TextReadIncrementalFieldNumber = 56; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse TextReadIncremental { + get { return messageCase_ == MessageOneofCase.TextReadIncremental ? (global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextReadIncremental; } - if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - output.WriteRawTag(146, 1); - output.WriteMessage(CaptureAudioFrame); + } + + /// Field number for the "text_read_all" field. + public const int TextReadAllFieldNumber = 57; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderReadAllResponse TextReadAll { + get { return messageCase_ == MessageOneofCase.TextReadAll ? (global::LiveKit.Proto.TextStreamReaderReadAllResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextReadAll; } - if (messageCase_ == MessageOneofCase.NewAudioResampler) { - output.WriteRawTag(154, 1); - output.WriteMessage(NewAudioResampler); + } + + /// Field number for the "send_file" field. + public const int SendFileFieldNumber = 58; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamSendFileResponse SendFile { + get { return messageCase_ == MessageOneofCase.SendFile ? (global::LiveKit.Proto.StreamSendFileResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendFile; } - if (messageCase_ == MessageOneofCase.RemixAndResample) { - output.WriteRawTag(162, 1); - output.WriteMessage(RemixAndResample); + } + + /// Field number for the "send_text" field. + public const int SendTextFieldNumber = 59; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamSendTextResponse SendText { + get { return messageCase_ == MessageOneofCase.SendText ? (global::LiveKit.Proto.StreamSendTextResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendText; } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); + } + + /// Field number for the "byte_stream_open" field. + public const int ByteStreamOpenFieldNumber = 60; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamOpenResponse ByteStreamOpen { + get { return messageCase_ == MessageOneofCase.ByteStreamOpen ? (global::LiveKit.Proto.ByteStreamOpenResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamOpen; } } - #endif + /// Field number for the "byte_stream_write" field. + public const int ByteStreamWriteFieldNumber = 61; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (messageCase_ == MessageOneofCase.Initialize) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Initialize); + public global::LiveKit.Proto.ByteStreamWriterWriteResponse ByteStreamWrite { + get { return messageCase_ == MessageOneofCase.ByteStreamWrite ? (global::LiveKit.Proto.ByteStreamWriterWriteResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamWrite; } - if (messageCase_ == MessageOneofCase.Dispose) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dispose); + } + + /// Field number for the "byte_stream_close" field. + public const int ByteStreamCloseFieldNumber = 62; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamWriterCloseResponse ByteStreamClose { + get { return messageCase_ == MessageOneofCase.ByteStreamClose ? (global::LiveKit.Proto.ByteStreamWriterCloseResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamClose; + } + } + + /// Field number for the "text_stream_open" field. + public const int TextStreamOpenFieldNumber = 63; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamOpenResponse TextStreamOpen { + get { return messageCase_ == MessageOneofCase.TextStreamOpen ? (global::LiveKit.Proto.TextStreamOpenResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamOpen; + } + } + + /// Field number for the "text_stream_write" field. + public const int TextStreamWriteFieldNumber = 64; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamWriterWriteResponse TextStreamWrite { + get { return messageCase_ == MessageOneofCase.TextStreamWrite ? (global::LiveKit.Proto.TextStreamWriterWriteResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamWrite; + } + } + + /// Field number for the "text_stream_close" field. + public const int TextStreamCloseFieldNumber = 65; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamWriterCloseResponse TextStreamClose { + get { return messageCase_ == MessageOneofCase.TextStreamClose ? (global::LiveKit.Proto.TextStreamWriterCloseResponse) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamClose; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Dispose = 2, + Connect = 3, + Disconnect = 4, + PublishTrack = 5, + UnpublishTrack = 6, + PublishData = 7, + SetSubscribed = 8, + SetLocalMetadata = 9, + SetLocalName = 10, + SetLocalAttributes = 11, + GetSessionStats = 12, + PublishTranscription = 13, + PublishSipDtmf = 14, + CreateVideoTrack = 15, + CreateAudioTrack = 16, + LocalTrackMute = 17, + EnableRemoteTrack = 18, + GetStats = 19, + SetTrackSubscriptionPermissions = 47, + NewVideoStream = 20, + NewVideoSource = 21, + CaptureVideoFrame = 22, + VideoConvert = 23, + VideoStreamFromParticipant = 24, + NewAudioStream = 25, + NewAudioSource = 26, + CaptureAudioFrame = 27, + ClearAudioBuffer = 28, + NewAudioResampler = 29, + RemixAndResample = 30, + AudioStreamFromParticipant = 31, + E2Ee = 32, + NewSoxResampler = 33, + PushSoxResampler = 34, + FlushSoxResampler = 35, + SendChatMessage = 36, + PerformRpc = 37, + RegisterRpcMethod = 38, + UnregisterRpcMethod = 39, + RpcMethodInvocationResponse = 40, + EnableRemoteTrackPublication = 41, + UpdateRemoteTrackPublicationDimension = 42, + SendStreamHeader = 43, + SendStreamChunk = 44, + SendStreamTrailer = 45, + SetDataChannelBufferedAmountLowThreshold = 46, + LoadAudioFilterPlugin = 48, + NewApm = 49, + ApmProcessStream = 50, + ApmProcessReverseStream = 51, + ApmSetStreamDelay = 52, + ByteReadIncremental = 53, + ByteReadAll = 54, + ByteWriteToFile = 55, + TextReadIncremental = 56, + TextReadAll = 57, + SendFile = 58, + SendText = 59, + ByteStreamOpen = 60, + ByteStreamWrite = 61, + ByteStreamClose = 62, + TextStreamOpen = 63, + TextStreamWrite = 64, + TextStreamClose = 65, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FfiResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FfiResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Dispose, other.Dispose)) return false; + if (!object.Equals(Connect, other.Connect)) return false; + if (!object.Equals(Disconnect, other.Disconnect)) return false; + if (!object.Equals(PublishTrack, other.PublishTrack)) return false; + if (!object.Equals(UnpublishTrack, other.UnpublishTrack)) return false; + if (!object.Equals(PublishData, other.PublishData)) return false; + if (!object.Equals(SetSubscribed, other.SetSubscribed)) return false; + if (!object.Equals(SetLocalMetadata, other.SetLocalMetadata)) return false; + if (!object.Equals(SetLocalName, other.SetLocalName)) return false; + if (!object.Equals(SetLocalAttributes, other.SetLocalAttributes)) return false; + if (!object.Equals(GetSessionStats, other.GetSessionStats)) return false; + if (!object.Equals(PublishTranscription, other.PublishTranscription)) return false; + if (!object.Equals(PublishSipDtmf, other.PublishSipDtmf)) return false; + if (!object.Equals(CreateVideoTrack, other.CreateVideoTrack)) return false; + if (!object.Equals(CreateAudioTrack, other.CreateAudioTrack)) return false; + if (!object.Equals(LocalTrackMute, other.LocalTrackMute)) return false; + if (!object.Equals(EnableRemoteTrack, other.EnableRemoteTrack)) return false; + if (!object.Equals(GetStats, other.GetStats)) return false; + if (!object.Equals(SetTrackSubscriptionPermissions, other.SetTrackSubscriptionPermissions)) return false; + if (!object.Equals(NewVideoStream, other.NewVideoStream)) return false; + if (!object.Equals(NewVideoSource, other.NewVideoSource)) return false; + if (!object.Equals(CaptureVideoFrame, other.CaptureVideoFrame)) return false; + if (!object.Equals(VideoConvert, other.VideoConvert)) return false; + if (!object.Equals(VideoStreamFromParticipant, other.VideoStreamFromParticipant)) return false; + if (!object.Equals(NewAudioStream, other.NewAudioStream)) return false; + if (!object.Equals(NewAudioSource, other.NewAudioSource)) return false; + if (!object.Equals(CaptureAudioFrame, other.CaptureAudioFrame)) return false; + if (!object.Equals(ClearAudioBuffer, other.ClearAudioBuffer)) return false; + if (!object.Equals(NewAudioResampler, other.NewAudioResampler)) return false; + if (!object.Equals(RemixAndResample, other.RemixAndResample)) return false; + if (!object.Equals(AudioStreamFromParticipant, other.AudioStreamFromParticipant)) return false; + if (!object.Equals(E2Ee, other.E2Ee)) return false; + if (!object.Equals(NewSoxResampler, other.NewSoxResampler)) return false; + if (!object.Equals(PushSoxResampler, other.PushSoxResampler)) return false; + if (!object.Equals(FlushSoxResampler, other.FlushSoxResampler)) return false; + if (!object.Equals(SendChatMessage, other.SendChatMessage)) return false; + if (!object.Equals(PerformRpc, other.PerformRpc)) return false; + if (!object.Equals(RegisterRpcMethod, other.RegisterRpcMethod)) return false; + if (!object.Equals(UnregisterRpcMethod, other.UnregisterRpcMethod)) return false; + if (!object.Equals(RpcMethodInvocationResponse, other.RpcMethodInvocationResponse)) return false; + if (!object.Equals(EnableRemoteTrackPublication, other.EnableRemoteTrackPublication)) return false; + if (!object.Equals(UpdateRemoteTrackPublicationDimension, other.UpdateRemoteTrackPublicationDimension)) return false; + if (!object.Equals(SendStreamHeader, other.SendStreamHeader)) return false; + if (!object.Equals(SendStreamChunk, other.SendStreamChunk)) return false; + if (!object.Equals(SendStreamTrailer, other.SendStreamTrailer)) return false; + if (!object.Equals(SetDataChannelBufferedAmountLowThreshold, other.SetDataChannelBufferedAmountLowThreshold)) return false; + if (!object.Equals(LoadAudioFilterPlugin, other.LoadAudioFilterPlugin)) return false; + if (!object.Equals(NewApm, other.NewApm)) return false; + if (!object.Equals(ApmProcessStream, other.ApmProcessStream)) return false; + if (!object.Equals(ApmProcessReverseStream, other.ApmProcessReverseStream)) return false; + if (!object.Equals(ApmSetStreamDelay, other.ApmSetStreamDelay)) return false; + if (!object.Equals(ByteReadIncremental, other.ByteReadIncremental)) return false; + if (!object.Equals(ByteReadAll, other.ByteReadAll)) return false; + if (!object.Equals(ByteWriteToFile, other.ByteWriteToFile)) return false; + if (!object.Equals(TextReadIncremental, other.TextReadIncremental)) return false; + if (!object.Equals(TextReadAll, other.TextReadAll)) return false; + if (!object.Equals(SendFile, other.SendFile)) return false; + if (!object.Equals(SendText, other.SendText)) return false; + if (!object.Equals(ByteStreamOpen, other.ByteStreamOpen)) return false; + if (!object.Equals(ByteStreamWrite, other.ByteStreamWrite)) return false; + if (!object.Equals(ByteStreamClose, other.ByteStreamClose)) return false; + if (!object.Equals(TextStreamOpen, other.TextStreamOpen)) return false; + if (!object.Equals(TextStreamWrite, other.TextStreamWrite)) return false; + if (!object.Equals(TextStreamClose, other.TextStreamClose)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (messageCase_ == MessageOneofCase.Dispose) hash ^= Dispose.GetHashCode(); + if (messageCase_ == MessageOneofCase.Connect) hash ^= Connect.GetHashCode(); + if (messageCase_ == MessageOneofCase.Disconnect) hash ^= Disconnect.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishTrack) hash ^= PublishTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.UnpublishTrack) hash ^= UnpublishTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishData) hash ^= PublishData.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetSubscribed) hash ^= SetSubscribed.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) hash ^= SetLocalMetadata.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalName) hash ^= SetLocalName.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) hash ^= SetLocalAttributes.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetSessionStats) hash ^= GetSessionStats.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishTranscription) hash ^= PublishTranscription.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) hash ^= PublishSipDtmf.GetHashCode(); + if (messageCase_ == MessageOneofCase.CreateVideoTrack) hash ^= CreateVideoTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.CreateAudioTrack) hash ^= CreateAudioTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.LocalTrackMute) hash ^= LocalTrackMute.GetHashCode(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) hash ^= EnableRemoteTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetStats) hash ^= GetStats.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) hash ^= SetTrackSubscriptionPermissions.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewVideoStream) hash ^= NewVideoStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewVideoSource) hash ^= NewVideoSource.GetHashCode(); + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) hash ^= CaptureVideoFrame.GetHashCode(); + if (messageCase_ == MessageOneofCase.VideoConvert) hash ^= VideoConvert.GetHashCode(); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) hash ^= VideoStreamFromParticipant.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewAudioStream) hash ^= NewAudioStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewAudioSource) hash ^= NewAudioSource.GetHashCode(); + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) hash ^= CaptureAudioFrame.GetHashCode(); + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) hash ^= ClearAudioBuffer.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewAudioResampler) hash ^= NewAudioResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.RemixAndResample) hash ^= RemixAndResample.GetHashCode(); + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) hash ^= AudioStreamFromParticipant.GetHashCode(); + if (messageCase_ == MessageOneofCase.E2Ee) hash ^= E2Ee.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewSoxResampler) hash ^= NewSoxResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.PushSoxResampler) hash ^= PushSoxResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.FlushSoxResampler) hash ^= FlushSoxResampler.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendChatMessage) hash ^= SendChatMessage.GetHashCode(); + if (messageCase_ == MessageOneofCase.PerformRpc) hash ^= PerformRpc.GetHashCode(); + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) hash ^= RegisterRpcMethod.GetHashCode(); + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) hash ^= UnregisterRpcMethod.GetHashCode(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) hash ^= RpcMethodInvocationResponse.GetHashCode(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) hash ^= EnableRemoteTrackPublication.GetHashCode(); + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) hash ^= UpdateRemoteTrackPublicationDimension.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) hash ^= SendStreamHeader.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) hash ^= SendStreamChunk.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) hash ^= SendStreamTrailer.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) hash ^= SetDataChannelBufferedAmountLowThreshold.GetHashCode(); + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) hash ^= LoadAudioFilterPlugin.GetHashCode(); + if (messageCase_ == MessageOneofCase.NewApm) hash ^= NewApm.GetHashCode(); + if (messageCase_ == MessageOneofCase.ApmProcessStream) hash ^= ApmProcessStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) hash ^= ApmProcessReverseStream.GetHashCode(); + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) hash ^= ApmSetStreamDelay.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteReadIncremental) hash ^= ByteReadIncremental.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteReadAll) hash ^= ByteReadAll.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteWriteToFile) hash ^= ByteWriteToFile.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextReadIncremental) hash ^= TextReadIncremental.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextReadAll) hash ^= TextReadAll.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendFile) hash ^= SendFile.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendText) hash ^= SendText.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) hash ^= ByteStreamOpen.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamWrite) hash ^= ByteStreamWrite.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamClose) hash ^= ByteStreamClose.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) hash ^= TextStreamOpen.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamWrite) hash ^= TextStreamWrite.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamClose) hash ^= TextStreamClose.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (messageCase_ == MessageOneofCase.Dispose) { + output.WriteRawTag(18); + output.WriteMessage(Dispose); } if (messageCase_ == MessageOneofCase.Connect) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Connect); + output.WriteRawTag(26); + output.WriteMessage(Connect); } if (messageCase_ == MessageOneofCase.Disconnect) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Disconnect); + output.WriteRawTag(34); + output.WriteMessage(Disconnect); } if (messageCase_ == MessageOneofCase.PublishTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTrack); + output.WriteRawTag(42); + output.WriteMessage(PublishTrack); } if (messageCase_ == MessageOneofCase.UnpublishTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(UnpublishTrack); + output.WriteRawTag(50); + output.WriteMessage(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + output.WriteRawTag(58); + output.WriteMessage(PublishData); + } + if (messageCase_ == MessageOneofCase.SetSubscribed) { + output.WriteRawTag(66); + output.WriteMessage(SetSubscribed); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + output.WriteRawTag(74); + output.WriteMessage(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + output.WriteRawTag(82); + output.WriteMessage(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + output.WriteRawTag(90); + output.WriteMessage(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + output.WriteRawTag(98); + output.WriteMessage(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + output.WriteRawTag(106); + output.WriteMessage(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + output.WriteRawTag(114); + output.WriteMessage(PublishSipDtmf); } if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateVideoTrack); + output.WriteRawTag(122); + output.WriteMessage(CreateVideoTrack); } if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateAudioTrack); + output.WriteRawTag(130, 1); + output.WriteMessage(CreateAudioTrack); } - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllocVideoBuffer); + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + output.WriteRawTag(138, 1); + output.WriteMessage(LocalTrackMute); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + output.WriteRawTag(146, 1); + output.WriteMessage(EnableRemoteTrack); + } + if (messageCase_ == MessageOneofCase.GetStats) { + output.WriteRawTag(154, 1); + output.WriteMessage(GetStats); } if (messageCase_ == MessageOneofCase.NewVideoStream) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(NewVideoStream); + output.WriteRawTag(162, 1); + output.WriteMessage(NewVideoStream); } if (messageCase_ == MessageOneofCase.NewVideoSource) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(NewVideoSource); + output.WriteRawTag(170, 1); + output.WriteMessage(NewVideoSource); } if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(CaptureVideoFrame); - } - if (messageCase_ == MessageOneofCase.ToI420) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ToI420); + output.WriteRawTag(178, 1); + output.WriteMessage(CaptureVideoFrame); } - if (messageCase_ == MessageOneofCase.ToArgb) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ToArgb); + if (messageCase_ == MessageOneofCase.VideoConvert) { + output.WriteRawTag(186, 1); + output.WriteMessage(VideoConvert); } - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllocAudioBuffer); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + output.WriteRawTag(194, 1); + output.WriteMessage(VideoStreamFromParticipant); } if (messageCase_ == MessageOneofCase.NewAudioStream) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioStream); + output.WriteRawTag(202, 1); + output.WriteMessage(NewAudioStream); } if (messageCase_ == MessageOneofCase.NewAudioSource) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioSource); + output.WriteRawTag(210, 1); + output.WriteMessage(NewAudioSource); } if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(CaptureAudioFrame); + output.WriteRawTag(218, 1); + output.WriteMessage(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + output.WriteRawTag(226, 1); + output.WriteMessage(ClearAudioBuffer); } if (messageCase_ == MessageOneofCase.NewAudioResampler) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioResampler); + output.WriteRawTag(234, 1); + output.WriteMessage(NewAudioResampler); } if (messageCase_ == MessageOneofCase.RemixAndResample) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemixAndResample); + output.WriteRawTag(242, 1); + output.WriteMessage(RemixAndResample); + } + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + output.WriteRawTag(250, 1); + output.WriteMessage(AudioStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.E2Ee) { + output.WriteRawTag(130, 2); + output.WriteMessage(E2Ee); + } + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + output.WriteRawTag(138, 2); + output.WriteMessage(NewSoxResampler); + } + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + output.WriteRawTag(146, 2); + output.WriteMessage(PushSoxResampler); + } + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + output.WriteRawTag(154, 2); + output.WriteMessage(FlushSoxResampler); + } + if (messageCase_ == MessageOneofCase.SendChatMessage) { + output.WriteRawTag(162, 2); + output.WriteMessage(SendChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + output.WriteRawTag(170, 2); + output.WriteMessage(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + output.WriteRawTag(178, 2); + output.WriteMessage(RegisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + output.WriteRawTag(186, 2); + output.WriteMessage(UnregisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + output.WriteRawTag(194, 2); + output.WriteMessage(RpcMethodInvocationResponse); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + output.WriteRawTag(202, 2); + output.WriteMessage(EnableRemoteTrackPublication); + } + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + output.WriteRawTag(210, 2); + output.WriteMessage(UpdateRemoteTrackPublicationDimension); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + output.WriteRawTag(218, 2); + output.WriteMessage(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + output.WriteRawTag(226, 2); + output.WriteMessage(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + output.WriteRawTag(234, 2); + output.WriteMessage(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + output.WriteRawTag(242, 2); + output.WriteMessage(SetDataChannelBufferedAmountLowThreshold); + } + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + output.WriteRawTag(250, 2); + output.WriteMessage(SetTrackSubscriptionPermissions); + } + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + output.WriteRawTag(130, 3); + output.WriteMessage(LoadAudioFilterPlugin); + } + if (messageCase_ == MessageOneofCase.NewApm) { + output.WriteRawTag(138, 3); + output.WriteMessage(NewApm); + } + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + output.WriteRawTag(146, 3); + output.WriteMessage(ApmProcessStream); + } + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + output.WriteRawTag(154, 3); + output.WriteMessage(ApmProcessReverseStream); + } + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + output.WriteRawTag(162, 3); + output.WriteMessage(ApmSetStreamDelay); + } + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + output.WriteRawTag(170, 3); + output.WriteMessage(ByteReadIncremental); + } + if (messageCase_ == MessageOneofCase.ByteReadAll) { + output.WriteRawTag(178, 3); + output.WriteMessage(ByteReadAll); + } + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + output.WriteRawTag(186, 3); + output.WriteMessage(ByteWriteToFile); + } + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + output.WriteRawTag(194, 3); + output.WriteMessage(TextReadIncremental); + } + if (messageCase_ == MessageOneofCase.TextReadAll) { + output.WriteRawTag(202, 3); + output.WriteMessage(TextReadAll); + } + if (messageCase_ == MessageOneofCase.SendFile) { + output.WriteRawTag(210, 3); + output.WriteMessage(SendFile); + } + if (messageCase_ == MessageOneofCase.SendText) { + output.WriteRawTag(218, 3); + output.WriteMessage(SendText); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + output.WriteRawTag(226, 3); + output.WriteMessage(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + output.WriteRawTag(234, 3); + output.WriteMessage(ByteStreamWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + output.WriteRawTag(242, 3); + output.WriteMessage(ByteStreamClose); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + output.WriteRawTag(250, 3); + output.WriteMessage(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + output.WriteRawTag(130, 4); + output.WriteMessage(TextStreamWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamClose) { + output.WriteRawTag(138, 4); + output.WriteMessage(TextStreamClose); } if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); + _unknownFields.WriteTo(output); } - return size; + #endif } + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FFIResponse other) { - if (other == null) { - return; + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (messageCase_ == MessageOneofCase.Dispose) { + output.WriteRawTag(18); + output.WriteMessage(Dispose); } - switch (other.MessageCase) { - case MessageOneofCase.Initialize: - if (Initialize == null) { - Initialize = new global::LiveKit.Proto.InitializeResponse(); - } - Initialize.MergeFrom(other.Initialize); - break; - case MessageOneofCase.Dispose: - if (Dispose == null) { - Dispose = new global::LiveKit.Proto.DisposeResponse(); - } - Dispose.MergeFrom(other.Dispose); - break; - case MessageOneofCase.Connect: - if (Connect == null) { - Connect = new global::LiveKit.Proto.ConnectResponse(); - } - Connect.MergeFrom(other.Connect); - break; - case MessageOneofCase.Disconnect: - if (Disconnect == null) { - Disconnect = new global::LiveKit.Proto.DisconnectResponse(); - } - Disconnect.MergeFrom(other.Disconnect); - break; - case MessageOneofCase.PublishTrack: - if (PublishTrack == null) { - PublishTrack = new global::LiveKit.Proto.PublishTrackResponse(); - } - PublishTrack.MergeFrom(other.PublishTrack); - break; - case MessageOneofCase.UnpublishTrack: - if (UnpublishTrack == null) { + if (messageCase_ == MessageOneofCase.Connect) { + output.WriteRawTag(26); + output.WriteMessage(Connect); + } + if (messageCase_ == MessageOneofCase.Disconnect) { + output.WriteRawTag(34); + output.WriteMessage(Disconnect); + } + if (messageCase_ == MessageOneofCase.PublishTrack) { + output.WriteRawTag(42); + output.WriteMessage(PublishTrack); + } + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + output.WriteRawTag(50); + output.WriteMessage(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + output.WriteRawTag(58); + output.WriteMessage(PublishData); + } + if (messageCase_ == MessageOneofCase.SetSubscribed) { + output.WriteRawTag(66); + output.WriteMessage(SetSubscribed); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + output.WriteRawTag(74); + output.WriteMessage(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + output.WriteRawTag(82); + output.WriteMessage(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + output.WriteRawTag(90); + output.WriteMessage(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + output.WriteRawTag(98); + output.WriteMessage(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + output.WriteRawTag(106); + output.WriteMessage(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + output.WriteRawTag(114); + output.WriteMessage(PublishSipDtmf); + } + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { + output.WriteRawTag(122); + output.WriteMessage(CreateVideoTrack); + } + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { + output.WriteRawTag(130, 1); + output.WriteMessage(CreateAudioTrack); + } + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + output.WriteRawTag(138, 1); + output.WriteMessage(LocalTrackMute); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + output.WriteRawTag(146, 1); + output.WriteMessage(EnableRemoteTrack); + } + if (messageCase_ == MessageOneofCase.GetStats) { + output.WriteRawTag(154, 1); + output.WriteMessage(GetStats); + } + if (messageCase_ == MessageOneofCase.NewVideoStream) { + output.WriteRawTag(162, 1); + output.WriteMessage(NewVideoStream); + } + if (messageCase_ == MessageOneofCase.NewVideoSource) { + output.WriteRawTag(170, 1); + output.WriteMessage(NewVideoSource); + } + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + output.WriteRawTag(178, 1); + output.WriteMessage(CaptureVideoFrame); + } + if (messageCase_ == MessageOneofCase.VideoConvert) { + output.WriteRawTag(186, 1); + output.WriteMessage(VideoConvert); + } + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + output.WriteRawTag(194, 1); + output.WriteMessage(VideoStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.NewAudioStream) { + output.WriteRawTag(202, 1); + output.WriteMessage(NewAudioStream); + } + if (messageCase_ == MessageOneofCase.NewAudioSource) { + output.WriteRawTag(210, 1); + output.WriteMessage(NewAudioSource); + } + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + output.WriteRawTag(218, 1); + output.WriteMessage(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + output.WriteRawTag(226, 1); + output.WriteMessage(ClearAudioBuffer); + } + if (messageCase_ == MessageOneofCase.NewAudioResampler) { + output.WriteRawTag(234, 1); + output.WriteMessage(NewAudioResampler); + } + if (messageCase_ == MessageOneofCase.RemixAndResample) { + output.WriteRawTag(242, 1); + output.WriteMessage(RemixAndResample); + } + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + output.WriteRawTag(250, 1); + output.WriteMessage(AudioStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.E2Ee) { + output.WriteRawTag(130, 2); + output.WriteMessage(E2Ee); + } + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + output.WriteRawTag(138, 2); + output.WriteMessage(NewSoxResampler); + } + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + output.WriteRawTag(146, 2); + output.WriteMessage(PushSoxResampler); + } + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + output.WriteRawTag(154, 2); + output.WriteMessage(FlushSoxResampler); + } + if (messageCase_ == MessageOneofCase.SendChatMessage) { + output.WriteRawTag(162, 2); + output.WriteMessage(SendChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + output.WriteRawTag(170, 2); + output.WriteMessage(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + output.WriteRawTag(178, 2); + output.WriteMessage(RegisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + output.WriteRawTag(186, 2); + output.WriteMessage(UnregisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + output.WriteRawTag(194, 2); + output.WriteMessage(RpcMethodInvocationResponse); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + output.WriteRawTag(202, 2); + output.WriteMessage(EnableRemoteTrackPublication); + } + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + output.WriteRawTag(210, 2); + output.WriteMessage(UpdateRemoteTrackPublicationDimension); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + output.WriteRawTag(218, 2); + output.WriteMessage(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + output.WriteRawTag(226, 2); + output.WriteMessage(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + output.WriteRawTag(234, 2); + output.WriteMessage(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + output.WriteRawTag(242, 2); + output.WriteMessage(SetDataChannelBufferedAmountLowThreshold); + } + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + output.WriteRawTag(250, 2); + output.WriteMessage(SetTrackSubscriptionPermissions); + } + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + output.WriteRawTag(130, 3); + output.WriteMessage(LoadAudioFilterPlugin); + } + if (messageCase_ == MessageOneofCase.NewApm) { + output.WriteRawTag(138, 3); + output.WriteMessage(NewApm); + } + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + output.WriteRawTag(146, 3); + output.WriteMessage(ApmProcessStream); + } + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + output.WriteRawTag(154, 3); + output.WriteMessage(ApmProcessReverseStream); + } + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + output.WriteRawTag(162, 3); + output.WriteMessage(ApmSetStreamDelay); + } + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + output.WriteRawTag(170, 3); + output.WriteMessage(ByteReadIncremental); + } + if (messageCase_ == MessageOneofCase.ByteReadAll) { + output.WriteRawTag(178, 3); + output.WriteMessage(ByteReadAll); + } + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + output.WriteRawTag(186, 3); + output.WriteMessage(ByteWriteToFile); + } + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + output.WriteRawTag(194, 3); + output.WriteMessage(TextReadIncremental); + } + if (messageCase_ == MessageOneofCase.TextReadAll) { + output.WriteRawTag(202, 3); + output.WriteMessage(TextReadAll); + } + if (messageCase_ == MessageOneofCase.SendFile) { + output.WriteRawTag(210, 3); + output.WriteMessage(SendFile); + } + if (messageCase_ == MessageOneofCase.SendText) { + output.WriteRawTag(218, 3); + output.WriteMessage(SendText); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + output.WriteRawTag(226, 3); + output.WriteMessage(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + output.WriteRawTag(234, 3); + output.WriteMessage(ByteStreamWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + output.WriteRawTag(242, 3); + output.WriteMessage(ByteStreamClose); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + output.WriteRawTag(250, 3); + output.WriteMessage(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + output.WriteRawTag(130, 4); + output.WriteMessage(TextStreamWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamClose) { + output.WriteRawTag(138, 4); + output.WriteMessage(TextStreamClose); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (messageCase_ == MessageOneofCase.Dispose) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dispose); + } + if (messageCase_ == MessageOneofCase.Connect) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Connect); + } + if (messageCase_ == MessageOneofCase.Disconnect) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Disconnect); + } + if (messageCase_ == MessageOneofCase.PublishTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTrack); + } + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishData); + } + if (messageCase_ == MessageOneofCase.SetSubscribed) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetSubscribed); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishSipDtmf); + } + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateVideoTrack); + } + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(CreateAudioTrack); + } + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalTrackMute); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableRemoteTrack); + } + if (messageCase_ == MessageOneofCase.GetStats) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(GetStats); + } + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetTrackSubscriptionPermissions); + } + if (messageCase_ == MessageOneofCase.NewVideoStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewVideoStream); + } + if (messageCase_ == MessageOneofCase.NewVideoSource) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewVideoSource); + } + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(CaptureVideoFrame); + } + if (messageCase_ == MessageOneofCase.VideoConvert) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(VideoConvert); + } + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(VideoStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.NewAudioStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioStream); + } + if (messageCase_ == MessageOneofCase.NewAudioSource) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioSource); + } + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ClearAudioBuffer); + } + if (messageCase_ == MessageOneofCase.NewAudioResampler) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewAudioResampler); + } + if (messageCase_ == MessageOneofCase.RemixAndResample) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemixAndResample); + } + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(AudioStreamFromParticipant); + } + if (messageCase_ == MessageOneofCase.E2Ee) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(E2Ee); + } + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewSoxResampler); + } + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(PushSoxResampler); + } + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(FlushSoxResampler); + } + if (messageCase_ == MessageOneofCase.SendChatMessage) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(RegisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(UnregisterRpcMethod); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(RpcMethodInvocationResponse); + } + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableRemoteTrackPublication); + } + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(UpdateRemoteTrackPublicationDimension); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetDataChannelBufferedAmountLowThreshold); + } + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(LoadAudioFilterPlugin); + } + if (messageCase_ == MessageOneofCase.NewApm) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(NewApm); + } + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ApmProcessStream); + } + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ApmProcessReverseStream); + } + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ApmSetStreamDelay); + } + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteReadIncremental); + } + if (messageCase_ == MessageOneofCase.ByteReadAll) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteReadAll); + } + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteWriteToFile); + } + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextReadIncremental); + } + if (messageCase_ == MessageOneofCase.TextReadAll) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextReadAll); + } + if (messageCase_ == MessageOneofCase.SendFile) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendFile); + } + if (messageCase_ == MessageOneofCase.SendText) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendText); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamClose); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamClose) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamClose); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FfiResponse other) { + if (other == null) { + return; + } + switch (other.MessageCase) { + case MessageOneofCase.Dispose: + if (Dispose == null) { + Dispose = new global::LiveKit.Proto.DisposeResponse(); + } + Dispose.MergeFrom(other.Dispose); + break; + case MessageOneofCase.Connect: + if (Connect == null) { + Connect = new global::LiveKit.Proto.ConnectResponse(); + } + Connect.MergeFrom(other.Connect); + break; + case MessageOneofCase.Disconnect: + if (Disconnect == null) { + Disconnect = new global::LiveKit.Proto.DisconnectResponse(); + } + Disconnect.MergeFrom(other.Disconnect); + break; + case MessageOneofCase.PublishTrack: + if (PublishTrack == null) { + PublishTrack = new global::LiveKit.Proto.PublishTrackResponse(); + } + PublishTrack.MergeFrom(other.PublishTrack); + break; + case MessageOneofCase.UnpublishTrack: + if (UnpublishTrack == null) { UnpublishTrack = new global::LiveKit.Proto.UnpublishTrackResponse(); } - UnpublishTrack.MergeFrom(other.UnpublishTrack); + UnpublishTrack.MergeFrom(other.UnpublishTrack); + break; + case MessageOneofCase.PublishData: + if (PublishData == null) { + PublishData = new global::LiveKit.Proto.PublishDataResponse(); + } + PublishData.MergeFrom(other.PublishData); + break; + case MessageOneofCase.SetSubscribed: + if (SetSubscribed == null) { + SetSubscribed = new global::LiveKit.Proto.SetSubscribedResponse(); + } + SetSubscribed.MergeFrom(other.SetSubscribed); + break; + case MessageOneofCase.SetLocalMetadata: + if (SetLocalMetadata == null) { + SetLocalMetadata = new global::LiveKit.Proto.SetLocalMetadataResponse(); + } + SetLocalMetadata.MergeFrom(other.SetLocalMetadata); + break; + case MessageOneofCase.SetLocalName: + if (SetLocalName == null) { + SetLocalName = new global::LiveKit.Proto.SetLocalNameResponse(); + } + SetLocalName.MergeFrom(other.SetLocalName); + break; + case MessageOneofCase.SetLocalAttributes: + if (SetLocalAttributes == null) { + SetLocalAttributes = new global::LiveKit.Proto.SetLocalAttributesResponse(); + } + SetLocalAttributes.MergeFrom(other.SetLocalAttributes); + break; + case MessageOneofCase.GetSessionStats: + if (GetSessionStats == null) { + GetSessionStats = new global::LiveKit.Proto.GetSessionStatsResponse(); + } + GetSessionStats.MergeFrom(other.GetSessionStats); + break; + case MessageOneofCase.PublishTranscription: + if (PublishTranscription == null) { + PublishTranscription = new global::LiveKit.Proto.PublishTranscriptionResponse(); + } + PublishTranscription.MergeFrom(other.PublishTranscription); + break; + case MessageOneofCase.PublishSipDtmf: + if (PublishSipDtmf == null) { + PublishSipDtmf = new global::LiveKit.Proto.PublishSipDtmfResponse(); + } + PublishSipDtmf.MergeFrom(other.PublishSipDtmf); + break; + case MessageOneofCase.CreateVideoTrack: + if (CreateVideoTrack == null) { + CreateVideoTrack = new global::LiveKit.Proto.CreateVideoTrackResponse(); + } + CreateVideoTrack.MergeFrom(other.CreateVideoTrack); + break; + case MessageOneofCase.CreateAudioTrack: + if (CreateAudioTrack == null) { + CreateAudioTrack = new global::LiveKit.Proto.CreateAudioTrackResponse(); + } + CreateAudioTrack.MergeFrom(other.CreateAudioTrack); + break; + case MessageOneofCase.LocalTrackMute: + if (LocalTrackMute == null) { + LocalTrackMute = new global::LiveKit.Proto.LocalTrackMuteResponse(); + } + LocalTrackMute.MergeFrom(other.LocalTrackMute); + break; + case MessageOneofCase.EnableRemoteTrack: + if (EnableRemoteTrack == null) { + EnableRemoteTrack = new global::LiveKit.Proto.EnableRemoteTrackResponse(); + } + EnableRemoteTrack.MergeFrom(other.EnableRemoteTrack); + break; + case MessageOneofCase.GetStats: + if (GetStats == null) { + GetStats = new global::LiveKit.Proto.GetStatsResponse(); + } + GetStats.MergeFrom(other.GetStats); + break; + case MessageOneofCase.SetTrackSubscriptionPermissions: + if (SetTrackSubscriptionPermissions == null) { + SetTrackSubscriptionPermissions = new global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse(); + } + SetTrackSubscriptionPermissions.MergeFrom(other.SetTrackSubscriptionPermissions); + break; + case MessageOneofCase.NewVideoStream: + if (NewVideoStream == null) { + NewVideoStream = new global::LiveKit.Proto.NewVideoStreamResponse(); + } + NewVideoStream.MergeFrom(other.NewVideoStream); + break; + case MessageOneofCase.NewVideoSource: + if (NewVideoSource == null) { + NewVideoSource = new global::LiveKit.Proto.NewVideoSourceResponse(); + } + NewVideoSource.MergeFrom(other.NewVideoSource); + break; + case MessageOneofCase.CaptureVideoFrame: + if (CaptureVideoFrame == null) { + CaptureVideoFrame = new global::LiveKit.Proto.CaptureVideoFrameResponse(); + } + CaptureVideoFrame.MergeFrom(other.CaptureVideoFrame); + break; + case MessageOneofCase.VideoConvert: + if (VideoConvert == null) { + VideoConvert = new global::LiveKit.Proto.VideoConvertResponse(); + } + VideoConvert.MergeFrom(other.VideoConvert); + break; + case MessageOneofCase.VideoStreamFromParticipant: + if (VideoStreamFromParticipant == null) { + VideoStreamFromParticipant = new global::LiveKit.Proto.VideoStreamFromParticipantResponse(); + } + VideoStreamFromParticipant.MergeFrom(other.VideoStreamFromParticipant); + break; + case MessageOneofCase.NewAudioStream: + if (NewAudioStream == null) { + NewAudioStream = new global::LiveKit.Proto.NewAudioStreamResponse(); + } + NewAudioStream.MergeFrom(other.NewAudioStream); + break; + case MessageOneofCase.NewAudioSource: + if (NewAudioSource == null) { + NewAudioSource = new global::LiveKit.Proto.NewAudioSourceResponse(); + } + NewAudioSource.MergeFrom(other.NewAudioSource); + break; + case MessageOneofCase.CaptureAudioFrame: + if (CaptureAudioFrame == null) { + CaptureAudioFrame = new global::LiveKit.Proto.CaptureAudioFrameResponse(); + } + CaptureAudioFrame.MergeFrom(other.CaptureAudioFrame); + break; + case MessageOneofCase.ClearAudioBuffer: + if (ClearAudioBuffer == null) { + ClearAudioBuffer = new global::LiveKit.Proto.ClearAudioBufferResponse(); + } + ClearAudioBuffer.MergeFrom(other.ClearAudioBuffer); + break; + case MessageOneofCase.NewAudioResampler: + if (NewAudioResampler == null) { + NewAudioResampler = new global::LiveKit.Proto.NewAudioResamplerResponse(); + } + NewAudioResampler.MergeFrom(other.NewAudioResampler); + break; + case MessageOneofCase.RemixAndResample: + if (RemixAndResample == null) { + RemixAndResample = new global::LiveKit.Proto.RemixAndResampleResponse(); + } + RemixAndResample.MergeFrom(other.RemixAndResample); + break; + case MessageOneofCase.AudioStreamFromParticipant: + if (AudioStreamFromParticipant == null) { + AudioStreamFromParticipant = new global::LiveKit.Proto.AudioStreamFromParticipantResponse(); + } + AudioStreamFromParticipant.MergeFrom(other.AudioStreamFromParticipant); + break; + case MessageOneofCase.E2Ee: + if (E2Ee == null) { + E2Ee = new global::LiveKit.Proto.E2eeResponse(); + } + E2Ee.MergeFrom(other.E2Ee); + break; + case MessageOneofCase.NewSoxResampler: + if (NewSoxResampler == null) { + NewSoxResampler = new global::LiveKit.Proto.NewSoxResamplerResponse(); + } + NewSoxResampler.MergeFrom(other.NewSoxResampler); + break; + case MessageOneofCase.PushSoxResampler: + if (PushSoxResampler == null) { + PushSoxResampler = new global::LiveKit.Proto.PushSoxResamplerResponse(); + } + PushSoxResampler.MergeFrom(other.PushSoxResampler); + break; + case MessageOneofCase.FlushSoxResampler: + if (FlushSoxResampler == null) { + FlushSoxResampler = new global::LiveKit.Proto.FlushSoxResamplerResponse(); + } + FlushSoxResampler.MergeFrom(other.FlushSoxResampler); + break; + case MessageOneofCase.SendChatMessage: + if (SendChatMessage == null) { + SendChatMessage = new global::LiveKit.Proto.SendChatMessageResponse(); + } + SendChatMessage.MergeFrom(other.SendChatMessage); + break; + case MessageOneofCase.PerformRpc: + if (PerformRpc == null) { + PerformRpc = new global::LiveKit.Proto.PerformRpcResponse(); + } + PerformRpc.MergeFrom(other.PerformRpc); + break; + case MessageOneofCase.RegisterRpcMethod: + if (RegisterRpcMethod == null) { + RegisterRpcMethod = new global::LiveKit.Proto.RegisterRpcMethodResponse(); + } + RegisterRpcMethod.MergeFrom(other.RegisterRpcMethod); + break; + case MessageOneofCase.UnregisterRpcMethod: + if (UnregisterRpcMethod == null) { + UnregisterRpcMethod = new global::LiveKit.Proto.UnregisterRpcMethodResponse(); + } + UnregisterRpcMethod.MergeFrom(other.UnregisterRpcMethod); + break; + case MessageOneofCase.RpcMethodInvocationResponse: + if (RpcMethodInvocationResponse == null) { + RpcMethodInvocationResponse = new global::LiveKit.Proto.RpcMethodInvocationResponseResponse(); + } + RpcMethodInvocationResponse.MergeFrom(other.RpcMethodInvocationResponse); + break; + case MessageOneofCase.EnableRemoteTrackPublication: + if (EnableRemoteTrackPublication == null) { + EnableRemoteTrackPublication = new global::LiveKit.Proto.EnableRemoteTrackPublicationResponse(); + } + EnableRemoteTrackPublication.MergeFrom(other.EnableRemoteTrackPublication); + break; + case MessageOneofCase.UpdateRemoteTrackPublicationDimension: + if (UpdateRemoteTrackPublicationDimension == null) { + UpdateRemoteTrackPublicationDimension = new global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse(); + } + UpdateRemoteTrackPublicationDimension.MergeFrom(other.UpdateRemoteTrackPublicationDimension); + break; + case MessageOneofCase.SendStreamHeader: + if (SendStreamHeader == null) { + SendStreamHeader = new global::LiveKit.Proto.SendStreamHeaderResponse(); + } + SendStreamHeader.MergeFrom(other.SendStreamHeader); + break; + case MessageOneofCase.SendStreamChunk: + if (SendStreamChunk == null) { + SendStreamChunk = new global::LiveKit.Proto.SendStreamChunkResponse(); + } + SendStreamChunk.MergeFrom(other.SendStreamChunk); + break; + case MessageOneofCase.SendStreamTrailer: + if (SendStreamTrailer == null) { + SendStreamTrailer = new global::LiveKit.Proto.SendStreamTrailerResponse(); + } + SendStreamTrailer.MergeFrom(other.SendStreamTrailer); + break; + case MessageOneofCase.SetDataChannelBufferedAmountLowThreshold: + if (SetDataChannelBufferedAmountLowThreshold == null) { + SetDataChannelBufferedAmountLowThreshold = new global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse(); + } + SetDataChannelBufferedAmountLowThreshold.MergeFrom(other.SetDataChannelBufferedAmountLowThreshold); + break; + case MessageOneofCase.LoadAudioFilterPlugin: + if (LoadAudioFilterPlugin == null) { + LoadAudioFilterPlugin = new global::LiveKit.Proto.LoadAudioFilterPluginResponse(); + } + LoadAudioFilterPlugin.MergeFrom(other.LoadAudioFilterPlugin); + break; + case MessageOneofCase.NewApm: + if (NewApm == null) { + NewApm = new global::LiveKit.Proto.NewApmResponse(); + } + NewApm.MergeFrom(other.NewApm); + break; + case MessageOneofCase.ApmProcessStream: + if (ApmProcessStream == null) { + ApmProcessStream = new global::LiveKit.Proto.ApmProcessStreamResponse(); + } + ApmProcessStream.MergeFrom(other.ApmProcessStream); + break; + case MessageOneofCase.ApmProcessReverseStream: + if (ApmProcessReverseStream == null) { + ApmProcessReverseStream = new global::LiveKit.Proto.ApmProcessReverseStreamResponse(); + } + ApmProcessReverseStream.MergeFrom(other.ApmProcessReverseStream); + break; + case MessageOneofCase.ApmSetStreamDelay: + if (ApmSetStreamDelay == null) { + ApmSetStreamDelay = new global::LiveKit.Proto.ApmSetStreamDelayResponse(); + } + ApmSetStreamDelay.MergeFrom(other.ApmSetStreamDelay); + break; + case MessageOneofCase.ByteReadIncremental: + if (ByteReadIncremental == null) { + ByteReadIncremental = new global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse(); + } + ByteReadIncremental.MergeFrom(other.ByteReadIncremental); + break; + case MessageOneofCase.ByteReadAll: + if (ByteReadAll == null) { + ByteReadAll = new global::LiveKit.Proto.ByteStreamReaderReadAllResponse(); + } + ByteReadAll.MergeFrom(other.ByteReadAll); + break; + case MessageOneofCase.ByteWriteToFile: + if (ByteWriteToFile == null) { + ByteWriteToFile = new global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse(); + } + ByteWriteToFile.MergeFrom(other.ByteWriteToFile); + break; + case MessageOneofCase.TextReadIncremental: + if (TextReadIncremental == null) { + TextReadIncremental = new global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse(); + } + TextReadIncremental.MergeFrom(other.TextReadIncremental); + break; + case MessageOneofCase.TextReadAll: + if (TextReadAll == null) { + TextReadAll = new global::LiveKit.Proto.TextStreamReaderReadAllResponse(); + } + TextReadAll.MergeFrom(other.TextReadAll); + break; + case MessageOneofCase.SendFile: + if (SendFile == null) { + SendFile = new global::LiveKit.Proto.StreamSendFileResponse(); + } + SendFile.MergeFrom(other.SendFile); + break; + case MessageOneofCase.SendText: + if (SendText == null) { + SendText = new global::LiveKit.Proto.StreamSendTextResponse(); + } + SendText.MergeFrom(other.SendText); + break; + case MessageOneofCase.ByteStreamOpen: + if (ByteStreamOpen == null) { + ByteStreamOpen = new global::LiveKit.Proto.ByteStreamOpenResponse(); + } + ByteStreamOpen.MergeFrom(other.ByteStreamOpen); + break; + case MessageOneofCase.ByteStreamWrite: + if (ByteStreamWrite == null) { + ByteStreamWrite = new global::LiveKit.Proto.ByteStreamWriterWriteResponse(); + } + ByteStreamWrite.MergeFrom(other.ByteStreamWrite); + break; + case MessageOneofCase.ByteStreamClose: + if (ByteStreamClose == null) { + ByteStreamClose = new global::LiveKit.Proto.ByteStreamWriterCloseResponse(); + } + ByteStreamClose.MergeFrom(other.ByteStreamClose); + break; + case MessageOneofCase.TextStreamOpen: + if (TextStreamOpen == null) { + TextStreamOpen = new global::LiveKit.Proto.TextStreamOpenResponse(); + } + TextStreamOpen.MergeFrom(other.TextStreamOpen); + break; + case MessageOneofCase.TextStreamWrite: + if (TextStreamWrite == null) { + TextStreamWrite = new global::LiveKit.Proto.TextStreamWriterWriteResponse(); + } + TextStreamWrite.MergeFrom(other.TextStreamWrite); + break; + case MessageOneofCase.TextStreamClose: + if (TextStreamClose == null) { + TextStreamClose = new global::LiveKit.Proto.TextStreamWriterCloseResponse(); + } + TextStreamClose.MergeFrom(other.TextStreamClose); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 18: { + global::LiveKit.Proto.DisposeResponse subBuilder = new global::LiveKit.Proto.DisposeResponse(); + if (messageCase_ == MessageOneofCase.Dispose) { + subBuilder.MergeFrom(Dispose); + } + input.ReadMessage(subBuilder); + Dispose = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.ConnectResponse subBuilder = new global::LiveKit.Proto.ConnectResponse(); + if (messageCase_ == MessageOneofCase.Connect) { + subBuilder.MergeFrom(Connect); + } + input.ReadMessage(subBuilder); + Connect = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.DisconnectResponse subBuilder = new global::LiveKit.Proto.DisconnectResponse(); + if (messageCase_ == MessageOneofCase.Disconnect) { + subBuilder.MergeFrom(Disconnect); + } + input.ReadMessage(subBuilder); + Disconnect = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.PublishTrackResponse subBuilder = new global::LiveKit.Proto.PublishTrackResponse(); + if (messageCase_ == MessageOneofCase.PublishTrack) { + subBuilder.MergeFrom(PublishTrack); + } + input.ReadMessage(subBuilder); + PublishTrack = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.UnpublishTrackResponse subBuilder = new global::LiveKit.Proto.UnpublishTrackResponse(); + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + subBuilder.MergeFrom(UnpublishTrack); + } + input.ReadMessage(subBuilder); + UnpublishTrack = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.PublishDataResponse subBuilder = new global::LiveKit.Proto.PublishDataResponse(); + if (messageCase_ == MessageOneofCase.PublishData) { + subBuilder.MergeFrom(PublishData); + } + input.ReadMessage(subBuilder); + PublishData = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.SetSubscribedResponse subBuilder = new global::LiveKit.Proto.SetSubscribedResponse(); + if (messageCase_ == MessageOneofCase.SetSubscribed) { + subBuilder.MergeFrom(SetSubscribed); + } + input.ReadMessage(subBuilder); + SetSubscribed = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.SetLocalMetadataResponse subBuilder = new global::LiveKit.Proto.SetLocalMetadataResponse(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + subBuilder.MergeFrom(SetLocalMetadata); + } + input.ReadMessage(subBuilder); + SetLocalMetadata = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.SetLocalNameResponse subBuilder = new global::LiveKit.Proto.SetLocalNameResponse(); + if (messageCase_ == MessageOneofCase.SetLocalName) { + subBuilder.MergeFrom(SetLocalName); + } + input.ReadMessage(subBuilder); + SetLocalName = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.SetLocalAttributesResponse subBuilder = new global::LiveKit.Proto.SetLocalAttributesResponse(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + subBuilder.MergeFrom(SetLocalAttributes); + } + input.ReadMessage(subBuilder); + SetLocalAttributes = subBuilder; + break; + } + case 98: { + global::LiveKit.Proto.GetSessionStatsResponse subBuilder = new global::LiveKit.Proto.GetSessionStatsResponse(); + if (messageCase_ == MessageOneofCase.GetSessionStats) { + subBuilder.MergeFrom(GetSessionStats); + } + input.ReadMessage(subBuilder); + GetSessionStats = subBuilder; + break; + } + case 106: { + global::LiveKit.Proto.PublishTranscriptionResponse subBuilder = new global::LiveKit.Proto.PublishTranscriptionResponse(); + if (messageCase_ == MessageOneofCase.PublishTranscription) { + subBuilder.MergeFrom(PublishTranscription); + } + input.ReadMessage(subBuilder); + PublishTranscription = subBuilder; + break; + } + case 114: { + global::LiveKit.Proto.PublishSipDtmfResponse subBuilder = new global::LiveKit.Proto.PublishSipDtmfResponse(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + subBuilder.MergeFrom(PublishSipDtmf); + } + input.ReadMessage(subBuilder); + PublishSipDtmf = subBuilder; + break; + } + case 122: { + global::LiveKit.Proto.CreateVideoTrackResponse subBuilder = new global::LiveKit.Proto.CreateVideoTrackResponse(); + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { + subBuilder.MergeFrom(CreateVideoTrack); + } + input.ReadMessage(subBuilder); + CreateVideoTrack = subBuilder; + break; + } + case 130: { + global::LiveKit.Proto.CreateAudioTrackResponse subBuilder = new global::LiveKit.Proto.CreateAudioTrackResponse(); + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { + subBuilder.MergeFrom(CreateAudioTrack); + } + input.ReadMessage(subBuilder); + CreateAudioTrack = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.LocalTrackMuteResponse subBuilder = new global::LiveKit.Proto.LocalTrackMuteResponse(); + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + subBuilder.MergeFrom(LocalTrackMute); + } + input.ReadMessage(subBuilder); + LocalTrackMute = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.EnableRemoteTrackResponse subBuilder = new global::LiveKit.Proto.EnableRemoteTrackResponse(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + subBuilder.MergeFrom(EnableRemoteTrack); + } + input.ReadMessage(subBuilder); + EnableRemoteTrack = subBuilder; + break; + } + case 154: { + global::LiveKit.Proto.GetStatsResponse subBuilder = new global::LiveKit.Proto.GetStatsResponse(); + if (messageCase_ == MessageOneofCase.GetStats) { + subBuilder.MergeFrom(GetStats); + } + input.ReadMessage(subBuilder); + GetStats = subBuilder; + break; + } + case 162: { + global::LiveKit.Proto.NewVideoStreamResponse subBuilder = new global::LiveKit.Proto.NewVideoStreamResponse(); + if (messageCase_ == MessageOneofCase.NewVideoStream) { + subBuilder.MergeFrom(NewVideoStream); + } + input.ReadMessage(subBuilder); + NewVideoStream = subBuilder; + break; + } + case 170: { + global::LiveKit.Proto.NewVideoSourceResponse subBuilder = new global::LiveKit.Proto.NewVideoSourceResponse(); + if (messageCase_ == MessageOneofCase.NewVideoSource) { + subBuilder.MergeFrom(NewVideoSource); + } + input.ReadMessage(subBuilder); + NewVideoSource = subBuilder; + break; + } + case 178: { + global::LiveKit.Proto.CaptureVideoFrameResponse subBuilder = new global::LiveKit.Proto.CaptureVideoFrameResponse(); + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + subBuilder.MergeFrom(CaptureVideoFrame); + } + input.ReadMessage(subBuilder); + CaptureVideoFrame = subBuilder; + break; + } + case 186: { + global::LiveKit.Proto.VideoConvertResponse subBuilder = new global::LiveKit.Proto.VideoConvertResponse(); + if (messageCase_ == MessageOneofCase.VideoConvert) { + subBuilder.MergeFrom(VideoConvert); + } + input.ReadMessage(subBuilder); + VideoConvert = subBuilder; + break; + } + case 194: { + global::LiveKit.Proto.VideoStreamFromParticipantResponse subBuilder = new global::LiveKit.Proto.VideoStreamFromParticipantResponse(); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + subBuilder.MergeFrom(VideoStreamFromParticipant); + } + input.ReadMessage(subBuilder); + VideoStreamFromParticipant = subBuilder; + break; + } + case 202: { + global::LiveKit.Proto.NewAudioStreamResponse subBuilder = new global::LiveKit.Proto.NewAudioStreamResponse(); + if (messageCase_ == MessageOneofCase.NewAudioStream) { + subBuilder.MergeFrom(NewAudioStream); + } + input.ReadMessage(subBuilder); + NewAudioStream = subBuilder; + break; + } + case 210: { + global::LiveKit.Proto.NewAudioSourceResponse subBuilder = new global::LiveKit.Proto.NewAudioSourceResponse(); + if (messageCase_ == MessageOneofCase.NewAudioSource) { + subBuilder.MergeFrom(NewAudioSource); + } + input.ReadMessage(subBuilder); + NewAudioSource = subBuilder; + break; + } + case 218: { + global::LiveKit.Proto.CaptureAudioFrameResponse subBuilder = new global::LiveKit.Proto.CaptureAudioFrameResponse(); + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + subBuilder.MergeFrom(CaptureAudioFrame); + } + input.ReadMessage(subBuilder); + CaptureAudioFrame = subBuilder; + break; + } + case 226: { + global::LiveKit.Proto.ClearAudioBufferResponse subBuilder = new global::LiveKit.Proto.ClearAudioBufferResponse(); + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + subBuilder.MergeFrom(ClearAudioBuffer); + } + input.ReadMessage(subBuilder); + ClearAudioBuffer = subBuilder; + break; + } + case 234: { + global::LiveKit.Proto.NewAudioResamplerResponse subBuilder = new global::LiveKit.Proto.NewAudioResamplerResponse(); + if (messageCase_ == MessageOneofCase.NewAudioResampler) { + subBuilder.MergeFrom(NewAudioResampler); + } + input.ReadMessage(subBuilder); + NewAudioResampler = subBuilder; + break; + } + case 242: { + global::LiveKit.Proto.RemixAndResampleResponse subBuilder = new global::LiveKit.Proto.RemixAndResampleResponse(); + if (messageCase_ == MessageOneofCase.RemixAndResample) { + subBuilder.MergeFrom(RemixAndResample); + } + input.ReadMessage(subBuilder); + RemixAndResample = subBuilder; + break; + } + case 250: { + global::LiveKit.Proto.AudioStreamFromParticipantResponse subBuilder = new global::LiveKit.Proto.AudioStreamFromParticipantResponse(); + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + subBuilder.MergeFrom(AudioStreamFromParticipant); + } + input.ReadMessage(subBuilder); + AudioStreamFromParticipant = subBuilder; + break; + } + case 258: { + global::LiveKit.Proto.E2eeResponse subBuilder = new global::LiveKit.Proto.E2eeResponse(); + if (messageCase_ == MessageOneofCase.E2Ee) { + subBuilder.MergeFrom(E2Ee); + } + input.ReadMessage(subBuilder); + E2Ee = subBuilder; + break; + } + case 266: { + global::LiveKit.Proto.NewSoxResamplerResponse subBuilder = new global::LiveKit.Proto.NewSoxResamplerResponse(); + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + subBuilder.MergeFrom(NewSoxResampler); + } + input.ReadMessage(subBuilder); + NewSoxResampler = subBuilder; + break; + } + case 274: { + global::LiveKit.Proto.PushSoxResamplerResponse subBuilder = new global::LiveKit.Proto.PushSoxResamplerResponse(); + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + subBuilder.MergeFrom(PushSoxResampler); + } + input.ReadMessage(subBuilder); + PushSoxResampler = subBuilder; + break; + } + case 282: { + global::LiveKit.Proto.FlushSoxResamplerResponse subBuilder = new global::LiveKit.Proto.FlushSoxResamplerResponse(); + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + subBuilder.MergeFrom(FlushSoxResampler); + } + input.ReadMessage(subBuilder); + FlushSoxResampler = subBuilder; + break; + } + case 290: { + global::LiveKit.Proto.SendChatMessageResponse subBuilder = new global::LiveKit.Proto.SendChatMessageResponse(); + if (messageCase_ == MessageOneofCase.SendChatMessage) { + subBuilder.MergeFrom(SendChatMessage); + } + input.ReadMessage(subBuilder); + SendChatMessage = subBuilder; + break; + } + case 298: { + global::LiveKit.Proto.PerformRpcResponse subBuilder = new global::LiveKit.Proto.PerformRpcResponse(); + if (messageCase_ == MessageOneofCase.PerformRpc) { + subBuilder.MergeFrom(PerformRpc); + } + input.ReadMessage(subBuilder); + PerformRpc = subBuilder; + break; + } + case 306: { + global::LiveKit.Proto.RegisterRpcMethodResponse subBuilder = new global::LiveKit.Proto.RegisterRpcMethodResponse(); + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + subBuilder.MergeFrom(RegisterRpcMethod); + } + input.ReadMessage(subBuilder); + RegisterRpcMethod = subBuilder; + break; + } + case 314: { + global::LiveKit.Proto.UnregisterRpcMethodResponse subBuilder = new global::LiveKit.Proto.UnregisterRpcMethodResponse(); + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + subBuilder.MergeFrom(UnregisterRpcMethod); + } + input.ReadMessage(subBuilder); + UnregisterRpcMethod = subBuilder; + break; + } + case 322: { + global::LiveKit.Proto.RpcMethodInvocationResponseResponse subBuilder = new global::LiveKit.Proto.RpcMethodInvocationResponseResponse(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + subBuilder.MergeFrom(RpcMethodInvocationResponse); + } + input.ReadMessage(subBuilder); + RpcMethodInvocationResponse = subBuilder; + break; + } + case 330: { + global::LiveKit.Proto.EnableRemoteTrackPublicationResponse subBuilder = new global::LiveKit.Proto.EnableRemoteTrackPublicationResponse(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + subBuilder.MergeFrom(EnableRemoteTrackPublication); + } + input.ReadMessage(subBuilder); + EnableRemoteTrackPublication = subBuilder; + break; + } + case 338: { + global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse subBuilder = new global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse(); + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + subBuilder.MergeFrom(UpdateRemoteTrackPublicationDimension); + } + input.ReadMessage(subBuilder); + UpdateRemoteTrackPublicationDimension = subBuilder; + break; + } + case 346: { + global::LiveKit.Proto.SendStreamHeaderResponse subBuilder = new global::LiveKit.Proto.SendStreamHeaderResponse(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + subBuilder.MergeFrom(SendStreamHeader); + } + input.ReadMessage(subBuilder); + SendStreamHeader = subBuilder; + break; + } + case 354: { + global::LiveKit.Proto.SendStreamChunkResponse subBuilder = new global::LiveKit.Proto.SendStreamChunkResponse(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + subBuilder.MergeFrom(SendStreamChunk); + } + input.ReadMessage(subBuilder); + SendStreamChunk = subBuilder; + break; + } + case 362: { + global::LiveKit.Proto.SendStreamTrailerResponse subBuilder = new global::LiveKit.Proto.SendStreamTrailerResponse(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + subBuilder.MergeFrom(SendStreamTrailer); + } + input.ReadMessage(subBuilder); + SendStreamTrailer = subBuilder; + break; + } + case 370: { + global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse subBuilder = new global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse(); + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + subBuilder.MergeFrom(SetDataChannelBufferedAmountLowThreshold); + } + input.ReadMessage(subBuilder); + SetDataChannelBufferedAmountLowThreshold = subBuilder; + break; + } + case 378: { + global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse subBuilder = new global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse(); + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + subBuilder.MergeFrom(SetTrackSubscriptionPermissions); + } + input.ReadMessage(subBuilder); + SetTrackSubscriptionPermissions = subBuilder; + break; + } + case 386: { + global::LiveKit.Proto.LoadAudioFilterPluginResponse subBuilder = new global::LiveKit.Proto.LoadAudioFilterPluginResponse(); + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + subBuilder.MergeFrom(LoadAudioFilterPlugin); + } + input.ReadMessage(subBuilder); + LoadAudioFilterPlugin = subBuilder; + break; + } + case 394: { + global::LiveKit.Proto.NewApmResponse subBuilder = new global::LiveKit.Proto.NewApmResponse(); + if (messageCase_ == MessageOneofCase.NewApm) { + subBuilder.MergeFrom(NewApm); + } + input.ReadMessage(subBuilder); + NewApm = subBuilder; + break; + } + case 402: { + global::LiveKit.Proto.ApmProcessStreamResponse subBuilder = new global::LiveKit.Proto.ApmProcessStreamResponse(); + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + subBuilder.MergeFrom(ApmProcessStream); + } + input.ReadMessage(subBuilder); + ApmProcessStream = subBuilder; + break; + } + case 410: { + global::LiveKit.Proto.ApmProcessReverseStreamResponse subBuilder = new global::LiveKit.Proto.ApmProcessReverseStreamResponse(); + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + subBuilder.MergeFrom(ApmProcessReverseStream); + } + input.ReadMessage(subBuilder); + ApmProcessReverseStream = subBuilder; + break; + } + case 418: { + global::LiveKit.Proto.ApmSetStreamDelayResponse subBuilder = new global::LiveKit.Proto.ApmSetStreamDelayResponse(); + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + subBuilder.MergeFrom(ApmSetStreamDelay); + } + input.ReadMessage(subBuilder); + ApmSetStreamDelay = subBuilder; + break; + } + case 426: { + global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse(); + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + subBuilder.MergeFrom(ByteReadIncremental); + } + input.ReadMessage(subBuilder); + ByteReadIncremental = subBuilder; + break; + } + case 434: { + global::LiveKit.Proto.ByteStreamReaderReadAllResponse subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadAllResponse(); + if (messageCase_ == MessageOneofCase.ByteReadAll) { + subBuilder.MergeFrom(ByteReadAll); + } + input.ReadMessage(subBuilder); + ByteReadAll = subBuilder; + break; + } + case 442: { + global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse subBuilder = new global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse(); + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + subBuilder.MergeFrom(ByteWriteToFile); + } + input.ReadMessage(subBuilder); + ByteWriteToFile = subBuilder; + break; + } + case 450: { + global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse subBuilder = new global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse(); + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + subBuilder.MergeFrom(TextReadIncremental); + } + input.ReadMessage(subBuilder); + TextReadIncremental = subBuilder; + break; + } + case 458: { + global::LiveKit.Proto.TextStreamReaderReadAllResponse subBuilder = new global::LiveKit.Proto.TextStreamReaderReadAllResponse(); + if (messageCase_ == MessageOneofCase.TextReadAll) { + subBuilder.MergeFrom(TextReadAll); + } + input.ReadMessage(subBuilder); + TextReadAll = subBuilder; + break; + } + case 466: { + global::LiveKit.Proto.StreamSendFileResponse subBuilder = new global::LiveKit.Proto.StreamSendFileResponse(); + if (messageCase_ == MessageOneofCase.SendFile) { + subBuilder.MergeFrom(SendFile); + } + input.ReadMessage(subBuilder); + SendFile = subBuilder; + break; + } + case 474: { + global::LiveKit.Proto.StreamSendTextResponse subBuilder = new global::LiveKit.Proto.StreamSendTextResponse(); + if (messageCase_ == MessageOneofCase.SendText) { + subBuilder.MergeFrom(SendText); + } + input.ReadMessage(subBuilder); + SendText = subBuilder; + break; + } + case 482: { + global::LiveKit.Proto.ByteStreamOpenResponse subBuilder = new global::LiveKit.Proto.ByteStreamOpenResponse(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + subBuilder.MergeFrom(ByteStreamOpen); + } + input.ReadMessage(subBuilder); + ByteStreamOpen = subBuilder; + break; + } + case 490: { + global::LiveKit.Proto.ByteStreamWriterWriteResponse subBuilder = new global::LiveKit.Proto.ByteStreamWriterWriteResponse(); + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + subBuilder.MergeFrom(ByteStreamWrite); + } + input.ReadMessage(subBuilder); + ByteStreamWrite = subBuilder; + break; + } + case 498: { + global::LiveKit.Proto.ByteStreamWriterCloseResponse subBuilder = new global::LiveKit.Proto.ByteStreamWriterCloseResponse(); + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + subBuilder.MergeFrom(ByteStreamClose); + } + input.ReadMessage(subBuilder); + ByteStreamClose = subBuilder; + break; + } + case 506: { + global::LiveKit.Proto.TextStreamOpenResponse subBuilder = new global::LiveKit.Proto.TextStreamOpenResponse(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + subBuilder.MergeFrom(TextStreamOpen); + } + input.ReadMessage(subBuilder); + TextStreamOpen = subBuilder; + break; + } + case 514: { + global::LiveKit.Proto.TextStreamWriterWriteResponse subBuilder = new global::LiveKit.Proto.TextStreamWriterWriteResponse(); + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + subBuilder.MergeFrom(TextStreamWrite); + } + input.ReadMessage(subBuilder); + TextStreamWrite = subBuilder; + break; + } + case 522: { + global::LiveKit.Proto.TextStreamWriterCloseResponse subBuilder = new global::LiveKit.Proto.TextStreamWriterCloseResponse(); + if (messageCase_ == MessageOneofCase.TextStreamClose) { + subBuilder.MergeFrom(TextStreamClose); + } + input.ReadMessage(subBuilder); + TextStreamClose = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 18: { + global::LiveKit.Proto.DisposeResponse subBuilder = new global::LiveKit.Proto.DisposeResponse(); + if (messageCase_ == MessageOneofCase.Dispose) { + subBuilder.MergeFrom(Dispose); + } + input.ReadMessage(subBuilder); + Dispose = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.ConnectResponse subBuilder = new global::LiveKit.Proto.ConnectResponse(); + if (messageCase_ == MessageOneofCase.Connect) { + subBuilder.MergeFrom(Connect); + } + input.ReadMessage(subBuilder); + Connect = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.DisconnectResponse subBuilder = new global::LiveKit.Proto.DisconnectResponse(); + if (messageCase_ == MessageOneofCase.Disconnect) { + subBuilder.MergeFrom(Disconnect); + } + input.ReadMessage(subBuilder); + Disconnect = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.PublishTrackResponse subBuilder = new global::LiveKit.Proto.PublishTrackResponse(); + if (messageCase_ == MessageOneofCase.PublishTrack) { + subBuilder.MergeFrom(PublishTrack); + } + input.ReadMessage(subBuilder); + PublishTrack = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.UnpublishTrackResponse subBuilder = new global::LiveKit.Proto.UnpublishTrackResponse(); + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + subBuilder.MergeFrom(UnpublishTrack); + } + input.ReadMessage(subBuilder); + UnpublishTrack = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.PublishDataResponse subBuilder = new global::LiveKit.Proto.PublishDataResponse(); + if (messageCase_ == MessageOneofCase.PublishData) { + subBuilder.MergeFrom(PublishData); + } + input.ReadMessage(subBuilder); + PublishData = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.SetSubscribedResponse subBuilder = new global::LiveKit.Proto.SetSubscribedResponse(); + if (messageCase_ == MessageOneofCase.SetSubscribed) { + subBuilder.MergeFrom(SetSubscribed); + } + input.ReadMessage(subBuilder); + SetSubscribed = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.SetLocalMetadataResponse subBuilder = new global::LiveKit.Proto.SetLocalMetadataResponse(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + subBuilder.MergeFrom(SetLocalMetadata); + } + input.ReadMessage(subBuilder); + SetLocalMetadata = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.SetLocalNameResponse subBuilder = new global::LiveKit.Proto.SetLocalNameResponse(); + if (messageCase_ == MessageOneofCase.SetLocalName) { + subBuilder.MergeFrom(SetLocalName); + } + input.ReadMessage(subBuilder); + SetLocalName = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.SetLocalAttributesResponse subBuilder = new global::LiveKit.Proto.SetLocalAttributesResponse(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + subBuilder.MergeFrom(SetLocalAttributes); + } + input.ReadMessage(subBuilder); + SetLocalAttributes = subBuilder; + break; + } + case 98: { + global::LiveKit.Proto.GetSessionStatsResponse subBuilder = new global::LiveKit.Proto.GetSessionStatsResponse(); + if (messageCase_ == MessageOneofCase.GetSessionStats) { + subBuilder.MergeFrom(GetSessionStats); + } + input.ReadMessage(subBuilder); + GetSessionStats = subBuilder; + break; + } + case 106: { + global::LiveKit.Proto.PublishTranscriptionResponse subBuilder = new global::LiveKit.Proto.PublishTranscriptionResponse(); + if (messageCase_ == MessageOneofCase.PublishTranscription) { + subBuilder.MergeFrom(PublishTranscription); + } + input.ReadMessage(subBuilder); + PublishTranscription = subBuilder; + break; + } + case 114: { + global::LiveKit.Proto.PublishSipDtmfResponse subBuilder = new global::LiveKit.Proto.PublishSipDtmfResponse(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + subBuilder.MergeFrom(PublishSipDtmf); + } + input.ReadMessage(subBuilder); + PublishSipDtmf = subBuilder; + break; + } + case 122: { + global::LiveKit.Proto.CreateVideoTrackResponse subBuilder = new global::LiveKit.Proto.CreateVideoTrackResponse(); + if (messageCase_ == MessageOneofCase.CreateVideoTrack) { + subBuilder.MergeFrom(CreateVideoTrack); + } + input.ReadMessage(subBuilder); + CreateVideoTrack = subBuilder; + break; + } + case 130: { + global::LiveKit.Proto.CreateAudioTrackResponse subBuilder = new global::LiveKit.Proto.CreateAudioTrackResponse(); + if (messageCase_ == MessageOneofCase.CreateAudioTrack) { + subBuilder.MergeFrom(CreateAudioTrack); + } + input.ReadMessage(subBuilder); + CreateAudioTrack = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.LocalTrackMuteResponse subBuilder = new global::LiveKit.Proto.LocalTrackMuteResponse(); + if (messageCase_ == MessageOneofCase.LocalTrackMute) { + subBuilder.MergeFrom(LocalTrackMute); + } + input.ReadMessage(subBuilder); + LocalTrackMute = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.EnableRemoteTrackResponse subBuilder = new global::LiveKit.Proto.EnableRemoteTrackResponse(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrack) { + subBuilder.MergeFrom(EnableRemoteTrack); + } + input.ReadMessage(subBuilder); + EnableRemoteTrack = subBuilder; + break; + } + case 154: { + global::LiveKit.Proto.GetStatsResponse subBuilder = new global::LiveKit.Proto.GetStatsResponse(); + if (messageCase_ == MessageOneofCase.GetStats) { + subBuilder.MergeFrom(GetStats); + } + input.ReadMessage(subBuilder); + GetStats = subBuilder; + break; + } + case 162: { + global::LiveKit.Proto.NewVideoStreamResponse subBuilder = new global::LiveKit.Proto.NewVideoStreamResponse(); + if (messageCase_ == MessageOneofCase.NewVideoStream) { + subBuilder.MergeFrom(NewVideoStream); + } + input.ReadMessage(subBuilder); + NewVideoStream = subBuilder; + break; + } + case 170: { + global::LiveKit.Proto.NewVideoSourceResponse subBuilder = new global::LiveKit.Proto.NewVideoSourceResponse(); + if (messageCase_ == MessageOneofCase.NewVideoSource) { + subBuilder.MergeFrom(NewVideoSource); + } + input.ReadMessage(subBuilder); + NewVideoSource = subBuilder; + break; + } + case 178: { + global::LiveKit.Proto.CaptureVideoFrameResponse subBuilder = new global::LiveKit.Proto.CaptureVideoFrameResponse(); + if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { + subBuilder.MergeFrom(CaptureVideoFrame); + } + input.ReadMessage(subBuilder); + CaptureVideoFrame = subBuilder; + break; + } + case 186: { + global::LiveKit.Proto.VideoConvertResponse subBuilder = new global::LiveKit.Proto.VideoConvertResponse(); + if (messageCase_ == MessageOneofCase.VideoConvert) { + subBuilder.MergeFrom(VideoConvert); + } + input.ReadMessage(subBuilder); + VideoConvert = subBuilder; + break; + } + case 194: { + global::LiveKit.Proto.VideoStreamFromParticipantResponse subBuilder = new global::LiveKit.Proto.VideoStreamFromParticipantResponse(); + if (messageCase_ == MessageOneofCase.VideoStreamFromParticipant) { + subBuilder.MergeFrom(VideoStreamFromParticipant); + } + input.ReadMessage(subBuilder); + VideoStreamFromParticipant = subBuilder; + break; + } + case 202: { + global::LiveKit.Proto.NewAudioStreamResponse subBuilder = new global::LiveKit.Proto.NewAudioStreamResponse(); + if (messageCase_ == MessageOneofCase.NewAudioStream) { + subBuilder.MergeFrom(NewAudioStream); + } + input.ReadMessage(subBuilder); + NewAudioStream = subBuilder; + break; + } + case 210: { + global::LiveKit.Proto.NewAudioSourceResponse subBuilder = new global::LiveKit.Proto.NewAudioSourceResponse(); + if (messageCase_ == MessageOneofCase.NewAudioSource) { + subBuilder.MergeFrom(NewAudioSource); + } + input.ReadMessage(subBuilder); + NewAudioSource = subBuilder; + break; + } + case 218: { + global::LiveKit.Proto.CaptureAudioFrameResponse subBuilder = new global::LiveKit.Proto.CaptureAudioFrameResponse(); + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + subBuilder.MergeFrom(CaptureAudioFrame); + } + input.ReadMessage(subBuilder); + CaptureAudioFrame = subBuilder; + break; + } + case 226: { + global::LiveKit.Proto.ClearAudioBufferResponse subBuilder = new global::LiveKit.Proto.ClearAudioBufferResponse(); + if (messageCase_ == MessageOneofCase.ClearAudioBuffer) { + subBuilder.MergeFrom(ClearAudioBuffer); + } + input.ReadMessage(subBuilder); + ClearAudioBuffer = subBuilder; + break; + } + case 234: { + global::LiveKit.Proto.NewAudioResamplerResponse subBuilder = new global::LiveKit.Proto.NewAudioResamplerResponse(); + if (messageCase_ == MessageOneofCase.NewAudioResampler) { + subBuilder.MergeFrom(NewAudioResampler); + } + input.ReadMessage(subBuilder); + NewAudioResampler = subBuilder; + break; + } + case 242: { + global::LiveKit.Proto.RemixAndResampleResponse subBuilder = new global::LiveKit.Proto.RemixAndResampleResponse(); + if (messageCase_ == MessageOneofCase.RemixAndResample) { + subBuilder.MergeFrom(RemixAndResample); + } + input.ReadMessage(subBuilder); + RemixAndResample = subBuilder; + break; + } + case 250: { + global::LiveKit.Proto.AudioStreamFromParticipantResponse subBuilder = new global::LiveKit.Proto.AudioStreamFromParticipantResponse(); + if (messageCase_ == MessageOneofCase.AudioStreamFromParticipant) { + subBuilder.MergeFrom(AudioStreamFromParticipant); + } + input.ReadMessage(subBuilder); + AudioStreamFromParticipant = subBuilder; + break; + } + case 258: { + global::LiveKit.Proto.E2eeResponse subBuilder = new global::LiveKit.Proto.E2eeResponse(); + if (messageCase_ == MessageOneofCase.E2Ee) { + subBuilder.MergeFrom(E2Ee); + } + input.ReadMessage(subBuilder); + E2Ee = subBuilder; + break; + } + case 266: { + global::LiveKit.Proto.NewSoxResamplerResponse subBuilder = new global::LiveKit.Proto.NewSoxResamplerResponse(); + if (messageCase_ == MessageOneofCase.NewSoxResampler) { + subBuilder.MergeFrom(NewSoxResampler); + } + input.ReadMessage(subBuilder); + NewSoxResampler = subBuilder; + break; + } + case 274: { + global::LiveKit.Proto.PushSoxResamplerResponse subBuilder = new global::LiveKit.Proto.PushSoxResamplerResponse(); + if (messageCase_ == MessageOneofCase.PushSoxResampler) { + subBuilder.MergeFrom(PushSoxResampler); + } + input.ReadMessage(subBuilder); + PushSoxResampler = subBuilder; + break; + } + case 282: { + global::LiveKit.Proto.FlushSoxResamplerResponse subBuilder = new global::LiveKit.Proto.FlushSoxResamplerResponse(); + if (messageCase_ == MessageOneofCase.FlushSoxResampler) { + subBuilder.MergeFrom(FlushSoxResampler); + } + input.ReadMessage(subBuilder); + FlushSoxResampler = subBuilder; + break; + } + case 290: { + global::LiveKit.Proto.SendChatMessageResponse subBuilder = new global::LiveKit.Proto.SendChatMessageResponse(); + if (messageCase_ == MessageOneofCase.SendChatMessage) { + subBuilder.MergeFrom(SendChatMessage); + } + input.ReadMessage(subBuilder); + SendChatMessage = subBuilder; + break; + } + case 298: { + global::LiveKit.Proto.PerformRpcResponse subBuilder = new global::LiveKit.Proto.PerformRpcResponse(); + if (messageCase_ == MessageOneofCase.PerformRpc) { + subBuilder.MergeFrom(PerformRpc); + } + input.ReadMessage(subBuilder); + PerformRpc = subBuilder; + break; + } + case 306: { + global::LiveKit.Proto.RegisterRpcMethodResponse subBuilder = new global::LiveKit.Proto.RegisterRpcMethodResponse(); + if (messageCase_ == MessageOneofCase.RegisterRpcMethod) { + subBuilder.MergeFrom(RegisterRpcMethod); + } + input.ReadMessage(subBuilder); + RegisterRpcMethod = subBuilder; + break; + } + case 314: { + global::LiveKit.Proto.UnregisterRpcMethodResponse subBuilder = new global::LiveKit.Proto.UnregisterRpcMethodResponse(); + if (messageCase_ == MessageOneofCase.UnregisterRpcMethod) { + subBuilder.MergeFrom(UnregisterRpcMethod); + } + input.ReadMessage(subBuilder); + UnregisterRpcMethod = subBuilder; + break; + } + case 322: { + global::LiveKit.Proto.RpcMethodInvocationResponseResponse subBuilder = new global::LiveKit.Proto.RpcMethodInvocationResponseResponse(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocationResponse) { + subBuilder.MergeFrom(RpcMethodInvocationResponse); + } + input.ReadMessage(subBuilder); + RpcMethodInvocationResponse = subBuilder; + break; + } + case 330: { + global::LiveKit.Proto.EnableRemoteTrackPublicationResponse subBuilder = new global::LiveKit.Proto.EnableRemoteTrackPublicationResponse(); + if (messageCase_ == MessageOneofCase.EnableRemoteTrackPublication) { + subBuilder.MergeFrom(EnableRemoteTrackPublication); + } + input.ReadMessage(subBuilder); + EnableRemoteTrackPublication = subBuilder; + break; + } + case 338: { + global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse subBuilder = new global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse(); + if (messageCase_ == MessageOneofCase.UpdateRemoteTrackPublicationDimension) { + subBuilder.MergeFrom(UpdateRemoteTrackPublicationDimension); + } + input.ReadMessage(subBuilder); + UpdateRemoteTrackPublicationDimension = subBuilder; + break; + } + case 346: { + global::LiveKit.Proto.SendStreamHeaderResponse subBuilder = new global::LiveKit.Proto.SendStreamHeaderResponse(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + subBuilder.MergeFrom(SendStreamHeader); + } + input.ReadMessage(subBuilder); + SendStreamHeader = subBuilder; + break; + } + case 354: { + global::LiveKit.Proto.SendStreamChunkResponse subBuilder = new global::LiveKit.Proto.SendStreamChunkResponse(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + subBuilder.MergeFrom(SendStreamChunk); + } + input.ReadMessage(subBuilder); + SendStreamChunk = subBuilder; + break; + } + case 362: { + global::LiveKit.Proto.SendStreamTrailerResponse subBuilder = new global::LiveKit.Proto.SendStreamTrailerResponse(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + subBuilder.MergeFrom(SendStreamTrailer); + } + input.ReadMessage(subBuilder); + SendStreamTrailer = subBuilder; + break; + } + case 370: { + global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse subBuilder = new global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse(); + if (messageCase_ == MessageOneofCase.SetDataChannelBufferedAmountLowThreshold) { + subBuilder.MergeFrom(SetDataChannelBufferedAmountLowThreshold); + } + input.ReadMessage(subBuilder); + SetDataChannelBufferedAmountLowThreshold = subBuilder; + break; + } + case 378: { + global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse subBuilder = new global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse(); + if (messageCase_ == MessageOneofCase.SetTrackSubscriptionPermissions) { + subBuilder.MergeFrom(SetTrackSubscriptionPermissions); + } + input.ReadMessage(subBuilder); + SetTrackSubscriptionPermissions = subBuilder; + break; + } + case 386: { + global::LiveKit.Proto.LoadAudioFilterPluginResponse subBuilder = new global::LiveKit.Proto.LoadAudioFilterPluginResponse(); + if (messageCase_ == MessageOneofCase.LoadAudioFilterPlugin) { + subBuilder.MergeFrom(LoadAudioFilterPlugin); + } + input.ReadMessage(subBuilder); + LoadAudioFilterPlugin = subBuilder; + break; + } + case 394: { + global::LiveKit.Proto.NewApmResponse subBuilder = new global::LiveKit.Proto.NewApmResponse(); + if (messageCase_ == MessageOneofCase.NewApm) { + subBuilder.MergeFrom(NewApm); + } + input.ReadMessage(subBuilder); + NewApm = subBuilder; + break; + } + case 402: { + global::LiveKit.Proto.ApmProcessStreamResponse subBuilder = new global::LiveKit.Proto.ApmProcessStreamResponse(); + if (messageCase_ == MessageOneofCase.ApmProcessStream) { + subBuilder.MergeFrom(ApmProcessStream); + } + input.ReadMessage(subBuilder); + ApmProcessStream = subBuilder; + break; + } + case 410: { + global::LiveKit.Proto.ApmProcessReverseStreamResponse subBuilder = new global::LiveKit.Proto.ApmProcessReverseStreamResponse(); + if (messageCase_ == MessageOneofCase.ApmProcessReverseStream) { + subBuilder.MergeFrom(ApmProcessReverseStream); + } + input.ReadMessage(subBuilder); + ApmProcessReverseStream = subBuilder; + break; + } + case 418: { + global::LiveKit.Proto.ApmSetStreamDelayResponse subBuilder = new global::LiveKit.Proto.ApmSetStreamDelayResponse(); + if (messageCase_ == MessageOneofCase.ApmSetStreamDelay) { + subBuilder.MergeFrom(ApmSetStreamDelay); + } + input.ReadMessage(subBuilder); + ApmSetStreamDelay = subBuilder; + break; + } + case 426: { + global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadIncrementalResponse(); + if (messageCase_ == MessageOneofCase.ByteReadIncremental) { + subBuilder.MergeFrom(ByteReadIncremental); + } + input.ReadMessage(subBuilder); + ByteReadIncremental = subBuilder; + break; + } + case 434: { + global::LiveKit.Proto.ByteStreamReaderReadAllResponse subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadAllResponse(); + if (messageCase_ == MessageOneofCase.ByteReadAll) { + subBuilder.MergeFrom(ByteReadAll); + } + input.ReadMessage(subBuilder); + ByteReadAll = subBuilder; + break; + } + case 442: { + global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse subBuilder = new global::LiveKit.Proto.ByteStreamReaderWriteToFileResponse(); + if (messageCase_ == MessageOneofCase.ByteWriteToFile) { + subBuilder.MergeFrom(ByteWriteToFile); + } + input.ReadMessage(subBuilder); + ByteWriteToFile = subBuilder; + break; + } + case 450: { + global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse subBuilder = new global::LiveKit.Proto.TextStreamReaderReadIncrementalResponse(); + if (messageCase_ == MessageOneofCase.TextReadIncremental) { + subBuilder.MergeFrom(TextReadIncremental); + } + input.ReadMessage(subBuilder); + TextReadIncremental = subBuilder; + break; + } + case 458: { + global::LiveKit.Proto.TextStreamReaderReadAllResponse subBuilder = new global::LiveKit.Proto.TextStreamReaderReadAllResponse(); + if (messageCase_ == MessageOneofCase.TextReadAll) { + subBuilder.MergeFrom(TextReadAll); + } + input.ReadMessage(subBuilder); + TextReadAll = subBuilder; + break; + } + case 466: { + global::LiveKit.Proto.StreamSendFileResponse subBuilder = new global::LiveKit.Proto.StreamSendFileResponse(); + if (messageCase_ == MessageOneofCase.SendFile) { + subBuilder.MergeFrom(SendFile); + } + input.ReadMessage(subBuilder); + SendFile = subBuilder; + break; + } + case 474: { + global::LiveKit.Proto.StreamSendTextResponse subBuilder = new global::LiveKit.Proto.StreamSendTextResponse(); + if (messageCase_ == MessageOneofCase.SendText) { + subBuilder.MergeFrom(SendText); + } + input.ReadMessage(subBuilder); + SendText = subBuilder; + break; + } + case 482: { + global::LiveKit.Proto.ByteStreamOpenResponse subBuilder = new global::LiveKit.Proto.ByteStreamOpenResponse(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + subBuilder.MergeFrom(ByteStreamOpen); + } + input.ReadMessage(subBuilder); + ByteStreamOpen = subBuilder; + break; + } + case 490: { + global::LiveKit.Proto.ByteStreamWriterWriteResponse subBuilder = new global::LiveKit.Proto.ByteStreamWriterWriteResponse(); + if (messageCase_ == MessageOneofCase.ByteStreamWrite) { + subBuilder.MergeFrom(ByteStreamWrite); + } + input.ReadMessage(subBuilder); + ByteStreamWrite = subBuilder; + break; + } + case 498: { + global::LiveKit.Proto.ByteStreamWriterCloseResponse subBuilder = new global::LiveKit.Proto.ByteStreamWriterCloseResponse(); + if (messageCase_ == MessageOneofCase.ByteStreamClose) { + subBuilder.MergeFrom(ByteStreamClose); + } + input.ReadMessage(subBuilder); + ByteStreamClose = subBuilder; + break; + } + case 506: { + global::LiveKit.Proto.TextStreamOpenResponse subBuilder = new global::LiveKit.Proto.TextStreamOpenResponse(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + subBuilder.MergeFrom(TextStreamOpen); + } + input.ReadMessage(subBuilder); + TextStreamOpen = subBuilder; + break; + } + case 514: { + global::LiveKit.Proto.TextStreamWriterWriteResponse subBuilder = new global::LiveKit.Proto.TextStreamWriterWriteResponse(); + if (messageCase_ == MessageOneofCase.TextStreamWrite) { + subBuilder.MergeFrom(TextStreamWrite); + } + input.ReadMessage(subBuilder); + TextStreamWrite = subBuilder; + break; + } + case 522: { + global::LiveKit.Proto.TextStreamWriterCloseResponse subBuilder = new global::LiveKit.Proto.TextStreamWriterCloseResponse(); + if (messageCase_ == MessageOneofCase.TextStreamClose) { + subBuilder.MergeFrom(TextStreamClose); + } + input.ReadMessage(subBuilder); + TextStreamClose = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// 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 + /// on the ffi client side. + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FfiEvent : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FfiEvent()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FfiEvent() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FfiEvent(FfiEvent other) : this() { + switch (other.MessageCase) { + case MessageOneofCase.RoomEvent: + RoomEvent = other.RoomEvent.Clone(); + break; + case MessageOneofCase.TrackEvent: + TrackEvent = other.TrackEvent.Clone(); + break; + case MessageOneofCase.VideoStreamEvent: + VideoStreamEvent = other.VideoStreamEvent.Clone(); + break; + case MessageOneofCase.AudioStreamEvent: + AudioStreamEvent = other.AudioStreamEvent.Clone(); + break; + case MessageOneofCase.Connect: + Connect = other.Connect.Clone(); + break; + case MessageOneofCase.Disconnect: + Disconnect = other.Disconnect.Clone(); + break; + case MessageOneofCase.Dispose: + Dispose = other.Dispose.Clone(); + break; + case MessageOneofCase.PublishTrack: + PublishTrack = other.PublishTrack.Clone(); + break; + case MessageOneofCase.UnpublishTrack: + UnpublishTrack = other.UnpublishTrack.Clone(); + break; + case MessageOneofCase.PublishData: + PublishData = other.PublishData.Clone(); + break; + case MessageOneofCase.PublishTranscription: + PublishTranscription = other.PublishTranscription.Clone(); + break; + case MessageOneofCase.CaptureAudioFrame: + CaptureAudioFrame = other.CaptureAudioFrame.Clone(); + break; + case MessageOneofCase.SetLocalMetadata: + SetLocalMetadata = other.SetLocalMetadata.Clone(); + break; + case MessageOneofCase.SetLocalName: + SetLocalName = other.SetLocalName.Clone(); + break; + case MessageOneofCase.SetLocalAttributes: + SetLocalAttributes = other.SetLocalAttributes.Clone(); + break; + case MessageOneofCase.GetStats: + GetStats = other.GetStats.Clone(); + break; + case MessageOneofCase.Logs: + Logs = other.Logs.Clone(); + break; + case MessageOneofCase.GetSessionStats: + GetSessionStats = other.GetSessionStats.Clone(); + break; + case MessageOneofCase.Panic: + Panic = other.Panic.Clone(); + break; + case MessageOneofCase.PublishSipDtmf: + PublishSipDtmf = other.PublishSipDtmf.Clone(); + break; + case MessageOneofCase.ChatMessage: + ChatMessage = other.ChatMessage.Clone(); + break; + case MessageOneofCase.PerformRpc: + PerformRpc = other.PerformRpc.Clone(); + break; + case MessageOneofCase.RpcMethodInvocation: + RpcMethodInvocation = other.RpcMethodInvocation.Clone(); + break; + case MessageOneofCase.SendStreamHeader: + SendStreamHeader = other.SendStreamHeader.Clone(); + break; + case MessageOneofCase.SendStreamChunk: + SendStreamChunk = other.SendStreamChunk.Clone(); + break; + case MessageOneofCase.SendStreamTrailer: + SendStreamTrailer = other.SendStreamTrailer.Clone(); + break; + case MessageOneofCase.ByteStreamReaderEvent: + ByteStreamReaderEvent = other.ByteStreamReaderEvent.Clone(); + break; + case MessageOneofCase.ByteStreamReaderReadAll: + ByteStreamReaderReadAll = other.ByteStreamReaderReadAll.Clone(); + break; + case MessageOneofCase.ByteStreamReaderWriteToFile: + ByteStreamReaderWriteToFile = other.ByteStreamReaderWriteToFile.Clone(); + break; + case MessageOneofCase.ByteStreamOpen: + ByteStreamOpen = other.ByteStreamOpen.Clone(); + break; + case MessageOneofCase.ByteStreamWriterWrite: + ByteStreamWriterWrite = other.ByteStreamWriterWrite.Clone(); + break; + case MessageOneofCase.ByteStreamWriterClose: + ByteStreamWriterClose = other.ByteStreamWriterClose.Clone(); + break; + case MessageOneofCase.SendFile: + SendFile = other.SendFile.Clone(); + break; + case MessageOneofCase.TextStreamReaderEvent: + TextStreamReaderEvent = other.TextStreamReaderEvent.Clone(); + break; + case MessageOneofCase.TextStreamReaderReadAll: + TextStreamReaderReadAll = other.TextStreamReaderReadAll.Clone(); + break; + case MessageOneofCase.TextStreamOpen: + TextStreamOpen = other.TextStreamOpen.Clone(); + break; + case MessageOneofCase.TextStreamWriterWrite: + TextStreamWriterWrite = other.TextStreamWriterWrite.Clone(); + break; + case MessageOneofCase.TextStreamWriterClose: + TextStreamWriterClose = other.TextStreamWriterClose.Clone(); + break; + case MessageOneofCase.SendText: + SendText = other.SendText.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public FfiEvent Clone() { + return new FfiEvent(this); + } + + /// Field number for the "room_event" field. + public const int RoomEventFieldNumber = 1; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RoomEvent RoomEvent { + get { return messageCase_ == MessageOneofCase.RoomEvent ? (global::LiveKit.Proto.RoomEvent) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RoomEvent; + } + } + + /// Field number for the "track_event" field. + public const int TrackEventFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackEvent TrackEvent { + get { return messageCase_ == MessageOneofCase.TrackEvent ? (global::LiveKit.Proto.TrackEvent) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackEvent; + } + } + + /// Field number for the "video_stream_event" field. + public const int VideoStreamEventFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoStreamEvent VideoStreamEvent { + get { return messageCase_ == MessageOneofCase.VideoStreamEvent ? (global::LiveKit.Proto.VideoStreamEvent) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.VideoStreamEvent; + } + } + + /// Field number for the "audio_stream_event" field. + public const int AudioStreamEventFieldNumber = 4; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioStreamEvent AudioStreamEvent { + get { return messageCase_ == MessageOneofCase.AudioStreamEvent ? (global::LiveKit.Proto.AudioStreamEvent) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AudioStreamEvent; + } + } + + /// Field number for the "connect" field. + public const int ConnectFieldNumber = 5; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ConnectCallback Connect { + get { return messageCase_ == MessageOneofCase.Connect ? (global::LiveKit.Proto.ConnectCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Connect; + } + } + + /// Field number for the "disconnect" field. + public const int DisconnectFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DisconnectCallback Disconnect { + get { return messageCase_ == MessageOneofCase.Disconnect ? (global::LiveKit.Proto.DisconnectCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Disconnect; + } + } + + /// Field number for the "dispose" field. + public const int DisposeFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DisposeCallback Dispose { + get { return messageCase_ == MessageOneofCase.Dispose ? (global::LiveKit.Proto.DisposeCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Dispose; + } + } + + /// Field number for the "publish_track" field. + public const int PublishTrackFieldNumber = 9; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishTrackCallback PublishTrack { + get { return messageCase_ == MessageOneofCase.PublishTrack ? (global::LiveKit.Proto.PublishTrackCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishTrack; + } + } + + /// Field number for the "unpublish_track" field. + public const int UnpublishTrackFieldNumber = 10; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.UnpublishTrackCallback UnpublishTrack { + get { return messageCase_ == MessageOneofCase.UnpublishTrack ? (global::LiveKit.Proto.UnpublishTrackCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.UnpublishTrack; + } + } + + /// Field number for the "publish_data" field. + public const int PublishDataFieldNumber = 11; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishDataCallback PublishData { + get { return messageCase_ == MessageOneofCase.PublishData ? (global::LiveKit.Proto.PublishDataCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishData; + } + } + + /// Field number for the "publish_transcription" field. + public const int PublishTranscriptionFieldNumber = 12; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishTranscriptionCallback PublishTranscription { + get { return messageCase_ == MessageOneofCase.PublishTranscription ? (global::LiveKit.Proto.PublishTranscriptionCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishTranscription; + } + } + + /// Field number for the "capture_audio_frame" field. + public const int CaptureAudioFrameFieldNumber = 13; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.CaptureAudioFrameCallback CaptureAudioFrame { + get { return messageCase_ == MessageOneofCase.CaptureAudioFrame ? (global::LiveKit.Proto.CaptureAudioFrameCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.CaptureAudioFrame; + } + } + + /// Field number for the "set_local_metadata" field. + public const int SetLocalMetadataFieldNumber = 14; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalMetadataCallback SetLocalMetadata { + get { return messageCase_ == MessageOneofCase.SetLocalMetadata ? (global::LiveKit.Proto.SetLocalMetadataCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalMetadata; + } + } + + /// Field number for the "set_local_name" field. + public const int SetLocalNameFieldNumber = 15; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalNameCallback SetLocalName { + get { return messageCase_ == MessageOneofCase.SetLocalName ? (global::LiveKit.Proto.SetLocalNameCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalName; + } + } + + /// Field number for the "set_local_attributes" field. + public const int SetLocalAttributesFieldNumber = 16; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SetLocalAttributesCallback SetLocalAttributes { + get { return messageCase_ == MessageOneofCase.SetLocalAttributes ? (global::LiveKit.Proto.SetLocalAttributesCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SetLocalAttributes; + } + } + + /// Field number for the "get_stats" field. + public const int GetStatsFieldNumber = 17; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetStatsCallback GetStats { + get { return messageCase_ == MessageOneofCase.GetStats ? (global::LiveKit.Proto.GetStatsCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetStats; + } + } + + /// Field number for the "logs" field. + public const int LogsFieldNumber = 18; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LogBatch Logs { + get { return messageCase_ == MessageOneofCase.Logs ? (global::LiveKit.Proto.LogBatch) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Logs; + } + } + + /// Field number for the "get_session_stats" field. + public const int GetSessionStatsFieldNumber = 19; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetSessionStatsCallback GetSessionStats { + get { return messageCase_ == MessageOneofCase.GetSessionStats ? (global::LiveKit.Proto.GetSessionStatsCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.GetSessionStats; + } + } + + /// Field number for the "panic" field. + public const int PanicFieldNumber = 20; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.Panic Panic { + get { return messageCase_ == MessageOneofCase.Panic ? (global::LiveKit.Proto.Panic) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Panic; + } + } + + /// Field number for the "publish_sip_dtmf" field. + public const int PublishSipDtmfFieldNumber = 21; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PublishSipDtmfCallback PublishSipDtmf { + get { return messageCase_ == MessageOneofCase.PublishSipDtmf ? (global::LiveKit.Proto.PublishSipDtmfCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishSipDtmf; + } + } + + /// Field number for the "chat_message" field. + public const int ChatMessageFieldNumber = 22; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendChatMessageCallback ChatMessage { + get { return messageCase_ == MessageOneofCase.ChatMessage ? (global::LiveKit.Proto.SendChatMessageCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ChatMessage; + } + } + + /// Field number for the "perform_rpc" field. + public const int PerformRpcFieldNumber = 23; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PerformRpcCallback PerformRpc { + get { return messageCase_ == MessageOneofCase.PerformRpc ? (global::LiveKit.Proto.PerformRpcCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PerformRpc; + } + } + + /// Field number for the "rpc_method_invocation" field. + public const int RpcMethodInvocationFieldNumber = 24; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RpcMethodInvocationEvent RpcMethodInvocation { + get { return messageCase_ == MessageOneofCase.RpcMethodInvocation ? (global::LiveKit.Proto.RpcMethodInvocationEvent) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RpcMethodInvocation; + } + } + + /// Field number for the "send_stream_header" field. + public const int SendStreamHeaderFieldNumber = 25; + /// + /// Data Streams (low level) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamHeaderCallback SendStreamHeader { + get { return messageCase_ == MessageOneofCase.SendStreamHeader ? (global::LiveKit.Proto.SendStreamHeaderCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamHeader; + } + } + + /// Field number for the "send_stream_chunk" field. + public const int SendStreamChunkFieldNumber = 26; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamChunkCallback SendStreamChunk { + get { return messageCase_ == MessageOneofCase.SendStreamChunk ? (global::LiveKit.Proto.SendStreamChunkCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamChunk; + } + } + + /// Field number for the "send_stream_trailer" field. + public const int SendStreamTrailerFieldNumber = 27; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SendStreamTrailerCallback SendStreamTrailer { + get { return messageCase_ == MessageOneofCase.SendStreamTrailer ? (global::LiveKit.Proto.SendStreamTrailerCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendStreamTrailer; + } + } + + /// Field number for the "byte_stream_reader_event" field. + public const int ByteStreamReaderEventFieldNumber = 28; + /// + /// Data Streams (high level) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderEvent ByteStreamReaderEvent { + get { return messageCase_ == MessageOneofCase.ByteStreamReaderEvent ? (global::LiveKit.Proto.ByteStreamReaderEvent) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamReaderEvent; + } + } + + /// Field number for the "byte_stream_reader_read_all" field. + public const int ByteStreamReaderReadAllFieldNumber = 29; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderReadAllCallback ByteStreamReaderReadAll { + get { return messageCase_ == MessageOneofCase.ByteStreamReaderReadAll ? (global::LiveKit.Proto.ByteStreamReaderReadAllCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamReaderReadAll; + } + } + + /// Field number for the "byte_stream_reader_write_to_file" field. + public const int ByteStreamReaderWriteToFileFieldNumber = 30; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback ByteStreamReaderWriteToFile { + get { return messageCase_ == MessageOneofCase.ByteStreamReaderWriteToFile ? (global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamReaderWriteToFile; + } + } + + /// Field number for the "byte_stream_open" field. + public const int ByteStreamOpenFieldNumber = 31; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamOpenCallback ByteStreamOpen { + get { return messageCase_ == MessageOneofCase.ByteStreamOpen ? (global::LiveKit.Proto.ByteStreamOpenCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamOpen; + } + } + + /// Field number for the "byte_stream_writer_write" field. + public const int ByteStreamWriterWriteFieldNumber = 32; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamWriterWriteCallback ByteStreamWriterWrite { + get { return messageCase_ == MessageOneofCase.ByteStreamWriterWrite ? (global::LiveKit.Proto.ByteStreamWriterWriteCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamWriterWrite; + } + } + + /// Field number for the "byte_stream_writer_close" field. + public const int ByteStreamWriterCloseFieldNumber = 33; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamWriterCloseCallback ByteStreamWriterClose { + get { return messageCase_ == MessageOneofCase.ByteStreamWriterClose ? (global::LiveKit.Proto.ByteStreamWriterCloseCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamWriterClose; + } + } + + /// Field number for the "send_file" field. + public const int SendFileFieldNumber = 34; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamSendFileCallback SendFile { + get { return messageCase_ == MessageOneofCase.SendFile ? (global::LiveKit.Proto.StreamSendFileCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendFile; + } + } + + /// Field number for the "text_stream_reader_event" field. + public const int TextStreamReaderEventFieldNumber = 35; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderEvent TextStreamReaderEvent { + get { return messageCase_ == MessageOneofCase.TextStreamReaderEvent ? (global::LiveKit.Proto.TextStreamReaderEvent) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamReaderEvent; + } + } + + /// Field number for the "text_stream_reader_read_all" field. + public const int TextStreamReaderReadAllFieldNumber = 36; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamReaderReadAllCallback TextStreamReaderReadAll { + get { return messageCase_ == MessageOneofCase.TextStreamReaderReadAll ? (global::LiveKit.Proto.TextStreamReaderReadAllCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamReaderReadAll; + } + } + + /// Field number for the "text_stream_open" field. + public const int TextStreamOpenFieldNumber = 37; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamOpenCallback TextStreamOpen { + get { return messageCase_ == MessageOneofCase.TextStreamOpen ? (global::LiveKit.Proto.TextStreamOpenCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamOpen; + } + } + + /// Field number for the "text_stream_writer_write" field. + public const int TextStreamWriterWriteFieldNumber = 38; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamWriterWriteCallback TextStreamWriterWrite { + get { return messageCase_ == MessageOneofCase.TextStreamWriterWrite ? (global::LiveKit.Proto.TextStreamWriterWriteCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamWriterWrite; + } + } + + /// Field number for the "text_stream_writer_close" field. + public const int TextStreamWriterCloseFieldNumber = 39; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamWriterCloseCallback TextStreamWriterClose { + get { return messageCase_ == MessageOneofCase.TextStreamWriterClose ? (global::LiveKit.Proto.TextStreamWriterCloseCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamWriterClose; + } + } + + /// Field number for the "send_text" field. + public const int SendTextFieldNumber = 40; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamSendTextCallback SendText { + get { return messageCase_ == MessageOneofCase.SendText ? (global::LiveKit.Proto.StreamSendTextCallback) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SendText; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + RoomEvent = 1, + TrackEvent = 2, + VideoStreamEvent = 3, + AudioStreamEvent = 4, + Connect = 5, + Disconnect = 7, + Dispose = 8, + PublishTrack = 9, + UnpublishTrack = 10, + PublishData = 11, + PublishTranscription = 12, + CaptureAudioFrame = 13, + SetLocalMetadata = 14, + SetLocalName = 15, + SetLocalAttributes = 16, + GetStats = 17, + Logs = 18, + GetSessionStats = 19, + Panic = 20, + PublishSipDtmf = 21, + ChatMessage = 22, + PerformRpc = 23, + RpcMethodInvocation = 24, + SendStreamHeader = 25, + SendStreamChunk = 26, + SendStreamTrailer = 27, + ByteStreamReaderEvent = 28, + ByteStreamReaderReadAll = 29, + ByteStreamReaderWriteToFile = 30, + ByteStreamOpen = 31, + ByteStreamWriterWrite = 32, + ByteStreamWriterClose = 33, + SendFile = 34, + TextStreamReaderEvent = 35, + TextStreamReaderReadAll = 36, + TextStreamOpen = 37, + TextStreamWriterWrite = 38, + TextStreamWriterClose = 39, + SendText = 40, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as FfiEvent); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(FfiEvent other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(RoomEvent, other.RoomEvent)) return false; + if (!object.Equals(TrackEvent, other.TrackEvent)) return false; + if (!object.Equals(VideoStreamEvent, other.VideoStreamEvent)) return false; + if (!object.Equals(AudioStreamEvent, other.AudioStreamEvent)) return false; + if (!object.Equals(Connect, other.Connect)) return false; + if (!object.Equals(Disconnect, other.Disconnect)) return false; + if (!object.Equals(Dispose, other.Dispose)) return false; + if (!object.Equals(PublishTrack, other.PublishTrack)) return false; + if (!object.Equals(UnpublishTrack, other.UnpublishTrack)) return false; + if (!object.Equals(PublishData, other.PublishData)) return false; + if (!object.Equals(PublishTranscription, other.PublishTranscription)) return false; + if (!object.Equals(CaptureAudioFrame, other.CaptureAudioFrame)) return false; + if (!object.Equals(SetLocalMetadata, other.SetLocalMetadata)) return false; + if (!object.Equals(SetLocalName, other.SetLocalName)) return false; + if (!object.Equals(SetLocalAttributes, other.SetLocalAttributes)) return false; + if (!object.Equals(GetStats, other.GetStats)) return false; + if (!object.Equals(Logs, other.Logs)) return false; + if (!object.Equals(GetSessionStats, other.GetSessionStats)) return false; + if (!object.Equals(Panic, other.Panic)) return false; + if (!object.Equals(PublishSipDtmf, other.PublishSipDtmf)) return false; + if (!object.Equals(ChatMessage, other.ChatMessage)) return false; + if (!object.Equals(PerformRpc, other.PerformRpc)) return false; + if (!object.Equals(RpcMethodInvocation, other.RpcMethodInvocation)) return false; + if (!object.Equals(SendStreamHeader, other.SendStreamHeader)) return false; + if (!object.Equals(SendStreamChunk, other.SendStreamChunk)) return false; + if (!object.Equals(SendStreamTrailer, other.SendStreamTrailer)) return false; + if (!object.Equals(ByteStreamReaderEvent, other.ByteStreamReaderEvent)) return false; + if (!object.Equals(ByteStreamReaderReadAll, other.ByteStreamReaderReadAll)) return false; + if (!object.Equals(ByteStreamReaderWriteToFile, other.ByteStreamReaderWriteToFile)) return false; + if (!object.Equals(ByteStreamOpen, other.ByteStreamOpen)) return false; + if (!object.Equals(ByteStreamWriterWrite, other.ByteStreamWriterWrite)) return false; + if (!object.Equals(ByteStreamWriterClose, other.ByteStreamWriterClose)) return false; + if (!object.Equals(SendFile, other.SendFile)) return false; + if (!object.Equals(TextStreamReaderEvent, other.TextStreamReaderEvent)) return false; + if (!object.Equals(TextStreamReaderReadAll, other.TextStreamReaderReadAll)) return false; + if (!object.Equals(TextStreamOpen, other.TextStreamOpen)) return false; + if (!object.Equals(TextStreamWriterWrite, other.TextStreamWriterWrite)) return false; + if (!object.Equals(TextStreamWriterClose, other.TextStreamWriterClose)) return false; + if (!object.Equals(SendText, other.SendText)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (messageCase_ == MessageOneofCase.RoomEvent) hash ^= RoomEvent.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackEvent) hash ^= TrackEvent.GetHashCode(); + if (messageCase_ == MessageOneofCase.VideoStreamEvent) hash ^= VideoStreamEvent.GetHashCode(); + if (messageCase_ == MessageOneofCase.AudioStreamEvent) hash ^= AudioStreamEvent.GetHashCode(); + if (messageCase_ == MessageOneofCase.Connect) hash ^= Connect.GetHashCode(); + if (messageCase_ == MessageOneofCase.Disconnect) hash ^= Disconnect.GetHashCode(); + if (messageCase_ == MessageOneofCase.Dispose) hash ^= Dispose.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishTrack) hash ^= PublishTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.UnpublishTrack) hash ^= UnpublishTrack.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishData) hash ^= PublishData.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishTranscription) hash ^= PublishTranscription.GetHashCode(); + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) hash ^= CaptureAudioFrame.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) hash ^= SetLocalMetadata.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalName) hash ^= SetLocalName.GetHashCode(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) hash ^= SetLocalAttributes.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetStats) hash ^= GetStats.GetHashCode(); + if (messageCase_ == MessageOneofCase.Logs) hash ^= Logs.GetHashCode(); + if (messageCase_ == MessageOneofCase.GetSessionStats) hash ^= GetSessionStats.GetHashCode(); + if (messageCase_ == MessageOneofCase.Panic) hash ^= Panic.GetHashCode(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) hash ^= PublishSipDtmf.GetHashCode(); + if (messageCase_ == MessageOneofCase.ChatMessage) hash ^= ChatMessage.GetHashCode(); + if (messageCase_ == MessageOneofCase.PerformRpc) hash ^= PerformRpc.GetHashCode(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocation) hash ^= RpcMethodInvocation.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) hash ^= SendStreamHeader.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) hash ^= SendStreamChunk.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) hash ^= SendStreamTrailer.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderEvent) hash ^= ByteStreamReaderEvent.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderReadAll) hash ^= ByteStreamReaderReadAll.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderWriteToFile) hash ^= ByteStreamReaderWriteToFile.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) hash ^= ByteStreamOpen.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamWriterWrite) hash ^= ByteStreamWriterWrite.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamWriterClose) hash ^= ByteStreamWriterClose.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendFile) hash ^= SendFile.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamReaderEvent) hash ^= TextStreamReaderEvent.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamReaderReadAll) hash ^= TextStreamReaderReadAll.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) hash ^= TextStreamOpen.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamWriterWrite) hash ^= TextStreamWriterWrite.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamWriterClose) hash ^= TextStreamWriterClose.GetHashCode(); + if (messageCase_ == MessageOneofCase.SendText) hash ^= SendText.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (messageCase_ == MessageOneofCase.RoomEvent) { + output.WriteRawTag(10); + output.WriteMessage(RoomEvent); + } + if (messageCase_ == MessageOneofCase.TrackEvent) { + output.WriteRawTag(18); + output.WriteMessage(TrackEvent); + } + if (messageCase_ == MessageOneofCase.VideoStreamEvent) { + output.WriteRawTag(26); + output.WriteMessage(VideoStreamEvent); + } + if (messageCase_ == MessageOneofCase.AudioStreamEvent) { + output.WriteRawTag(34); + output.WriteMessage(AudioStreamEvent); + } + if (messageCase_ == MessageOneofCase.Connect) { + output.WriteRawTag(42); + output.WriteMessage(Connect); + } + if (messageCase_ == MessageOneofCase.Disconnect) { + output.WriteRawTag(58); + output.WriteMessage(Disconnect); + } + if (messageCase_ == MessageOneofCase.Dispose) { + output.WriteRawTag(66); + output.WriteMessage(Dispose); + } + if (messageCase_ == MessageOneofCase.PublishTrack) { + output.WriteRawTag(74); + output.WriteMessage(PublishTrack); + } + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + output.WriteRawTag(82); + output.WriteMessage(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + output.WriteRawTag(90); + output.WriteMessage(PublishData); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + output.WriteRawTag(98); + output.WriteMessage(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + output.WriteRawTag(106); + output.WriteMessage(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + output.WriteRawTag(114); + output.WriteMessage(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + output.WriteRawTag(122); + output.WriteMessage(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + output.WriteRawTag(130, 1); + output.WriteMessage(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetStats) { + output.WriteRawTag(138, 1); + output.WriteMessage(GetStats); + } + if (messageCase_ == MessageOneofCase.Logs) { + output.WriteRawTag(146, 1); + output.WriteMessage(Logs); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + output.WriteRawTag(154, 1); + output.WriteMessage(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.Panic) { + output.WriteRawTag(162, 1); + output.WriteMessage(Panic); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + output.WriteRawTag(170, 1); + output.WriteMessage(PublishSipDtmf); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + output.WriteRawTag(178, 1); + output.WriteMessage(ChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + output.WriteRawTag(186, 1); + output.WriteMessage(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocation) { + output.WriteRawTag(194, 1); + output.WriteMessage(RpcMethodInvocation); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + output.WriteRawTag(202, 1); + output.WriteMessage(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + output.WriteRawTag(210, 1); + output.WriteMessage(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + output.WriteRawTag(218, 1); + output.WriteMessage(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderEvent) { + output.WriteRawTag(226, 1); + output.WriteMessage(ByteStreamReaderEvent); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderReadAll) { + output.WriteRawTag(234, 1); + output.WriteMessage(ByteStreamReaderReadAll); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderWriteToFile) { + output.WriteRawTag(242, 1); + output.WriteMessage(ByteStreamReaderWriteToFile); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + output.WriteRawTag(250, 1); + output.WriteMessage(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWriterWrite) { + output.WriteRawTag(130, 2); + output.WriteMessage(ByteStreamWriterWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamWriterClose) { + output.WriteRawTag(138, 2); + output.WriteMessage(ByteStreamWriterClose); + } + if (messageCase_ == MessageOneofCase.SendFile) { + output.WriteRawTag(146, 2); + output.WriteMessage(SendFile); + } + if (messageCase_ == MessageOneofCase.TextStreamReaderEvent) { + output.WriteRawTag(154, 2); + output.WriteMessage(TextStreamReaderEvent); + } + if (messageCase_ == MessageOneofCase.TextStreamReaderReadAll) { + output.WriteRawTag(162, 2); + output.WriteMessage(TextStreamReaderReadAll); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + output.WriteRawTag(170, 2); + output.WriteMessage(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWriterWrite) { + output.WriteRawTag(178, 2); + output.WriteMessage(TextStreamWriterWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamWriterClose) { + output.WriteRawTag(186, 2); + output.WriteMessage(TextStreamWriterClose); + } + if (messageCase_ == MessageOneofCase.SendText) { + output.WriteRawTag(194, 2); + output.WriteMessage(SendText); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (messageCase_ == MessageOneofCase.RoomEvent) { + output.WriteRawTag(10); + output.WriteMessage(RoomEvent); + } + if (messageCase_ == MessageOneofCase.TrackEvent) { + output.WriteRawTag(18); + output.WriteMessage(TrackEvent); + } + if (messageCase_ == MessageOneofCase.VideoStreamEvent) { + output.WriteRawTag(26); + output.WriteMessage(VideoStreamEvent); + } + if (messageCase_ == MessageOneofCase.AudioStreamEvent) { + output.WriteRawTag(34); + output.WriteMessage(AudioStreamEvent); + } + if (messageCase_ == MessageOneofCase.Connect) { + output.WriteRawTag(42); + output.WriteMessage(Connect); + } + if (messageCase_ == MessageOneofCase.Disconnect) { + output.WriteRawTag(58); + output.WriteMessage(Disconnect); + } + if (messageCase_ == MessageOneofCase.Dispose) { + output.WriteRawTag(66); + output.WriteMessage(Dispose); + } + if (messageCase_ == MessageOneofCase.PublishTrack) { + output.WriteRawTag(74); + output.WriteMessage(PublishTrack); + } + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + output.WriteRawTag(82); + output.WriteMessage(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + output.WriteRawTag(90); + output.WriteMessage(PublishData); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + output.WriteRawTag(98); + output.WriteMessage(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + output.WriteRawTag(106); + output.WriteMessage(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + output.WriteRawTag(114); + output.WriteMessage(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + output.WriteRawTag(122); + output.WriteMessage(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + output.WriteRawTag(130, 1); + output.WriteMessage(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetStats) { + output.WriteRawTag(138, 1); + output.WriteMessage(GetStats); + } + if (messageCase_ == MessageOneofCase.Logs) { + output.WriteRawTag(146, 1); + output.WriteMessage(Logs); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + output.WriteRawTag(154, 1); + output.WriteMessage(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.Panic) { + output.WriteRawTag(162, 1); + output.WriteMessage(Panic); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + output.WriteRawTag(170, 1); + output.WriteMessage(PublishSipDtmf); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + output.WriteRawTag(178, 1); + output.WriteMessage(ChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + output.WriteRawTag(186, 1); + output.WriteMessage(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocation) { + output.WriteRawTag(194, 1); + output.WriteMessage(RpcMethodInvocation); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + output.WriteRawTag(202, 1); + output.WriteMessage(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + output.WriteRawTag(210, 1); + output.WriteMessage(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + output.WriteRawTag(218, 1); + output.WriteMessage(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderEvent) { + output.WriteRawTag(226, 1); + output.WriteMessage(ByteStreamReaderEvent); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderReadAll) { + output.WriteRawTag(234, 1); + output.WriteMessage(ByteStreamReaderReadAll); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderWriteToFile) { + output.WriteRawTag(242, 1); + output.WriteMessage(ByteStreamReaderWriteToFile); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + output.WriteRawTag(250, 1); + output.WriteMessage(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWriterWrite) { + output.WriteRawTag(130, 2); + output.WriteMessage(ByteStreamWriterWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamWriterClose) { + output.WriteRawTag(138, 2); + output.WriteMessage(ByteStreamWriterClose); + } + if (messageCase_ == MessageOneofCase.SendFile) { + output.WriteRawTag(146, 2); + output.WriteMessage(SendFile); + } + if (messageCase_ == MessageOneofCase.TextStreamReaderEvent) { + output.WriteRawTag(154, 2); + output.WriteMessage(TextStreamReaderEvent); + } + if (messageCase_ == MessageOneofCase.TextStreamReaderReadAll) { + output.WriteRawTag(162, 2); + output.WriteMessage(TextStreamReaderReadAll); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + output.WriteRawTag(170, 2); + output.WriteMessage(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWriterWrite) { + output.WriteRawTag(178, 2); + output.WriteMessage(TextStreamWriterWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamWriterClose) { + output.WriteRawTag(186, 2); + output.WriteMessage(TextStreamWriterClose); + } + if (messageCase_ == MessageOneofCase.SendText) { + output.WriteRawTag(194, 2); + output.WriteMessage(SendText); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (messageCase_ == MessageOneofCase.RoomEvent) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomEvent); + } + if (messageCase_ == MessageOneofCase.TrackEvent) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackEvent); + } + if (messageCase_ == MessageOneofCase.VideoStreamEvent) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(VideoStreamEvent); + } + if (messageCase_ == MessageOneofCase.AudioStreamEvent) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(AudioStreamEvent); + } + if (messageCase_ == MessageOneofCase.Connect) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Connect); + } + if (messageCase_ == MessageOneofCase.Disconnect) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Disconnect); + } + if (messageCase_ == MessageOneofCase.Dispose) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dispose); + } + if (messageCase_ == MessageOneofCase.PublishTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTrack); + } + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(UnpublishTrack); + } + if (messageCase_ == MessageOneofCase.PublishData) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishData); + } + if (messageCase_ == MessageOneofCase.PublishTranscription) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTranscription); + } + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CaptureAudioFrame); + } + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalMetadata); + } + if (messageCase_ == MessageOneofCase.SetLocalName) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetLocalName); + } + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetLocalAttributes); + } + if (messageCase_ == MessageOneofCase.GetStats) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(GetStats); + } + if (messageCase_ == MessageOneofCase.Logs) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Logs); + } + if (messageCase_ == MessageOneofCase.GetSessionStats) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(GetSessionStats); + } + if (messageCase_ == MessageOneofCase.Panic) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Panic); + } + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(PublishSipDtmf); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ChatMessage); + } + if (messageCase_ == MessageOneofCase.PerformRpc) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(PerformRpc); + } + if (messageCase_ == MessageOneofCase.RpcMethodInvocation) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(RpcMethodInvocation); + } + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamHeader); + } + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamChunk); + } + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendStreamTrailer); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderEvent) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamReaderEvent); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderReadAll) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamReaderReadAll); + } + if (messageCase_ == MessageOneofCase.ByteStreamReaderWriteToFile) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamReaderWriteToFile); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamOpen); + } + if (messageCase_ == MessageOneofCase.ByteStreamWriterWrite) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamWriterWrite); + } + if (messageCase_ == MessageOneofCase.ByteStreamWriterClose) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamWriterClose); + } + if (messageCase_ == MessageOneofCase.SendFile) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendFile); + } + if (messageCase_ == MessageOneofCase.TextStreamReaderEvent) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamReaderEvent); + } + if (messageCase_ == MessageOneofCase.TextStreamReaderReadAll) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamReaderReadAll); + } + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamOpen); + } + if (messageCase_ == MessageOneofCase.TextStreamWriterWrite) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamWriterWrite); + } + if (messageCase_ == MessageOneofCase.TextStreamWriterClose) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamWriterClose); + } + if (messageCase_ == MessageOneofCase.SendText) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendText); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(FfiEvent other) { + if (other == null) { + return; + } + switch (other.MessageCase) { + case MessageOneofCase.RoomEvent: + if (RoomEvent == null) { + RoomEvent = new global::LiveKit.Proto.RoomEvent(); + } + RoomEvent.MergeFrom(other.RoomEvent); + break; + case MessageOneofCase.TrackEvent: + if (TrackEvent == null) { + TrackEvent = new global::LiveKit.Proto.TrackEvent(); + } + TrackEvent.MergeFrom(other.TrackEvent); + break; + case MessageOneofCase.VideoStreamEvent: + if (VideoStreamEvent == null) { + VideoStreamEvent = new global::LiveKit.Proto.VideoStreamEvent(); + } + VideoStreamEvent.MergeFrom(other.VideoStreamEvent); + break; + case MessageOneofCase.AudioStreamEvent: + if (AudioStreamEvent == null) { + AudioStreamEvent = new global::LiveKit.Proto.AudioStreamEvent(); + } + AudioStreamEvent.MergeFrom(other.AudioStreamEvent); + break; + case MessageOneofCase.Connect: + if (Connect == null) { + Connect = new global::LiveKit.Proto.ConnectCallback(); + } + Connect.MergeFrom(other.Connect); + break; + case MessageOneofCase.Disconnect: + if (Disconnect == null) { + Disconnect = new global::LiveKit.Proto.DisconnectCallback(); + } + Disconnect.MergeFrom(other.Disconnect); + break; + case MessageOneofCase.Dispose: + if (Dispose == null) { + Dispose = new global::LiveKit.Proto.DisposeCallback(); + } + Dispose.MergeFrom(other.Dispose); + break; + case MessageOneofCase.PublishTrack: + if (PublishTrack == null) { + PublishTrack = new global::LiveKit.Proto.PublishTrackCallback(); + } + PublishTrack.MergeFrom(other.PublishTrack); + break; + case MessageOneofCase.UnpublishTrack: + if (UnpublishTrack == null) { + UnpublishTrack = new global::LiveKit.Proto.UnpublishTrackCallback(); + } + UnpublishTrack.MergeFrom(other.UnpublishTrack); + break; + case MessageOneofCase.PublishData: + if (PublishData == null) { + PublishData = new global::LiveKit.Proto.PublishDataCallback(); + } + PublishData.MergeFrom(other.PublishData); + break; + case MessageOneofCase.PublishTranscription: + if (PublishTranscription == null) { + PublishTranscription = new global::LiveKit.Proto.PublishTranscriptionCallback(); + } + PublishTranscription.MergeFrom(other.PublishTranscription); + break; + case MessageOneofCase.CaptureAudioFrame: + if (CaptureAudioFrame == null) { + CaptureAudioFrame = new global::LiveKit.Proto.CaptureAudioFrameCallback(); + } + CaptureAudioFrame.MergeFrom(other.CaptureAudioFrame); + break; + case MessageOneofCase.SetLocalMetadata: + if (SetLocalMetadata == null) { + SetLocalMetadata = new global::LiveKit.Proto.SetLocalMetadataCallback(); + } + SetLocalMetadata.MergeFrom(other.SetLocalMetadata); + break; + case MessageOneofCase.SetLocalName: + if (SetLocalName == null) { + SetLocalName = new global::LiveKit.Proto.SetLocalNameCallback(); + } + SetLocalName.MergeFrom(other.SetLocalName); + break; + case MessageOneofCase.SetLocalAttributes: + if (SetLocalAttributes == null) { + SetLocalAttributes = new global::LiveKit.Proto.SetLocalAttributesCallback(); + } + SetLocalAttributes.MergeFrom(other.SetLocalAttributes); + break; + case MessageOneofCase.GetStats: + if (GetStats == null) { + GetStats = new global::LiveKit.Proto.GetStatsCallback(); + } + GetStats.MergeFrom(other.GetStats); break; - case MessageOneofCase.CreateVideoTrack: - if (CreateVideoTrack == null) { - CreateVideoTrack = new global::LiveKit.Proto.CreateVideoTrackResponse(); + case MessageOneofCase.Logs: + if (Logs == null) { + Logs = new global::LiveKit.Proto.LogBatch(); } - CreateVideoTrack.MergeFrom(other.CreateVideoTrack); + Logs.MergeFrom(other.Logs); break; - case MessageOneofCase.CreateAudioTrack: - if (CreateAudioTrack == null) { - CreateAudioTrack = new global::LiveKit.Proto.CreateAudioTrackResponse(); + case MessageOneofCase.GetSessionStats: + if (GetSessionStats == null) { + GetSessionStats = new global::LiveKit.Proto.GetSessionStatsCallback(); } - CreateAudioTrack.MergeFrom(other.CreateAudioTrack); + GetSessionStats.MergeFrom(other.GetSessionStats); break; - case MessageOneofCase.AllocVideoBuffer: - if (AllocVideoBuffer == null) { - AllocVideoBuffer = new global::LiveKit.Proto.AllocVideoBufferResponse(); + case MessageOneofCase.Panic: + if (Panic == null) { + Panic = new global::LiveKit.Proto.Panic(); } - AllocVideoBuffer.MergeFrom(other.AllocVideoBuffer); + Panic.MergeFrom(other.Panic); break; - case MessageOneofCase.NewVideoStream: - if (NewVideoStream == null) { - NewVideoStream = new global::LiveKit.Proto.NewVideoStreamResponse(); + case MessageOneofCase.PublishSipDtmf: + if (PublishSipDtmf == null) { + PublishSipDtmf = new global::LiveKit.Proto.PublishSipDtmfCallback(); } - NewVideoStream.MergeFrom(other.NewVideoStream); + PublishSipDtmf.MergeFrom(other.PublishSipDtmf); break; - case MessageOneofCase.NewVideoSource: - if (NewVideoSource == null) { - NewVideoSource = new global::LiveKit.Proto.NewVideoSourceResponse(); + case MessageOneofCase.ChatMessage: + if (ChatMessage == null) { + ChatMessage = new global::LiveKit.Proto.SendChatMessageCallback(); } - NewVideoSource.MergeFrom(other.NewVideoSource); + ChatMessage.MergeFrom(other.ChatMessage); break; - case MessageOneofCase.CaptureVideoFrame: - if (CaptureVideoFrame == null) { - CaptureVideoFrame = new global::LiveKit.Proto.CaptureVideoFrameResponse(); + case MessageOneofCase.PerformRpc: + if (PerformRpc == null) { + PerformRpc = new global::LiveKit.Proto.PerformRpcCallback(); } - CaptureVideoFrame.MergeFrom(other.CaptureVideoFrame); + PerformRpc.MergeFrom(other.PerformRpc); + break; + case MessageOneofCase.RpcMethodInvocation: + if (RpcMethodInvocation == null) { + RpcMethodInvocation = new global::LiveKit.Proto.RpcMethodInvocationEvent(); + } + RpcMethodInvocation.MergeFrom(other.RpcMethodInvocation); + break; + case MessageOneofCase.SendStreamHeader: + if (SendStreamHeader == null) { + SendStreamHeader = new global::LiveKit.Proto.SendStreamHeaderCallback(); + } + SendStreamHeader.MergeFrom(other.SendStreamHeader); + break; + case MessageOneofCase.SendStreamChunk: + if (SendStreamChunk == null) { + SendStreamChunk = new global::LiveKit.Proto.SendStreamChunkCallback(); + } + SendStreamChunk.MergeFrom(other.SendStreamChunk); + break; + case MessageOneofCase.SendStreamTrailer: + if (SendStreamTrailer == null) { + SendStreamTrailer = new global::LiveKit.Proto.SendStreamTrailerCallback(); + } + SendStreamTrailer.MergeFrom(other.SendStreamTrailer); + break; + case MessageOneofCase.ByteStreamReaderEvent: + if (ByteStreamReaderEvent == null) { + ByteStreamReaderEvent = new global::LiveKit.Proto.ByteStreamReaderEvent(); + } + ByteStreamReaderEvent.MergeFrom(other.ByteStreamReaderEvent); break; - case MessageOneofCase.ToI420: - if (ToI420 == null) { - ToI420 = new global::LiveKit.Proto.ToI420Response(); + case MessageOneofCase.ByteStreamReaderReadAll: + if (ByteStreamReaderReadAll == null) { + ByteStreamReaderReadAll = new global::LiveKit.Proto.ByteStreamReaderReadAllCallback(); + } + ByteStreamReaderReadAll.MergeFrom(other.ByteStreamReaderReadAll); + break; + case MessageOneofCase.ByteStreamReaderWriteToFile: + if (ByteStreamReaderWriteToFile == null) { + ByteStreamReaderWriteToFile = new global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback(); + } + ByteStreamReaderWriteToFile.MergeFrom(other.ByteStreamReaderWriteToFile); + break; + case MessageOneofCase.ByteStreamOpen: + if (ByteStreamOpen == null) { + ByteStreamOpen = new global::LiveKit.Proto.ByteStreamOpenCallback(); + } + ByteStreamOpen.MergeFrom(other.ByteStreamOpen); + break; + case MessageOneofCase.ByteStreamWriterWrite: + if (ByteStreamWriterWrite == null) { + ByteStreamWriterWrite = new global::LiveKit.Proto.ByteStreamWriterWriteCallback(); + } + ByteStreamWriterWrite.MergeFrom(other.ByteStreamWriterWrite); + break; + case MessageOneofCase.ByteStreamWriterClose: + if (ByteStreamWriterClose == null) { + ByteStreamWriterClose = new global::LiveKit.Proto.ByteStreamWriterCloseCallback(); + } + ByteStreamWriterClose.MergeFrom(other.ByteStreamWriterClose); + break; + case MessageOneofCase.SendFile: + if (SendFile == null) { + SendFile = new global::LiveKit.Proto.StreamSendFileCallback(); + } + SendFile.MergeFrom(other.SendFile); + break; + case MessageOneofCase.TextStreamReaderEvent: + if (TextStreamReaderEvent == null) { + TextStreamReaderEvent = new global::LiveKit.Proto.TextStreamReaderEvent(); + } + TextStreamReaderEvent.MergeFrom(other.TextStreamReaderEvent); + break; + case MessageOneofCase.TextStreamReaderReadAll: + if (TextStreamReaderReadAll == null) { + TextStreamReaderReadAll = new global::LiveKit.Proto.TextStreamReaderReadAllCallback(); + } + TextStreamReaderReadAll.MergeFrom(other.TextStreamReaderReadAll); + break; + case MessageOneofCase.TextStreamOpen: + if (TextStreamOpen == null) { + TextStreamOpen = new global::LiveKit.Proto.TextStreamOpenCallback(); + } + TextStreamOpen.MergeFrom(other.TextStreamOpen); + break; + case MessageOneofCase.TextStreamWriterWrite: + if (TextStreamWriterWrite == null) { + TextStreamWriterWrite = new global::LiveKit.Proto.TextStreamWriterWriteCallback(); + } + TextStreamWriterWrite.MergeFrom(other.TextStreamWriterWrite); + break; + case MessageOneofCase.TextStreamWriterClose: + if (TextStreamWriterClose == null) { + TextStreamWriterClose = new global::LiveKit.Proto.TextStreamWriterCloseCallback(); + } + TextStreamWriterClose.MergeFrom(other.TextStreamWriterClose); + break; + case MessageOneofCase.SendText: + if (SendText == null) { + SendText = new global::LiveKit.Proto.StreamSendTextCallback(); + } + SendText.MergeFrom(other.SendText); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + global::LiveKit.Proto.RoomEvent subBuilder = new global::LiveKit.Proto.RoomEvent(); + if (messageCase_ == MessageOneofCase.RoomEvent) { + subBuilder.MergeFrom(RoomEvent); + } + input.ReadMessage(subBuilder); + RoomEvent = subBuilder; + break; + } + case 18: { + global::LiveKit.Proto.TrackEvent subBuilder = new global::LiveKit.Proto.TrackEvent(); + if (messageCase_ == MessageOneofCase.TrackEvent) { + subBuilder.MergeFrom(TrackEvent); + } + input.ReadMessage(subBuilder); + TrackEvent = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.VideoStreamEvent subBuilder = new global::LiveKit.Proto.VideoStreamEvent(); + if (messageCase_ == MessageOneofCase.VideoStreamEvent) { + subBuilder.MergeFrom(VideoStreamEvent); + } + input.ReadMessage(subBuilder); + VideoStreamEvent = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.AudioStreamEvent subBuilder = new global::LiveKit.Proto.AudioStreamEvent(); + if (messageCase_ == MessageOneofCase.AudioStreamEvent) { + subBuilder.MergeFrom(AudioStreamEvent); + } + input.ReadMessage(subBuilder); + AudioStreamEvent = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.ConnectCallback subBuilder = new global::LiveKit.Proto.ConnectCallback(); + if (messageCase_ == MessageOneofCase.Connect) { + subBuilder.MergeFrom(Connect); + } + input.ReadMessage(subBuilder); + Connect = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.DisconnectCallback subBuilder = new global::LiveKit.Proto.DisconnectCallback(); + if (messageCase_ == MessageOneofCase.Disconnect) { + subBuilder.MergeFrom(Disconnect); + } + input.ReadMessage(subBuilder); + Disconnect = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.DisposeCallback subBuilder = new global::LiveKit.Proto.DisposeCallback(); + if (messageCase_ == MessageOneofCase.Dispose) { + subBuilder.MergeFrom(Dispose); + } + input.ReadMessage(subBuilder); + Dispose = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.PublishTrackCallback subBuilder = new global::LiveKit.Proto.PublishTrackCallback(); + if (messageCase_ == MessageOneofCase.PublishTrack) { + subBuilder.MergeFrom(PublishTrack); + } + input.ReadMessage(subBuilder); + PublishTrack = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.UnpublishTrackCallback subBuilder = new global::LiveKit.Proto.UnpublishTrackCallback(); + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + subBuilder.MergeFrom(UnpublishTrack); + } + input.ReadMessage(subBuilder); + UnpublishTrack = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.PublishDataCallback subBuilder = new global::LiveKit.Proto.PublishDataCallback(); + if (messageCase_ == MessageOneofCase.PublishData) { + subBuilder.MergeFrom(PublishData); + } + input.ReadMessage(subBuilder); + PublishData = subBuilder; + break; + } + case 98: { + global::LiveKit.Proto.PublishTranscriptionCallback subBuilder = new global::LiveKit.Proto.PublishTranscriptionCallback(); + if (messageCase_ == MessageOneofCase.PublishTranscription) { + subBuilder.MergeFrom(PublishTranscription); + } + input.ReadMessage(subBuilder); + PublishTranscription = subBuilder; + break; + } + case 106: { + global::LiveKit.Proto.CaptureAudioFrameCallback subBuilder = new global::LiveKit.Proto.CaptureAudioFrameCallback(); + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + subBuilder.MergeFrom(CaptureAudioFrame); + } + input.ReadMessage(subBuilder); + CaptureAudioFrame = subBuilder; + break; + } + case 114: { + global::LiveKit.Proto.SetLocalMetadataCallback subBuilder = new global::LiveKit.Proto.SetLocalMetadataCallback(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + subBuilder.MergeFrom(SetLocalMetadata); + } + input.ReadMessage(subBuilder); + SetLocalMetadata = subBuilder; + break; + } + case 122: { + global::LiveKit.Proto.SetLocalNameCallback subBuilder = new global::LiveKit.Proto.SetLocalNameCallback(); + if (messageCase_ == MessageOneofCase.SetLocalName) { + subBuilder.MergeFrom(SetLocalName); + } + input.ReadMessage(subBuilder); + SetLocalName = subBuilder; + break; + } + case 130: { + global::LiveKit.Proto.SetLocalAttributesCallback subBuilder = new global::LiveKit.Proto.SetLocalAttributesCallback(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + subBuilder.MergeFrom(SetLocalAttributes); + } + input.ReadMessage(subBuilder); + SetLocalAttributes = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.GetStatsCallback subBuilder = new global::LiveKit.Proto.GetStatsCallback(); + if (messageCase_ == MessageOneofCase.GetStats) { + subBuilder.MergeFrom(GetStats); + } + input.ReadMessage(subBuilder); + GetStats = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.LogBatch subBuilder = new global::LiveKit.Proto.LogBatch(); + if (messageCase_ == MessageOneofCase.Logs) { + subBuilder.MergeFrom(Logs); + } + input.ReadMessage(subBuilder); + Logs = subBuilder; + break; + } + case 154: { + global::LiveKit.Proto.GetSessionStatsCallback subBuilder = new global::LiveKit.Proto.GetSessionStatsCallback(); + if (messageCase_ == MessageOneofCase.GetSessionStats) { + subBuilder.MergeFrom(GetSessionStats); + } + input.ReadMessage(subBuilder); + GetSessionStats = subBuilder; + break; + } + case 162: { + global::LiveKit.Proto.Panic subBuilder = new global::LiveKit.Proto.Panic(); + if (messageCase_ == MessageOneofCase.Panic) { + subBuilder.MergeFrom(Panic); + } + input.ReadMessage(subBuilder); + Panic = subBuilder; + break; + } + case 170: { + global::LiveKit.Proto.PublishSipDtmfCallback subBuilder = new global::LiveKit.Proto.PublishSipDtmfCallback(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + subBuilder.MergeFrom(PublishSipDtmf); + } + input.ReadMessage(subBuilder); + PublishSipDtmf = subBuilder; + break; + } + case 178: { + global::LiveKit.Proto.SendChatMessageCallback subBuilder = new global::LiveKit.Proto.SendChatMessageCallback(); + if (messageCase_ == MessageOneofCase.ChatMessage) { + subBuilder.MergeFrom(ChatMessage); + } + input.ReadMessage(subBuilder); + ChatMessage = subBuilder; + break; + } + case 186: { + global::LiveKit.Proto.PerformRpcCallback subBuilder = new global::LiveKit.Proto.PerformRpcCallback(); + if (messageCase_ == MessageOneofCase.PerformRpc) { + subBuilder.MergeFrom(PerformRpc); + } + input.ReadMessage(subBuilder); + PerformRpc = subBuilder; + break; + } + case 194: { + global::LiveKit.Proto.RpcMethodInvocationEvent subBuilder = new global::LiveKit.Proto.RpcMethodInvocationEvent(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocation) { + subBuilder.MergeFrom(RpcMethodInvocation); + } + input.ReadMessage(subBuilder); + RpcMethodInvocation = subBuilder; + break; + } + case 202: { + global::LiveKit.Proto.SendStreamHeaderCallback subBuilder = new global::LiveKit.Proto.SendStreamHeaderCallback(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + subBuilder.MergeFrom(SendStreamHeader); + } + input.ReadMessage(subBuilder); + SendStreamHeader = subBuilder; + break; + } + case 210: { + global::LiveKit.Proto.SendStreamChunkCallback subBuilder = new global::LiveKit.Proto.SendStreamChunkCallback(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + subBuilder.MergeFrom(SendStreamChunk); + } + input.ReadMessage(subBuilder); + SendStreamChunk = subBuilder; + break; + } + case 218: { + global::LiveKit.Proto.SendStreamTrailerCallback subBuilder = new global::LiveKit.Proto.SendStreamTrailerCallback(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + subBuilder.MergeFrom(SendStreamTrailer); + } + input.ReadMessage(subBuilder); + SendStreamTrailer = subBuilder; + break; + } + case 226: { + global::LiveKit.Proto.ByteStreamReaderEvent subBuilder = new global::LiveKit.Proto.ByteStreamReaderEvent(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderEvent) { + subBuilder.MergeFrom(ByteStreamReaderEvent); + } + input.ReadMessage(subBuilder); + ByteStreamReaderEvent = subBuilder; + break; + } + case 234: { + global::LiveKit.Proto.ByteStreamReaderReadAllCallback subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadAllCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderReadAll) { + subBuilder.MergeFrom(ByteStreamReaderReadAll); + } + input.ReadMessage(subBuilder); + ByteStreamReaderReadAll = subBuilder; + break; + } + case 242: { + global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback subBuilder = new global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderWriteToFile) { + subBuilder.MergeFrom(ByteStreamReaderWriteToFile); + } + input.ReadMessage(subBuilder); + ByteStreamReaderWriteToFile = subBuilder; + break; + } + case 250: { + global::LiveKit.Proto.ByteStreamOpenCallback subBuilder = new global::LiveKit.Proto.ByteStreamOpenCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + subBuilder.MergeFrom(ByteStreamOpen); + } + input.ReadMessage(subBuilder); + ByteStreamOpen = subBuilder; + break; + } + case 258: { + global::LiveKit.Proto.ByteStreamWriterWriteCallback subBuilder = new global::LiveKit.Proto.ByteStreamWriterWriteCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamWriterWrite) { + subBuilder.MergeFrom(ByteStreamWriterWrite); + } + input.ReadMessage(subBuilder); + ByteStreamWriterWrite = subBuilder; + break; + } + case 266: { + global::LiveKit.Proto.ByteStreamWriterCloseCallback subBuilder = new global::LiveKit.Proto.ByteStreamWriterCloseCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamWriterClose) { + subBuilder.MergeFrom(ByteStreamWriterClose); + } + input.ReadMessage(subBuilder); + ByteStreamWriterClose = subBuilder; + break; } - ToI420.MergeFrom(other.ToI420); - break; - case MessageOneofCase.ToArgb: - if (ToArgb == null) { - ToArgb = new global::LiveKit.Proto.ToARGBResponse(); + case 274: { + global::LiveKit.Proto.StreamSendFileCallback subBuilder = new global::LiveKit.Proto.StreamSendFileCallback(); + if (messageCase_ == MessageOneofCase.SendFile) { + subBuilder.MergeFrom(SendFile); + } + input.ReadMessage(subBuilder); + SendFile = subBuilder; + break; } - ToArgb.MergeFrom(other.ToArgb); - break; - case MessageOneofCase.AllocAudioBuffer: - if (AllocAudioBuffer == null) { - AllocAudioBuffer = new global::LiveKit.Proto.AllocAudioBufferResponse(); + case 282: { + global::LiveKit.Proto.TextStreamReaderEvent subBuilder = new global::LiveKit.Proto.TextStreamReaderEvent(); + if (messageCase_ == MessageOneofCase.TextStreamReaderEvent) { + subBuilder.MergeFrom(TextStreamReaderEvent); + } + input.ReadMessage(subBuilder); + TextStreamReaderEvent = subBuilder; + break; } - AllocAudioBuffer.MergeFrom(other.AllocAudioBuffer); - break; - case MessageOneofCase.NewAudioStream: - if (NewAudioStream == null) { - NewAudioStream = new global::LiveKit.Proto.NewAudioStreamResponse(); + case 290: { + global::LiveKit.Proto.TextStreamReaderReadAllCallback subBuilder = new global::LiveKit.Proto.TextStreamReaderReadAllCallback(); + if (messageCase_ == MessageOneofCase.TextStreamReaderReadAll) { + subBuilder.MergeFrom(TextStreamReaderReadAll); + } + input.ReadMessage(subBuilder); + TextStreamReaderReadAll = subBuilder; + break; } - NewAudioStream.MergeFrom(other.NewAudioStream); - break; - case MessageOneofCase.NewAudioSource: - if (NewAudioSource == null) { - NewAudioSource = new global::LiveKit.Proto.NewAudioSourceResponse(); + case 298: { + global::LiveKit.Proto.TextStreamOpenCallback subBuilder = new global::LiveKit.Proto.TextStreamOpenCallback(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + subBuilder.MergeFrom(TextStreamOpen); + } + input.ReadMessage(subBuilder); + TextStreamOpen = subBuilder; + break; } - NewAudioSource.MergeFrom(other.NewAudioSource); - break; - case MessageOneofCase.CaptureAudioFrame: - if (CaptureAudioFrame == null) { - CaptureAudioFrame = new global::LiveKit.Proto.CaptureAudioFrameResponse(); + case 306: { + global::LiveKit.Proto.TextStreamWriterWriteCallback subBuilder = new global::LiveKit.Proto.TextStreamWriterWriteCallback(); + if (messageCase_ == MessageOneofCase.TextStreamWriterWrite) { + subBuilder.MergeFrom(TextStreamWriterWrite); + } + input.ReadMessage(subBuilder); + TextStreamWriterWrite = subBuilder; + break; } - CaptureAudioFrame.MergeFrom(other.CaptureAudioFrame); - break; - case MessageOneofCase.NewAudioResampler: - if (NewAudioResampler == null) { - NewAudioResampler = new global::LiveKit.Proto.NewAudioResamplerResponse(); + case 314: { + global::LiveKit.Proto.TextStreamWriterCloseCallback subBuilder = new global::LiveKit.Proto.TextStreamWriterCloseCallback(); + if (messageCase_ == MessageOneofCase.TextStreamWriterClose) { + subBuilder.MergeFrom(TextStreamWriterClose); + } + input.ReadMessage(subBuilder); + TextStreamWriterClose = subBuilder; + break; } - NewAudioResampler.MergeFrom(other.NewAudioResampler); - break; - case MessageOneofCase.RemixAndResample: - if (RemixAndResample == null) { - RemixAndResample = new global::LiveKit.Proto.RemixAndResampleResponse(); + case 322: { + global::LiveKit.Proto.StreamSendTextCallback subBuilder = new global::LiveKit.Proto.StreamSendTextCallback(); + if (messageCase_ == MessageOneofCase.SendText) { + subBuilder.MergeFrom(SendText); + } + input.ReadMessage(subBuilder); + SendText = subBuilder; + break; } - RemixAndResample.MergeFrom(other.RemixAndResample); - break; + } } - - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + #endif } + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - global::LiveKit.Proto.InitializeResponse subBuilder = new global::LiveKit.Proto.InitializeResponse(); - if (messageCase_ == MessageOneofCase.Initialize) { - subBuilder.MergeFrom(Initialize); + global::LiveKit.Proto.RoomEvent subBuilder = new global::LiveKit.Proto.RoomEvent(); + if (messageCase_ == MessageOneofCase.RoomEvent) { + subBuilder.MergeFrom(RoomEvent); } input.ReadMessage(subBuilder); - Initialize = subBuilder; + RoomEvent = subBuilder; break; } case 18: { - global::LiveKit.Proto.DisposeResponse subBuilder = new global::LiveKit.Proto.DisposeResponse(); - if (messageCase_ == MessageOneofCase.Dispose) { - subBuilder.MergeFrom(Dispose); + global::LiveKit.Proto.TrackEvent subBuilder = new global::LiveKit.Proto.TrackEvent(); + if (messageCase_ == MessageOneofCase.TrackEvent) { + subBuilder.MergeFrom(TrackEvent); } input.ReadMessage(subBuilder); - Dispose = subBuilder; + TrackEvent = subBuilder; break; } case 26: { - global::LiveKit.Proto.ConnectResponse subBuilder = new global::LiveKit.Proto.ConnectResponse(); - if (messageCase_ == MessageOneofCase.Connect) { - subBuilder.MergeFrom(Connect); + global::LiveKit.Proto.VideoStreamEvent subBuilder = new global::LiveKit.Proto.VideoStreamEvent(); + if (messageCase_ == MessageOneofCase.VideoStreamEvent) { + subBuilder.MergeFrom(VideoStreamEvent); } input.ReadMessage(subBuilder); - Connect = subBuilder; + VideoStreamEvent = subBuilder; break; } case 34: { - global::LiveKit.Proto.DisconnectResponse subBuilder = new global::LiveKit.Proto.DisconnectResponse(); - if (messageCase_ == MessageOneofCase.Disconnect) { - subBuilder.MergeFrom(Disconnect); + global::LiveKit.Proto.AudioStreamEvent subBuilder = new global::LiveKit.Proto.AudioStreamEvent(); + if (messageCase_ == MessageOneofCase.AudioStreamEvent) { + subBuilder.MergeFrom(AudioStreamEvent); } input.ReadMessage(subBuilder); - Disconnect = subBuilder; + AudioStreamEvent = subBuilder; break; } case 42: { - global::LiveKit.Proto.PublishTrackResponse subBuilder = new global::LiveKit.Proto.PublishTrackResponse(); - if (messageCase_ == MessageOneofCase.PublishTrack) { - subBuilder.MergeFrom(PublishTrack); - } - input.ReadMessage(subBuilder); - PublishTrack = subBuilder; - break; - } - case 50: { - global::LiveKit.Proto.UnpublishTrackResponse subBuilder = new global::LiveKit.Proto.UnpublishTrackResponse(); - if (messageCase_ == MessageOneofCase.UnpublishTrack) { - subBuilder.MergeFrom(UnpublishTrack); + global::LiveKit.Proto.ConnectCallback subBuilder = new global::LiveKit.Proto.ConnectCallback(); + if (messageCase_ == MessageOneofCase.Connect) { + subBuilder.MergeFrom(Connect); } input.ReadMessage(subBuilder); - UnpublishTrack = subBuilder; + Connect = subBuilder; break; } case 58: { - global::LiveKit.Proto.CreateVideoTrackResponse subBuilder = new global::LiveKit.Proto.CreateVideoTrackResponse(); - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - subBuilder.MergeFrom(CreateVideoTrack); + global::LiveKit.Proto.DisconnectCallback subBuilder = new global::LiveKit.Proto.DisconnectCallback(); + if (messageCase_ == MessageOneofCase.Disconnect) { + subBuilder.MergeFrom(Disconnect); } input.ReadMessage(subBuilder); - CreateVideoTrack = subBuilder; + Disconnect = subBuilder; break; } case 66: { - global::LiveKit.Proto.CreateAudioTrackResponse subBuilder = new global::LiveKit.Proto.CreateAudioTrackResponse(); - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - subBuilder.MergeFrom(CreateAudioTrack); + global::LiveKit.Proto.DisposeCallback subBuilder = new global::LiveKit.Proto.DisposeCallback(); + if (messageCase_ == MessageOneofCase.Dispose) { + subBuilder.MergeFrom(Dispose); } input.ReadMessage(subBuilder); - CreateAudioTrack = subBuilder; + Dispose = subBuilder; break; } case 74: { - global::LiveKit.Proto.AllocVideoBufferResponse subBuilder = new global::LiveKit.Proto.AllocVideoBufferResponse(); - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - subBuilder.MergeFrom(AllocVideoBuffer); + global::LiveKit.Proto.PublishTrackCallback subBuilder = new global::LiveKit.Proto.PublishTrackCallback(); + if (messageCase_ == MessageOneofCase.PublishTrack) { + subBuilder.MergeFrom(PublishTrack); } input.ReadMessage(subBuilder); - AllocVideoBuffer = subBuilder; + PublishTrack = subBuilder; break; } case 82: { - global::LiveKit.Proto.NewVideoStreamResponse subBuilder = new global::LiveKit.Proto.NewVideoStreamResponse(); - if (messageCase_ == MessageOneofCase.NewVideoStream) { - subBuilder.MergeFrom(NewVideoStream); + global::LiveKit.Proto.UnpublishTrackCallback subBuilder = new global::LiveKit.Proto.UnpublishTrackCallback(); + if (messageCase_ == MessageOneofCase.UnpublishTrack) { + subBuilder.MergeFrom(UnpublishTrack); } input.ReadMessage(subBuilder); - NewVideoStream = subBuilder; + UnpublishTrack = subBuilder; break; } case 90: { - global::LiveKit.Proto.NewVideoSourceResponse subBuilder = new global::LiveKit.Proto.NewVideoSourceResponse(); - if (messageCase_ == MessageOneofCase.NewVideoSource) { - subBuilder.MergeFrom(NewVideoSource); + global::LiveKit.Proto.PublishDataCallback subBuilder = new global::LiveKit.Proto.PublishDataCallback(); + if (messageCase_ == MessageOneofCase.PublishData) { + subBuilder.MergeFrom(PublishData); } input.ReadMessage(subBuilder); - NewVideoSource = subBuilder; + PublishData = subBuilder; break; } case 98: { - global::LiveKit.Proto.CaptureVideoFrameResponse subBuilder = new global::LiveKit.Proto.CaptureVideoFrameResponse(); - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - subBuilder.MergeFrom(CaptureVideoFrame); + global::LiveKit.Proto.PublishTranscriptionCallback subBuilder = new global::LiveKit.Proto.PublishTranscriptionCallback(); + if (messageCase_ == MessageOneofCase.PublishTranscription) { + subBuilder.MergeFrom(PublishTranscription); } input.ReadMessage(subBuilder); - CaptureVideoFrame = subBuilder; + PublishTranscription = subBuilder; break; } case 106: { - global::LiveKit.Proto.ToI420Response subBuilder = new global::LiveKit.Proto.ToI420Response(); - if (messageCase_ == MessageOneofCase.ToI420) { - subBuilder.MergeFrom(ToI420); + global::LiveKit.Proto.CaptureAudioFrameCallback subBuilder = new global::LiveKit.Proto.CaptureAudioFrameCallback(); + if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { + subBuilder.MergeFrom(CaptureAudioFrame); } input.ReadMessage(subBuilder); - ToI420 = subBuilder; + CaptureAudioFrame = subBuilder; break; } case 114: { - global::LiveKit.Proto.ToARGBResponse subBuilder = new global::LiveKit.Proto.ToARGBResponse(); - if (messageCase_ == MessageOneofCase.ToArgb) { - subBuilder.MergeFrom(ToArgb); + global::LiveKit.Proto.SetLocalMetadataCallback subBuilder = new global::LiveKit.Proto.SetLocalMetadataCallback(); + if (messageCase_ == MessageOneofCase.SetLocalMetadata) { + subBuilder.MergeFrom(SetLocalMetadata); } input.ReadMessage(subBuilder); - ToArgb = subBuilder; + SetLocalMetadata = subBuilder; break; } case 122: { - global::LiveKit.Proto.AllocAudioBufferResponse subBuilder = new global::LiveKit.Proto.AllocAudioBufferResponse(); - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - subBuilder.MergeFrom(AllocAudioBuffer); + global::LiveKit.Proto.SetLocalNameCallback subBuilder = new global::LiveKit.Proto.SetLocalNameCallback(); + if (messageCase_ == MessageOneofCase.SetLocalName) { + subBuilder.MergeFrom(SetLocalName); } input.ReadMessage(subBuilder); - AllocAudioBuffer = subBuilder; + SetLocalName = subBuilder; break; } case 130: { - global::LiveKit.Proto.NewAudioStreamResponse subBuilder = new global::LiveKit.Proto.NewAudioStreamResponse(); - if (messageCase_ == MessageOneofCase.NewAudioStream) { - subBuilder.MergeFrom(NewAudioStream); + global::LiveKit.Proto.SetLocalAttributesCallback subBuilder = new global::LiveKit.Proto.SetLocalAttributesCallback(); + if (messageCase_ == MessageOneofCase.SetLocalAttributes) { + subBuilder.MergeFrom(SetLocalAttributes); } input.ReadMessage(subBuilder); - NewAudioStream = subBuilder; + SetLocalAttributes = subBuilder; break; } case 138: { - global::LiveKit.Proto.NewAudioSourceResponse subBuilder = new global::LiveKit.Proto.NewAudioSourceResponse(); - if (messageCase_ == MessageOneofCase.NewAudioSource) { - subBuilder.MergeFrom(NewAudioSource); + global::LiveKit.Proto.GetStatsCallback subBuilder = new global::LiveKit.Proto.GetStatsCallback(); + if (messageCase_ == MessageOneofCase.GetStats) { + subBuilder.MergeFrom(GetStats); } input.ReadMessage(subBuilder); - NewAudioSource = subBuilder; + GetStats = subBuilder; break; } case 146: { - global::LiveKit.Proto.CaptureAudioFrameResponse subBuilder = new global::LiveKit.Proto.CaptureAudioFrameResponse(); - if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - subBuilder.MergeFrom(CaptureAudioFrame); + global::LiveKit.Proto.LogBatch subBuilder = new global::LiveKit.Proto.LogBatch(); + if (messageCase_ == MessageOneofCase.Logs) { + subBuilder.MergeFrom(Logs); } input.ReadMessage(subBuilder); - CaptureAudioFrame = subBuilder; + Logs = subBuilder; break; } case 154: { - global::LiveKit.Proto.NewAudioResamplerResponse subBuilder = new global::LiveKit.Proto.NewAudioResamplerResponse(); - if (messageCase_ == MessageOneofCase.NewAudioResampler) { - subBuilder.MergeFrom(NewAudioResampler); + global::LiveKit.Proto.GetSessionStatsCallback subBuilder = new global::LiveKit.Proto.GetSessionStatsCallback(); + if (messageCase_ == MessageOneofCase.GetSessionStats) { + subBuilder.MergeFrom(GetSessionStats); } input.ReadMessage(subBuilder); - NewAudioResampler = subBuilder; + GetSessionStats = subBuilder; break; } case 162: { - global::LiveKit.Proto.RemixAndResampleResponse subBuilder = new global::LiveKit.Proto.RemixAndResampleResponse(); - if (messageCase_ == MessageOneofCase.RemixAndResample) { - subBuilder.MergeFrom(RemixAndResample); + global::LiveKit.Proto.Panic subBuilder = new global::LiveKit.Proto.Panic(); + if (messageCase_ == MessageOneofCase.Panic) { + subBuilder.MergeFrom(Panic); } input.ReadMessage(subBuilder); - RemixAndResample = subBuilder; + Panic = subBuilder; break; } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - global::LiveKit.Proto.InitializeResponse subBuilder = new global::LiveKit.Proto.InitializeResponse(); - if (messageCase_ == MessageOneofCase.Initialize) { - subBuilder.MergeFrom(Initialize); + case 170: { + global::LiveKit.Proto.PublishSipDtmfCallback subBuilder = new global::LiveKit.Proto.PublishSipDtmfCallback(); + if (messageCase_ == MessageOneofCase.PublishSipDtmf) { + subBuilder.MergeFrom(PublishSipDtmf); } input.ReadMessage(subBuilder); - Initialize = subBuilder; + PublishSipDtmf = subBuilder; break; } - case 18: { - global::LiveKit.Proto.DisposeResponse subBuilder = new global::LiveKit.Proto.DisposeResponse(); - if (messageCase_ == MessageOneofCase.Dispose) { - subBuilder.MergeFrom(Dispose); + case 178: { + global::LiveKit.Proto.SendChatMessageCallback subBuilder = new global::LiveKit.Proto.SendChatMessageCallback(); + if (messageCase_ == MessageOneofCase.ChatMessage) { + subBuilder.MergeFrom(ChatMessage); } input.ReadMessage(subBuilder); - Dispose = subBuilder; + ChatMessage = subBuilder; break; } - case 26: { - global::LiveKit.Proto.ConnectResponse subBuilder = new global::LiveKit.Proto.ConnectResponse(); - if (messageCase_ == MessageOneofCase.Connect) { - subBuilder.MergeFrom(Connect); + case 186: { + global::LiveKit.Proto.PerformRpcCallback subBuilder = new global::LiveKit.Proto.PerformRpcCallback(); + if (messageCase_ == MessageOneofCase.PerformRpc) { + subBuilder.MergeFrom(PerformRpc); } input.ReadMessage(subBuilder); - Connect = subBuilder; + PerformRpc = subBuilder; break; } - case 34: { - global::LiveKit.Proto.DisconnectResponse subBuilder = new global::LiveKit.Proto.DisconnectResponse(); - if (messageCase_ == MessageOneofCase.Disconnect) { - subBuilder.MergeFrom(Disconnect); + case 194: { + global::LiveKit.Proto.RpcMethodInvocationEvent subBuilder = new global::LiveKit.Proto.RpcMethodInvocationEvent(); + if (messageCase_ == MessageOneofCase.RpcMethodInvocation) { + subBuilder.MergeFrom(RpcMethodInvocation); } input.ReadMessage(subBuilder); - Disconnect = subBuilder; + RpcMethodInvocation = subBuilder; break; } - case 42: { - global::LiveKit.Proto.PublishTrackResponse subBuilder = new global::LiveKit.Proto.PublishTrackResponse(); - if (messageCase_ == MessageOneofCase.PublishTrack) { - subBuilder.MergeFrom(PublishTrack); + case 202: { + global::LiveKit.Proto.SendStreamHeaderCallback subBuilder = new global::LiveKit.Proto.SendStreamHeaderCallback(); + if (messageCase_ == MessageOneofCase.SendStreamHeader) { + subBuilder.MergeFrom(SendStreamHeader); } input.ReadMessage(subBuilder); - PublishTrack = subBuilder; + SendStreamHeader = subBuilder; break; } - case 50: { - global::LiveKit.Proto.UnpublishTrackResponse subBuilder = new global::LiveKit.Proto.UnpublishTrackResponse(); - if (messageCase_ == MessageOneofCase.UnpublishTrack) { - subBuilder.MergeFrom(UnpublishTrack); + case 210: { + global::LiveKit.Proto.SendStreamChunkCallback subBuilder = new global::LiveKit.Proto.SendStreamChunkCallback(); + if (messageCase_ == MessageOneofCase.SendStreamChunk) { + subBuilder.MergeFrom(SendStreamChunk); } input.ReadMessage(subBuilder); - UnpublishTrack = subBuilder; + SendStreamChunk = subBuilder; break; } - case 58: { - global::LiveKit.Proto.CreateVideoTrackResponse subBuilder = new global::LiveKit.Proto.CreateVideoTrackResponse(); - if (messageCase_ == MessageOneofCase.CreateVideoTrack) { - subBuilder.MergeFrom(CreateVideoTrack); + case 218: { + global::LiveKit.Proto.SendStreamTrailerCallback subBuilder = new global::LiveKit.Proto.SendStreamTrailerCallback(); + if (messageCase_ == MessageOneofCase.SendStreamTrailer) { + subBuilder.MergeFrom(SendStreamTrailer); } input.ReadMessage(subBuilder); - CreateVideoTrack = subBuilder; + SendStreamTrailer = subBuilder; break; } - case 66: { - global::LiveKit.Proto.CreateAudioTrackResponse subBuilder = new global::LiveKit.Proto.CreateAudioTrackResponse(); - if (messageCase_ == MessageOneofCase.CreateAudioTrack) { - subBuilder.MergeFrom(CreateAudioTrack); + case 226: { + global::LiveKit.Proto.ByteStreamReaderEvent subBuilder = new global::LiveKit.Proto.ByteStreamReaderEvent(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderEvent) { + subBuilder.MergeFrom(ByteStreamReaderEvent); } input.ReadMessage(subBuilder); - CreateAudioTrack = subBuilder; + ByteStreamReaderEvent = subBuilder; break; } - case 74: { - global::LiveKit.Proto.AllocVideoBufferResponse subBuilder = new global::LiveKit.Proto.AllocVideoBufferResponse(); - if (messageCase_ == MessageOneofCase.AllocVideoBuffer) { - subBuilder.MergeFrom(AllocVideoBuffer); + case 234: { + global::LiveKit.Proto.ByteStreamReaderReadAllCallback subBuilder = new global::LiveKit.Proto.ByteStreamReaderReadAllCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderReadAll) { + subBuilder.MergeFrom(ByteStreamReaderReadAll); } input.ReadMessage(subBuilder); - AllocVideoBuffer = subBuilder; + ByteStreamReaderReadAll = subBuilder; break; } - case 82: { - global::LiveKit.Proto.NewVideoStreamResponse subBuilder = new global::LiveKit.Proto.NewVideoStreamResponse(); - if (messageCase_ == MessageOneofCase.NewVideoStream) { - subBuilder.MergeFrom(NewVideoStream); + case 242: { + global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback subBuilder = new global::LiveKit.Proto.ByteStreamReaderWriteToFileCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamReaderWriteToFile) { + subBuilder.MergeFrom(ByteStreamReaderWriteToFile); } input.ReadMessage(subBuilder); - NewVideoStream = subBuilder; + ByteStreamReaderWriteToFile = subBuilder; break; } - case 90: { - global::LiveKit.Proto.NewVideoSourceResponse subBuilder = new global::LiveKit.Proto.NewVideoSourceResponse(); - if (messageCase_ == MessageOneofCase.NewVideoSource) { - subBuilder.MergeFrom(NewVideoSource); + case 250: { + global::LiveKit.Proto.ByteStreamOpenCallback subBuilder = new global::LiveKit.Proto.ByteStreamOpenCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamOpen) { + subBuilder.MergeFrom(ByteStreamOpen); } input.ReadMessage(subBuilder); - NewVideoSource = subBuilder; + ByteStreamOpen = subBuilder; break; } - case 98: { - global::LiveKit.Proto.CaptureVideoFrameResponse subBuilder = new global::LiveKit.Proto.CaptureVideoFrameResponse(); - if (messageCase_ == MessageOneofCase.CaptureVideoFrame) { - subBuilder.MergeFrom(CaptureVideoFrame); + case 258: { + global::LiveKit.Proto.ByteStreamWriterWriteCallback subBuilder = new global::LiveKit.Proto.ByteStreamWriterWriteCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamWriterWrite) { + subBuilder.MergeFrom(ByteStreamWriterWrite); } input.ReadMessage(subBuilder); - CaptureVideoFrame = subBuilder; + ByteStreamWriterWrite = subBuilder; break; } - case 106: { - global::LiveKit.Proto.ToI420Response subBuilder = new global::LiveKit.Proto.ToI420Response(); - if (messageCase_ == MessageOneofCase.ToI420) { - subBuilder.MergeFrom(ToI420); + case 266: { + global::LiveKit.Proto.ByteStreamWriterCloseCallback subBuilder = new global::LiveKit.Proto.ByteStreamWriterCloseCallback(); + if (messageCase_ == MessageOneofCase.ByteStreamWriterClose) { + subBuilder.MergeFrom(ByteStreamWriterClose); } input.ReadMessage(subBuilder); - ToI420 = subBuilder; + ByteStreamWriterClose = subBuilder; break; } - case 114: { - global::LiveKit.Proto.ToARGBResponse subBuilder = new global::LiveKit.Proto.ToARGBResponse(); - if (messageCase_ == MessageOneofCase.ToArgb) { - subBuilder.MergeFrom(ToArgb); + case 274: { + global::LiveKit.Proto.StreamSendFileCallback subBuilder = new global::LiveKit.Proto.StreamSendFileCallback(); + if (messageCase_ == MessageOneofCase.SendFile) { + subBuilder.MergeFrom(SendFile); } input.ReadMessage(subBuilder); - ToArgb = subBuilder; + SendFile = subBuilder; break; } - case 122: { - global::LiveKit.Proto.AllocAudioBufferResponse subBuilder = new global::LiveKit.Proto.AllocAudioBufferResponse(); - if (messageCase_ == MessageOneofCase.AllocAudioBuffer) { - subBuilder.MergeFrom(AllocAudioBuffer); + case 282: { + global::LiveKit.Proto.TextStreamReaderEvent subBuilder = new global::LiveKit.Proto.TextStreamReaderEvent(); + if (messageCase_ == MessageOneofCase.TextStreamReaderEvent) { + subBuilder.MergeFrom(TextStreamReaderEvent); } input.ReadMessage(subBuilder); - AllocAudioBuffer = subBuilder; + TextStreamReaderEvent = subBuilder; break; } - case 130: { - global::LiveKit.Proto.NewAudioStreamResponse subBuilder = new global::LiveKit.Proto.NewAudioStreamResponse(); - if (messageCase_ == MessageOneofCase.NewAudioStream) { - subBuilder.MergeFrom(NewAudioStream); + case 290: { + global::LiveKit.Proto.TextStreamReaderReadAllCallback subBuilder = new global::LiveKit.Proto.TextStreamReaderReadAllCallback(); + if (messageCase_ == MessageOneofCase.TextStreamReaderReadAll) { + subBuilder.MergeFrom(TextStreamReaderReadAll); } input.ReadMessage(subBuilder); - NewAudioStream = subBuilder; + TextStreamReaderReadAll = subBuilder; break; } - case 138: { - global::LiveKit.Proto.NewAudioSourceResponse subBuilder = new global::LiveKit.Proto.NewAudioSourceResponse(); - if (messageCase_ == MessageOneofCase.NewAudioSource) { - subBuilder.MergeFrom(NewAudioSource); + case 298: { + global::LiveKit.Proto.TextStreamOpenCallback subBuilder = new global::LiveKit.Proto.TextStreamOpenCallback(); + if (messageCase_ == MessageOneofCase.TextStreamOpen) { + subBuilder.MergeFrom(TextStreamOpen); } input.ReadMessage(subBuilder); - NewAudioSource = subBuilder; + TextStreamOpen = subBuilder; break; } - case 146: { - global::LiveKit.Proto.CaptureAudioFrameResponse subBuilder = new global::LiveKit.Proto.CaptureAudioFrameResponse(); - if (messageCase_ == MessageOneofCase.CaptureAudioFrame) { - subBuilder.MergeFrom(CaptureAudioFrame); + case 306: { + global::LiveKit.Proto.TextStreamWriterWriteCallback subBuilder = new global::LiveKit.Proto.TextStreamWriterWriteCallback(); + if (messageCase_ == MessageOneofCase.TextStreamWriterWrite) { + subBuilder.MergeFrom(TextStreamWriterWrite); } input.ReadMessage(subBuilder); - CaptureAudioFrame = subBuilder; - break; - } - case 154: { - global::LiveKit.Proto.NewAudioResamplerResponse subBuilder = new global::LiveKit.Proto.NewAudioResamplerResponse(); - if (messageCase_ == MessageOneofCase.NewAudioResampler) { - subBuilder.MergeFrom(NewAudioResampler); + TextStreamWriterWrite = subBuilder; + break; + } + case 314: { + global::LiveKit.Proto.TextStreamWriterCloseCallback subBuilder = new global::LiveKit.Proto.TextStreamWriterCloseCallback(); + if (messageCase_ == MessageOneofCase.TextStreamWriterClose) { + subBuilder.MergeFrom(TextStreamWriterClose); } input.ReadMessage(subBuilder); - NewAudioResampler = subBuilder; + TextStreamWriterClose = subBuilder; break; } - case 162: { - global::LiveKit.Proto.RemixAndResampleResponse subBuilder = new global::LiveKit.Proto.RemixAndResampleResponse(); - if (messageCase_ == MessageOneofCase.RemixAndResample) { - subBuilder.MergeFrom(RemixAndResample); + case 322: { + global::LiveKit.Proto.StreamSendTextCallback subBuilder = new global::LiveKit.Proto.StreamSendTextCallback(); + if (messageCase_ == MessageOneofCase.SendText) { + subBuilder.MergeFrom(SendText); } input.ReadMessage(subBuilder); - RemixAndResample = subBuilder; + SendText = subBuilder; break; } } @@ -2621,21 +9879,28 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class FFIEvent : pb::IMessage + /// + /// Stop all rooms synchronously (Do we need async here?). + /// e.g: This is used for the Unity Editor after each assemblies reload. + /// TODO(theomonnom): Implement a debug mode where we can find all leaked handles? + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DisposeRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FFIEvent()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DisposeRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[2]; } + get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[3]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2646,7 +9911,7 @@ public sealed partial class FFIEvent : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIEvent() { + public DisposeRequest() { OnConstruction(); } @@ -2654,190 +9919,61 @@ public FFIEvent() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIEvent(FFIEvent other) : this() { - switch (other.MessageCase) { - case MessageOneofCase.RoomEvent: - RoomEvent = other.RoomEvent.Clone(); - break; - case MessageOneofCase.TrackEvent: - TrackEvent = other.TrackEvent.Clone(); - break; - case MessageOneofCase.ParticipantEvent: - ParticipantEvent = other.ParticipantEvent.Clone(); - break; - case MessageOneofCase.VideoStreamEvent: - VideoStreamEvent = other.VideoStreamEvent.Clone(); - break; - case MessageOneofCase.AudioStreamEvent: - AudioStreamEvent = other.AudioStreamEvent.Clone(); - break; - case MessageOneofCase.Connect: - Connect = other.Connect.Clone(); - break; - case MessageOneofCase.Dispose: - Dispose = other.Dispose.Clone(); - break; - case MessageOneofCase.PublishTrack: - PublishTrack = other.PublishTrack.Clone(); - break; - } - + public DisposeRequest(DisposeRequest other) : this() { + _hasBits0 = other._hasBits0; + async_ = other.async_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIEvent Clone() { - return new FFIEvent(this); - } - - /// Field number for the "room_event" field. - public const int RoomEventFieldNumber = 1; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.RoomEvent RoomEvent { - get { return messageCase_ == MessageOneofCase.RoomEvent ? (global::LiveKit.Proto.RoomEvent) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RoomEvent; - } - } - - /// Field number for the "track_event" field. - public const int TrackEventFieldNumber = 2; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackEvent TrackEvent { - get { return messageCase_ == MessageOneofCase.TrackEvent ? (global::LiveKit.Proto.TrackEvent) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackEvent; - } - } - - /// Field number for the "participant_event" field. - public const int ParticipantEventFieldNumber = 3; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ParticipantEvent ParticipantEvent { - get { return messageCase_ == MessageOneofCase.ParticipantEvent ? (global::LiveKit.Proto.ParticipantEvent) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantEvent; - } - } - - /// Field number for the "video_stream_event" field. - public const int VideoStreamEventFieldNumber = 4; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoStreamEvent VideoStreamEvent { - get { return messageCase_ == MessageOneofCase.VideoStreamEvent ? (global::LiveKit.Proto.VideoStreamEvent) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.VideoStreamEvent; - } - } - - /// Field number for the "audio_stream_event" field. - public const int AudioStreamEventFieldNumber = 5; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioStreamEvent AudioStreamEvent { - get { return messageCase_ == MessageOneofCase.AudioStreamEvent ? (global::LiveKit.Proto.AudioStreamEvent) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.AudioStreamEvent; - } - } - - /// Field number for the "connect" field. - public const int ConnectFieldNumber = 6; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ConnectCallback Connect { - get { return messageCase_ == MessageOneofCase.Connect ? (global::LiveKit.Proto.ConnectCallback) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Connect; - } + public DisposeRequest Clone() { + return new DisposeRequest(this); } - /// Field number for the "dispose" field. - public const int DisposeFieldNumber = 7; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.DisposeCallback Dispose { - get { return messageCase_ == MessageOneofCase.Dispose ? (global::LiveKit.Proto.DisposeCallback) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Dispose; - } - } + /// Field number for the "async" field. + public const int AsyncFieldNumber = 1; + private readonly static bool AsyncDefaultValue = false; - /// Field number for the "publish_track" field. - public const int PublishTrackFieldNumber = 8; + private bool async_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.PublishTrackCallback PublishTrack { - get { return messageCase_ == MessageOneofCase.PublishTrack ? (global::LiveKit.Proto.PublishTrackCallback) message_ : null; } + public bool Async { + get { if ((_hasBits0 & 1) != 0) { return async_; } else { return AsyncDefaultValue; } } set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishTrack; + _hasBits0 |= 1; + async_ = value; } } - - private object message_; - /// Enum of possible cases for the "message" oneof. - public enum MessageOneofCase { - None = 0, - RoomEvent = 1, - TrackEvent = 2, - ParticipantEvent = 3, - VideoStreamEvent = 4, - AudioStreamEvent = 5, - Connect = 6, - Dispose = 7, - PublishTrack = 8, - } - private MessageOneofCase messageCase_ = MessageOneofCase.None; + /// Gets whether the "async" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public MessageOneofCase MessageCase { - get { return messageCase_; } + public bool HasAsync { + get { return (_hasBits0 & 1) != 0; } } - + /// Clears the value of the "async" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearMessage() { - messageCase_ = MessageOneofCase.None; - message_ = null; + public void ClearAsync() { + _hasBits0 &= ~1; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as FFIEvent); + return Equals(other as DisposeRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FFIEvent other) { + public bool Equals(DisposeRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(RoomEvent, other.RoomEvent)) return false; - if (!object.Equals(TrackEvent, other.TrackEvent)) return false; - if (!object.Equals(ParticipantEvent, other.ParticipantEvent)) return false; - if (!object.Equals(VideoStreamEvent, other.VideoStreamEvent)) return false; - if (!object.Equals(AudioStreamEvent, other.AudioStreamEvent)) return false; - if (!object.Equals(Connect, other.Connect)) return false; - if (!object.Equals(Dispose, other.Dispose)) return false; - if (!object.Equals(PublishTrack, other.PublishTrack)) return false; - if (MessageCase != other.MessageCase) return false; + if (Async != other.Async) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2845,15 +9981,7 @@ public bool Equals(FFIEvent other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (messageCase_ == MessageOneofCase.RoomEvent) hash ^= RoomEvent.GetHashCode(); - if (messageCase_ == MessageOneofCase.TrackEvent) hash ^= TrackEvent.GetHashCode(); - if (messageCase_ == MessageOneofCase.ParticipantEvent) hash ^= ParticipantEvent.GetHashCode(); - if (messageCase_ == MessageOneofCase.VideoStreamEvent) hash ^= VideoStreamEvent.GetHashCode(); - if (messageCase_ == MessageOneofCase.AudioStreamEvent) hash ^= AudioStreamEvent.GetHashCode(); - if (messageCase_ == MessageOneofCase.Connect) hash ^= Connect.GetHashCode(); - if (messageCase_ == MessageOneofCase.Dispose) hash ^= Dispose.GetHashCode(); - if (messageCase_ == MessageOneofCase.PublishTrack) hash ^= PublishTrack.GetHashCode(); - hash ^= (int) messageCase_; + if (HasAsync) hash ^= Async.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2872,37 +10000,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (messageCase_ == MessageOneofCase.RoomEvent) { - output.WriteRawTag(10); - output.WriteMessage(RoomEvent); - } - if (messageCase_ == MessageOneofCase.TrackEvent) { - output.WriteRawTag(18); - output.WriteMessage(TrackEvent); - } - if (messageCase_ == MessageOneofCase.ParticipantEvent) { - output.WriteRawTag(26); - output.WriteMessage(ParticipantEvent); - } - if (messageCase_ == MessageOneofCase.VideoStreamEvent) { - output.WriteRawTag(34); - output.WriteMessage(VideoStreamEvent); - } - if (messageCase_ == MessageOneofCase.AudioStreamEvent) { - output.WriteRawTag(42); - output.WriteMessage(AudioStreamEvent); - } - if (messageCase_ == MessageOneofCase.Connect) { - output.WriteRawTag(50); - output.WriteMessage(Connect); - } - if (messageCase_ == MessageOneofCase.Dispose) { - output.WriteRawTag(58); - output.WriteMessage(Dispose); - } - if (messageCase_ == MessageOneofCase.PublishTrack) { - output.WriteRawTag(66); - output.WriteMessage(PublishTrack); + if (HasAsync) { + output.WriteRawTag(8); + output.WriteBool(Async); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -2914,72 +10014,23 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (messageCase_ == MessageOneofCase.RoomEvent) { - output.WriteRawTag(10); - output.WriteMessage(RoomEvent); - } - if (messageCase_ == MessageOneofCase.TrackEvent) { - output.WriteRawTag(18); - output.WriteMessage(TrackEvent); - } - if (messageCase_ == MessageOneofCase.ParticipantEvent) { - output.WriteRawTag(26); - output.WriteMessage(ParticipantEvent); - } - if (messageCase_ == MessageOneofCase.VideoStreamEvent) { - output.WriteRawTag(34); - output.WriteMessage(VideoStreamEvent); - } - if (messageCase_ == MessageOneofCase.AudioStreamEvent) { - output.WriteRawTag(42); - output.WriteMessage(AudioStreamEvent); - } - if (messageCase_ == MessageOneofCase.Connect) { - output.WriteRawTag(50); - output.WriteMessage(Connect); - } - if (messageCase_ == MessageOneofCase.Dispose) { - output.WriteRawTag(58); - output.WriteMessage(Dispose); - } - if (messageCase_ == MessageOneofCase.PublishTrack) { - output.WriteRawTag(66); - output.WriteMessage(PublishTrack); + if (HasAsync) { + output.WriteRawTag(8); + output.WriteBool(Async); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (messageCase_ == MessageOneofCase.RoomEvent) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomEvent); - } - if (messageCase_ == MessageOneofCase.TrackEvent) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackEvent); - } - if (messageCase_ == MessageOneofCase.ParticipantEvent) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParticipantEvent); - } - if (messageCase_ == MessageOneofCase.VideoStreamEvent) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(VideoStreamEvent); - } - if (messageCase_ == MessageOneofCase.AudioStreamEvent) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AudioStreamEvent); - } - if (messageCase_ == MessageOneofCase.Connect) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Connect); - } - if (messageCase_ == MessageOneofCase.Dispose) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dispose); - } - if (messageCase_ == MessageOneofCase.PublishTrack) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(PublishTrack); - } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsync) { + size += 1 + 1; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2988,61 +10039,13 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FFIEvent other) { + public void MergeFrom(DisposeRequest other) { if (other == null) { return; } - switch (other.MessageCase) { - case MessageOneofCase.RoomEvent: - if (RoomEvent == null) { - RoomEvent = new global::LiveKit.Proto.RoomEvent(); - } - RoomEvent.MergeFrom(other.RoomEvent); - break; - case MessageOneofCase.TrackEvent: - if (TrackEvent == null) { - TrackEvent = new global::LiveKit.Proto.TrackEvent(); - } - TrackEvent.MergeFrom(other.TrackEvent); - break; - case MessageOneofCase.ParticipantEvent: - if (ParticipantEvent == null) { - ParticipantEvent = new global::LiveKit.Proto.ParticipantEvent(); - } - ParticipantEvent.MergeFrom(other.ParticipantEvent); - break; - case MessageOneofCase.VideoStreamEvent: - if (VideoStreamEvent == null) { - VideoStreamEvent = new global::LiveKit.Proto.VideoStreamEvent(); - } - VideoStreamEvent.MergeFrom(other.VideoStreamEvent); - break; - case MessageOneofCase.AudioStreamEvent: - if (AudioStreamEvent == null) { - AudioStreamEvent = new global::LiveKit.Proto.AudioStreamEvent(); - } - AudioStreamEvent.MergeFrom(other.AudioStreamEvent); - break; - case MessageOneofCase.Connect: - if (Connect == null) { - Connect = new global::LiveKit.Proto.ConnectCallback(); - } - Connect.MergeFrom(other.Connect); - break; - case MessageOneofCase.Dispose: - if (Dispose == null) { - Dispose = new global::LiveKit.Proto.DisposeCallback(); - } - Dispose.MergeFrom(other.Dispose); - break; - case MessageOneofCase.PublishTrack: - if (PublishTrack == null) { - PublishTrack = new global::LiveKit.Proto.PublishTrackCallback(); - } - PublishTrack.MergeFrom(other.PublishTrack); - break; + if (other.HasAsync) { + Async = other.Async; } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3054,80 +10057,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - global::LiveKit.Proto.RoomEvent subBuilder = new global::LiveKit.Proto.RoomEvent(); - if (messageCase_ == MessageOneofCase.RoomEvent) { - subBuilder.MergeFrom(RoomEvent); - } - input.ReadMessage(subBuilder); - RoomEvent = subBuilder; - break; - } - case 18: { - global::LiveKit.Proto.TrackEvent subBuilder = new global::LiveKit.Proto.TrackEvent(); - if (messageCase_ == MessageOneofCase.TrackEvent) { - subBuilder.MergeFrom(TrackEvent); - } - input.ReadMessage(subBuilder); - TrackEvent = subBuilder; - break; - } - case 26: { - global::LiveKit.Proto.ParticipantEvent subBuilder = new global::LiveKit.Proto.ParticipantEvent(); - if (messageCase_ == MessageOneofCase.ParticipantEvent) { - subBuilder.MergeFrom(ParticipantEvent); - } - input.ReadMessage(subBuilder); - ParticipantEvent = subBuilder; - break; - } - case 34: { - global::LiveKit.Proto.VideoStreamEvent subBuilder = new global::LiveKit.Proto.VideoStreamEvent(); - if (messageCase_ == MessageOneofCase.VideoStreamEvent) { - subBuilder.MergeFrom(VideoStreamEvent); - } - input.ReadMessage(subBuilder); - VideoStreamEvent = subBuilder; - break; - } - case 42: { - global::LiveKit.Proto.AudioStreamEvent subBuilder = new global::LiveKit.Proto.AudioStreamEvent(); - if (messageCase_ == MessageOneofCase.AudioStreamEvent) { - subBuilder.MergeFrom(AudioStreamEvent); - } - input.ReadMessage(subBuilder); - AudioStreamEvent = subBuilder; - break; - } - case 50: { - global::LiveKit.Proto.ConnectCallback subBuilder = new global::LiveKit.Proto.ConnectCallback(); - if (messageCase_ == MessageOneofCase.Connect) { - subBuilder.MergeFrom(Connect); - } - input.ReadMessage(subBuilder); - Connect = subBuilder; - break; - } - case 58: { - global::LiveKit.Proto.DisposeCallback subBuilder = new global::LiveKit.Proto.DisposeCallback(); - if (messageCase_ == MessageOneofCase.Dispose) { - subBuilder.MergeFrom(Dispose); - } - input.ReadMessage(subBuilder); - Dispose = subBuilder; - break; - } - case 66: { - global::LiveKit.Proto.PublishTrackCallback subBuilder = new global::LiveKit.Proto.PublishTrackCallback(); - if (messageCase_ == MessageOneofCase.PublishTrack) { - subBuilder.MergeFrom(PublishTrack); - } - input.ReadMessage(subBuilder); - PublishTrack = subBuilder; + case 8: { + Async = input.ReadBool(); break; } } @@ -3141,80 +10080,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - global::LiveKit.Proto.RoomEvent subBuilder = new global::LiveKit.Proto.RoomEvent(); - if (messageCase_ == MessageOneofCase.RoomEvent) { - subBuilder.MergeFrom(RoomEvent); - } - input.ReadMessage(subBuilder); - RoomEvent = subBuilder; - break; - } - case 18: { - global::LiveKit.Proto.TrackEvent subBuilder = new global::LiveKit.Proto.TrackEvent(); - if (messageCase_ == MessageOneofCase.TrackEvent) { - subBuilder.MergeFrom(TrackEvent); - } - input.ReadMessage(subBuilder); - TrackEvent = subBuilder; - break; - } - case 26: { - global::LiveKit.Proto.ParticipantEvent subBuilder = new global::LiveKit.Proto.ParticipantEvent(); - if (messageCase_ == MessageOneofCase.ParticipantEvent) { - subBuilder.MergeFrom(ParticipantEvent); - } - input.ReadMessage(subBuilder); - ParticipantEvent = subBuilder; - break; - } - case 34: { - global::LiveKit.Proto.VideoStreamEvent subBuilder = new global::LiveKit.Proto.VideoStreamEvent(); - if (messageCase_ == MessageOneofCase.VideoStreamEvent) { - subBuilder.MergeFrom(VideoStreamEvent); - } - input.ReadMessage(subBuilder); - VideoStreamEvent = subBuilder; - break; - } - case 42: { - global::LiveKit.Proto.AudioStreamEvent subBuilder = new global::LiveKit.Proto.AudioStreamEvent(); - if (messageCase_ == MessageOneofCase.AudioStreamEvent) { - subBuilder.MergeFrom(AudioStreamEvent); - } - input.ReadMessage(subBuilder); - AudioStreamEvent = subBuilder; - break; - } - case 50: { - global::LiveKit.Proto.ConnectCallback subBuilder = new global::LiveKit.Proto.ConnectCallback(); - if (messageCase_ == MessageOneofCase.Connect) { - subBuilder.MergeFrom(Connect); - } - input.ReadMessage(subBuilder); - Connect = subBuilder; - break; - } - case 58: { - global::LiveKit.Proto.DisposeCallback subBuilder = new global::LiveKit.Proto.DisposeCallback(); - if (messageCase_ == MessageOneofCase.Dispose) { - subBuilder.MergeFrom(Dispose); - } - input.ReadMessage(subBuilder); - Dispose = subBuilder; - break; - } - case 66: { - global::LiveKit.Proto.PublishTrackCallback subBuilder = new global::LiveKit.Proto.PublishTrackCallback(); - if (messageCase_ == MessageOneofCase.PublishTrack) { - subBuilder.MergeFrom(PublishTrack); - } - input.ReadMessage(subBuilder); - PublishTrack = subBuilder; + case 8: { + Async = input.ReadBool(); break; } } @@ -3224,25 +10099,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Setup the callback where the foreign language can receive events - /// and responses to asynchronous requests - /// - public sealed partial class InitializeRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DisposeResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new InitializeRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DisposeResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[3]; } + get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[4]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3253,7 +10126,7 @@ public sealed partial class InitializeRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public InitializeRequest() { + public DisposeResponse() { OnConstruction(); } @@ -3261,45 +10134,64 @@ public InitializeRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public InitializeRequest(InitializeRequest other) : this() { - eventCallbackPtr_ = other.eventCallbackPtr_; + public DisposeResponse(DisposeResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public InitializeRequest Clone() { - return new InitializeRequest(this); + public DisposeResponse Clone() { + return new DisposeResponse(this); } - /// Field number for the "event_callback_ptr" field. - public const int EventCallbackPtrFieldNumber = 1; - private ulong eventCallbackPtr_; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + /// + /// None if sync + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong EventCallbackPtr { - get { return eventCallbackPtr_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - eventCallbackPtr_ = value; + _hasBits0 |= 1; + asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as InitializeRequest); + return Equals(other as DisposeResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(InitializeRequest other) { + public bool Equals(DisposeResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (EventCallbackPtr != other.EventCallbackPtr) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3307,7 +10199,7 @@ public bool Equals(InitializeRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (EventCallbackPtr != 0UL) hash ^= EventCallbackPtr.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3326,9 +10218,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (EventCallbackPtr != 0UL) { + if (HasAsyncId) { output.WriteRawTag(8); - output.WriteUInt64(EventCallbackPtr); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3340,9 +10232,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (EventCallbackPtr != 0UL) { + if (HasAsyncId) { output.WriteRawTag(8); - output.WriteUInt64(EventCallbackPtr); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3354,8 +10246,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (EventCallbackPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EventCallbackPtr); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3365,12 +10257,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(InitializeRequest other) { + public void MergeFrom(DisposeResponse other) { if (other == null) { return; } - if (other.EventCallbackPtr != 0UL) { - EventCallbackPtr = other.EventCallbackPtr; + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3383,12 +10275,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - EventCallbackPtr = input.ReadUInt64(); + AsyncId = input.ReadUInt64(); break; } } @@ -3402,12 +10298,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - EventCallbackPtr = input.ReadUInt64(); + AsyncId = input.ReadUInt64(); break; } } @@ -3417,21 +10317,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class InitializeResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DisposeCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new InitializeResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DisposeCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[4]; } + get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[5]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3442,39 +10344,69 @@ public sealed partial class InitializeResponse : pb::IMessageField number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } } - - partial void OnConstruction(); - + /// Gets whether the "async_id" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public InitializeResponse(InitializeResponse other) : this() { - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } } - + /// Clears the value of the "async_id" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public InitializeResponse Clone() { - return new InitializeResponse(this); + public void ClearAsyncId() { + _hasBits0 &= ~1; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as InitializeResponse); + return Equals(other as DisposeCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(InitializeResponse other) { + public bool Equals(DisposeCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3482,6 +10414,7 @@ public bool Equals(InitializeResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3500,6 +10433,10 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3510,6 +10447,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3520,6 +10461,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3528,10 +10472,13 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(InitializeResponse other) { + public void MergeFrom(DisposeCallback other) { if (other == null) { return; } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3543,10 +10490,18 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } } } #endif @@ -3558,10 +10513,18 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } } } } @@ -3569,25 +10532,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Stop all rooms synchronously (Do we need async here?). - /// e.g: This is used for the Unity Editor after each assemblies reload. - /// - public sealed partial class DisposeRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LogRecord : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DisposeRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LogRecord()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[5]; } + get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3598,7 +10559,7 @@ public sealed partial class DisposeRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeRequest() { + public LogRecord() { OnConstruction(); } @@ -3606,45 +10567,205 @@ public DisposeRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeRequest(DisposeRequest other) : this() { - async_ = other.async_; + public LogRecord(LogRecord other) : this() { + _hasBits0 = other._hasBits0; + level_ = other.level_; + target_ = other.target_; + modulePath_ = other.modulePath_; + file_ = other.file_; + line_ = other.line_; + message_ = other.message_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeRequest Clone() { - return new DisposeRequest(this); + public LogRecord Clone() { + return new LogRecord(this); } - /// Field number for the "async" field. - public const int AsyncFieldNumber = 1; - private bool async_; + /// Field number for the "level" field. + public const int LevelFieldNumber = 1; + private readonly static global::LiveKit.Proto.LogLevel LevelDefaultValue = global::LiveKit.Proto.LogLevel.LogError; + + private global::LiveKit.Proto.LogLevel level_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Async { - get { return async_; } + public global::LiveKit.Proto.LogLevel Level { + get { if ((_hasBits0 & 1) != 0) { return level_; } else { return LevelDefaultValue; } } set { - async_ = value; + _hasBits0 |= 1; + level_ = value; + } + } + /// Gets whether the "level" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLevel { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "level" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLevel() { + _hasBits0 &= ~1; + } + + /// Field number for the "target" field. + public const int TargetFieldNumber = 2; + private readonly static string TargetDefaultValue = ""; + + private string target_; + /// + /// e.g "livekit", "libwebrtc", "tokio-tungstenite", etc... + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Target { + get { return target_ ?? TargetDefaultValue; } + set { + target_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "target" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTarget { + get { return target_ != null; } + } + /// Clears the value of the "target" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTarget() { + target_ = null; + } + + /// Field number for the "module_path" field. + public const int ModulePathFieldNumber = 3; + private readonly static string ModulePathDefaultValue = ""; + + private string modulePath_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ModulePath { + get { return modulePath_ ?? ModulePathDefaultValue; } + set { + modulePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "module_path" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasModulePath { + get { return modulePath_ != null; } + } + /// Clears the value of the "module_path" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearModulePath() { + modulePath_ = null; + } + + /// Field number for the "file" field. + public const int FileFieldNumber = 4; + private readonly static string FileDefaultValue = ""; + + private string file_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string File { + get { return file_ ?? FileDefaultValue; } + set { + file_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "file" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFile { + get { return file_ != null; } + } + /// Clears the value of the "file" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFile() { + file_ = null; + } + + /// Field number for the "line" field. + public const int LineFieldNumber = 5; + private readonly static uint LineDefaultValue = 0; + + private uint line_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Line { + get { if ((_hasBits0 & 2) != 0) { return line_; } else { return LineDefaultValue; } } + set { + _hasBits0 |= 2; + line_ = value; + } + } + /// Gets whether the "line" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLine { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "line" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLine() { + _hasBits0 &= ~2; + } + + /// Field number for the "message" field. + public const int MessageFieldNumber = 6; + private readonly static string MessageDefaultValue = ""; + + private string message_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Message { + get { return message_ ?? MessageDefaultValue; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "message" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMessage { + get { return message_ != null; } + } + /// Clears the value of the "message" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + message_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as DisposeRequest); + return Equals(other as LogRecord); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(DisposeRequest other) { + public bool Equals(LogRecord other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Async != other.Async) return false; + if (Level != other.Level) return false; + if (Target != other.Target) return false; + if (ModulePath != other.ModulePath) return false; + if (File != other.File) return false; + if (Line != other.Line) return false; + if (Message != other.Message) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3652,7 +10773,12 @@ public bool Equals(DisposeRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Async != false) hash ^= Async.GetHashCode(); + if (HasLevel) hash ^= Level.GetHashCode(); + if (HasTarget) hash ^= Target.GetHashCode(); + if (HasModulePath) hash ^= ModulePath.GetHashCode(); + if (HasFile) hash ^= File.GetHashCode(); + if (HasLine) hash ^= Line.GetHashCode(); + if (HasMessage) hash ^= Message.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3671,9 +10797,29 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Async != false) { + if (HasLevel) { output.WriteRawTag(8); - output.WriteBool(Async); + output.WriteEnum((int) Level); + } + if (HasTarget) { + output.WriteRawTag(18); + output.WriteString(Target); + } + if (HasModulePath) { + output.WriteRawTag(26); + output.WriteString(ModulePath); + } + if (HasFile) { + output.WriteRawTag(34); + output.WriteString(File); + } + if (HasLine) { + output.WriteRawTag(40); + output.WriteUInt32(Line); + } + if (HasMessage) { + output.WriteRawTag(50); + output.WriteString(Message); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3685,9 +10831,29 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Async != false) { + if (HasLevel) { output.WriteRawTag(8); - output.WriteBool(Async); + output.WriteEnum((int) Level); + } + if (HasTarget) { + output.WriteRawTag(18); + output.WriteString(Target); + } + if (HasModulePath) { + output.WriteRawTag(26); + output.WriteString(ModulePath); + } + if (HasFile) { + output.WriteRawTag(34); + output.WriteString(File); + } + if (HasLine) { + output.WriteRawTag(40); + output.WriteUInt32(Line); + } + if (HasMessage) { + output.WriteRawTag(50); + output.WriteString(Message); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3699,8 +10865,23 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Async != false) { - size += 1 + 1; + if (HasLevel) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Level); + } + if (HasTarget) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Target); + } + if (HasModulePath) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ModulePath); + } + if (HasFile) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(File); + } + if (HasLine) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Line); + } + if (HasMessage) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3710,12 +10891,27 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(DisposeRequest other) { + public void MergeFrom(LogRecord other) { if (other == null) { return; } - if (other.Async != false) { - Async = other.Async; + if (other.HasLevel) { + Level = other.Level; + } + if (other.HasTarget) { + Target = other.Target; + } + if (other.HasModulePath) { + ModulePath = other.ModulePath; + } + if (other.HasFile) { + File = other.File; + } + if (other.HasLine) { + Line = other.Line; + } + if (other.HasMessage) { + Message = other.Message; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3728,12 +10924,36 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - Async = input.ReadBool(); + Level = (global::LiveKit.Proto.LogLevel) input.ReadEnum(); + break; + } + case 18: { + Target = input.ReadString(); + break; + } + case 26: { + ModulePath = input.ReadString(); + break; + } + case 34: { + File = input.ReadString(); + break; + } + case 40: { + Line = input.ReadUInt32(); + break; + } + case 50: { + Message = input.ReadString(); break; } } @@ -3747,12 +10967,36 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - Async = input.ReadBool(); + Level = (global::LiveKit.Proto.LogLevel) input.ReadEnum(); + break; + } + case 18: { + Target = input.ReadString(); + break; + } + case 26: { + ModulePath = input.ReadString(); + break; + } + case 34: { + File = input.ReadString(); + break; + } + case 40: { + Line = input.ReadUInt32(); + break; + } + case 50: { + Message = input.ReadString(); break; } } @@ -3762,21 +11006,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class DisposeResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LogBatch : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DisposeResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LogBatch()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[6]; } + get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3787,7 +11032,7 @@ public sealed partial class DisposeResponse : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeResponse() { + public LogBatch() { OnConstruction(); } @@ -3795,48 +11040,44 @@ public DisposeResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeResponse(DisposeResponse other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; + public LogBatch(LogBatch other) : this() { + records_ = other.records_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeResponse Clone() { - return new DisposeResponse(this); + public LogBatch Clone() { + return new LogBatch(this); } - /// Field number for the "async_id" field. - public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; - /// - /// None if sync - /// + /// Field number for the "records" field. + public const int RecordsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_records_codec + = pb::FieldCodec.ForMessage(10, global::LiveKit.Proto.LogRecord.Parser); + private readonly pbc::RepeatedField records_ = new pbc::RepeatedField(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } - set { - asyncId_ = value; - } + public pbc::RepeatedField Records { + get { return records_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as DisposeResponse); + return Equals(other as LogBatch); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(DisposeResponse other) { + public bool Equals(LogBatch other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if(!records_.Equals(other.records_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3844,7 +11085,7 @@ public bool Equals(DisposeResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + hash ^= records_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3863,10 +11104,7 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); - } + records_.WriteTo(output, _repeated_records_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3877,10 +11115,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); - } + records_.WriteTo(ref output, _repeated_records_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3891,9 +11126,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); - } + size += records_.CalculateSize(_repeated_records_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3902,16 +11135,11 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(DisposeResponse other) { + public void MergeFrom(LogBatch other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); - } + records_.Add(other.records_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3923,15 +11151,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + records_.AddEntriesFrom(input, _repeated_records_codec); break; } } @@ -3945,15 +11174,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + records_.AddEntriesFrom(ref input, _repeated_records_codec); break; } } @@ -3963,21 +11193,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class DisposeCallback : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Panic : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DisposeCallback()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Panic()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[7]; } + get { return global::LiveKit.Proto.FfiReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3988,7 +11219,7 @@ public sealed partial class DisposeCallback : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeCallback() { + public Panic() { OnConstruction(); } @@ -3996,45 +11227,59 @@ public DisposeCallback() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeCallback(DisposeCallback other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; + public Panic(Panic other) : this() { + message_ = other.message_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DisposeCallback Clone() { - return new DisposeCallback(this); + public Panic Clone() { + return new Panic(this); } - /// Field number for the "async_id" field. - public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; + /// Field number for the "message" field. + public const int MessageFieldNumber = 1; + private readonly static string MessageDefaultValue = ""; + + private string message_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } + public string Message { + get { return message_ ?? MessageDefaultValue; } set { - asyncId_ = value; + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "message" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMessage { + get { return message_ != null; } + } + /// Clears the value of the "message" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + message_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as DisposeCallback); + return Equals(other as Panic); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(DisposeCallback other) { + public bool Equals(Panic other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if (Message != other.Message) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4042,7 +11287,7 @@ public bool Equals(DisposeCallback other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + if (HasMessage) hash ^= Message.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4061,9 +11306,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { + if (HasMessage) { output.WriteRawTag(10); - output.WriteMessage(AsyncId); + output.WriteString(Message); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -4075,9 +11320,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { + if (HasMessage) { output.WriteRawTag(10); - output.WriteMessage(AsyncId); + output.WriteString(Message); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -4089,8 +11334,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); + if (HasMessage) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -4100,15 +11345,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(DisposeCallback other) { + public void MergeFrom(Panic other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); + if (other.HasMessage) { + Message = other.Message; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4121,15 +11363,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + Message = input.ReadString(); break; } } @@ -4143,15 +11386,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + Message = input.ReadString(); break; } } diff --git a/Runtime/Scripts/Proto/Handle.cs b/Runtime/Scripts/Proto/Handle.cs index a4c63eaf..68c5a878 100644 --- a/Runtime/Scripts/Proto/Handle.cs +++ b/Runtime/Scripts/Proto/Handle.cs @@ -24,14 +24,12 @@ public static partial class HandleReflection { static HandleReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "CgxoYW5kbGUucHJvdG8SB2xpdmVraXQiGQoLRkZJSGFuZGxlSWQSCgoCaWQY", - "ASABKAQiGAoKRkZJQXN5bmNJZBIKCgJpZBgBIAEoBEIQqgINTGl2ZUtpdC5Q", - "cm90b2IGcHJvdG8z")); + "CgxoYW5kbGUucHJvdG8SDWxpdmVraXQucHJvdG8iHAoORmZpT3duZWRIYW5k", + "bGUSCgoCaWQYASACKARCEKoCDUxpdmVLaXQuUHJvdG8=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FFIHandleId), global::LiveKit.Proto.FFIHandleId.Parser, new[]{ "Id" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FFIAsyncId), global::LiveKit.Proto.FFIAsyncId.Parser, new[]{ "Id" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.FfiOwnedHandle), global::LiveKit.Proto.FfiOwnedHandle.Parser, new[]{ "Id" }, null, null, null, null) })); } #endregion @@ -39,21 +37,28 @@ static HandleReflection() { } #region Messages /// - //// # Safety - //// The foreign language is responsable for disposing handles - //// Forgetting to dispose the handle may lead to memory leaks - //// Messages in this file can contain an FFIHandle + /// # Safety + /// The foreign language is responsable for disposing handles + /// Forgetting to dispose the handle may lead to memory leaks + /// + /// Dropping a handle doesn't necessarily mean that the object is destroyed if it is still used + /// on the FfiServer (Atomic reference counting) + /// + /// When refering to a handle without owning it, we just use a uint32 without this message. + /// (the variable name is suffixed with "_handle") /// - public sealed partial class FFIHandleId : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class FfiOwnedHandle : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FFIHandleId()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FfiOwnedHandle()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -69,7 +74,7 @@ public sealed partial class FFIHandleId : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIHandleId() { + public FfiOwnedHandle() { OnConstruction(); } @@ -77,230 +82,54 @@ public FFIHandleId() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIHandleId(FFIHandleId other) : this() { + public FfiOwnedHandle(FfiOwnedHandle other) : this() { + _hasBits0 = other._hasBits0; id_ = other.id_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIHandleId Clone() { - return new FFIHandleId(this); + public FfiOwnedHandle Clone() { + return new FfiOwnedHandle(this); } /// Field number for the "id" field. public const int IdFieldNumber = 1; + private readonly static ulong IdDefaultValue = 0UL; + private ulong id_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public ulong Id { - get { return id_; } + get { if ((_hasBits0 & 1) != 0) { return id_; } else { return IdDefaultValue; } } set { + _hasBits0 |= 1; id_ = value; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as FFIHandleId); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FFIHandleId other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Id != other.Id) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Id != 0UL) hash ^= Id.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Id != 0UL) { - output.WriteRawTag(8); - output.WriteUInt64(Id); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + /// Gets whether the "id" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Id != 0UL) { - output.WriteRawTag(8); - output.WriteUInt64(Id); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } + public bool HasId { + get { return (_hasBits0 & 1) != 0; } } - #endif - + /// Clears the value of the "id" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Id != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FFIHandleId other) { - if (other == null) { - return; - } - if (other.Id != 0UL) { - Id = other.Id; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Id = input.ReadUInt64(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Id = input.ReadUInt64(); - break; - } - } - } - } - #endif - - } - - /// - //// Link the request/response of an asynchronous call - /// - public sealed partial class FFIAsyncId : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FFIAsyncId()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.HandleReflection.Descriptor.MessageTypes[1]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIAsyncId() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIAsyncId(FFIAsyncId other) : this() { - id_ = other.id_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FFIAsyncId Clone() { - return new FFIAsyncId(this); - } - - /// Field number for the "id" field. - public const int IdFieldNumber = 1; - private ulong id_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong Id { - get { return id_; } - set { - id_ = value; - } + public void ClearId() { + _hasBits0 &= ~1; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as FFIAsyncId); + return Equals(other as FfiOwnedHandle); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(FFIAsyncId other) { + public bool Equals(FfiOwnedHandle other) { if (ReferenceEquals(other, null)) { return false; } @@ -315,7 +144,7 @@ public bool Equals(FFIAsyncId other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Id != 0UL) hash ^= Id.GetHashCode(); + if (HasId) hash ^= Id.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -334,7 +163,7 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Id != 0UL) { + if (HasId) { output.WriteRawTag(8); output.WriteUInt64(Id); } @@ -348,7 +177,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Id != 0UL) { + if (HasId) { output.WriteRawTag(8); output.WriteUInt64(Id); } @@ -362,7 +191,7 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Id != 0UL) { + if (HasId) { size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id); } if (_unknownFields != null) { @@ -373,11 +202,11 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(FFIAsyncId other) { + public void MergeFrom(FfiOwnedHandle other) { if (other == null) { return; } - if (other.Id != 0UL) { + if (other.HasId) { Id = other.Id; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); @@ -391,7 +220,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -410,7 +243,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; diff --git a/Runtime/Scripts/Proto/Participant.cs b/Runtime/Scripts/Proto/Participant.cs index 10f73ad1..35e22c84 100644 --- a/Runtime/Scripts/Proto/Participant.cs +++ b/Runtime/Scripts/Proto/Participant.cs @@ -24,26 +24,108 @@ public static partial class ParticipantReflection { static ParticipantReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChFwYXJ0aWNpcGFudC5wcm90bxIHbGl2ZWtpdBoLdHJhY2sucHJvdG8ihQEK", - "D1BhcnRpY2lwYW50SW5mbxILCgNzaWQYASABKAkSDAoEbmFtZRgCIAEoCRIQ", - "CghpZGVudGl0eRgDIAEoCRIQCghtZXRhZGF0YRgEIAEoCRIzCgxwdWJsaWNh", - "dGlvbnMYBSADKAsyHS5saXZla2l0LlRyYWNrUHVibGljYXRpb25JbmZvIm4K", - "EFBhcnRpY2lwYW50RXZlbnQSFwoPcGFydGljaXBhbnRfc2lkGAEgASgJEjYK", - "EHNwZWFraW5nX2NoYW5nZWQYAiABKAsyGi5saXZla2l0LklzU3BlYWtpbmdD", - "aGFuZ2VkSABCCQoHbWVzc2FnZSIlChFJc1NwZWFraW5nQ2hhbmdlZBIQCghz", - "cGVha2luZxgBIAEoCEIQqgINTGl2ZUtpdC5Qcm90b2IGcHJvdG8z")); + "ChFwYXJ0aWNpcGFudC5wcm90bxINbGl2ZWtpdC5wcm90bxoMaGFuZGxlLnBy", + "b3RvIrECCg9QYXJ0aWNpcGFudEluZm8SCwoDc2lkGAEgAigJEgwKBG5hbWUY", + "AiACKAkSEAoIaWRlbnRpdHkYAyACKAkSEAoIbWV0YWRhdGEYBCACKAkSQgoK", + "YXR0cmlidXRlcxgFIAMoCzIuLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRJ", + "bmZvLkF0dHJpYnV0ZXNFbnRyeRIsCgRraW5kGAYgAigOMh4ubGl2ZWtpdC5w", + "cm90by5QYXJ0aWNpcGFudEtpbmQSOgoRZGlzY29ubmVjdF9yZWFzb24YByAC", + "KA4yHy5saXZla2l0LnByb3RvLkRpc2Nvbm5lY3RSZWFzb24aMQoPQXR0cmli", + "dXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEibwoQ", + "T3duZWRQYXJ0aWNpcGFudBItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnBy", + "b3RvLkZmaU93bmVkSGFuZGxlEiwKBGluZm8YAiACKAsyHi5saXZla2l0LnBy", + "b3RvLlBhcnRpY2lwYW50SW5mbyqhAQoPUGFydGljaXBhbnRLaW5kEh0KGVBB", + "UlRJQ0lQQU5UX0tJTkRfU1RBTkRBUkQQABIcChhQQVJUSUNJUEFOVF9LSU5E", + "X0lOR1JFU1MQARIbChdQQVJUSUNJUEFOVF9LSU5EX0VHUkVTUxACEhgKFFBB", + "UlRJQ0lQQU5UX0tJTkRfU0lQEAMSGgoWUEFSVElDSVBBTlRfS0lORF9BR0VO", + "VBAEKsQCChBEaXNjb25uZWN0UmVhc29uEhIKDlVOS05PV05fUkVBU09OEAAS", + "FAoQQ0xJRU5UX0lOSVRJQVRFRBABEhYKEkRVUExJQ0FURV9JREVOVElUWRAC", + "EhMKD1NFUlZFUl9TSFVURE9XThADEhcKE1BBUlRJQ0lQQU5UX1JFTU9WRUQQ", + "BBIQCgxST09NX0RFTEVURUQQBRISCg5TVEFURV9NSVNNQVRDSBAGEhAKDEpP", + "SU5fRkFJTFVSRRAHEg0KCU1JR1JBVElPThAIEhAKDFNJR05BTF9DTE9TRRAJ", + "Eg8KC1JPT01fQ0xPU0VEEAoSFAoQVVNFUl9VTkFWQUlMQUJMRRALEhEKDVVT", + "RVJfUkVKRUNURUQQDBIVChFTSVBfVFJVTktfRkFJTFVSRRANEhYKEkNPTk5F", + "Q1RJT05fVElNRU9VVBAOQhCqAg1MaXZlS2l0LlByb3Rv")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::LiveKit.Proto.TrackReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantInfo), global::LiveKit.Proto.ParticipantInfo.Parser, new[]{ "Sid", "Name", "Identity", "Metadata", "Publications" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantEvent), global::LiveKit.Proto.ParticipantEvent.Parser, new[]{ "ParticipantSid", "SpeakingChanged" }, new[]{ "Message" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.IsSpeakingChanged), global::LiveKit.Proto.IsSpeakingChanged.Parser, new[]{ "Speaking" }, null, null, null, null) + new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.ParticipantKind), typeof(global::LiveKit.Proto.DisconnectReason), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantInfo), global::LiveKit.Proto.ParticipantInfo.Parser, new[]{ "Sid", "Name", "Identity", "Metadata", "Attributes", "Kind", "DisconnectReason" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedParticipant), global::LiveKit.Proto.OwnedParticipant.Parser, new[]{ "Handle", "Info" }, null, null, null, null) })); } #endregion } + #region Enums + public enum ParticipantKind { + [pbr::OriginalName("PARTICIPANT_KIND_STANDARD")] Standard = 0, + [pbr::OriginalName("PARTICIPANT_KIND_INGRESS")] Ingress = 1, + [pbr::OriginalName("PARTICIPANT_KIND_EGRESS")] Egress = 2, + [pbr::OriginalName("PARTICIPANT_KIND_SIP")] Sip = 3, + [pbr::OriginalName("PARTICIPANT_KIND_AGENT")] Agent = 4, + } + + public enum DisconnectReason { + [pbr::OriginalName("UNKNOWN_REASON")] UnknownReason = 0, + /// + /// the client initiated the disconnect + /// + [pbr::OriginalName("CLIENT_INITIATED")] ClientInitiated = 1, + /// + /// another participant with the same identity has joined the room + /// + [pbr::OriginalName("DUPLICATE_IDENTITY")] DuplicateIdentity = 2, + /// + /// the server instance is shutting down + /// + [pbr::OriginalName("SERVER_SHUTDOWN")] ServerShutdown = 3, + /// + /// RoomService.RemoveParticipant was called + /// + [pbr::OriginalName("PARTICIPANT_REMOVED")] ParticipantRemoved = 4, + /// + /// RoomService.DeleteRoom was called + /// + [pbr::OriginalName("ROOM_DELETED")] RoomDeleted = 5, + /// + /// the client is attempting to resume a session, but server is not aware of it + /// + [pbr::OriginalName("STATE_MISMATCH")] StateMismatch = 6, + /// + /// client was unable to connect fully + /// + [pbr::OriginalName("JOIN_FAILURE")] JoinFailure = 7, + /// + /// Cloud-only, the server requested Participant to migrate the connection elsewhere + /// + [pbr::OriginalName("MIGRATION")] Migration = 8, + /// + /// the signal websocket was closed unexpectedly + /// + [pbr::OriginalName("SIGNAL_CLOSE")] SignalClose = 9, + /// + /// the room was closed, due to all Standard and Ingress participants having left + /// + [pbr::OriginalName("ROOM_CLOSED")] RoomClosed = 10, + /// + /// SIP callee did not respond in time + /// + [pbr::OriginalName("USER_UNAVAILABLE")] UserUnavailable = 11, + /// + /// SIP callee rejected the call (busy) + /// + [pbr::OriginalName("USER_REJECTED")] UserRejected = 12, + /// + /// SIP protocol failure or unexpected response + /// + [pbr::OriginalName("SIP_TRUNK_FAILURE")] SipTrunkFailure = 13, + [pbr::OriginalName("CONNECTION_TIMEOUT")] ConnectionTimeout = 14, + } + + #endregion + #region Messages + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ParticipantInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -51,6 +133,7 @@ public sealed partial class ParticipantInfo : pb::IMessage { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantInfo()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -78,11 +161,14 @@ public ParticipantInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public ParticipantInfo(ParticipantInfo other) : this() { + _hasBits0 = other._hasBits0; sid_ = other.sid_; name_ = other.name_; identity_ = other.identity_; metadata_ = other.metadata_; - publications_ = other.publications_.Clone(); + attributes_ = other.attributes_.Clone(); + kind_ = other.kind_; + disconnectReason_ = other.disconnectReason_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -94,61 +180,171 @@ public ParticipantInfo Clone() { /// Field number for the "sid" field. public const int SidFieldNumber = 1; - private string sid_ = ""; + private readonly static string SidDefaultValue = ""; + + private string sid_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Sid { - get { return sid_; } + get { return sid_ ?? SidDefaultValue; } set { sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSid { + get { return sid_ != null; } + } + /// Clears the value of the "sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSid() { + sid_ = null; + } /// Field number for the "name" field. public const int NameFieldNumber = 2; - private string name_ = ""; + private readonly static string NameDefaultValue = ""; + + private string name_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Name { - get { return name_; } + get { return name_ ?? NameDefaultValue; } set { name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } /// Field number for the "identity" field. public const int IdentityFieldNumber = 3; - private string identity_ = ""; + private readonly static string IdentityDefaultValue = ""; + + private string identity_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Identity { - get { return identity_; } + get { return identity_ ?? IdentityDefaultValue; } set { identity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIdentity { + get { return identity_ != null; } + } + /// Clears the value of the "identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIdentity() { + identity_ = null; + } /// Field number for the "metadata" field. public const int MetadataFieldNumber = 4; - private string metadata_ = ""; + private readonly static string MetadataDefaultValue = ""; + + private string metadata_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Metadata { - get { return metadata_; } + get { return metadata_ ?? MetadataDefaultValue; } set { metadata_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "metadata" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMetadata { + get { return metadata_ != null; } + } + /// Clears the value of the "metadata" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMetadata() { + metadata_ = null; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 5; + private static readonly pbc::MapField.Codec _map_attributes_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 42); + private readonly pbc::MapField attributes_ = new pbc::MapField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField Attributes { + get { return attributes_; } + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 6; + private readonly static global::LiveKit.Proto.ParticipantKind KindDefaultValue = global::LiveKit.Proto.ParticipantKind.Standard; + + private global::LiveKit.Proto.ParticipantKind kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ParticipantKind Kind { + get { if ((_hasBits0 & 1) != 0) { return kind_; } else { return KindDefaultValue; } } + set { + _hasBits0 |= 1; + kind_ = value; + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + _hasBits0 &= ~1; + } + + /// Field number for the "disconnect_reason" field. + public const int DisconnectReasonFieldNumber = 7; + private readonly static global::LiveKit.Proto.DisconnectReason DisconnectReasonDefaultValue = global::LiveKit.Proto.DisconnectReason.UnknownReason; - /// Field number for the "publications" field. - public const int PublicationsFieldNumber = 5; - private static readonly pb::FieldCodec _repeated_publications_codec - = pb::FieldCodec.ForMessage(42, global::LiveKit.Proto.TrackPublicationInfo.Parser); - private readonly pbc::RepeatedField publications_ = new pbc::RepeatedField(); + private global::LiveKit.Proto.DisconnectReason disconnectReason_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DisconnectReason DisconnectReason { + get { if ((_hasBits0 & 2) != 0) { return disconnectReason_; } else { return DisconnectReasonDefaultValue; } } + set { + _hasBits0 |= 2; + disconnectReason_ = value; + } + } + /// Gets whether the "disconnect_reason" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDisconnectReason { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "disconnect_reason" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Publications { - get { return publications_; } + public void ClearDisconnectReason() { + _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -170,7 +366,9 @@ public bool Equals(ParticipantInfo other) { if (Name != other.Name) return false; if (Identity != other.Identity) return false; if (Metadata != other.Metadata) return false; - if(!publications_.Equals(other.publications_)) return false; + if (!Attributes.Equals(other.Attributes)) return false; + if (Kind != other.Kind) return false; + if (DisconnectReason != other.DisconnectReason) return false; return Equals(_unknownFields, other._unknownFields); } @@ -178,11 +376,13 @@ public bool Equals(ParticipantInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Sid.Length != 0) hash ^= Sid.GetHashCode(); - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (Identity.Length != 0) hash ^= Identity.GetHashCode(); - if (Metadata.Length != 0) hash ^= Metadata.GetHashCode(); - hash ^= publications_.GetHashCode(); + if (HasSid) hash ^= Sid.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasIdentity) hash ^= Identity.GetHashCode(); + if (HasMetadata) hash ^= Metadata.GetHashCode(); + hash ^= Attributes.GetHashCode(); + if (HasKind) hash ^= Kind.GetHashCode(); + if (HasDisconnectReason) hash ^= DisconnectReason.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -201,23 +401,31 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Sid.Length != 0) { + if (HasSid) { output.WriteRawTag(10); output.WriteString(Sid); } - if (Name.Length != 0) { + if (HasName) { output.WriteRawTag(18); output.WriteString(Name); } - if (Identity.Length != 0) { + if (HasIdentity) { output.WriteRawTag(26); output.WriteString(Identity); } - if (Metadata.Length != 0) { + if (HasMetadata) { output.WriteRawTag(34); output.WriteString(Metadata); } - publications_.WriteTo(output, _repeated_publications_codec); + attributes_.WriteTo(output, _map_attributes_codec); + if (HasKind) { + output.WriteRawTag(48); + output.WriteEnum((int) Kind); + } + if (HasDisconnectReason) { + output.WriteRawTag(56); + output.WriteEnum((int) DisconnectReason); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -228,23 +436,31 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Sid.Length != 0) { + if (HasSid) { output.WriteRawTag(10); output.WriteString(Sid); } - if (Name.Length != 0) { + if (HasName) { output.WriteRawTag(18); output.WriteString(Name); } - if (Identity.Length != 0) { + if (HasIdentity) { output.WriteRawTag(26); output.WriteString(Identity); } - if (Metadata.Length != 0) { + if (HasMetadata) { output.WriteRawTag(34); output.WriteString(Metadata); } - publications_.WriteTo(ref output, _repeated_publications_codec); + attributes_.WriteTo(ref output, _map_attributes_codec); + if (HasKind) { + output.WriteRawTag(48); + output.WriteEnum((int) Kind); + } + if (HasDisconnectReason) { + output.WriteRawTag(56); + output.WriteEnum((int) DisconnectReason); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -255,19 +471,25 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Sid.Length != 0) { + if (HasSid) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); } - if (Name.Length != 0) { + if (HasName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); } - if (Identity.Length != 0) { + if (HasIdentity) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Identity); } - if (Metadata.Length != 0) { + if (HasMetadata) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Metadata); } - size += publications_.CalculateSize(_repeated_publications_codec); + size += attributes_.CalculateSize(_map_attributes_codec); + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); + } + if (HasDisconnectReason) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DisconnectReason); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -280,19 +502,25 @@ public void MergeFrom(ParticipantInfo other) { if (other == null) { return; } - if (other.Sid.Length != 0) { + if (other.HasSid) { Sid = other.Sid; } - if (other.Name.Length != 0) { + if (other.HasName) { Name = other.Name; } - if (other.Identity.Length != 0) { + if (other.HasIdentity) { Identity = other.Identity; } - if (other.Metadata.Length != 0) { + if (other.HasMetadata) { Metadata = other.Metadata; } - publications_.Add(other.publications_); + attributes_.MergeFrom(other.attributes_); + if (other.HasKind) { + Kind = other.Kind; + } + if (other.HasDisconnectReason) { + DisconnectReason = other.DisconnectReason; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -304,7 +532,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -325,7 +557,15 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 42: { - publications_.AddEntriesFrom(input, _repeated_publications_codec); + attributes_.AddEntriesFrom(input, _map_attributes_codec); + break; + } + case 48: { + Kind = (global::LiveKit.Proto.ParticipantKind) input.ReadEnum(); + break; + } + case 56: { + DisconnectReason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum(); break; } } @@ -339,7 +579,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -360,7 +604,15 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 42: { - publications_.AddEntriesFrom(ref input, _repeated_publications_codec); + attributes_.AddEntriesFrom(ref input, _map_attributes_codec); + break; + } + case 48: { + Kind = (global::LiveKit.Proto.ParticipantKind) input.ReadEnum(); + break; + } + case 56: { + DisconnectReason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum(); break; } } @@ -370,16 +622,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ParticipantEvent : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedParticipant : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantEvent()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedParticipant()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -395,7 +648,7 @@ public sealed partial class ParticipantEvent : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ParticipantEvent() { + public OwnedParticipant() { OnConstruction(); } @@ -403,85 +656,59 @@ public ParticipantEvent() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ParticipantEvent(ParticipantEvent other) : this() { - participantSid_ = other.participantSid_; - switch (other.MessageCase) { - case MessageOneofCase.SpeakingChanged: - SpeakingChanged = other.SpeakingChanged.Clone(); - break; - } - + public OwnedParticipant(OwnedParticipant other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ParticipantEvent Clone() { - return new ParticipantEvent(this); + public OwnedParticipant Clone() { + return new OwnedParticipant(this); } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + handle_ = value; } } - /// Field number for the "speaking_changed" field. - public const int SpeakingChangedFieldNumber = 2; + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.ParticipantInfo info_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.IsSpeakingChanged SpeakingChanged { - get { return messageCase_ == MessageOneofCase.SpeakingChanged ? (global::LiveKit.Proto.IsSpeakingChanged) message_ : null; } + public global::LiveKit.Proto.ParticipantInfo Info { + get { return info_; } set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SpeakingChanged; + info_ = value; } } - private object message_; - /// Enum of possible cases for the "message" oneof. - public enum MessageOneofCase { - None = 0, - SpeakingChanged = 2, - } - private MessageOneofCase messageCase_ = MessageOneofCase.None; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public MessageOneofCase MessageCase { - get { return messageCase_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearMessage() { - messageCase_ = MessageOneofCase.None; - message_ = null; - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ParticipantEvent); + return Equals(other as OwnedParticipant); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ParticipantEvent other) { + public bool Equals(OwnedParticipant other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (!object.Equals(SpeakingChanged, other.SpeakingChanged)) return false; - if (MessageCase != other.MessageCase) return false; + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -489,9 +716,8 @@ public bool Equals(ParticipantEvent other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (messageCase_ == MessageOneofCase.SpeakingChanged) hash ^= SpeakingChanged.GetHashCode(); - hash ^= (int) messageCase_; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -510,13 +736,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { + if (handle_ != null) { output.WriteRawTag(10); - output.WriteString(ParticipantSid); + output.WriteMessage(Handle); } - if (messageCase_ == MessageOneofCase.SpeakingChanged) { + if (info_ != null) { output.WriteRawTag(18); - output.WriteMessage(SpeakingChanged); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -528,13 +754,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { + if (handle_ != null) { output.WriteRawTag(10); - output.WriteString(ParticipantSid); + output.WriteMessage(Handle); } - if (messageCase_ == MessageOneofCase.SpeakingChanged) { + if (info_ != null) { output.WriteRawTag(18); - output.WriteMessage(SpeakingChanged); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -546,11 +772,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); } - if (messageCase_ == MessageOneofCase.SpeakingChanged) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpeakingChanged); + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -560,22 +786,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ParticipantEvent other) { + public void MergeFrom(OwnedParticipant other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); } - switch (other.MessageCase) { - case MessageOneofCase.SpeakingChanged: - if (SpeakingChanged == null) { - SpeakingChanged = new global::LiveKit.Proto.IsSpeakingChanged(); - } - SpeakingChanged.MergeFrom(other.SpeakingChanged); - break; + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.ParticipantInfo(); + } + Info.MergeFrom(other.Info); } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -587,21 +813,26 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - ParticipantSid = input.ReadString(); + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); break; } case 18: { - global::LiveKit.Proto.IsSpeakingChanged subBuilder = new global::LiveKit.Proto.IsSpeakingChanged(); - if (messageCase_ == MessageOneofCase.SpeakingChanged) { - subBuilder.MergeFrom(SpeakingChanged); + if (info_ == null) { + Info = new global::LiveKit.Proto.ParticipantInfo(); } - input.ReadMessage(subBuilder); - SpeakingChanged = subBuilder; + input.ReadMessage(Info); break; } } @@ -615,210 +846,26 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - ParticipantSid = input.ReadString(); + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); break; } case 18: { - global::LiveKit.Proto.IsSpeakingChanged subBuilder = new global::LiveKit.Proto.IsSpeakingChanged(); - if (messageCase_ == MessageOneofCase.SpeakingChanged) { - subBuilder.MergeFrom(SpeakingChanged); + if (info_ == null) { + Info = new global::LiveKit.Proto.ParticipantInfo(); } - input.ReadMessage(subBuilder); - SpeakingChanged = subBuilder; - break; - } - } - } - } - #endif - - } - - public sealed partial class IsSpeakingChanged : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new IsSpeakingChanged()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.ParticipantReflection.Descriptor.MessageTypes[2]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public IsSpeakingChanged() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public IsSpeakingChanged(IsSpeakingChanged other) : this() { - speaking_ = other.speaking_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public IsSpeakingChanged Clone() { - return new IsSpeakingChanged(this); - } - - /// Field number for the "speaking" field. - public const int SpeakingFieldNumber = 1; - private bool speaking_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Speaking { - get { return speaking_; } - set { - speaking_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as IsSpeakingChanged); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(IsSpeakingChanged other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (Speaking != other.Speaking) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (Speaking != false) hash ^= Speaking.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (Speaking != false) { - output.WriteRawTag(8); - output.WriteBool(Speaking); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Speaking != false) { - output.WriteRawTag(8); - output.WriteBool(Speaking); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (Speaking != false) { - size += 1 + 1; - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(IsSpeakingChanged other) { - if (other == null) { - return; - } - if (other.Speaking != false) { - Speaking = other.Speaking; - } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 8: { - Speaking = input.ReadBool(); - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 8: { - Speaking = input.ReadBool(); + input.ReadMessage(Info); break; } } diff --git a/Runtime/Scripts/Proto/Room.cs b/Runtime/Scripts/Proto/Room.cs index 37675e3b..bfad5c69 100644 --- a/Runtime/Scripts/Proto/Room.cs +++ b/Runtime/Scripts/Proto/Room.cs @@ -24,152 +24,433 @@ public static partial class RoomReflection { static RoomReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "Cgpyb29tLnByb3RvEgdsaXZla2l0GgxoYW5kbGUucHJvdG8aEXBhcnRpY2lw", - "YW50LnByb3RvGgt0cmFjay5wcm90bxoRdmlkZW9fZnJhbWUucHJvdG8iUwoO", - "Q29ubmVjdFJlcXVlc3QSCwoDdXJsGAEgASgJEg0KBXRva2VuGAIgASgJEiUK", - "B29wdGlvbnMYAyABKAsyFC5saXZla2l0LlJvb21PcHRpb25zIjgKD0Nvbm5l", - "Y3RSZXNwb25zZRIlCghhc3luY19pZBgBIAEoCzITLmxpdmVraXQuRkZJQXN5", - "bmNJZCJ3Cg9Db25uZWN0Q2FsbGJhY2sSJQoIYXN5bmNfaWQYASABKAsyEy5s", - "aXZla2l0LkZGSUFzeW5jSWQSEgoFZXJyb3IYAiABKAlIAIgBARIfCgRyb29t", - "GAMgASgLMhEubGl2ZWtpdC5Sb29tSW5mb0IICgZfZXJyb3IiPgoRRGlzY29u", - "bmVjdFJlcXVlc3QSKQoLcm9vbV9oYW5kbGUYASABKAsyFC5saXZla2l0LkZG", - "SUhhbmRsZUlkIjsKEkRpc2Nvbm5lY3RSZXNwb25zZRIlCghhc3luY19pZBgB", - "IAEoCzITLmxpdmVraXQuRkZJQXN5bmNJZCIUChJEaXNjb25uZWN0Q2FsbGJh", - "Y2simwEKE1B1Ymxpc2hUcmFja1JlcXVlc3QSKQoLcm9vbV9oYW5kbGUYASAB", - "KAsyFC5saXZla2l0LkZGSUhhbmRsZUlkEioKDHRyYWNrX2hhbmRsZRgCIAEo", - "CzIULmxpdmVraXQuRkZJSGFuZGxlSWQSLQoHb3B0aW9ucxgDIAEoCzIcLmxp", - "dmVraXQuVHJhY2tQdWJsaXNoT3B0aW9ucyI9ChRQdWJsaXNoVHJhY2tSZXNw", - "b25zZRIlCghhc3luY19pZBgBIAEoCzITLmxpdmVraXQuRkZJQXN5bmNJZCKP", - "AQoUUHVibGlzaFRyYWNrQ2FsbGJhY2sSJQoIYXN5bmNfaWQYASABKAsyEy5s", - "aXZla2l0LkZGSUFzeW5jSWQSEgoFZXJyb3IYAiABKAlIAIgBARIyCgtwdWJs", - "aWNhdGlvbhgDIAEoCzIdLmxpdmVraXQuVHJhY2tQdWJsaWNhdGlvbkluZm9C", - "CAoGX2Vycm9yInAKFVVucHVibGlzaFRyYWNrUmVxdWVzdBIpCgtyb29tX2hh", - "bmRsZRgBIAEoCzIULmxpdmVraXQuRkZJSGFuZGxlSWQSEQoJdHJhY2tfc2lk", - "GAIgASgJEhkKEXN0b3Bfb25fdW5wdWJsaXNoGAMgASgIIj8KFlVucHVibGlz", - "aFRyYWNrUmVzcG9uc2USJQoIYXN5bmNfaWQYASABKAsyEy5saXZla2l0LkZG", - "SUFzeW5jSWQiNgoWVW5wdWJsaXNoVHJhY2tDYWxsYmFjaxISCgVlcnJvchgB", - "IAEoCUgAiAEBQggKBl9lcnJvciI7Cg1WaWRlb0VuY29kaW5nEhMKC21heF9i", - "aXRyYXRlGAEgASgEEhUKDW1heF9mcmFtZXJhdGUYAiABKAEiJAoNQXVkaW9F", - "bmNvZGluZxITCgttYXhfYml0cmF0ZRgBIAEoBCKAAgoTVHJhY2tQdWJsaXNo", - "T3B0aW9ucxIuCg52aWRlb19lbmNvZGluZxgBIAEoCzIWLmxpdmVraXQuVmlk", - "ZW9FbmNvZGluZxIuCg5hdWRpb19lbmNvZGluZxgCIAEoCzIWLmxpdmVraXQu", - "QXVkaW9FbmNvZGluZxIoCgt2aWRlb19jb2RlYxgDIAEoDjITLmxpdmVraXQu", - "VmlkZW9Db2RlYxILCgNkdHgYBCABKAgSCwoDcmVkGAUgASgIEhEKCXNpbXVs", - "Y2FzdBgGIAEoCBIMCgRuYW1lGAcgASgJEiQKBnNvdXJjZRgIIAEoDjIULmxp", - "dmVraXQuVHJhY2tTb3VyY2UiPgoLUm9vbU9wdGlvbnMSFgoOYXV0b19zdWJz", - "Y3JpYmUYASABKAgSFwoPYWRhcHRpdmVfc3RyZWFtGAIgASgIIq0HCglSb29t", - "RXZlbnQSKQoLcm9vbV9oYW5kbGUYASABKAsyFC5saXZla2l0LkZGSUhhbmRs", - "ZUlkEj4KFXBhcnRpY2lwYW50X2Nvbm5lY3RlZBgCIAEoCzIdLmxpdmVraXQu", - "UGFydGljaXBhbnRDb25uZWN0ZWRIABJEChhwYXJ0aWNpcGFudF9kaXNjb25u", - "ZWN0ZWQYAyABKAsyIC5saXZla2l0LlBhcnRpY2lwYW50RGlzY29ubmVjdGVk", - "SAASMgoPdHJhY2tfcHVibGlzaGVkGAQgASgLMhcubGl2ZWtpdC5UcmFja1B1", - "Ymxpc2hlZEgAEjYKEXRyYWNrX3VucHVibGlzaGVkGAUgASgLMhkubGl2ZWtp", - "dC5UcmFja1VucHVibGlzaGVkSAASNAoQdHJhY2tfc3Vic2NyaWJlZBgGIAEo", - "CzIYLmxpdmVraXQuVHJhY2tTdWJzY3JpYmVkSAASOAoSdHJhY2tfdW5zdWJz", - "Y3JpYmVkGAcgASgLMhoubGl2ZWtpdC5UcmFja1Vuc3Vic2NyaWJlZEgAEioK", - "C3RyYWNrX211dGVkGAggASgLMhMubGl2ZWtpdC5UcmFja011dGVkSAASLgoN", - "dHJhY2tfdW5tdXRlZBgJIAEoCzIVLmxpdmVraXQuVHJhY2tVbm11dGVkSAAS", - "OgoQc3BlYWtlcnNfY2hhbmdlZBgKIAEoCzIeLmxpdmVraXQuQWN0aXZlU3Bl", - "YWtlcnNDaGFuZ2VkSAASRwoaY29ubmVjdGlvbl9xdWFsaXR5X2NoYW5nZWQY", - "CyABKAsyIS5saXZla2l0LkNvbm5lY3Rpb25RdWFsaXR5Q2hhbmdlZEgAEi4K", - "DWRhdGFfcmVjZWl2ZWQYDCABKAsyFS5saXZla2l0LkRhdGFSZWNlaXZlZEgA", - "EkMKGGNvbm5lY3Rpb25fc3RhdGVfY2hhbmdlZBgNIAEoCzIfLmxpdmVraXQu", - "Q29ubmVjdGlvblN0YXRlQ2hhbmdlZEgAEicKCWNvbm5lY3RlZBgOIAEoCzIS", - "LmxpdmVraXQuQ29ubmVjdGVkSAASLQoMZGlzY29ubmVjdGVkGA8gASgLMhUu", - "bGl2ZWtpdC5EaXNjb25uZWN0ZWRIABItCgxyZWNvbm5lY3RpbmcYECABKAsy", - "FS5saXZla2l0LlJlY29ubmVjdGluZ0gAEisKC3JlY29ubmVjdGVkGBEgASgL", - "MhQubGl2ZWtpdC5SZWNvbm5lY3RlZEgAQgkKB21lc3NhZ2UiwgEKCFJvb21J", - "bmZvEiQKBmhhbmRsZRgBIAEoCzIULmxpdmVraXQuRkZJSGFuZGxlSWQSCwoD", - "c2lkGAIgASgJEgwKBG5hbWUYAyABKAkSEAoIbWV0YWRhdGEYBCABKAkSMwoR", - "bG9jYWxfcGFydGljaXBhbnQYBSABKAsyGC5saXZla2l0LlBhcnRpY2lwYW50", - "SW5mbxIuCgxwYXJ0aWNpcGFudHMYBiADKAsyGC5saXZla2l0LlBhcnRpY2lw", - "YW50SW5mbyKyAQoMRGF0YVJlY2VpdmVkEiQKBmhhbmRsZRgBIAEoCzIULmxp", - "dmVraXQuRkZJSGFuZGxlSWQSHAoPcGFydGljaXBhbnRfc2lkGAIgASgJSACI", - "AQESEAoIZGF0YV9wdHIYAyABKAQSEQoJZGF0YV9zaXplGAQgASgEEiUKBGtp", - "bmQYBSABKA4yFy5saXZla2l0LkRhdGFQYWNrZXRLaW5kQhIKEF9wYXJ0aWNp", - "cGFudF9zaWQiTQoPVHJhY2tTdWJzY3JpYmVkEhcKD3BhcnRpY2lwYW50X3Np", - "ZBgBIAEoCRIhCgV0cmFjaxgCIAEoCzISLmxpdmVraXQuVHJhY2tJbmZvIj8K", - "EVRyYWNrVW5zdWJzY3JpYmVkEhcKD3BhcnRpY2lwYW50X3NpZBgBIAEoCRIR", - "Cgl0cmFja19zaWQYAiABKAkiOAoKVHJhY2tNdXRlZBIXCg9wYXJ0aWNpcGFu", - "dF9zaWQYASABKAkSEQoJdHJhY2tfc2lkGAIgASgJIjoKDFRyYWNrVW5tdXRl", - "ZBIXCg9wYXJ0aWNpcGFudF9zaWQYASABKAkSEQoJdHJhY2tfc2lkGAIgASgJ", - "Ij4KFFBhcnRpY2lwYW50Q29ubmVjdGVkEiYKBGluZm8YASABKAsyGC5saXZl", - "a2l0LlBhcnRpY2lwYW50SW5mbyJBChdQYXJ0aWNpcGFudERpc2Nvbm5lY3Rl", - "ZBImCgRpbmZvGAEgASgLMhgubGl2ZWtpdC5QYXJ0aWNpcGFudEluZm8iXQoO", - "VHJhY2tQdWJsaXNoZWQSFwoPcGFydGljaXBhbnRfc2lkGAEgASgJEjIKC3B1", - "YmxpY2F0aW9uGAIgASgLMh0ubGl2ZWtpdC5UcmFja1B1YmxpY2F0aW9uSW5m", - "byJEChBUcmFja1VucHVibGlzaGVkEhcKD3BhcnRpY2lwYW50X3NpZBgBIAEo", - "CRIXCg9wdWJsaWNhdGlvbl9zaWQYAiABKAkiMQoVQWN0aXZlU3BlYWtlcnND", - "aGFuZ2VkEhgKEHBhcnRpY2lwYW50X3NpZHMYASADKAkiYAoYQ29ubmVjdGlv", - "blF1YWxpdHlDaGFuZ2VkEhcKD3BhcnRpY2lwYW50X3NpZBgBIAEoCRIrCgdx", - "dWFsaXR5GAIgASgOMhoubGl2ZWtpdC5Db25uZWN0aW9uUXVhbGl0eSJBChZD", - "b25uZWN0aW9uU3RhdGVDaGFuZ2VkEicKBXN0YXRlGAEgASgOMhgubGl2ZWtp", - "dC5Db25uZWN0aW9uU3RhdGUiCwoJQ29ubmVjdGVkIg4KDERpc2Nvbm5lY3Rl", - "ZCIOCgxSZWNvbm5lY3RpbmciDQoLUmVjb25uZWN0ZWQqTgoRQ29ubmVjdGlv", - "blF1YWxpdHkSEAoMUVVBTElUWV9QT09SEAASEAoMUVVBTElUWV9HT09EEAES", - "FQoRUVVBTElUWV9FWENFTExFTlQQAiplCg9Db25uZWN0aW9uU3RhdGUSFQoR", - "Q09OTl9ESVNDT05ORUNURUQQABISCg5DT05OX0NPTk5FQ1RFRBABEhUKEUNP", - "Tk5fUkVDT05ORUNUSU5HEAISEAoMQ09OTl9VTktOT1dOEAMqOAoORGF0YVBh", - "Y2tldEtpbmQSEwoPS0lORF9VTlJFTElBQkxFEAASEQoNS0lORF9SRUxJQUJM", - "RRABQhCqAg1MaXZlS2l0LlByb3RvYgZwcm90bzM=")); + "Cgpyb29tLnByb3RvEg1saXZla2l0LnByb3RvGgplMmVlLnByb3RvGgxoYW5k", + "bGUucHJvdG8aEXBhcnRpY2lwYW50LnByb3RvGgt0cmFjay5wcm90bxoRdmlk", + "ZW9fZnJhbWUucHJvdG8aC3N0YXRzLnByb3RvGhFkYXRhX3N0cmVhbS5wcm90", + "byJZCg5Db25uZWN0UmVxdWVzdBILCgN1cmwYASACKAkSDQoFdG9rZW4YAiAC", + "KAkSKwoHb3B0aW9ucxgDIAIoCzIaLmxpdmVraXQucHJvdG8uUm9vbU9wdGlv", + "bnMiIwoPQ29ubmVjdFJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIr8DCg9D", + "b25uZWN0Q2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDwoFZXJyb3IYAiAB", + "KAlIABI3CgZyZXN1bHQYAyABKAsyJS5saXZla2l0LnByb3RvLkNvbm5lY3RD", + "YWxsYmFjay5SZXN1bHRIABqJAQoVUGFydGljaXBhbnRXaXRoVHJhY2tzEjQK", + "C3BhcnRpY2lwYW50GAEgAigLMh8ubGl2ZWtpdC5wcm90by5Pd25lZFBhcnRp", + "Y2lwYW50EjoKDHB1YmxpY2F0aW9ucxgCIAMoCzIkLmxpdmVraXQucHJvdG8u", + "T3duZWRUcmFja1B1YmxpY2F0aW9uGrgBCgZSZXN1bHQSJgoEcm9vbRgBIAIo", + "CzIYLmxpdmVraXQucHJvdG8uT3duZWRSb29tEjoKEWxvY2FsX3BhcnRpY2lw", + "YW50GAIgAigLMh8ubGl2ZWtpdC5wcm90by5Pd25lZFBhcnRpY2lwYW50EkoK", + "DHBhcnRpY2lwYW50cxgDIAMoCzI0LmxpdmVraXQucHJvdG8uQ29ubmVjdENh", + "bGxiYWNrLlBhcnRpY2lwYW50V2l0aFRyYWNrc0IJCgdtZXNzYWdlIigKEURp", + "c2Nvbm5lY3RSZXF1ZXN0EhMKC3Jvb21faGFuZGxlGAEgAigEIiYKEkRpc2Nv", + "bm5lY3RSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCImChJEaXNjb25uZWN0", + "Q2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQiggEKE1B1Ymxpc2hUcmFja1Jl", + "cXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEhQKDHRy", + "YWNrX2hhbmRsZRgCIAIoBBIzCgdvcHRpb25zGAMgAigLMiIubGl2ZWtpdC5w", + "cm90by5UcmFja1B1Ymxpc2hPcHRpb25zIigKFFB1Ymxpc2hUcmFja1Jlc3Bv", + "bnNlEhAKCGFzeW5jX2lkGAEgAigEIoEBChRQdWJsaXNoVHJhY2tDYWxsYmFj", + "axIQCghhc3luY19pZBgBIAIoBBIPCgVlcnJvchgCIAEoCUgAEjsKC3B1Ymxp", + "Y2F0aW9uGAMgASgLMiQubGl2ZWtpdC5wcm90by5Pd25lZFRyYWNrUHVibGlj", + "YXRpb25IAEIJCgdtZXNzYWdlImcKFVVucHVibGlzaFRyYWNrUmVxdWVzdBIg", + "Chhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSEQoJdHJhY2tfc2lk", + "GAIgAigJEhkKEXN0b3Bfb25fdW5wdWJsaXNoGAMgAigIIioKFlVucHVibGlz", + "aFRyYWNrUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQiOQoWVW5wdWJsaXNo", + "VHJhY2tDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEo", + "CSK5AQoSUHVibGlzaERhdGFSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50", + "X2hhbmRsZRgBIAIoBBIQCghkYXRhX3B0chgCIAIoBBIQCghkYXRhX2xlbhgD", + "IAIoBBIQCghyZWxpYWJsZRgEIAIoCBIcChBkZXN0aW5hdGlvbl9zaWRzGAUg", + "AygJQgIYARINCgV0b3BpYxgGIAEoCRIeChZkZXN0aW5hdGlvbl9pZGVudGl0", + "aWVzGAcgAygJIicKE1B1Ymxpc2hEYXRhUmVzcG9uc2USEAoIYXN5bmNfaWQY", + "ASACKAQiNgoTUHVibGlzaERhdGFDYWxsYmFjaxIQCghhc3luY19pZBgBIAIo", + "BBINCgVlcnJvchgCIAEoCSKmAQobUHVibGlzaFRyYW5zY3JpcHRpb25SZXF1", + "ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIcChRwYXJ0", + "aWNpcGFudF9pZGVudGl0eRgCIAIoCRIQCgh0cmFja19pZBgDIAIoCRI1Cghz", + "ZWdtZW50cxgEIAMoCzIjLmxpdmVraXQucHJvdG8uVHJhbnNjcmlwdGlvblNl", + "Z21lbnQiMAocUHVibGlzaFRyYW5zY3JpcHRpb25SZXNwb25zZRIQCghhc3lu", + "Y19pZBgBIAIoBCI/ChxQdWJsaXNoVHJhbnNjcmlwdGlvbkNhbGxiYWNrEhAK", + "CGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJInYKFVB1Ymxpc2hTaXBE", + "dG1mUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQS", + "DAoEY29kZRgCIAIoDRINCgVkaWdpdBgDIAIoCRIeChZkZXN0aW5hdGlvbl9p", + "ZGVudGl0aWVzGAQgAygJIioKFlB1Ymxpc2hTaXBEdG1mUmVzcG9uc2USEAoI", + "YXN5bmNfaWQYASACKAQiOQoWUHVibGlzaFNpcER0bWZDYWxsYmFjaxIQCghh", + "c3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSJNChdTZXRMb2NhbE1ldGFk", + "YXRhUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQS", + "EAoIbWV0YWRhdGEYAiACKAkiLAoYU2V0TG9jYWxNZXRhZGF0YVJlc3BvbnNl", + "EhAKCGFzeW5jX2lkGAEgAigEIjsKGFNldExvY2FsTWV0YWRhdGFDYWxsYmFj", + "axIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSKEAQoWU2VuZENo", + "YXRNZXNzYWdlUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUY", + "ASACKAQSDwoHbWVzc2FnZRgCIAIoCRIeChZkZXN0aW5hdGlvbl9pZGVudGl0", + "aWVzGAMgAygJEhcKD3NlbmRlcl9pZGVudGl0eRgEIAEoCSK8AQoWRWRpdENo", + "YXRNZXNzYWdlUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUY", + "ASACKAQSEQoJZWRpdF90ZXh0GAIgAigJEjQKEG9yaWdpbmFsX21lc3NhZ2UY", + "AyACKAsyGi5saXZla2l0LnByb3RvLkNoYXRNZXNzYWdlEh4KFmRlc3RpbmF0", + "aW9uX2lkZW50aXRpZXMYBCADKAkSFwoPc2VuZGVyX2lkZW50aXR5GAUgASgJ", + "IisKF1NlbmRDaGF0TWVzc2FnZVJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigE", + "InsKF1NlbmRDaGF0TWVzc2FnZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigE", + "Eg8KBWVycm9yGAIgASgJSAASMgoMY2hhdF9tZXNzYWdlGAMgASgLMhoubGl2", + "ZWtpdC5wcm90by5DaGF0TWVzc2FnZUgAQgkKB21lc3NhZ2UicQoZU2V0TG9j", + "YWxBdHRyaWJ1dGVzUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5k", + "bGUYASACKAQSMgoKYXR0cmlidXRlcxgCIAMoCzIeLmxpdmVraXQucHJvdG8u", + "QXR0cmlidXRlc0VudHJ5Ii0KD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASAC", + "KAkSDQoFdmFsdWUYAiACKAkiLgoaU2V0TG9jYWxBdHRyaWJ1dGVzUmVzcG9u", + "c2USEAoIYXN5bmNfaWQYASACKAQiPQoaU2V0TG9jYWxBdHRyaWJ1dGVzQ2Fs", + "bGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IYAiABKAkiRQoTU2V0", + "TG9jYWxOYW1lUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUY", + "ASACKAQSDAoEbmFtZRgCIAIoCSIoChRTZXRMb2NhbE5hbWVSZXNwb25zZRIQ", + "Cghhc3luY19pZBgBIAIoBCI3ChRTZXRMb2NhbE5hbWVDYWxsYmFjaxIQCghh", + "c3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSJFChRTZXRTdWJzY3JpYmVk", + "UmVxdWVzdBIRCglzdWJzY3JpYmUYASACKAgSGgoScHVibGljYXRpb25faGFu", + "ZGxlGAIgAigEIhcKFVNldFN1YnNjcmliZWRSZXNwb25zZSItChZHZXRTZXNz", + "aW9uU3RhdHNSZXF1ZXN0EhMKC3Jvb21faGFuZGxlGAEgAigEIisKF0dldFNl", + "c3Npb25TdGF0c1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIvcBChdHZXRT", + "ZXNzaW9uU3RhdHNDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIPCgVlcnJv", + "chgCIAEoCUgAEj8KBnJlc3VsdBgDIAEoCzItLmxpdmVraXQucHJvdG8uR2V0", + "U2Vzc2lvblN0YXRzQ2FsbGJhY2suUmVzdWx0SAAabQoGUmVzdWx0EjAKD3B1", + "Ymxpc2hlcl9zdGF0cxgBIAMoCzIXLmxpdmVraXQucHJvdG8uUnRjU3RhdHMS", + "MQoQc3Vic2NyaWJlcl9zdGF0cxgCIAMoCzIXLmxpdmVraXQucHJvdG8uUnRj", + "U3RhdHNCCQoHbWVzc2FnZSI7Cg1WaWRlb0VuY29kaW5nEhMKC21heF9iaXRy", + "YXRlGAEgAigEEhUKDW1heF9mcmFtZXJhdGUYAiACKAEiJAoNQXVkaW9FbmNv", + "ZGluZxITCgttYXhfYml0cmF0ZRgBIAIoBCKaAgoTVHJhY2tQdWJsaXNoT3B0", + "aW9ucxI0Cg52aWRlb19lbmNvZGluZxgBIAEoCzIcLmxpdmVraXQucHJvdG8u", + "VmlkZW9FbmNvZGluZxI0Cg5hdWRpb19lbmNvZGluZxgCIAEoCzIcLmxpdmVr", + "aXQucHJvdG8uQXVkaW9FbmNvZGluZxIuCgt2aWRlb19jb2RlYxgDIAEoDjIZ", + "LmxpdmVraXQucHJvdG8uVmlkZW9Db2RlYxILCgNkdHgYBCABKAgSCwoDcmVk", + "GAUgASgIEhEKCXNpbXVsY2FzdBgGIAEoCBIqCgZzb3VyY2UYByABKA4yGi5s", + "aXZla2l0LnByb3RvLlRyYWNrU291cmNlEg4KBnN0cmVhbRgIIAEoCSI9CglJ", + "Y2VTZXJ2ZXISDAoEdXJscxgBIAMoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghw", + "YXNzd29yZBgDIAEoCSLEAQoJUnRjQ29uZmlnEjsKEmljZV90cmFuc3BvcnRf", + "dHlwZRgBIAEoDjIfLmxpdmVraXQucHJvdG8uSWNlVHJhbnNwb3J0VHlwZRJL", + "Chpjb250aW51YWxfZ2F0aGVyaW5nX3BvbGljeRgCIAEoDjInLmxpdmVraXQu", + "cHJvdG8uQ29udGludWFsR2F0aGVyaW5nUG9saWN5Ei0KC2ljZV9zZXJ2ZXJz", + "GAMgAygLMhgubGl2ZWtpdC5wcm90by5JY2VTZXJ2ZXIivgEKC1Jvb21PcHRp", + "b25zEhYKDmF1dG9fc3Vic2NyaWJlGAEgASgIEhcKD2FkYXB0aXZlX3N0cmVh", + "bRgCIAEoCBIQCghkeW5hY2FzdBgDIAEoCBIoCgRlMmVlGAQgASgLMhoubGl2", + "ZWtpdC5wcm90by5FMmVlT3B0aW9ucxIsCgpydGNfY29uZmlnGAUgASgLMhgu", + "bGl2ZWtpdC5wcm90by5SdGNDb25maWcSFAoMam9pbl9yZXRyaWVzGAYgASgN", + "IncKFFRyYW5zY3JpcHRpb25TZWdtZW50EgoKAmlkGAEgAigJEgwKBHRleHQY", + "AiACKAkSEgoKc3RhcnRfdGltZRgDIAIoBBIQCghlbmRfdGltZRgEIAIoBBIN", + "CgVmaW5hbBgFIAIoCBIQCghsYW5ndWFnZRgGIAIoCSIwCgpCdWZmZXJJbmZv", + "EhAKCGRhdGFfcHRyGAEgAigEEhAKCGRhdGFfbGVuGAIgAigEImUKC093bmVk", + "QnVmZmVyEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3du", + "ZWRIYW5kbGUSJwoEZGF0YRgCIAIoCzIZLmxpdmVraXQucHJvdG8uQnVmZmVy", + "SW5mbyKnEgoJUm9vbUV2ZW50EhMKC3Jvb21faGFuZGxlGAEgAigEEkQKFXBh", + "cnRpY2lwYW50X2Nvbm5lY3RlZBgCIAEoCzIjLmxpdmVraXQucHJvdG8uUGFy", + "dGljaXBhbnRDb25uZWN0ZWRIABJKChhwYXJ0aWNpcGFudF9kaXNjb25uZWN0", + "ZWQYAyABKAsyJi5saXZla2l0LnByb3RvLlBhcnRpY2lwYW50RGlzY29ubmVj", + "dGVkSAASQwoVbG9jYWxfdHJhY2tfcHVibGlzaGVkGAQgASgLMiIubGl2ZWtp", + "dC5wcm90by5Mb2NhbFRyYWNrUHVibGlzaGVkSAASRwoXbG9jYWxfdHJhY2tf", + "dW5wdWJsaXNoZWQYBSABKAsyJC5saXZla2l0LnByb3RvLkxvY2FsVHJhY2tV", + "bnB1Ymxpc2hlZEgAEkUKFmxvY2FsX3RyYWNrX3N1YnNjcmliZWQYBiABKAsy", + "Iy5saXZla2l0LnByb3RvLkxvY2FsVHJhY2tTdWJzY3JpYmVkSAASOAoPdHJh", + "Y2tfcHVibGlzaGVkGAcgASgLMh0ubGl2ZWtpdC5wcm90by5UcmFja1B1Ymxp", + "c2hlZEgAEjwKEXRyYWNrX3VucHVibGlzaGVkGAggASgLMh8ubGl2ZWtpdC5w", + "cm90by5UcmFja1VucHVibGlzaGVkSAASOgoQdHJhY2tfc3Vic2NyaWJlZBgJ", + "IAEoCzIeLmxpdmVraXQucHJvdG8uVHJhY2tTdWJzY3JpYmVkSAASPgoSdHJh", + "Y2tfdW5zdWJzY3JpYmVkGAogASgLMiAubGl2ZWtpdC5wcm90by5UcmFja1Vu", + "c3Vic2NyaWJlZEgAEksKGXRyYWNrX3N1YnNjcmlwdGlvbl9mYWlsZWQYCyAB", + "KAsyJi5saXZla2l0LnByb3RvLlRyYWNrU3Vic2NyaXB0aW9uRmFpbGVkSAAS", + "MAoLdHJhY2tfbXV0ZWQYDCABKAsyGS5saXZla2l0LnByb3RvLlRyYWNrTXV0", + "ZWRIABI0Cg10cmFja191bm11dGVkGA0gASgLMhsubGl2ZWtpdC5wcm90by5U", + "cmFja1VubXV0ZWRIABJHChdhY3RpdmVfc3BlYWtlcnNfY2hhbmdlZBgOIAEo", + "CzIkLmxpdmVraXQucHJvdG8uQWN0aXZlU3BlYWtlcnNDaGFuZ2VkSAASQwoV", + "cm9vbV9tZXRhZGF0YV9jaGFuZ2VkGA8gASgLMiIubGl2ZWtpdC5wcm90by5S", + "b29tTWV0YWRhdGFDaGFuZ2VkSAASOQoQcm9vbV9zaWRfY2hhbmdlZBgQIAEo", + "CzIdLmxpdmVraXQucHJvdG8uUm9vbVNpZENoYW5nZWRIABJRChxwYXJ0aWNp", + "cGFudF9tZXRhZGF0YV9jaGFuZ2VkGBEgASgLMikubGl2ZWtpdC5wcm90by5Q", + "YXJ0aWNpcGFudE1ldGFkYXRhQ2hhbmdlZEgAEkkKGHBhcnRpY2lwYW50X25h", + "bWVfY2hhbmdlZBgSIAEoCzIlLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRO", + "YW1lQ2hhbmdlZEgAElUKHnBhcnRpY2lwYW50X2F0dHJpYnV0ZXNfY2hhbmdl", + "ZBgTIAEoCzIrLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRBdHRyaWJ1dGVz", + "Q2hhbmdlZEgAEk0KGmNvbm5lY3Rpb25fcXVhbGl0eV9jaGFuZ2VkGBQgASgL", + "MicubGl2ZWtpdC5wcm90by5Db25uZWN0aW9uUXVhbGl0eUNoYW5nZWRIABJJ", + "Chhjb25uZWN0aW9uX3N0YXRlX2NoYW5nZWQYFSABKAsyJS5saXZla2l0LnBy", + "b3RvLkNvbm5lY3Rpb25TdGF0ZUNoYW5nZWRIABIzCgxkaXNjb25uZWN0ZWQY", + "FiABKAsyGy5saXZla2l0LnByb3RvLkRpc2Nvbm5lY3RlZEgAEjMKDHJlY29u", + "bmVjdGluZxgXIAEoCzIbLmxpdmVraXQucHJvdG8uUmVjb25uZWN0aW5nSAAS", + "MQoLcmVjb25uZWN0ZWQYGCABKAsyGi5saXZla2l0LnByb3RvLlJlY29ubmVj", + "dGVkSAASPQoSZTJlZV9zdGF0ZV9jaGFuZ2VkGBkgASgLMh8ubGl2ZWtpdC5w", + "cm90by5FMmVlU3RhdGVDaGFuZ2VkSAASJQoDZW9zGBogASgLMhYubGl2ZWtp", + "dC5wcm90by5Sb29tRU9TSAASQQoUZGF0YV9wYWNrZXRfcmVjZWl2ZWQYGyAB", + "KAsyIS5saXZla2l0LnByb3RvLkRhdGFQYWNrZXRSZWNlaXZlZEgAEkYKFnRy", + "YW5zY3JpcHRpb25fcmVjZWl2ZWQYHCABKAsyJC5saXZla2l0LnByb3RvLlRy", + "YW5zY3JpcHRpb25SZWNlaXZlZEgAEjoKDGNoYXRfbWVzc2FnZRgdIAEoCzIi", + "LmxpdmVraXQucHJvdG8uQ2hhdE1lc3NhZ2VSZWNlaXZlZEgAEkkKFnN0cmVh", + "bV9oZWFkZXJfcmVjZWl2ZWQYHiABKAsyJy5saXZla2l0LnByb3RvLkRhdGFT", + "dHJlYW1IZWFkZXJSZWNlaXZlZEgAEkcKFXN0cmVhbV9jaHVua19yZWNlaXZl", + "ZBgfIAEoCzImLmxpdmVraXQucHJvdG8uRGF0YVN0cmVhbUNodW5rUmVjZWl2", + "ZWRIABJLChdzdHJlYW1fdHJhaWxlcl9yZWNlaXZlZBggIAEoCzIoLmxpdmVr", + "aXQucHJvdG8uRGF0YVN0cmVhbVRyYWlsZXJSZWNlaXZlZEgAEmkKImRhdGFf", + "Y2hhbm5lbF9sb3dfdGhyZXNob2xkX2NoYW5nZWQYISABKAsyOy5saXZla2l0", + "LnByb3RvLkRhdGFDaGFubmVsQnVmZmVyZWRBbW91bnRMb3dUaHJlc2hvbGRD", + "aGFuZ2VkSAASPQoSYnl0ZV9zdHJlYW1fb3BlbmVkGCIgASgLMh8ubGl2ZWtp", + "dC5wcm90by5CeXRlU3RyZWFtT3BlbmVkSAASPQoSdGV4dF9zdHJlYW1fb3Bl", + "bmVkGCMgASgLMh8ubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtT3BlbmVkSABC", + "CQoHbWVzc2FnZSKaAQoIUm9vbUluZm8SCwoDc2lkGAEgASgJEgwKBG5hbWUY", + "AiACKAkSEAoIbWV0YWRhdGEYAyACKAkSLgombG9zc3lfZGNfYnVmZmVyZWRf", + "YW1vdW50X2xvd190aHJlc2hvbGQYBCACKAQSMQopcmVsaWFibGVfZGNfYnVm", + "ZmVyZWRfYW1vdW50X2xvd190aHJlc2hvbGQYBSACKAQiYQoJT3duZWRSb29t", + "Ei0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRIYW5k", + "bGUSJQoEaW5mbxgCIAIoCzIXLmxpdmVraXQucHJvdG8uUm9vbUluZm8iRQoU", + "UGFydGljaXBhbnRDb25uZWN0ZWQSLQoEaW5mbxgBIAIoCzIfLmxpdmVraXQu", + "cHJvdG8uT3duZWRQYXJ0aWNpcGFudCJzChdQYXJ0aWNpcGFudERpc2Nvbm5l", + "Y3RlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRI6ChFkaXNjb25u", + "ZWN0X3JlYXNvbhgCIAIoDjIfLmxpdmVraXQucHJvdG8uRGlzY29ubmVjdFJl", + "YXNvbiIoChNMb2NhbFRyYWNrUHVibGlzaGVkEhEKCXRyYWNrX3NpZBgBIAIo", + "CSIwChVMb2NhbFRyYWNrVW5wdWJsaXNoZWQSFwoPcHVibGljYXRpb25fc2lk", + "GAEgAigJIikKFExvY2FsVHJhY2tTdWJzY3JpYmVkEhEKCXRyYWNrX3NpZBgC", + "IAIoCSJpCg5UcmFja1B1Ymxpc2hlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0", + "eRgBIAIoCRI5CgtwdWJsaWNhdGlvbhgCIAIoCzIkLmxpdmVraXQucHJvdG8u", + "T3duZWRUcmFja1B1YmxpY2F0aW9uIkkKEFRyYWNrVW5wdWJsaXNoZWQSHAoU", + "cGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSFwoPcHVibGljYXRpb25fc2lk", + "GAIgAigJIlkKD1RyYWNrU3Vic2NyaWJlZBIcChRwYXJ0aWNpcGFudF9pZGVu", + "dGl0eRgBIAIoCRIoCgV0cmFjaxgCIAIoCzIZLmxpdmVraXQucHJvdG8uT3du", + "ZWRUcmFjayJEChFUcmFja1Vuc3Vic2NyaWJlZBIcChRwYXJ0aWNpcGFudF9p", + "ZGVudGl0eRgBIAIoCRIRCgl0cmFja19zaWQYAiACKAkiWQoXVHJhY2tTdWJz", + "Y3JpcHRpb25GYWlsZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkS", + "EQoJdHJhY2tfc2lkGAIgAigJEg0KBWVycm9yGAMgAigJIj0KClRyYWNrTXV0", + "ZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSEQoJdHJhY2tfc2lk", + "GAIgAigJIj8KDFRyYWNrVW5tdXRlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0", + "eRgBIAIoCRIRCgl0cmFja19zaWQYAiACKAkiXwoQRTJlZVN0YXRlQ2hhbmdl", + "ZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRItCgVzdGF0ZRgCIAIo", + "DjIeLmxpdmVraXQucHJvdG8uRW5jcnlwdGlvblN0YXRlIjcKFUFjdGl2ZVNw", + "ZWFrZXJzQ2hhbmdlZBIeChZwYXJ0aWNpcGFudF9pZGVudGl0aWVzGAEgAygJ", + "IicKE1Jvb21NZXRhZGF0YUNoYW5nZWQSEAoIbWV0YWRhdGEYASACKAkiHQoO", + "Um9vbVNpZENoYW5nZWQSCwoDc2lkGAEgAigJIkwKGlBhcnRpY2lwYW50TWV0", + "YWRhdGFDaGFuZ2VkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhAK", + "CG1ldGFkYXRhGAIgAigJIqwBChxQYXJ0aWNpcGFudEF0dHJpYnV0ZXNDaGFu", + "Z2VkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEjIKCmF0dHJpYnV0", + "ZXMYAiADKAsyHi5saXZla2l0LnByb3RvLkF0dHJpYnV0ZXNFbnRyeRI6ChJj", + "aGFuZ2VkX2F0dHJpYnV0ZXMYAyADKAsyHi5saXZla2l0LnByb3RvLkF0dHJp", + "YnV0ZXNFbnRyeSJEChZQYXJ0aWNpcGFudE5hbWVDaGFuZ2VkEhwKFHBhcnRp", + "Y2lwYW50X2lkZW50aXR5GAEgAigJEgwKBG5hbWUYAiACKAkiawoYQ29ubmVj", + "dGlvblF1YWxpdHlDaGFuZ2VkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEg", + "AigJEjEKB3F1YWxpdHkYAiACKA4yIC5saXZla2l0LnByb3RvLkNvbm5lY3Rp", + "b25RdWFsaXR5IkUKClVzZXJQYWNrZXQSKAoEZGF0YRgBIAIoCzIaLmxpdmVr", + "aXQucHJvdG8uT3duZWRCdWZmZXISDQoFdG9waWMYAiABKAkieQoLQ2hhdE1l", + "c3NhZ2USCgoCaWQYASACKAkSEQoJdGltZXN0YW1wGAIgAigDEg8KB21lc3Nh", + "Z2UYAyACKAkSFgoOZWRpdF90aW1lc3RhbXAYBCABKAMSDwoHZGVsZXRlZBgF", + "IAEoCBIRCglnZW5lcmF0ZWQYBiABKAgiYAoTQ2hhdE1lc3NhZ2VSZWNlaXZl", + "ZBIrCgdtZXNzYWdlGAEgAigLMhoubGl2ZWtpdC5wcm90by5DaGF0TWVzc2Fn", + "ZRIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgCIAIoCSImCgdTaXBEVE1GEgwK", + "BGNvZGUYASACKA0SDQoFZGlnaXQYAiABKAkivwEKEkRhdGFQYWNrZXRSZWNl", + "aXZlZBIrCgRraW5kGAEgAigOMh0ubGl2ZWtpdC5wcm90by5EYXRhUGFja2V0", + "S2luZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgCIAIoCRIpCgR1c2VyGAQg", + "ASgLMhkubGl2ZWtpdC5wcm90by5Vc2VyUGFja2V0SAASKgoIc2lwX2R0bWYY", + "BSABKAsyFi5saXZla2l0LnByb3RvLlNpcERUTUZIAEIHCgV2YWx1ZSJ/ChVU", + "cmFuc2NyaXB0aW9uUmVjZWl2ZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkY", + "ASABKAkSEQoJdHJhY2tfc2lkGAIgASgJEjUKCHNlZ21lbnRzGAMgAygLMiMu", + "bGl2ZWtpdC5wcm90by5UcmFuc2NyaXB0aW9uU2VnbWVudCJHChZDb25uZWN0", + "aW9uU3RhdGVDaGFuZ2VkEi0KBXN0YXRlGAEgAigOMh4ubGl2ZWtpdC5wcm90", + "by5Db25uZWN0aW9uU3RhdGUiCwoJQ29ubmVjdGVkIj8KDERpc2Nvbm5lY3Rl", + "ZBIvCgZyZWFzb24YASACKA4yHy5saXZla2l0LnByb3RvLkRpc2Nvbm5lY3RS", + "ZWFzb24iDgoMUmVjb25uZWN0aW5nIg0KC1JlY29ubmVjdGVkIgkKB1Jvb21F", + "T1MijgcKCkRhdGFTdHJlYW0aqgEKClRleHRIZWFkZXISPwoOb3BlcmF0aW9u", + "X3R5cGUYASACKA4yJy5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uT3BlcmF0", + "aW9uVHlwZRIPCgd2ZXJzaW9uGAIgASgFEhoKEnJlcGx5X3RvX3N0cmVhbV9p", + "ZBgDIAEoCRIbChNhdHRhY2hlZF9zdHJlYW1faWRzGAQgAygJEhEKCWdlbmVy", + "YXRlZBgFIAEoCBoaCgpCeXRlSGVhZGVyEgwKBG5hbWUYASACKAka6wIKBkhl", + "YWRlchIRCglzdHJlYW1faWQYASACKAkSEQoJdGltZXN0YW1wGAIgAigDEhEK", + "CW1pbWVfdHlwZRgDIAIoCRINCgV0b3BpYxgEIAIoCRIUCgx0b3RhbF9sZW5n", + "dGgYBSABKAQSRAoKYXR0cmlidXRlcxgGIAMoCzIwLmxpdmVraXQucHJvdG8u", + "RGF0YVN0cmVhbS5IZWFkZXIuQXR0cmlidXRlc0VudHJ5EjsKC3RleHRfaGVh", + "ZGVyGAcgASgLMiQubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFtLlRleHRIZWFk", + "ZXJIABI7CgtieXRlX2hlYWRlchgIIAEoCzIkLmxpdmVraXQucHJvdG8uRGF0", + "YVN0cmVhbS5CeXRlSGVhZGVySAAaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tl", + "eRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOY29udGVudF9oZWFkZXIa", + "XQoFQ2h1bmsSEQoJc3RyZWFtX2lkGAEgAigJEhMKC2NodW5rX2luZGV4GAIg", + "AigEEg8KB2NvbnRlbnQYAyACKAwSDwoHdmVyc2lvbhgEIAEoBRIKCgJpdhgF", + "IAEoDBqmAQoHVHJhaWxlchIRCglzdHJlYW1faWQYASACKAkSDgoGcmVhc29u", + "GAIgAigJEkUKCmF0dHJpYnV0ZXMYAyADKAsyMS5saXZla2l0LnByb3RvLkRh", + "dGFTdHJlYW0uVHJhaWxlci5BdHRyaWJ1dGVzRW50cnkaMQoPQXR0cmlidXRl", + "c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoNT3Bl", + "cmF0aW9uVHlwZRIKCgZDUkVBVEUQABIKCgZVUERBVEUQARIKCgZERUxFVEUQ", + "AhIMCghSRUFDVElPThADImoKGERhdGFTdHJlYW1IZWFkZXJSZWNlaXZlZBIc", + "ChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIwCgZoZWFkZXIYAiACKAsy", + "IC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uSGVhZGVyImcKF0RhdGFTdHJl", + "YW1DaHVua1JlY2VpdmVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJ", + "Ei4KBWNodW5rGAIgAigLMh8ubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFtLkNo", + "dW5rIm0KGURhdGFTdHJlYW1UcmFpbGVyUmVjZWl2ZWQSHAoUcGFydGljaXBh", + "bnRfaWRlbnRpdHkYASACKAkSMgoHdHJhaWxlchgCIAIoCzIhLmxpdmVraXQu", + "cHJvdG8uRGF0YVN0cmVhbS5UcmFpbGVyIqYBChdTZW5kU3RyZWFtSGVhZGVy", + "UmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSMAoG", + "aGVhZGVyGAIgAigLMiAubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFtLkhlYWRl", + "chIeChZkZXN0aW5hdGlvbl9pZGVudGl0aWVzGAMgAygJEhcKD3NlbmRlcl9p", + "ZGVudGl0eRgEIAIoCSKjAQoWU2VuZFN0cmVhbUNodW5rUmVxdWVzdBIgChhs", + "b2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSLgoFY2h1bmsYAiACKAsy", + "Hy5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uQ2h1bmsSHgoWZGVzdGluYXRp", + "b25faWRlbnRpdGllcxgDIAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBCACKAki", + "qQEKGFNlbmRTdHJlYW1UcmFpbGVyUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNp", + "cGFudF9oYW5kbGUYASACKAQSMgoHdHJhaWxlchgCIAIoCzIhLmxpdmVraXQu", + "cHJvdG8uRGF0YVN0cmVhbS5UcmFpbGVyEh4KFmRlc3RpbmF0aW9uX2lkZW50", + "aXRpZXMYAyADKAkSFwoPc2VuZGVyX2lkZW50aXR5GAQgAigJIiwKGFNlbmRT", + "dHJlYW1IZWFkZXJSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCIrChdTZW5k", + "U3RyZWFtQ2h1bmtSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCItChlTZW5k", + "U3RyZWFtVHJhaWxlclJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIjsKGFNl", + "bmRTdHJlYW1IZWFkZXJDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVl", + "cnJvchgCIAEoCSI6ChdTZW5kU3RyZWFtQ2h1bmtDYWxsYmFjaxIQCghhc3lu", + "Y19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSI8ChlTZW5kU3RyZWFtVHJhaWxl", + "ckNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJIpMB", + "Ci9TZXREYXRhQ2hhbm5lbEJ1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkUmVx", + "dWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSEQoJdGhy", + "ZXNob2xkGAIgAigEEisKBGtpbmQYAyACKA4yHS5saXZla2l0LnByb3RvLkRh", + "dGFQYWNrZXRLaW5kIjIKMFNldERhdGFDaGFubmVsQnVmZmVyZWRBbW91bnRM", + "b3dUaHJlc2hvbGRSZXNwb25zZSJuCixEYXRhQ2hhbm5lbEJ1ZmZlcmVkQW1v", + "dW50TG93VGhyZXNob2xkQ2hhbmdlZBIrCgRraW5kGAEgAigOMh0ubGl2ZWtp", + "dC5wcm90by5EYXRhUGFja2V0S2luZBIRCgl0aHJlc2hvbGQYAiACKAQiZgoQ", + "Qnl0ZVN0cmVhbU9wZW5lZBI0CgZyZWFkZXIYASACKAsyJC5saXZla2l0LnBy", + "b3RvLk93bmVkQnl0ZVN0cmVhbVJlYWRlchIcChRwYXJ0aWNpcGFudF9pZGVu", + "dGl0eRgCIAIoCSJmChBUZXh0U3RyZWFtT3BlbmVkEjQKBnJlYWRlchgBIAIo", + "CzIkLmxpdmVraXQucHJvdG8uT3duZWRUZXh0U3RyZWFtUmVhZGVyEhwKFHBh", + "cnRpY2lwYW50X2lkZW50aXR5GAIgAigJKlAKEEljZVRyYW5zcG9ydFR5cGUS", + "EwoPVFJBTlNQT1JUX1JFTEFZEAASFAoQVFJBTlNQT1JUX05PSE9TVBABEhEK", + "DVRSQU5TUE9SVF9BTEwQAipDChhDb250aW51YWxHYXRoZXJpbmdQb2xpY3kS", + "DwoLR0FUSEVSX09OQ0UQABIWChJHQVRIRVJfQ09OVElOVUFMTFkQASpgChFD", + "b25uZWN0aW9uUXVhbGl0eRIQCgxRVUFMSVRZX1BPT1IQABIQCgxRVUFMSVRZ", + "X0dPT0QQARIVChFRVUFMSVRZX0VYQ0VMTEVOVBACEhAKDFFVQUxJVFlfTE9T", + "VBADKlMKD0Nvbm5lY3Rpb25TdGF0ZRIVChFDT05OX0RJU0NPTk5FQ1RFRBAA", + "EhIKDkNPTk5fQ09OTkVDVEVEEAESFQoRQ09OTl9SRUNPTk5FQ1RJTkcQAioz", + "Cg5EYXRhUGFja2V0S2luZBIOCgpLSU5EX0xPU1NZEAASEQoNS0lORF9SRUxJ", + "QUJMRRABQhCqAg1MaXZlS2l0LlByb3Rv")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.ParticipantReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, global::LiveKit.Proto.VideoFrameReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.ConnectionQuality), typeof(global::LiveKit.Proto.ConnectionState), typeof(global::LiveKit.Proto.DataPacketKind), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::FileDescriptor[] { global::LiveKit.Proto.E2EeReflection.Descriptor, global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.ParticipantReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, global::LiveKit.Proto.VideoFrameReflection.Descriptor, global::LiveKit.Proto.StatsReflection.Descriptor, global::LiveKit.Proto.DataStreamReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.IceTransportType), typeof(global::LiveKit.Proto.ContinualGatheringPolicy), typeof(global::LiveKit.Proto.ConnectionQuality), typeof(global::LiveKit.Proto.ConnectionState), typeof(global::LiveKit.Proto.DataPacketKind), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectRequest), global::LiveKit.Proto.ConnectRequest.Parser, new[]{ "Url", "Token", "Options" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectResponse), global::LiveKit.Proto.ConnectResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectCallback), global::LiveKit.Proto.ConnectCallback.Parser, new[]{ "AsyncId", "Error", "Room" }, new[]{ "Error" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectCallback), global::LiveKit.Proto.ConnectCallback.Parser, new[]{ "AsyncId", "Error", "Result" }, new[]{ "Message" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectCallback.Types.ParticipantWithTracks), global::LiveKit.Proto.ConnectCallback.Types.ParticipantWithTracks.Parser, new[]{ "Participant", "Publications" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectCallback.Types.Result), global::LiveKit.Proto.ConnectCallback.Types.Result.Parser, new[]{ "Room", "LocalParticipant", "Participants" }, null, null, null, null)}), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisconnectRequest), global::LiveKit.Proto.DisconnectRequest.Parser, new[]{ "RoomHandle" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisconnectResponse), global::LiveKit.Proto.DisconnectResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisconnectCallback), global::LiveKit.Proto.DisconnectCallback.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTrackRequest), global::LiveKit.Proto.PublishTrackRequest.Parser, new[]{ "RoomHandle", "TrackHandle", "Options" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisconnectCallback), global::LiveKit.Proto.DisconnectCallback.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTrackRequest), global::LiveKit.Proto.PublishTrackRequest.Parser, new[]{ "LocalParticipantHandle", "TrackHandle", "Options" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTrackResponse), global::LiveKit.Proto.PublishTrackResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTrackCallback), global::LiveKit.Proto.PublishTrackCallback.Parser, new[]{ "AsyncId", "Error", "Publication" }, new[]{ "Error" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UnpublishTrackRequest), global::LiveKit.Proto.UnpublishTrackRequest.Parser, new[]{ "RoomHandle", "TrackSid", "StopOnUnpublish" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTrackCallback), global::LiveKit.Proto.PublishTrackCallback.Parser, new[]{ "AsyncId", "Error", "Publication" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UnpublishTrackRequest), global::LiveKit.Proto.UnpublishTrackRequest.Parser, new[]{ "LocalParticipantHandle", "TrackSid", "StopOnUnpublish" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UnpublishTrackResponse), global::LiveKit.Proto.UnpublishTrackResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UnpublishTrackCallback), global::LiveKit.Proto.UnpublishTrackCallback.Parser, new[]{ "Error" }, new[]{ "Error" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UnpublishTrackCallback), global::LiveKit.Proto.UnpublishTrackCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishDataRequest), global::LiveKit.Proto.PublishDataRequest.Parser, new[]{ "LocalParticipantHandle", "DataPtr", "DataLen", "Reliable", "DestinationSids", "Topic", "DestinationIdentities" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishDataResponse), global::LiveKit.Proto.PublishDataResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishDataCallback), global::LiveKit.Proto.PublishDataCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTranscriptionRequest), global::LiveKit.Proto.PublishTranscriptionRequest.Parser, new[]{ "LocalParticipantHandle", "ParticipantIdentity", "TrackId", "Segments" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTranscriptionResponse), global::LiveKit.Proto.PublishTranscriptionResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTranscriptionCallback), global::LiveKit.Proto.PublishTranscriptionCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishSipDtmfRequest), global::LiveKit.Proto.PublishSipDtmfRequest.Parser, new[]{ "LocalParticipantHandle", "Code", "Digit", "DestinationIdentities" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishSipDtmfResponse), global::LiveKit.Proto.PublishSipDtmfResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishSipDtmfCallback), global::LiveKit.Proto.PublishSipDtmfCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalMetadataRequest), global::LiveKit.Proto.SetLocalMetadataRequest.Parser, new[]{ "LocalParticipantHandle", "Metadata" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalMetadataResponse), global::LiveKit.Proto.SetLocalMetadataResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalMetadataCallback), global::LiveKit.Proto.SetLocalMetadataCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendChatMessageRequest), global::LiveKit.Proto.SendChatMessageRequest.Parser, new[]{ "LocalParticipantHandle", "Message", "DestinationIdentities", "SenderIdentity" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.EditChatMessageRequest), global::LiveKit.Proto.EditChatMessageRequest.Parser, new[]{ "LocalParticipantHandle", "EditText", "OriginalMessage", "DestinationIdentities", "SenderIdentity" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendChatMessageResponse), global::LiveKit.Proto.SendChatMessageResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendChatMessageCallback), global::LiveKit.Proto.SendChatMessageCallback.Parser, new[]{ "AsyncId", "Error", "ChatMessage" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalAttributesRequest), global::LiveKit.Proto.SetLocalAttributesRequest.Parser, new[]{ "LocalParticipantHandle", "Attributes" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AttributesEntry), global::LiveKit.Proto.AttributesEntry.Parser, new[]{ "Key", "Value" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalAttributesResponse), global::LiveKit.Proto.SetLocalAttributesResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalAttributesCallback), global::LiveKit.Proto.SetLocalAttributesCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalNameRequest), global::LiveKit.Proto.SetLocalNameRequest.Parser, new[]{ "LocalParticipantHandle", "Name" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalNameResponse), global::LiveKit.Proto.SetLocalNameResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetLocalNameCallback), global::LiveKit.Proto.SetLocalNameCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetSubscribedRequest), global::LiveKit.Proto.SetSubscribedRequest.Parser, new[]{ "Subscribe", "PublicationHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetSubscribedResponse), global::LiveKit.Proto.SetSubscribedResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetSessionStatsRequest), global::LiveKit.Proto.GetSessionStatsRequest.Parser, new[]{ "RoomHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetSessionStatsResponse), global::LiveKit.Proto.GetSessionStatsResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetSessionStatsCallback), global::LiveKit.Proto.GetSessionStatsCallback.Parser, new[]{ "AsyncId", "Error", "Result" }, new[]{ "Message" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetSessionStatsCallback.Types.Result), global::LiveKit.Proto.GetSessionStatsCallback.Types.Result.Parser, new[]{ "PublisherStats", "SubscriberStats" }, null, null, null, null)}), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoEncoding), global::LiveKit.Proto.VideoEncoding.Parser, new[]{ "MaxBitrate", "MaxFramerate" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioEncoding), global::LiveKit.Proto.AudioEncoding.Parser, new[]{ "MaxBitrate" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackPublishOptions), global::LiveKit.Proto.TrackPublishOptions.Parser, new[]{ "VideoEncoding", "AudioEncoding", "VideoCodec", "Dtx", "Red", "Simulcast", "Name", "Source" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomOptions), global::LiveKit.Proto.RoomOptions.Parser, new[]{ "AutoSubscribe", "AdaptiveStream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomEvent), global::LiveKit.Proto.RoomEvent.Parser, new[]{ "RoomHandle", "ParticipantConnected", "ParticipantDisconnected", "TrackPublished", "TrackUnpublished", "TrackSubscribed", "TrackUnsubscribed", "TrackMuted", "TrackUnmuted", "SpeakersChanged", "ConnectionQualityChanged", "DataReceived", "ConnectionStateChanged", "Connected", "Disconnected", "Reconnecting", "Reconnected" }, new[]{ "Message" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomInfo), global::LiveKit.Proto.RoomInfo.Parser, new[]{ "Handle", "Sid", "Name", "Metadata", "LocalParticipant", "Participants" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataReceived), global::LiveKit.Proto.DataReceived.Parser, new[]{ "Handle", "ParticipantSid", "DataPtr", "DataSize", "Kind" }, new[]{ "ParticipantSid" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackSubscribed), global::LiveKit.Proto.TrackSubscribed.Parser, new[]{ "ParticipantSid", "Track" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackUnsubscribed), global::LiveKit.Proto.TrackUnsubscribed.Parser, new[]{ "ParticipantSid", "TrackSid" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackMuted), global::LiveKit.Proto.TrackMuted.Parser, new[]{ "ParticipantSid", "TrackSid" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackUnmuted), global::LiveKit.Proto.TrackUnmuted.Parser, new[]{ "ParticipantSid", "TrackSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackPublishOptions), global::LiveKit.Proto.TrackPublishOptions.Parser, new[]{ "VideoEncoding", "AudioEncoding", "VideoCodec", "Dtx", "Red", "Simulcast", "Source", "Stream" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.IceServer), global::LiveKit.Proto.IceServer.Parser, new[]{ "Urls", "Username", "Password" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcConfig), global::LiveKit.Proto.RtcConfig.Parser, new[]{ "IceTransportType", "ContinualGatheringPolicy", "IceServers" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomOptions), global::LiveKit.Proto.RoomOptions.Parser, new[]{ "AutoSubscribe", "AdaptiveStream", "Dynacast", "E2Ee", "RtcConfig", "JoinRetries" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TranscriptionSegment), global::LiveKit.Proto.TranscriptionSegment.Parser, new[]{ "Id", "Text", "StartTime", "EndTime", "Final", "Language" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.BufferInfo), global::LiveKit.Proto.BufferInfo.Parser, new[]{ "DataPtr", "DataLen" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedBuffer), global::LiveKit.Proto.OwnedBuffer.Parser, new[]{ "Handle", "Data" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomEvent), global::LiveKit.Proto.RoomEvent.Parser, new[]{ "RoomHandle", "ParticipantConnected", "ParticipantDisconnected", "LocalTrackPublished", "LocalTrackUnpublished", "LocalTrackSubscribed", "TrackPublished", "TrackUnpublished", "TrackSubscribed", "TrackUnsubscribed", "TrackSubscriptionFailed", "TrackMuted", "TrackUnmuted", "ActiveSpeakersChanged", "RoomMetadataChanged", "RoomSidChanged", "ParticipantMetadataChanged", "ParticipantNameChanged", "ParticipantAttributesChanged", "ConnectionQualityChanged", "ConnectionStateChanged", "Disconnected", "Reconnecting", "Reconnected", "E2EeStateChanged", "Eos", "DataPacketReceived", "TranscriptionReceived", "ChatMessage", "StreamHeaderReceived", "StreamChunkReceived", "StreamTrailerReceived", "DataChannelLowThresholdChanged", "ByteStreamOpened", "TextStreamOpened" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomInfo), global::LiveKit.Proto.RoomInfo.Parser, new[]{ "Sid", "Name", "Metadata", "LossyDcBufferedAmountLowThreshold", "ReliableDcBufferedAmountLowThreshold" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedRoom), global::LiveKit.Proto.OwnedRoom.Parser, new[]{ "Handle", "Info" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantConnected), global::LiveKit.Proto.ParticipantConnected.Parser, new[]{ "Info" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantDisconnected), global::LiveKit.Proto.ParticipantDisconnected.Parser, new[]{ "Info" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackPublished), global::LiveKit.Proto.TrackPublished.Parser, new[]{ "ParticipantSid", "Publication" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackUnpublished), global::LiveKit.Proto.TrackUnpublished.Parser, new[]{ "ParticipantSid", "PublicationSid" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ActiveSpeakersChanged), global::LiveKit.Proto.ActiveSpeakersChanged.Parser, new[]{ "ParticipantSids" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectionQualityChanged), global::LiveKit.Proto.ConnectionQualityChanged.Parser, new[]{ "ParticipantSid", "Quality" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantDisconnected), global::LiveKit.Proto.ParticipantDisconnected.Parser, new[]{ "ParticipantIdentity", "DisconnectReason" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalTrackPublished), global::LiveKit.Proto.LocalTrackPublished.Parser, new[]{ "TrackSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalTrackUnpublished), global::LiveKit.Proto.LocalTrackUnpublished.Parser, new[]{ "PublicationSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalTrackSubscribed), global::LiveKit.Proto.LocalTrackSubscribed.Parser, new[]{ "TrackSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackPublished), global::LiveKit.Proto.TrackPublished.Parser, new[]{ "ParticipantIdentity", "Publication" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackUnpublished), global::LiveKit.Proto.TrackUnpublished.Parser, new[]{ "ParticipantIdentity", "PublicationSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackSubscribed), global::LiveKit.Proto.TrackSubscribed.Parser, new[]{ "ParticipantIdentity", "Track" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackUnsubscribed), global::LiveKit.Proto.TrackUnsubscribed.Parser, new[]{ "ParticipantIdentity", "TrackSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackSubscriptionFailed), global::LiveKit.Proto.TrackSubscriptionFailed.Parser, new[]{ "ParticipantIdentity", "TrackSid", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackMuted), global::LiveKit.Proto.TrackMuted.Parser, new[]{ "ParticipantIdentity", "TrackSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackUnmuted), global::LiveKit.Proto.TrackUnmuted.Parser, new[]{ "ParticipantIdentity", "TrackSid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.E2eeStateChanged), global::LiveKit.Proto.E2eeStateChanged.Parser, new[]{ "ParticipantIdentity", "State" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ActiveSpeakersChanged), global::LiveKit.Proto.ActiveSpeakersChanged.Parser, new[]{ "ParticipantIdentities" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomMetadataChanged), global::LiveKit.Proto.RoomMetadataChanged.Parser, new[]{ "Metadata" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomSidChanged), global::LiveKit.Proto.RoomSidChanged.Parser, new[]{ "Sid" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantMetadataChanged), global::LiveKit.Proto.ParticipantMetadataChanged.Parser, new[]{ "ParticipantIdentity", "Metadata" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantAttributesChanged), global::LiveKit.Proto.ParticipantAttributesChanged.Parser, new[]{ "ParticipantIdentity", "Attributes", "ChangedAttributes" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantNameChanged), global::LiveKit.Proto.ParticipantNameChanged.Parser, new[]{ "ParticipantIdentity", "Name" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectionQualityChanged), global::LiveKit.Proto.ConnectionQualityChanged.Parser, new[]{ "ParticipantIdentity", "Quality" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UserPacket), global::LiveKit.Proto.UserPacket.Parser, new[]{ "Data", "Topic" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ChatMessage), global::LiveKit.Proto.ChatMessage.Parser, new[]{ "Id", "Timestamp", "Message", "EditTimestamp", "Deleted", "Generated" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ChatMessageReceived), global::LiveKit.Proto.ChatMessageReceived.Parser, new[]{ "Message", "ParticipantIdentity" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SipDTMF), global::LiveKit.Proto.SipDTMF.Parser, new[]{ "Code", "Digit" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataPacketReceived), global::LiveKit.Proto.DataPacketReceived.Parser, new[]{ "Kind", "ParticipantIdentity", "User", "SipDtmf" }, new[]{ "Value" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TranscriptionReceived), global::LiveKit.Proto.TranscriptionReceived.Parser, new[]{ "ParticipantIdentity", "TrackSid", "Segments" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ConnectionStateChanged), global::LiveKit.Proto.ConnectionStateChanged.Parser, new[]{ "State" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.Connected), global::LiveKit.Proto.Connected.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.Disconnected), global::LiveKit.Proto.Disconnected.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.Disconnected), global::LiveKit.Proto.Disconnected.Parser, new[]{ "Reason" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.Reconnecting), global::LiveKit.Proto.Reconnecting.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.Reconnected), global::LiveKit.Proto.Reconnected.Parser, null, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.Reconnected), global::LiveKit.Proto.Reconnected.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomEOS), global::LiveKit.Proto.RoomEOS.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStream), global::LiveKit.Proto.DataStream.Parser, null, null, new[]{ typeof(global::LiveKit.Proto.DataStream.Types.OperationType) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStream.Types.TextHeader), global::LiveKit.Proto.DataStream.Types.TextHeader.Parser, new[]{ "OperationType", "Version", "ReplyToStreamId", "AttachedStreamIds", "Generated" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStream.Types.ByteHeader), global::LiveKit.Proto.DataStream.Types.ByteHeader.Parser, new[]{ "Name" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStream.Types.Header), global::LiveKit.Proto.DataStream.Types.Header.Parser, new[]{ "StreamId", "Timestamp", "MimeType", "Topic", "TotalLength", "Attributes", "TextHeader", "ByteHeader" }, new[]{ "ContentHeader" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStream.Types.Chunk), global::LiveKit.Proto.DataStream.Types.Chunk.Parser, new[]{ "StreamId", "ChunkIndex", "Content", "Version", "Iv" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStream.Types.Trailer), global::LiveKit.Proto.DataStream.Types.Trailer.Parser, new[]{ "StreamId", "Reason", "Attributes" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, })}), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStreamHeaderReceived), global::LiveKit.Proto.DataStreamHeaderReceived.Parser, new[]{ "ParticipantIdentity", "Header" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStreamChunkReceived), global::LiveKit.Proto.DataStreamChunkReceived.Parser, new[]{ "ParticipantIdentity", "Chunk" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataStreamTrailerReceived), global::LiveKit.Proto.DataStreamTrailerReceived.Parser, new[]{ "ParticipantIdentity", "Trailer" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamHeaderRequest), global::LiveKit.Proto.SendStreamHeaderRequest.Parser, new[]{ "LocalParticipantHandle", "Header", "DestinationIdentities", "SenderIdentity" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamChunkRequest), global::LiveKit.Proto.SendStreamChunkRequest.Parser, new[]{ "LocalParticipantHandle", "Chunk", "DestinationIdentities", "SenderIdentity" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamTrailerRequest), global::LiveKit.Proto.SendStreamTrailerRequest.Parser, new[]{ "LocalParticipantHandle", "Trailer", "DestinationIdentities", "SenderIdentity" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamHeaderResponse), global::LiveKit.Proto.SendStreamHeaderResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamChunkResponse), global::LiveKit.Proto.SendStreamChunkResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamTrailerResponse), global::LiveKit.Proto.SendStreamTrailerResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamHeaderCallback), global::LiveKit.Proto.SendStreamHeaderCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamChunkCallback), global::LiveKit.Proto.SendStreamChunkCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamTrailerCallback), global::LiveKit.Proto.SendStreamTrailerCallback.Parser, new[]{ "AsyncId", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest), global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdRequest.Parser, new[]{ "LocalParticipantHandle", "Threshold", "Kind" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse), global::LiveKit.Proto.SetDataChannelBufferedAmountLowThresholdResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged), global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged.Parser, new[]{ "Kind", "Threshold" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ByteStreamOpened), global::LiveKit.Proto.ByteStreamOpened.Parser, new[]{ "Reader", "ParticipantIdentity" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamOpened), global::LiveKit.Proto.TextStreamOpened.Parser, new[]{ "Reader", "ParticipantIdentity" }, null, null, null, null) })); } #endregion } #region Enums + public enum IceTransportType { + [pbr::OriginalName("TRANSPORT_RELAY")] TransportRelay = 0, + [pbr::OriginalName("TRANSPORT_NOHOST")] TransportNohost = 1, + [pbr::OriginalName("TRANSPORT_ALL")] TransportAll = 2, + } + + public enum ContinualGatheringPolicy { + [pbr::OriginalName("GATHER_ONCE")] GatherOnce = 0, + [pbr::OriginalName("GATHER_CONTINUALLY")] GatherContinually = 1, + } + public enum ConnectionQuality { [pbr::OriginalName("QUALITY_POOR")] QualityPoor = 0, [pbr::OriginalName("QUALITY_GOOD")] QualityGood = 1, [pbr::OriginalName("QUALITY_EXCELLENT")] QualityExcellent = 2, + [pbr::OriginalName("QUALITY_LOST")] QualityLost = 3, } public enum ConnectionState { [pbr::OriginalName("CONN_DISCONNECTED")] ConnDisconnected = 0, [pbr::OriginalName("CONN_CONNECTED")] ConnConnected = 1, [pbr::OriginalName("CONN_RECONNECTING")] ConnReconnecting = 2, - [pbr::OriginalName("CONN_UNKNOWN")] ConnUnknown = 3, } public enum DataPacketKind { - [pbr::OriginalName("KIND_UNRELIABLE")] KindUnreliable = 0, + [pbr::OriginalName("KIND_LOSSY")] KindLossy = 0, [pbr::OriginalName("KIND_RELIABLE")] KindReliable = 1, } @@ -179,6 +460,7 @@ public enum DataPacketKind { /// /// Connect to a new LiveKit room /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ConnectRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -227,27 +509,55 @@ public ConnectRequest Clone() { /// Field number for the "url" field. public const int UrlFieldNumber = 1; - private string url_ = ""; + private readonly static string UrlDefaultValue = ""; + + private string url_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Url { - get { return url_; } + get { return url_ ?? UrlDefaultValue; } set { url_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "url" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasUrl { + get { return url_ != null; } + } + /// Clears the value of the "url" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearUrl() { + url_ = null; + } /// Field number for the "token" field. public const int TokenFieldNumber = 2; - private string token_ = ""; + private readonly static string TokenDefaultValue = ""; + + private string token_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Token { - get { return token_; } + get { return token_ ?? TokenDefaultValue; } set { token_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "token" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasToken { + get { return token_ != null; } + } + /// Clears the value of the "token" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearToken() { + token_ = null; + } /// Field number for the "options" field. public const int OptionsFieldNumber = 3; @@ -286,8 +596,8 @@ public bool Equals(ConnectRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Url.Length != 0) hash ^= Url.GetHashCode(); - if (Token.Length != 0) hash ^= Token.GetHashCode(); + if (HasUrl) hash ^= Url.GetHashCode(); + if (HasToken) hash ^= Token.GetHashCode(); if (options_ != null) hash ^= Options.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -307,11 +617,11 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Url.Length != 0) { + if (HasUrl) { output.WriteRawTag(10); output.WriteString(Url); } - if (Token.Length != 0) { + if (HasToken) { output.WriteRawTag(18); output.WriteString(Token); } @@ -329,11 +639,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Url.Length != 0) { + if (HasUrl) { output.WriteRawTag(10); output.WriteString(Url); } - if (Token.Length != 0) { + if (HasToken) { output.WriteRawTag(18); output.WriteString(Token); } @@ -351,10 +661,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Url.Length != 0) { + if (HasUrl) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Url); } - if (Token.Length != 0) { + if (HasToken) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Token); } if (options_ != null) { @@ -372,10 +682,10 @@ public void MergeFrom(ConnectRequest other) { if (other == null) { return; } - if (other.Url.Length != 0) { + if (other.HasUrl) { Url = other.Url; } - if (other.Token.Length != 0) { + if (other.HasToken) { Token = other.Token; } if (other.options_ != null) { @@ -395,7 +705,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -425,7 +739,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -451,6 +769,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ConnectResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -458,6 +777,7 @@ public sealed partial class ConnectResponse : pb::IMessage { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConnectResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -485,7 +805,8 @@ public ConnectResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public ConnectResponse(ConnectResponse other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -497,15 +818,30 @@ public ConnectResponse Clone() { /// Field number for the "async_id" field. public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { + _hasBits0 |= 1; asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -522,7 +858,7 @@ public bool Equals(ConnectResponse other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -530,7 +866,7 @@ public bool Equals(ConnectResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -549,9 +885,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -563,9 +899,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -577,8 +913,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -592,11 +928,8 @@ public void MergeFrom(ConnectResponse other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -609,15 +942,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -631,15 +965,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -649,6 +984,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class ConnectCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -656,6 +992,7 @@ public sealed partial class ConnectCallback : pb::IMessage { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConnectCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -683,9 +1020,17 @@ public ConnectCallback() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public ConnectCallback(ConnectCallback other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; - error_ = other.error_; - room_ = other.room_ != null ? other.room_.Clone() : null; + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Result: + Result = other.Result.Clone(); + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -697,52 +1042,90 @@ public ConnectCallback Clone() { /// Field number for the "async_id" field. public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { + _hasBits0 |= 1; asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } /// Field number for the "error" field. public const int ErrorFieldNumber = 2; - private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Error { - get { return error_ ?? ""; } + get { return HasError ? (string) message_ : ""; } set { - error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + messageCase_ = MessageOneofCase.Error; } } /// Gets whether the "error" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasError { - get { return error_ != null; } + get { return messageCase_ == MessageOneofCase.Error; } } - /// Clears the value of the "error" field + /// Clears the value of the oneof if it's currently set to "error" [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearError() { - error_ = null; + if (HasError) { + ClearMessage(); + } } - /// Field number for the "room" field. - public const int RoomFieldNumber = 3; - private global::LiveKit.Proto.RoomInfo room_; + /// Field number for the "result" field. + public const int ResultFieldNumber = 3; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.RoomInfo Room { - get { return room_; } + public global::LiveKit.Proto.ConnectCallback.Types.Result Result { + get { return messageCase_ == MessageOneofCase.Result ? (global::LiveKit.Proto.ConnectCallback.Types.Result) message_ : null; } set { - room_ = value; + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Result; } } + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Error = 2, + Result = 3, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -758,9 +1141,10 @@ public bool Equals(ConnectCallback other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if (AsyncId != other.AsyncId) return false; if (Error != other.Error) return false; - if (!object.Equals(Room, other.Room)) return false; + if (!object.Equals(Result, other.Result)) return false; + if (MessageCase != other.MessageCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -768,9 +1152,10 @@ public bool Equals(ConnectCallback other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (HasError) hash ^= Error.GetHashCode(); - if (room_ != null) hash ^= Room.GetHashCode(); + if (messageCase_ == MessageOneofCase.Result) hash ^= Result.GetHashCode(); + hash ^= (int) messageCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -789,17 +1174,17 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (HasError) { output.WriteRawTag(18); output.WriteString(Error); } - if (room_ != null) { + if (messageCase_ == MessageOneofCase.Result) { output.WriteRawTag(26); - output.WriteMessage(Room); + output.WriteMessage(Result); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -811,17 +1196,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (HasError) { output.WriteRawTag(18); output.WriteString(Error); } - if (room_ != null) { + if (messageCase_ == MessageOneofCase.Result) { output.WriteRawTag(26); - output.WriteMessage(Room); + output.WriteMessage(Result); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -833,14 +1218,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (HasError) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } - if (room_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Room); + if (messageCase_ == MessageOneofCase.Result) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -854,21 +1239,21 @@ public void MergeFrom(ConnectCallback other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); - } - if (other.HasError) { - Error = other.Error; + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } - if (other.room_ != null) { - if (room_ == null) { - Room = new global::LiveKit.Proto.RoomInfo(); - } - Room.MergeFrom(other.Room); + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Result: + if (Result == null) { + Result = new global::LiveKit.Proto.ConnectCallback.Types.Result(); + } + Result.MergeFrom(other.Result); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -880,15 +1265,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { @@ -896,10 +1282,12 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 26: { - if (room_ == null) { - Room = new global::LiveKit.Proto.RoomInfo(); + global::LiveKit.Proto.ConnectCallback.Types.Result subBuilder = new global::LiveKit.Proto.ConnectCallback.Types.Result(); + if (messageCase_ == MessageOneofCase.Result) { + subBuilder.MergeFrom(Result); } - input.ReadMessage(Room); + input.ReadMessage(subBuilder); + Result = subBuilder; break; } } @@ -913,15 +1301,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { @@ -929,10 +1318,12 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 26: { - if (room_ == null) { - Room = new global::LiveKit.Proto.RoomInfo(); + global::LiveKit.Proto.ConnectCallback.Types.Result subBuilder = new global::LiveKit.Proto.ConnectCallback.Types.Result(); + if (messageCase_ == MessageOneofCase.Result) { + subBuilder.MergeFrom(Result); } - input.ReadMessage(Room); + input.ReadMessage(subBuilder); + Result = subBuilder; break; } } @@ -940,11 +1331,536 @@ public void MergeFrom(pb::CodedInputStream input) { } #endif + #region Nested types + /// Container for nested types declared in the ConnectCallback message type. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ParticipantWithTracks : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantWithTracks()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.ConnectCallback.Descriptor.NestedTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantWithTracks() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantWithTracks(ParticipantWithTracks other) : this() { + participant_ = other.participant_ != null ? other.participant_.Clone() : null; + publications_ = other.publications_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantWithTracks Clone() { + return new ParticipantWithTracks(this); + } + + /// Field number for the "participant" field. + public const int ParticipantFieldNumber = 1; + private global::LiveKit.Proto.OwnedParticipant participant_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedParticipant Participant { + get { return participant_; } + set { + participant_ = value; + } + } + + /// Field number for the "publications" field. + public const int PublicationsFieldNumber = 2; + private static readonly pb::FieldCodec _repeated_publications_codec + = pb::FieldCodec.ForMessage(18, global::LiveKit.Proto.OwnedTrackPublication.Parser); + private readonly pbc::RepeatedField publications_ = new pbc::RepeatedField(); + /// + /// TrackInfo are not needed here, if we're subscribed to a track, the FfiServer will send + /// a TrackSubscribed event + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Publications { + get { return publications_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ParticipantWithTracks); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ParticipantWithTracks other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Participant, other.Participant)) return false; + if(!publications_.Equals(other.publications_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (participant_ != null) hash ^= Participant.GetHashCode(); + hash ^= publications_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (participant_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Participant); + } + publications_.WriteTo(output, _repeated_publications_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (participant_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Participant); + } + publications_.WriteTo(ref output, _repeated_publications_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (participant_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Participant); + } + size += publications_.CalculateSize(_repeated_publications_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ParticipantWithTracks other) { + if (other == null) { + return; + } + if (other.participant_ != null) { + if (participant_ == null) { + Participant = new global::LiveKit.Proto.OwnedParticipant(); + } + Participant.MergeFrom(other.Participant); + } + publications_.Add(other.publications_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (participant_ == null) { + Participant = new global::LiveKit.Proto.OwnedParticipant(); + } + input.ReadMessage(Participant); + break; + } + case 18: { + publications_.AddEntriesFrom(input, _repeated_publications_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (participant_ == null) { + Participant = new global::LiveKit.Proto.OwnedParticipant(); + } + input.ReadMessage(Participant); + break; + } + case 18: { + publications_.AddEntriesFrom(ref input, _repeated_publications_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Result : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Result()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.ConnectCallback.Descriptor.NestedTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Result() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Result(Result other) : this() { + room_ = other.room_ != null ? other.room_.Clone() : null; + localParticipant_ = other.localParticipant_ != null ? other.localParticipant_.Clone() : null; + participants_ = other.participants_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Result Clone() { + return new Result(this); + } + + /// Field number for the "room" field. + public const int RoomFieldNumber = 1; + private global::LiveKit.Proto.OwnedRoom room_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedRoom Room { + get { return room_; } + set { + room_ = value; + } + } + + /// Field number for the "local_participant" field. + public const int LocalParticipantFieldNumber = 2; + private global::LiveKit.Proto.OwnedParticipant localParticipant_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedParticipant LocalParticipant { + get { return localParticipant_; } + set { + localParticipant_ = value; + } + } + + /// Field number for the "participants" field. + public const int ParticipantsFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_participants_codec + = pb::FieldCodec.ForMessage(26, global::LiveKit.Proto.ConnectCallback.Types.ParticipantWithTracks.Parser); + private readonly pbc::RepeatedField participants_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Participants { + get { return participants_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Result); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Result other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Room, other.Room)) return false; + if (!object.Equals(LocalParticipant, other.LocalParticipant)) return false; + if(!participants_.Equals(other.participants_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (room_ != null) hash ^= Room.GetHashCode(); + if (localParticipant_ != null) hash ^= LocalParticipant.GetHashCode(); + hash ^= participants_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (room_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Room); + } + if (localParticipant_ != null) { + output.WriteRawTag(18); + output.WriteMessage(LocalParticipant); + } + participants_.WriteTo(output, _repeated_participants_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (room_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Room); + } + if (localParticipant_ != null) { + output.WriteRawTag(18); + output.WriteMessage(LocalParticipant); + } + participants_.WriteTo(ref output, _repeated_participants_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (room_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Room); + } + if (localParticipant_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalParticipant); + } + size += participants_.CalculateSize(_repeated_participants_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Result other) { + if (other == null) { + return; + } + if (other.room_ != null) { + if (room_ == null) { + Room = new global::LiveKit.Proto.OwnedRoom(); + } + Room.MergeFrom(other.Room); + } + if (other.localParticipant_ != null) { + if (localParticipant_ == null) { + LocalParticipant = new global::LiveKit.Proto.OwnedParticipant(); + } + LocalParticipant.MergeFrom(other.LocalParticipant); + } + participants_.Add(other.participants_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (room_ == null) { + Room = new global::LiveKit.Proto.OwnedRoom(); + } + input.ReadMessage(Room); + break; + } + case 18: { + if (localParticipant_ == null) { + LocalParticipant = new global::LiveKit.Proto.OwnedParticipant(); + } + input.ReadMessage(LocalParticipant); + break; + } + case 26: { + participants_.AddEntriesFrom(input, _repeated_participants_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (room_ == null) { + Room = new global::LiveKit.Proto.OwnedRoom(); + } + input.ReadMessage(Room); + break; + } + case 18: { + if (localParticipant_ == null) { + LocalParticipant = new global::LiveKit.Proto.OwnedParticipant(); + } + input.ReadMessage(LocalParticipant); + break; + } + case 26: { + participants_.AddEntriesFrom(ref input, _repeated_participants_codec); + break; + } + } + } + } + #endif + + } + + } + #endregion + } /// /// Disconnect from the a room /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class DisconnectRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -952,6 +1868,7 @@ public sealed partial class DisconnectRequest : pb::IMessage { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DisconnectRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -979,7 +1896,8 @@ public DisconnectRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public DisconnectRequest(DisconnectRequest other) : this() { - roomHandle_ = other.roomHandle_ != null ? other.roomHandle_.Clone() : null; + _hasBits0 = other._hasBits0; + roomHandle_ = other.roomHandle_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -991,15 +1909,30 @@ public DisconnectRequest Clone() { /// Field number for the "room_handle" field. public const int RoomHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId roomHandle_; + private readonly static ulong RoomHandleDefaultValue = 0UL; + + private ulong roomHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId RoomHandle { - get { return roomHandle_; } + public ulong RoomHandle { + get { if ((_hasBits0 & 1) != 0) { return roomHandle_; } else { return RoomHandleDefaultValue; } } set { + _hasBits0 |= 1; roomHandle_ = value; } } + /// Gets whether the "room_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoomHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "room_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoomHandle() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1016,7 +1949,7 @@ public bool Equals(DisconnectRequest other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(RoomHandle, other.RoomHandle)) return false; + if (RoomHandle != other.RoomHandle) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1024,7 +1957,7 @@ public bool Equals(DisconnectRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (roomHandle_ != null) hash ^= RoomHandle.GetHashCode(); + if (HasRoomHandle) hash ^= RoomHandle.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1043,9 +1976,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1057,9 +1990,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1071,8 +2004,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (roomHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomHandle); + if (HasRoomHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoomHandle); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1086,11 +2019,8 @@ public void MergeFrom(DisconnectRequest other) { if (other == null) { return; } - if (other.roomHandle_ != null) { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - RoomHandle.MergeFrom(other.RoomHandle); + if (other.HasRoomHandle) { + RoomHandle = other.RoomHandle; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1103,15 +2033,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + RoomHandle = input.ReadUInt64(); break; } } @@ -1125,15 +2056,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + RoomHandle = input.ReadUInt64(); break; } } @@ -1143,6 +2075,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class DisconnectResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1150,6 +2083,7 @@ public sealed partial class DisconnectResponse : pb::IMessage _parser = new pb::MessageParser(() => new DisconnectResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1177,7 +2111,8 @@ public DisconnectResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public DisconnectResponse(DisconnectResponse other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1189,15 +2124,30 @@ public DisconnectResponse Clone() { /// Field number for the "async_id" field. public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { + _hasBits0 |= 1; asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1214,7 +2164,7 @@ public bool Equals(DisconnectResponse other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1222,7 +2172,7 @@ public bool Equals(DisconnectResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1241,9 +2191,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1255,9 +2205,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1269,8 +2219,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1284,11 +2234,8 @@ public void MergeFrom(DisconnectResponse other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1301,15 +2248,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -1323,15 +2271,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -1341,6 +2290,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class DisconnectCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1348,6 +2298,7 @@ public sealed partial class DisconnectCallback : pb::IMessage _parser = new pb::MessageParser(() => new DisconnectCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1375,6 +2326,8 @@ public DisconnectCallback() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public DisconnectCallback(DisconnectCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1384,6 +2337,33 @@ public DisconnectCallback Clone() { return new DisconnectCallback(this); } + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -1399,6 +2379,7 @@ public bool Equals(DisconnectCallback other) { if (ReferenceEquals(other, this)) { return true; } + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1406,6 +2387,7 @@ public bool Equals(DisconnectCallback other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1424,6 +2406,10 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1434,6 +2420,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1444,6 +2434,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1456,6 +2449,9 @@ public void MergeFrom(DisconnectCallback other) { if (other == null) { return; } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1467,10 +2463,18 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } } } #endif @@ -1482,10 +2486,18 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } } } } @@ -1496,6 +2508,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Publish a track to the room /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class PublishTrackRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1503,6 +2516,7 @@ public sealed partial class PublishTrackRequest : pb::IMessage _parser = new pb::MessageParser(() => new PublishTrackRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1530,8 +2544,9 @@ public PublishTrackRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public PublishTrackRequest(PublishTrackRequest other) : this() { - roomHandle_ = other.roomHandle_ != null ? other.roomHandle_.Clone() : null; - trackHandle_ = other.trackHandle_ != null ? other.trackHandle_.Clone() : null; + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + trackHandle_ = other.trackHandle_; options_ = other.options_ != null ? other.options_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1542,29 +2557,59 @@ public PublishTrackRequest Clone() { return new PublishTrackRequest(this); } - /// Field number for the "room_handle" field. - public const int RoomHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId roomHandle_; + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId RoomHandle { - get { return roomHandle_; } + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } set { - roomHandle_ = value; + _hasBits0 |= 1; + localParticipantHandle_ = value; } } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } /// Field number for the "track_handle" field. public const int TrackHandleFieldNumber = 2; - private global::LiveKit.Proto.FFIHandleId trackHandle_; + private readonly static ulong TrackHandleDefaultValue = 0UL; + + private ulong trackHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId TrackHandle { - get { return trackHandle_; } + public ulong TrackHandle { + get { if ((_hasBits0 & 2) != 0) { return trackHandle_; } else { return TrackHandleDefaultValue; } } set { + _hasBits0 |= 2; trackHandle_ = value; } } + /// Gets whether the "track_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackHandle { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "track_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackHandle() { + _hasBits0 &= ~2; + } /// Field number for the "options" field. public const int OptionsFieldNumber = 3; @@ -1593,8 +2638,8 @@ public bool Equals(PublishTrackRequest other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(RoomHandle, other.RoomHandle)) return false; - if (!object.Equals(TrackHandle, other.TrackHandle)) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (TrackHandle != other.TrackHandle) return false; if (!object.Equals(Options, other.Options)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1603,8 +2648,8 @@ public bool Equals(PublishTrackRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (roomHandle_ != null) hash ^= RoomHandle.GetHashCode(); - if (trackHandle_ != null) hash ^= TrackHandle.GetHashCode(); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasTrackHandle) hash ^= TrackHandle.GetHashCode(); if (options_ != null) hash ^= Options.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -1624,13 +2669,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (trackHandle_ != null) { - output.WriteRawTag(18); - output.WriteMessage(TrackHandle); + if (HasTrackHandle) { + output.WriteRawTag(16); + output.WriteUInt64(TrackHandle); } if (options_ != null) { output.WriteRawTag(26); @@ -1646,13 +2691,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (trackHandle_ != null) { - output.WriteRawTag(18); - output.WriteMessage(TrackHandle); + if (HasTrackHandle) { + output.WriteRawTag(16); + output.WriteUInt64(TrackHandle); } if (options_ != null) { output.WriteRawTag(26); @@ -1668,11 +2713,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (roomHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomHandle); + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); } - if (trackHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackHandle); + if (HasTrackHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle); } if (options_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); @@ -1689,17 +2734,11 @@ public void MergeFrom(PublishTrackRequest other) { if (other == null) { return; } - if (other.roomHandle_ != null) { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - RoomHandle.MergeFrom(other.RoomHandle); + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; } - if (other.trackHandle_ != null) { - if (trackHandle_ == null) { - TrackHandle = new global::LiveKit.Proto.FFIHandleId(); - } - TrackHandle.MergeFrom(other.TrackHandle); + if (other.HasTrackHandle) { + TrackHandle = other.TrackHandle; } if (other.options_ != null) { if (options_ == null) { @@ -1718,22 +2757,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } - case 18: { - if (trackHandle_ == null) { - TrackHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(TrackHandle); + case 16: { + TrackHandle = input.ReadUInt64(); break; } case 26: { @@ -1754,22 +2791,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } - case 18: { - if (trackHandle_ == null) { - TrackHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(TrackHandle); + case 16: { + TrackHandle = input.ReadUInt64(); break; } case 26: { @@ -1786,6 +2821,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class PublishTrackResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1793,6 +2829,7 @@ public sealed partial class PublishTrackResponse : pb::IMessage _parser = new pb::MessageParser(() => new PublishTrackResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1820,7 +2857,8 @@ public PublishTrackResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public PublishTrackResponse(PublishTrackResponse other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1832,15 +2870,30 @@ public PublishTrackResponse Clone() { /// Field number for the "async_id" field. public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { + _hasBits0 |= 1; asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1857,7 +2910,7 @@ public bool Equals(PublishTrackResponse other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1865,7 +2918,7 @@ public bool Equals(PublishTrackResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1884,9 +2937,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1898,9 +2951,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1912,8 +2965,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1927,11 +2980,8 @@ public void MergeFrom(PublishTrackResponse other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1944,15 +2994,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -1966,15 +3017,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -1984,6 +3036,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class PublishTrackCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1991,6 +3044,7 @@ public sealed partial class PublishTrackCallback : pb::IMessage _parser = new pb::MessageParser(() => new PublishTrackCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -2018,9 +3072,17 @@ public PublishTrackCallback() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public PublishTrackCallback(PublishTrackCallback other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; - error_ = other.error_; - publication_ = other.publication_ != null ? other.publication_.Clone() : null; + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Publication: + Publication = other.Publication.Clone(); + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2032,52 +3094,90 @@ public PublishTrackCallback Clone() { /// Field number for the "async_id" field. public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { + _hasBits0 |= 1; asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } /// Field number for the "error" field. public const int ErrorFieldNumber = 2; - private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Error { - get { return error_ ?? ""; } + get { return HasError ? (string) message_ : ""; } set { - error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + messageCase_ = MessageOneofCase.Error; } } /// Gets whether the "error" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasError { - get { return error_ != null; } + get { return messageCase_ == MessageOneofCase.Error; } } - /// Clears the value of the "error" field + /// Clears the value of the oneof if it's currently set to "error" [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearError() { - error_ = null; + if (HasError) { + ClearMessage(); + } } /// Field number for the "publication" field. public const int PublicationFieldNumber = 3; - private global::LiveKit.Proto.TrackPublicationInfo publication_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackPublicationInfo Publication { - get { return publication_; } + public global::LiveKit.Proto.OwnedTrackPublication Publication { + get { return messageCase_ == MessageOneofCase.Publication ? (global::LiveKit.Proto.OwnedTrackPublication) message_ : null; } set { - publication_ = value; + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Publication; } } + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Error = 2, + Publication = 3, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -2093,9 +3193,10 @@ public bool Equals(PublishTrackCallback other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if (AsyncId != other.AsyncId) return false; if (Error != other.Error) return false; if (!object.Equals(Publication, other.Publication)) return false; + if (MessageCase != other.MessageCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2103,9 +3204,10 @@ public bool Equals(PublishTrackCallback other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (HasError) hash ^= Error.GetHashCode(); - if (publication_ != null) hash ^= Publication.GetHashCode(); + if (messageCase_ == MessageOneofCase.Publication) hash ^= Publication.GetHashCode(); + hash ^= (int) messageCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2124,15 +3226,15 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (HasError) { output.WriteRawTag(18); output.WriteString(Error); } - if (publication_ != null) { + if (messageCase_ == MessageOneofCase.Publication) { output.WriteRawTag(26); output.WriteMessage(Publication); } @@ -2146,15 +3248,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (HasError) { output.WriteRawTag(18); output.WriteString(Error); } - if (publication_ != null) { + if (messageCase_ == MessageOneofCase.Publication) { output.WriteRawTag(26); output.WriteMessage(Publication); } @@ -2168,13 +3270,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (HasError) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } - if (publication_ != null) { + if (messageCase_ == MessageOneofCase.Publication) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Publication); } if (_unknownFields != null) { @@ -2189,21 +3291,21 @@ public void MergeFrom(PublishTrackCallback other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); - } - if (other.HasError) { - Error = other.Error; + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } - if (other.publication_ != null) { - if (publication_ == null) { - Publication = new global::LiveKit.Proto.TrackPublicationInfo(); - } - Publication.MergeFrom(other.Publication); + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Publication: + if (Publication == null) { + Publication = new global::LiveKit.Proto.OwnedTrackPublication(); + } + Publication.MergeFrom(other.Publication); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2215,15 +3317,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { @@ -2231,10 +3334,12 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 26: { - if (publication_ == null) { - Publication = new global::LiveKit.Proto.TrackPublicationInfo(); + global::LiveKit.Proto.OwnedTrackPublication subBuilder = new global::LiveKit.Proto.OwnedTrackPublication(); + if (messageCase_ == MessageOneofCase.Publication) { + subBuilder.MergeFrom(Publication); } - input.ReadMessage(Publication); + input.ReadMessage(subBuilder); + Publication = subBuilder; break; } } @@ -2248,15 +3353,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { @@ -2264,10 +3370,12 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 26: { - if (publication_ == null) { - Publication = new global::LiveKit.Proto.TrackPublicationInfo(); + global::LiveKit.Proto.OwnedTrackPublication subBuilder = new global::LiveKit.Proto.OwnedTrackPublication(); + if (messageCase_ == MessageOneofCase.Publication) { + subBuilder.MergeFrom(Publication); } - input.ReadMessage(Publication); + input.ReadMessage(subBuilder); + Publication = subBuilder; break; } } @@ -2280,6 +3388,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Unpublish a track from the room /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class UnpublishTrackRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2287,6 +3396,7 @@ public sealed partial class UnpublishTrackRequest : pb::IMessage _parser = new pb::MessageParser(() => new UnpublishTrackRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -2314,7 +3424,8 @@ public UnpublishTrackRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public UnpublishTrackRequest(UnpublishTrackRequest other) : this() { - roomHandle_ = other.roomHandle_ != null ? other.roomHandle_.Clone() : null; + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; trackSid_ = other.trackSid_; stopOnUnpublish_ = other.stopOnUnpublish_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -2326,41 +3437,85 @@ public UnpublishTrackRequest Clone() { return new UnpublishTrackRequest(this); } - /// Field number for the "room_handle" field. - public const int RoomHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId roomHandle_; + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId RoomHandle { - get { return roomHandle_; } + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } set { - roomHandle_ = value; + _hasBits0 |= 1; + localParticipantHandle_ = value; } } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } /// Field number for the "track_sid" field. public const int TrackSidFieldNumber = 2; - private string trackSid_ = ""; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string TrackSid { - get { return trackSid_; } + get { return trackSid_ ?? TrackSidDefaultValue; } set { trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } /// Field number for the "stop_on_unpublish" field. public const int StopOnUnpublishFieldNumber = 3; + private readonly static bool StopOnUnpublishDefaultValue = false; + private bool stopOnUnpublish_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool StopOnUnpublish { - get { return stopOnUnpublish_; } + get { if ((_hasBits0 & 2) != 0) { return stopOnUnpublish_; } else { return StopOnUnpublishDefaultValue; } } set { + _hasBits0 |= 2; stopOnUnpublish_ = value; } } + /// Gets whether the "stop_on_unpublish" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStopOnUnpublish { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "stop_on_unpublish" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStopOnUnpublish() { + _hasBits0 &= ~2; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2377,7 +3532,7 @@ public bool Equals(UnpublishTrackRequest other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(RoomHandle, other.RoomHandle)) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; if (TrackSid != other.TrackSid) return false; if (StopOnUnpublish != other.StopOnUnpublish) return false; return Equals(_unknownFields, other._unknownFields); @@ -2387,9 +3542,9 @@ public bool Equals(UnpublishTrackRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (roomHandle_ != null) hash ^= RoomHandle.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); - if (StopOnUnpublish != false) hash ^= StopOnUnpublish.GetHashCode(); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (HasStopOnUnpublish) hash ^= StopOnUnpublish.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2408,15 +3563,15 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (HasTrackSid) { output.WriteRawTag(18); output.WriteString(TrackSid); } - if (StopOnUnpublish != false) { + if (HasStopOnUnpublish) { output.WriteRawTag(24); output.WriteBool(StopOnUnpublish); } @@ -2430,15 +3585,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (HasTrackSid) { output.WriteRawTag(18); output.WriteString(TrackSid); } - if (StopOnUnpublish != false) { + if (HasStopOnUnpublish) { output.WriteRawTag(24); output.WriteBool(StopOnUnpublish); } @@ -2452,13 +3607,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (roomHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomHandle); + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (HasTrackSid) { size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); } - if (StopOnUnpublish != false) { + if (HasStopOnUnpublish) { size += 1 + 1; } if (_unknownFields != null) { @@ -2473,16 +3628,13 @@ public void MergeFrom(UnpublishTrackRequest other) { if (other == null) { return; } - if (other.roomHandle_ != null) { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - RoomHandle.MergeFrom(other.RoomHandle); + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; } - if (other.TrackSid.Length != 0) { + if (other.HasTrackSid) { TrackSid = other.TrackSid; } - if (other.StopOnUnpublish != false) { + if (other.HasStopOnUnpublish) { StopOnUnpublish = other.StopOnUnpublish; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); @@ -2496,15 +3648,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { @@ -2526,15 +3679,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { @@ -2552,6 +3706,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class UnpublishTrackResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2559,6 +3714,7 @@ public sealed partial class UnpublishTrackResponse : pb::IMessage _parser = new pb::MessageParser(() => new UnpublishTrackResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -2586,7 +3742,8 @@ public UnpublishTrackResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public UnpublishTrackResponse(UnpublishTrackResponse other) : this() { - asyncId_ = other.asyncId_ != null ? other.asyncId_.Clone() : null; + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2598,15 +3755,30 @@ public UnpublishTrackResponse Clone() { /// Field number for the "async_id" field. public const int AsyncIdFieldNumber = 1; - private global::LiveKit.Proto.FFIAsyncId asyncId_; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIAsyncId AsyncId { - get { return asyncId_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { + _hasBits0 |= 1; asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2623,7 +3795,7 @@ public bool Equals(UnpublishTrackResponse other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(AsyncId, other.AsyncId)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2631,7 +3803,7 @@ public bool Equals(UnpublishTrackResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (asyncId_ != null) hash ^= AsyncId.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2650,9 +3822,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -2664,9 +3836,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (asyncId_ != null) { - output.WriteRawTag(10); - output.WriteMessage(AsyncId); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -2678,8 +3850,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (asyncId_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AsyncId); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -2693,11 +3865,8 @@ public void MergeFrom(UnpublishTrackResponse other) { if (other == null) { return; } - if (other.asyncId_ != null) { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - AsyncId.MergeFrom(other.AsyncId); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2710,15 +3879,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -2732,15 +3902,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (asyncId_ == null) { - AsyncId = new global::LiveKit.Proto.FFIAsyncId(); - } - input.ReadMessage(AsyncId); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -2750,6 +3921,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class UnpublishTrackCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -2757,6 +3929,7 @@ public sealed partial class UnpublishTrackCallback : pb::IMessage _parser = new pb::MessageParser(() => new UnpublishTrackCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -2784,6 +3957,8 @@ public UnpublishTrackCallback() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public UnpublishTrackCallback(UnpublishTrackCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; error_ = other.error_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -2794,13 +3969,42 @@ public UnpublishTrackCallback Clone() { return new UnpublishTrackCallback(this); } + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + /// Field number for the "error" field. - public const int ErrorFieldNumber = 1; + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Error { - get { return error_ ?? ""; } + get { return error_ ?? ErrorDefaultValue; } set { error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } @@ -2833,6 +4037,7 @@ public bool Equals(UnpublishTrackCallback other) { if (ReferenceEquals(other, this)) { return true; } + if (AsyncId != other.AsyncId) return false; if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2841,6 +4046,7 @@ public bool Equals(UnpublishTrackCallback other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -2860,8 +4066,12 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (HasError) { - output.WriteRawTag(10); + output.WriteRawTag(18); output.WriteString(Error); } if (_unknownFields != null) { @@ -2874,8 +4084,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } if (HasError) { - output.WriteRawTag(10); + output.WriteRawTag(18); output.WriteString(Error); } if (_unknownFields != null) { @@ -2888,6 +4102,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } if (HasError) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } @@ -2903,6 +4120,9 @@ public void MergeFrom(UnpublishTrackCallback other) { if (other == null) { return; } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } if (other.HasError) { Error = other.Error; } @@ -2917,11 +4137,19 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { Error = input.ReadString(); break; } @@ -2936,11 +4164,19 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { Error = input.ReadString(); break; } @@ -2951,16 +4187,21 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class VideoEncoding : pb::IMessage + /// + /// Publish data to other participants + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishDataRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoEncoding()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishDataRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2976,7 +4217,7 @@ public sealed partial class VideoEncoding : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoEncoding() { + public PublishDataRequest() { OnConstruction(); } @@ -2984,59 +4225,203 @@ public VideoEncoding() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoEncoding(VideoEncoding other) : this() { - maxBitrate_ = other.maxBitrate_; - maxFramerate_ = other.maxFramerate_; + public PublishDataRequest(PublishDataRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + dataPtr_ = other.dataPtr_; + dataLen_ = other.dataLen_; + reliable_ = other.reliable_; + destinationSids_ = other.destinationSids_.Clone(); + topic_ = other.topic_; + destinationIdentities_ = other.destinationIdentities_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoEncoding Clone() { - return new VideoEncoding(this); + public PublishDataRequest Clone() { + return new PublishDataRequest(this); } - /// Field number for the "max_bitrate" field. - public const int MaxBitrateFieldNumber = 1; - private ulong maxBitrate_; + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong MaxBitrate { - get { return maxBitrate_; } + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } set { - maxBitrate_ = value; + _hasBits0 |= 1; + localParticipantHandle_ = value; } } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } - /// Field number for the "max_framerate" field. - public const int MaxFramerateFieldNumber = 2; - private double maxFramerate_; + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 2; + private readonly static ulong DataPtrDefaultValue = 0UL; + + private ulong dataPtr_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public double MaxFramerate { - get { return maxFramerate_; } + public ulong DataPtr { + get { if ((_hasBits0 & 2) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } set { - maxFramerate_ = value; + _hasBits0 |= 2; + dataPtr_ = value; + } + } + /// Gets whether the "data_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataPtr { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "data_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataPtr() { + _hasBits0 &= ~2; + } + + /// Field number for the "data_len" field. + public const int DataLenFieldNumber = 3; + private readonly static ulong DataLenDefaultValue = 0UL; + + private ulong dataLen_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataLen { + get { if ((_hasBits0 & 4) != 0) { return dataLen_; } else { return DataLenDefaultValue; } } + set { + _hasBits0 |= 4; + dataLen_ = value; + } + } + /// Gets whether the "data_len" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataLen { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "data_len" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataLen() { + _hasBits0 &= ~4; + } + + /// Field number for the "reliable" field. + public const int ReliableFieldNumber = 4; + private readonly static bool ReliableDefaultValue = false; + + private bool reliable_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Reliable { + get { if ((_hasBits0 & 8) != 0) { return reliable_; } else { return ReliableDefaultValue; } } + set { + _hasBits0 |= 8; + reliable_ = value; + } + } + /// Gets whether the "reliable" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReliable { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "reliable" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReliable() { + _hasBits0 &= ~8; + } + + /// Field number for the "destination_sids" field. + public const int DestinationSidsFieldNumber = 5; + private static readonly pb::FieldCodec _repeated_destinationSids_codec + = pb::FieldCodec.ForString(42); + private readonly pbc::RepeatedField destinationSids_ = new pbc::RepeatedField(); + [global::System.ObsoleteAttribute] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField DestinationSids { + get { return destinationSids_; } + } + + /// Field number for the "topic" field. + public const int TopicFieldNumber = 6; + private readonly static string TopicDefaultValue = ""; + + private string topic_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Topic { + get { return topic_ ?? TopicDefaultValue; } + set { + topic_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "topic" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTopic { + get { return topic_ != null; } + } + /// Clears the value of the "topic" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTopic() { + topic_ = null; + } + + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 7; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(58); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoEncoding); + return Equals(other as PublishDataRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoEncoding other) { + public bool Equals(PublishDataRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (MaxBitrate != other.MaxBitrate) return false; - if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxFramerate, other.MaxFramerate)) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (DataPtr != other.DataPtr) return false; + if (DataLen != other.DataLen) return false; + if (Reliable != other.Reliable) return false; + if(!destinationSids_.Equals(other.destinationSids_)) return false; + if (Topic != other.Topic) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3044,8 +4429,13 @@ public bool Equals(VideoEncoding other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (MaxBitrate != 0UL) hash ^= MaxBitrate.GetHashCode(); - if (MaxFramerate != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxFramerate); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasDataLen) hash ^= DataLen.GetHashCode(); + if (HasReliable) hash ^= Reliable.GetHashCode(); + hash ^= destinationSids_.GetHashCode(); + if (HasTopic) hash ^= Topic.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3064,14 +4454,28 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (MaxBitrate != 0UL) { + if (HasLocalParticipantHandle) { output.WriteRawTag(8); - output.WriteUInt64(MaxBitrate); + output.WriteUInt64(LocalParticipantHandle); } - if (MaxFramerate != 0D) { - output.WriteRawTag(17); - output.WriteDouble(MaxFramerate); + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasDataLen) { + output.WriteRawTag(24); + output.WriteUInt64(DataLen); + } + if (HasReliable) { + output.WriteRawTag(32); + output.WriteBool(Reliable); + } + destinationSids_.WriteTo(output, _repeated_destinationSids_codec); + if (HasTopic) { + output.WriteRawTag(50); + output.WriteString(Topic); } + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3082,14 +4486,28 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (MaxBitrate != 0UL) { + if (HasLocalParticipantHandle) { output.WriteRawTag(8); - output.WriteUInt64(MaxBitrate); + output.WriteUInt64(LocalParticipantHandle); } - if (MaxFramerate != 0D) { - output.WriteRawTag(17); - output.WriteDouble(MaxFramerate); + if (HasDataPtr) { + output.WriteRawTag(16); + output.WriteUInt64(DataPtr); + } + if (HasDataLen) { + output.WriteRawTag(24); + output.WriteUInt64(DataLen); + } + if (HasReliable) { + output.WriteRawTag(32); + output.WriteBool(Reliable); } + destinationSids_.WriteTo(ref output, _repeated_destinationSids_codec); + if (HasTopic) { + output.WriteRawTag(50); + output.WriteString(Topic); + } + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3100,12 +4518,23 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (MaxBitrate != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MaxBitrate); + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); } - if (MaxFramerate != 0D) { - size += 1 + 8; + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasDataLen) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataLen); + } + if (HasReliable) { + size += 1 + 1; } + size += destinationSids_.CalculateSize(_repeated_destinationSids_codec); + if (HasTopic) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic); + } + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3114,16 +4543,27 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoEncoding other) { + public void MergeFrom(PublishDataRequest other) { if (other == null) { return; } - if (other.MaxBitrate != 0UL) { - MaxBitrate = other.MaxBitrate; + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; } - if (other.MaxFramerate != 0D) { - MaxFramerate = other.MaxFramerate; + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasDataLen) { + DataLen = other.DataLen; + } + if (other.HasReliable) { + Reliable = other.Reliable; + } + destinationSids_.Add(other.destinationSids_); + if (other.HasTopic) { + Topic = other.Topic; } + destinationIdentities_.Add(other.destinationIdentities_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3135,16 +4575,40 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - MaxBitrate = input.ReadUInt64(); + LocalParticipantHandle = input.ReadUInt64(); break; } - case 17: { - MaxFramerate = input.ReadDouble(); + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + DataLen = input.ReadUInt64(); + break; + } + case 32: { + Reliable = input.ReadBool(); + break; + } + case 42: { + destinationSids_.AddEntriesFrom(input, _repeated_destinationSids_codec); + break; + } + case 50: { + Topic = input.ReadString(); + break; + } + case 58: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); break; } } @@ -3158,16 +4622,40 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - MaxBitrate = input.ReadUInt64(); + LocalParticipantHandle = input.ReadUInt64(); break; } - case 17: { - MaxFramerate = input.ReadDouble(); + case 16: { + DataPtr = input.ReadUInt64(); + break; + } + case 24: { + DataLen = input.ReadUInt64(); + break; + } + case 32: { + Reliable = input.ReadBool(); + break; + } + case 42: { + destinationSids_.AddEntriesFrom(ref input, _repeated_destinationSids_codec); + break; + } + case 50: { + Topic = input.ReadString(); + break; + } + case 58: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); break; } } @@ -3177,16 +4665,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AudioEncoding : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishDataResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioEncoding()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishDataResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -3202,7 +4692,7 @@ public sealed partial class AudioEncoding : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioEncoding() { + public PublishDataResponse() { OnConstruction(); } @@ -3210,45 +4700,61 @@ public AudioEncoding() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioEncoding(AudioEncoding other) : this() { - maxBitrate_ = other.maxBitrate_; + public PublishDataResponse(PublishDataResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public AudioEncoding Clone() { - return new AudioEncoding(this); + public PublishDataResponse Clone() { + return new PublishDataResponse(this); } - /// Field number for the "max_bitrate" field. - public const int MaxBitrateFieldNumber = 1; - private ulong maxBitrate_; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong MaxBitrate { - get { return maxBitrate_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - maxBitrate_ = value; + _hasBits0 |= 1; + asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AudioEncoding); + return Equals(other as PublishDataResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AudioEncoding other) { + public bool Equals(PublishDataResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (MaxBitrate != other.MaxBitrate) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3256,7 +4762,7 @@ public bool Equals(AudioEncoding other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (MaxBitrate != 0UL) hash ^= MaxBitrate.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3275,9 +4781,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (MaxBitrate != 0UL) { + if (HasAsyncId) { output.WriteRawTag(8); - output.WriteUInt64(MaxBitrate); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3289,9 +4795,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (MaxBitrate != 0UL) { + if (HasAsyncId) { output.WriteRawTag(8); - output.WriteUInt64(MaxBitrate); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3303,8 +4809,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (MaxBitrate != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MaxBitrate); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3314,12 +4820,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AudioEncoding other) { + public void MergeFrom(PublishDataResponse other) { if (other == null) { return; } - if (other.MaxBitrate != 0UL) { - MaxBitrate = other.MaxBitrate; + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3332,12 +4838,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - MaxBitrate = input.ReadUInt64(); + AsyncId = input.ReadUInt64(); break; } } @@ -3351,12 +4861,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - MaxBitrate = input.ReadUInt64(); + AsyncId = input.ReadUInt64(); break; } } @@ -3366,16 +4880,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackPublishOptions : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishDataCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackPublishOptions()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishDataCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -3391,7 +4907,7 @@ public sealed partial class TrackPublishOptions : pb::IMessageField number for the "video_encoding" field. - public const int VideoEncodingFieldNumber = 1; - private global::LiveKit.Proto.VideoEncoding videoEncoding_; - /// - /// encodings are optional - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoEncoding VideoEncoding { - get { return videoEncoding_; } - set { - videoEncoding_ = value; - } - } + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; - /// Field number for the "audio_encoding" field. - public const int AudioEncodingFieldNumber = 2; - private global::LiveKit.Proto.AudioEncoding audioEncoding_; + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioEncoding AudioEncoding { - get { return audioEncoding_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - audioEncoding_ = value; + _hasBits0 |= 1; + asyncId_ = value; } } - - /// Field number for the "video_codec" field. - public const int VideoCodecFieldNumber = 3; - private global::LiveKit.Proto.VideoCodec videoCodec_ = global::LiveKit.Proto.VideoCodec.Vp8; + /// Gets whether the "async_id" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoCodec VideoCodec { - get { return videoCodec_; } - set { - videoCodec_ = value; - } + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } } - - /// Field number for the "dtx" field. - public const int DtxFieldNumber = 4; - private bool dtx_; + /// Clears the value of the "async_id" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Dtx { - get { return dtx_; } - set { - dtx_ = value; - } + public void ClearAsyncId() { + _hasBits0 &= ~1; } - /// Field number for the "red" field. - public const int RedFieldNumber = 5; - private bool red_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Red { - get { return red_; } - set { - red_ = value; - } - } + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; - /// Field number for the "simulcast" field. - public const int SimulcastFieldNumber = 6; - private bool simulcast_; + private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Simulcast { - get { return simulcast_; } + public string Error { + get { return error_ ?? ErrorDefaultValue; } set { - simulcast_ = value; + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } - - /// Field number for the "name" field. - public const int NameFieldNumber = 7; - private string name_ = ""; + /// Gets whether the "error" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + public bool HasError { + get { return error_ != null; } } - - /// Field number for the "source" field. - public const int SourceFieldNumber = 8; - private global::LiveKit.Proto.TrackSource source_ = global::LiveKit.Proto.TrackSource.SourceUnknown; + /// Clears the value of the "error" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackSource Source { - get { return source_; } - set { - source_ = value; - } + public void ClearError() { + error_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackPublishOptions); + return Equals(other as PublishDataCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackPublishOptions other) { + public bool Equals(PublishDataCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(VideoEncoding, other.VideoEncoding)) return false; - if (!object.Equals(AudioEncoding, other.AudioEncoding)) return false; - if (VideoCodec != other.VideoCodec) return false; - if (Dtx != other.Dtx) return false; - if (Red != other.Red) return false; - if (Simulcast != other.Simulcast) return false; - if (Name != other.Name) return false; - if (Source != other.Source) return false; + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3546,14 +5005,8 @@ public bool Equals(TrackPublishOptions other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (videoEncoding_ != null) hash ^= VideoEncoding.GetHashCode(); - if (audioEncoding_ != null) hash ^= AudioEncoding.GetHashCode(); - if (VideoCodec != global::LiveKit.Proto.VideoCodec.Vp8) hash ^= VideoCodec.GetHashCode(); - if (Dtx != false) hash ^= Dtx.GetHashCode(); - if (Red != false) hash ^= Red.GetHashCode(); - if (Simulcast != false) hash ^= Simulcast.GetHashCode(); - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) hash ^= Source.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3572,37 +5025,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (videoEncoding_ != null) { - output.WriteRawTag(10); - output.WriteMessage(VideoEncoding); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (audioEncoding_ != null) { + if (HasError) { output.WriteRawTag(18); - output.WriteMessage(AudioEncoding); - } - if (VideoCodec != global::LiveKit.Proto.VideoCodec.Vp8) { - output.WriteRawTag(24); - output.WriteEnum((int) VideoCodec); - } - if (Dtx != false) { - output.WriteRawTag(32); - output.WriteBool(Dtx); - } - if (Red != false) { - output.WriteRawTag(40); - output.WriteBool(Red); - } - if (Simulcast != false) { - output.WriteRawTag(48); - output.WriteBool(Simulcast); - } - if (Name.Length != 0) { - output.WriteRawTag(58); - output.WriteString(Name); - } - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - output.WriteRawTag(64); - output.WriteEnum((int) Source); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3614,37 +5043,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (videoEncoding_ != null) { - output.WriteRawTag(10); - output.WriteMessage(VideoEncoding); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (audioEncoding_ != null) { + if (HasError) { output.WriteRawTag(18); - output.WriteMessage(AudioEncoding); - } - if (VideoCodec != global::LiveKit.Proto.VideoCodec.Vp8) { - output.WriteRawTag(24); - output.WriteEnum((int) VideoCodec); - } - if (Dtx != false) { - output.WriteRawTag(32); - output.WriteBool(Dtx); - } - if (Red != false) { - output.WriteRawTag(40); - output.WriteBool(Red); - } - if (Simulcast != false) { - output.WriteRawTag(48); - output.WriteBool(Simulcast); - } - if (Name.Length != 0) { - output.WriteRawTag(58); - output.WriteString(Name); - } - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - output.WriteRawTag(64); - output.WriteEnum((int) Source); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3656,29 +5061,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (videoEncoding_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(VideoEncoding); - } - if (audioEncoding_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(AudioEncoding); - } - if (VideoCodec != global::LiveKit.Proto.VideoCodec.Vp8) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) VideoCodec); - } - if (Dtx != false) { - size += 1 + 1; - } - if (Red != false) { - size += 1 + 1; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } - if (Simulcast != false) { - size += 1 + 1; - } - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Source); + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3688,39 +5075,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackPublishOptions other) { + public void MergeFrom(PublishDataCallback other) { if (other == null) { return; } - if (other.videoEncoding_ != null) { - if (videoEncoding_ == null) { - VideoEncoding = new global::LiveKit.Proto.VideoEncoding(); - } - VideoEncoding.MergeFrom(other.VideoEncoding); - } - if (other.audioEncoding_ != null) { - if (audioEncoding_ == null) { - AudioEncoding = new global::LiveKit.Proto.AudioEncoding(); - } - AudioEncoding.MergeFrom(other.AudioEncoding); - } - if (other.VideoCodec != global::LiveKit.Proto.VideoCodec.Vp8) { - VideoCodec = other.VideoCodec; - } - if (other.Dtx != false) { - Dtx = other.Dtx; - } - if (other.Red != false) { - Red = other.Red; - } - if (other.Simulcast != false) { - Simulcast = other.Simulcast; - } - if (other.Name.Length != 0) { - Name = other.Name; + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } - if (other.Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - Source = other.Source; + if (other.HasError) { + Error = other.Error; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3733,46 +5096,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (videoEncoding_ == null) { - VideoEncoding = new global::LiveKit.Proto.VideoEncoding(); - } - input.ReadMessage(VideoEncoding); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { - if (audioEncoding_ == null) { - AudioEncoding = new global::LiveKit.Proto.AudioEncoding(); - } - input.ReadMessage(AudioEncoding); - break; - } - case 24: { - VideoCodec = (global::LiveKit.Proto.VideoCodec) input.ReadEnum(); - break; - } - case 32: { - Dtx = input.ReadBool(); - break; - } - case 40: { - Red = input.ReadBool(); - break; - } - case 48: { - Simulcast = input.ReadBool(); - break; - } - case 58: { - Name = input.ReadString(); - break; - } - case 64: { - Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); + Error = input.ReadString(); break; } } @@ -3786,46 +5123,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (videoEncoding_ == null) { - VideoEncoding = new global::LiveKit.Proto.VideoEncoding(); - } - input.ReadMessage(VideoEncoding); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { - if (audioEncoding_ == null) { - AudioEncoding = new global::LiveKit.Proto.AudioEncoding(); - } - input.ReadMessage(AudioEncoding); - break; - } - case 24: { - VideoCodec = (global::LiveKit.Proto.VideoCodec) input.ReadEnum(); - break; - } - case 32: { - Dtx = input.ReadBool(); - break; - } - case 40: { - Red = input.ReadBool(); - break; - } - case 48: { - Simulcast = input.ReadBool(); - break; - } - case 58: { - Name = input.ReadString(); - break; - } - case 64: { - Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); + Error = input.ReadString(); break; } } @@ -3835,16 +5146,21 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class RoomOptions : pb::IMessage + /// + /// Publish transcription messages to room + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishTranscriptionRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomOptions()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishTranscriptionRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -3860,7 +5176,7 @@ public sealed partial class RoomOptions : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomOptions() { + public PublishTranscriptionRequest() { OnConstruction(); } @@ -3868,59 +5184,130 @@ public RoomOptions() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomOptions(RoomOptions other) : this() { - autoSubscribe_ = other.autoSubscribe_; - adaptiveStream_ = other.adaptiveStream_; + public PublishTranscriptionRequest(PublishTranscriptionRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + participantIdentity_ = other.participantIdentity_; + trackId_ = other.trackId_; + segments_ = other.segments_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomOptions Clone() { - return new RoomOptions(this); + public PublishTranscriptionRequest Clone() { + return new PublishTranscriptionRequest(this); } - /// Field number for the "auto_subscribe" field. - public const int AutoSubscribeFieldNumber = 1; - private bool autoSubscribe_; + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool AutoSubscribe { - get { return autoSubscribe_; } + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } set { - autoSubscribe_ = value; + _hasBits0 |= 1; + localParticipantHandle_ = value; } } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } - /// Field number for the "adaptive_stream" field. - public const int AdaptiveStreamFieldNumber = 2; - private bool adaptiveStream_; + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 2; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool AdaptiveStream { - get { return adaptiveStream_; } + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } set { - adaptiveStream_ = value; + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_id" field. + public const int TrackIdFieldNumber = 3; + private readonly static string TrackIdDefaultValue = ""; + + private string trackId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackId { + get { return trackId_ ?? TrackIdDefaultValue; } + set { + trackId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "track_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackId { + get { return trackId_ != null; } + } + /// Clears the value of the "track_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackId() { + trackId_ = null; + } + + /// Field number for the "segments" field. + public const int SegmentsFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_segments_codec + = pb::FieldCodec.ForMessage(34, global::LiveKit.Proto.TranscriptionSegment.Parser); + private readonly pbc::RepeatedField segments_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Segments { + get { return segments_; } + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as RoomOptions); + return Equals(other as PublishTranscriptionRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RoomOptions other) { + public bool Equals(PublishTranscriptionRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (AutoSubscribe != other.AutoSubscribe) return false; - if (AdaptiveStream != other.AdaptiveStream) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackId != other.TrackId) return false; + if(!segments_.Equals(other.segments_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3928,8 +5315,10 @@ public bool Equals(RoomOptions other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (AutoSubscribe != false) hash ^= AutoSubscribe.GetHashCode(); - if (AdaptiveStream != false) hash ^= AdaptiveStream.GetHashCode(); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackId) hash ^= TrackId.GetHashCode(); + hash ^= segments_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3948,14 +5337,19 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (AutoSubscribe != false) { + if (HasLocalParticipantHandle) { output.WriteRawTag(8); - output.WriteBool(AutoSubscribe); + output.WriteUInt64(LocalParticipantHandle); } - if (AdaptiveStream != false) { - output.WriteRawTag(16); - output.WriteBool(AdaptiveStream); + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); } + if (HasTrackId) { + output.WriteRawTag(26); + output.WriteString(TrackId); + } + segments_.WriteTo(output, _repeated_segments_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3966,14 +5360,19 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (AutoSubscribe != false) { + if (HasLocalParticipantHandle) { output.WriteRawTag(8); - output.WriteBool(AutoSubscribe); + output.WriteUInt64(LocalParticipantHandle); } - if (AdaptiveStream != false) { - output.WriteRawTag(16); - output.WriteBool(AdaptiveStream); + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } + if (HasTrackId) { + output.WriteRawTag(26); + output.WriteString(TrackId); } + segments_.WriteTo(ref output, _repeated_segments_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3984,12 +5383,16 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (AutoSubscribe != false) { - size += 1 + 1; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); } - if (AdaptiveStream != false) { - size += 1 + 1; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); } + if (HasTrackId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackId); + } + size += segments_.CalculateSize(_repeated_segments_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3998,16 +5401,20 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(RoomOptions other) { + public void MergeFrom(PublishTranscriptionRequest other) { if (other == null) { return; } - if (other.AutoSubscribe != false) { - AutoSubscribe = other.AutoSubscribe; + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; } - if (other.AdaptiveStream != false) { - AdaptiveStream = other.AdaptiveStream; + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; } + if (other.HasTrackId) { + TrackId = other.TrackId; + } + segments_.Add(other.segments_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4019,16 +5426,28 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - AutoSubscribe = input.ReadBool(); + LocalParticipantHandle = input.ReadUInt64(); break; } - case 16: { - AdaptiveStream = input.ReadBool(); + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } + case 26: { + TrackId = input.ReadString(); + break; + } + case 34: { + segments_.AddEntriesFrom(input, _repeated_segments_codec); break; } } @@ -4042,16 +5461,28 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - AutoSubscribe = input.ReadBool(); + LocalParticipantHandle = input.ReadUInt64(); break; } - case 16: { - AdaptiveStream = input.ReadBool(); + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } + case 26: { + TrackId = input.ReadString(); + break; + } + case 34: { + segments_.AddEntriesFrom(ref input, _repeated_segments_codec); break; } } @@ -4061,16 +5492,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class RoomEvent : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishTranscriptionResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomEvent()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishTranscriptionResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -4086,7 +5519,7 @@ public sealed partial class RoomEvent : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomEvent() { + public PublishTranscriptionResponse() { OnConstruction(); } @@ -4094,340 +5527,304 @@ public RoomEvent() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomEvent(RoomEvent other) : this() { - roomHandle_ = other.roomHandle_ != null ? other.roomHandle_.Clone() : null; - switch (other.MessageCase) { - case MessageOneofCase.ParticipantConnected: - ParticipantConnected = other.ParticipantConnected.Clone(); - break; - case MessageOneofCase.ParticipantDisconnected: - ParticipantDisconnected = other.ParticipantDisconnected.Clone(); - break; - case MessageOneofCase.TrackPublished: - TrackPublished = other.TrackPublished.Clone(); - break; - case MessageOneofCase.TrackUnpublished: - TrackUnpublished = other.TrackUnpublished.Clone(); - break; - case MessageOneofCase.TrackSubscribed: - TrackSubscribed = other.TrackSubscribed.Clone(); - break; - case MessageOneofCase.TrackUnsubscribed: - TrackUnsubscribed = other.TrackUnsubscribed.Clone(); - break; - case MessageOneofCase.TrackMuted: - TrackMuted = other.TrackMuted.Clone(); - break; - case MessageOneofCase.TrackUnmuted: - TrackUnmuted = other.TrackUnmuted.Clone(); - break; - case MessageOneofCase.SpeakersChanged: - SpeakersChanged = other.SpeakersChanged.Clone(); - break; - case MessageOneofCase.ConnectionQualityChanged: - ConnectionQualityChanged = other.ConnectionQualityChanged.Clone(); - break; - case MessageOneofCase.DataReceived: - DataReceived = other.DataReceived.Clone(); - break; - case MessageOneofCase.ConnectionStateChanged: - ConnectionStateChanged = other.ConnectionStateChanged.Clone(); - break; - case MessageOneofCase.Connected: - Connected = other.Connected.Clone(); - break; - case MessageOneofCase.Disconnected: - Disconnected = other.Disconnected.Clone(); - break; - case MessageOneofCase.Reconnecting: - Reconnecting = other.Reconnecting.Clone(); - break; - case MessageOneofCase.Reconnected: - Reconnected = other.Reconnected.Clone(); - break; - } - + public PublishTranscriptionResponse(PublishTranscriptionResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomEvent Clone() { - return new RoomEvent(this); + public PublishTranscriptionResponse Clone() { + return new PublishTranscriptionResponse(this); } - /// Field number for the "room_handle" field. - public const int RoomHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId roomHandle_; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId RoomHandle { - get { return roomHandle_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - roomHandle_ = value; + _hasBits0 |= 1; + asyncId_ = value; } } - - /// Field number for the "participant_connected" field. - public const int ParticipantConnectedFieldNumber = 2; + /// Gets whether the "async_id" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ParticipantConnected ParticipantConnected { - get { return messageCase_ == MessageOneofCase.ParticipantConnected ? (global::LiveKit.Proto.ParticipantConnected) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantConnected; - } + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; } - /// Field number for the "participant_disconnected" field. - public const int ParticipantDisconnectedFieldNumber = 3; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ParticipantDisconnected ParticipantDisconnected { - get { return messageCase_ == MessageOneofCase.ParticipantDisconnected ? (global::LiveKit.Proto.ParticipantDisconnected) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantDisconnected; - } + public override bool Equals(object other) { + return Equals(other as PublishTranscriptionResponse); } - /// Field number for the "track_published" field. - public const int TrackPublishedFieldNumber = 4; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackPublished TrackPublished { - get { return messageCase_ == MessageOneofCase.TrackPublished ? (global::LiveKit.Proto.TrackPublished) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackPublished; + public bool Equals(PublishTranscriptionResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); } - /// Field number for the "track_unpublished" field. - public const int TrackUnpublishedFieldNumber = 5; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackUnpublished TrackUnpublished { - get { return messageCase_ == MessageOneofCase.TrackUnpublished ? (global::LiveKit.Proto.TrackUnpublished) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackUnpublished; + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); } + return hash; } - /// Field number for the "track_subscribed" field. - public const int TrackSubscribedFieldNumber = 6; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackSubscribed TrackSubscribed { - get { return messageCase_ == MessageOneofCase.TrackSubscribed ? (global::LiveKit.Proto.TrackSubscribed) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackSubscribed; - } + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); } - /// Field number for the "track_unsubscribed" field. - public const int TrackUnsubscribedFieldNumber = 7; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackUnsubscribed TrackUnsubscribed { - get { return messageCase_ == MessageOneofCase.TrackUnsubscribed ? (global::LiveKit.Proto.TrackUnsubscribed) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackUnsubscribed; + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); } + #endif } - /// Field number for the "track_muted" field. - public const int TrackMutedFieldNumber = 8; + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackMuted TrackMuted { - get { return messageCase_ == MessageOneofCase.TrackMuted ? (global::LiveKit.Proto.TrackMuted) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackMuted; + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); } } + #endif - /// Field number for the "track_unmuted" field. - public const int TrackUnmutedFieldNumber = 9; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackUnmuted TrackUnmuted { - get { return messageCase_ == MessageOneofCase.TrackUnmuted ? (global::LiveKit.Proto.TrackUnmuted) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackUnmuted; + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); } + return size; } - /// Field number for the "speakers_changed" field. - public const int SpeakersChangedFieldNumber = 10; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ActiveSpeakersChanged SpeakersChanged { - get { return messageCase_ == MessageOneofCase.SpeakersChanged ? (global::LiveKit.Proto.ActiveSpeakersChanged) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SpeakersChanged; + public void MergeFrom(PublishTranscriptionResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } - /// Field number for the "connection_quality_changed" field. - public const int ConnectionQualityChangedFieldNumber = 11; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ConnectionQualityChanged ConnectionQualityChanged { - get { return messageCase_ == MessageOneofCase.ConnectionQualityChanged ? (global::LiveKit.Proto.ConnectionQualityChanged) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ConnectionQualityChanged; + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } } + #endif } - /// Field number for the "data_received" field. - public const int DataReceivedFieldNumber = 12; + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.DataReceived DataReceived { - get { return messageCase_ == MessageOneofCase.DataReceived ? (global::LiveKit.Proto.DataReceived) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataReceived; + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } } } + #endif - /// Field number for the "connection_state_changed" field. - public const int ConnectionStateChangedFieldNumber = 13; + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishTranscriptionCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishTranscriptionCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ConnectionStateChanged ConnectionStateChanged { - get { return messageCase_ == MessageOneofCase.ConnectionStateChanged ? (global::LiveKit.Proto.ConnectionStateChanged) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ConnectionStateChanged; - } + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[17]; } } - /// Field number for the "connected" field. - public const int ConnectedFieldNumber = 14; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.Connected Connected { - get { return messageCase_ == MessageOneofCase.Connected ? (global::LiveKit.Proto.Connected) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Connected; - } + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } } - /// Field number for the "disconnected" field. - public const int DisconnectedFieldNumber = 15; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.Disconnected Disconnected { - get { return messageCase_ == MessageOneofCase.Disconnected ? (global::LiveKit.Proto.Disconnected) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Disconnected; - } + public PublishTranscriptionCallback() { + OnConstruction(); } - /// Field number for the "reconnecting" field. - public const int ReconnectingFieldNumber = 16; + partial void OnConstruction(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.Reconnecting Reconnecting { - get { return messageCase_ == MessageOneofCase.Reconnecting ? (global::LiveKit.Proto.Reconnecting) message_ : null; } - set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Reconnecting; - } + public PublishTranscriptionCallback(PublishTranscriptionCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } - /// Field number for the "reconnected" field. - public const int ReconnectedFieldNumber = 17; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.Reconnected Reconnected { - get { return messageCase_ == MessageOneofCase.Reconnected ? (global::LiveKit.Proto.Reconnected) message_ : null; } + public PublishTranscriptionCallback Clone() { + return new PublishTranscriptionCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Reconnected; + _hasBits0 |= 1; + asyncId_ = value; } } - - private object message_; - /// Enum of possible cases for the "message" oneof. - public enum MessageOneofCase { - None = 0, - ParticipantConnected = 2, - ParticipantDisconnected = 3, - TrackPublished = 4, - TrackUnpublished = 5, - TrackSubscribed = 6, - TrackUnsubscribed = 7, - TrackMuted = 8, - TrackUnmuted = 9, - SpeakersChanged = 10, - ConnectionQualityChanged = 11, - DataReceived = 12, - ConnectionStateChanged = 13, - Connected = 14, - Disconnected = 15, - Reconnecting = 16, - Reconnected = 17, + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } } - private MessageOneofCase messageCase_ = MessageOneofCase.None; + /// Clears the value of the "async_id" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public MessageOneofCase MessageCase { - get { return messageCase_; } + public void ClearAsyncId() { + _hasBits0 &= ~1; } + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearMessage() { - messageCase_ = MessageOneofCase.None; - message_ = null; + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as RoomEvent); + return Equals(other as PublishTranscriptionCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RoomEvent other) { + public bool Equals(PublishTranscriptionCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(RoomHandle, other.RoomHandle)) return false; - if (!object.Equals(ParticipantConnected, other.ParticipantConnected)) return false; - if (!object.Equals(ParticipantDisconnected, other.ParticipantDisconnected)) return false; - if (!object.Equals(TrackPublished, other.TrackPublished)) return false; - if (!object.Equals(TrackUnpublished, other.TrackUnpublished)) return false; - if (!object.Equals(TrackSubscribed, other.TrackSubscribed)) return false; - if (!object.Equals(TrackUnsubscribed, other.TrackUnsubscribed)) return false; - if (!object.Equals(TrackMuted, other.TrackMuted)) return false; - if (!object.Equals(TrackUnmuted, other.TrackUnmuted)) return false; - if (!object.Equals(SpeakersChanged, other.SpeakersChanged)) return false; - if (!object.Equals(ConnectionQualityChanged, other.ConnectionQualityChanged)) return false; - if (!object.Equals(DataReceived, other.DataReceived)) return false; - if (!object.Equals(ConnectionStateChanged, other.ConnectionStateChanged)) return false; - if (!object.Equals(Connected, other.Connected)) return false; - if (!object.Equals(Disconnected, other.Disconnected)) return false; - if (!object.Equals(Reconnecting, other.Reconnecting)) return false; - if (!object.Equals(Reconnected, other.Reconnected)) return false; - if (MessageCase != other.MessageCase) return false; + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4435,24 +5832,8 @@ public bool Equals(RoomEvent other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (roomHandle_ != null) hash ^= RoomHandle.GetHashCode(); - if (messageCase_ == MessageOneofCase.ParticipantConnected) hash ^= ParticipantConnected.GetHashCode(); - if (messageCase_ == MessageOneofCase.ParticipantDisconnected) hash ^= ParticipantDisconnected.GetHashCode(); - if (messageCase_ == MessageOneofCase.TrackPublished) hash ^= TrackPublished.GetHashCode(); - if (messageCase_ == MessageOneofCase.TrackUnpublished) hash ^= TrackUnpublished.GetHashCode(); - if (messageCase_ == MessageOneofCase.TrackSubscribed) hash ^= TrackSubscribed.GetHashCode(); - if (messageCase_ == MessageOneofCase.TrackUnsubscribed) hash ^= TrackUnsubscribed.GetHashCode(); - if (messageCase_ == MessageOneofCase.TrackMuted) hash ^= TrackMuted.GetHashCode(); - if (messageCase_ == MessageOneofCase.TrackUnmuted) hash ^= TrackUnmuted.GetHashCode(); - if (messageCase_ == MessageOneofCase.SpeakersChanged) hash ^= SpeakersChanged.GetHashCode(); - if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) hash ^= ConnectionQualityChanged.GetHashCode(); - if (messageCase_ == MessageOneofCase.DataReceived) hash ^= DataReceived.GetHashCode(); - if (messageCase_ == MessageOneofCase.ConnectionStateChanged) hash ^= ConnectionStateChanged.GetHashCode(); - if (messageCase_ == MessageOneofCase.Connected) hash ^= Connected.GetHashCode(); - if (messageCase_ == MessageOneofCase.Disconnected) hash ^= Disconnected.GetHashCode(); - if (messageCase_ == MessageOneofCase.Reconnecting) hash ^= Reconnecting.GetHashCode(); - if (messageCase_ == MessageOneofCase.Reconnected) hash ^= Reconnected.GetHashCode(); - hash ^= (int) messageCase_; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4471,73 +5852,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (messageCase_ == MessageOneofCase.ParticipantConnected) { + if (HasError) { output.WriteRawTag(18); - output.WriteMessage(ParticipantConnected); - } - if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { - output.WriteRawTag(26); - output.WriteMessage(ParticipantDisconnected); - } - if (messageCase_ == MessageOneofCase.TrackPublished) { - output.WriteRawTag(34); - output.WriteMessage(TrackPublished); - } - if (messageCase_ == MessageOneofCase.TrackUnpublished) { - output.WriteRawTag(42); - output.WriteMessage(TrackUnpublished); - } - if (messageCase_ == MessageOneofCase.TrackSubscribed) { - output.WriteRawTag(50); - output.WriteMessage(TrackSubscribed); - } - if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { - output.WriteRawTag(58); - output.WriteMessage(TrackUnsubscribed); - } - if (messageCase_ == MessageOneofCase.TrackMuted) { - output.WriteRawTag(66); - output.WriteMessage(TrackMuted); - } - if (messageCase_ == MessageOneofCase.TrackUnmuted) { - output.WriteRawTag(74); - output.WriteMessage(TrackUnmuted); - } - if (messageCase_ == MessageOneofCase.SpeakersChanged) { - output.WriteRawTag(82); - output.WriteMessage(SpeakersChanged); - } - if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { - output.WriteRawTag(90); - output.WriteMessage(ConnectionQualityChanged); - } - if (messageCase_ == MessageOneofCase.DataReceived) { - output.WriteRawTag(98); - output.WriteMessage(DataReceived); - } - if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { - output.WriteRawTag(106); - output.WriteMessage(ConnectionStateChanged); - } - if (messageCase_ == MessageOneofCase.Connected) { - output.WriteRawTag(114); - output.WriteMessage(Connected); - } - if (messageCase_ == MessageOneofCase.Disconnected) { - output.WriteRawTag(122); - output.WriteMessage(Disconnected); - } - if (messageCase_ == MessageOneofCase.Reconnecting) { - output.WriteRawTag(130, 1); - output.WriteMessage(Reconnecting); - } - if (messageCase_ == MessageOneofCase.Reconnected) { - output.WriteRawTag(138, 1); - output.WriteMessage(Reconnected); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -4549,76 +5870,16 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (messageCase_ == MessageOneofCase.ParticipantConnected) { + if (HasError) { output.WriteRawTag(18); - output.WriteMessage(ParticipantConnected); - } - if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { - output.WriteRawTag(26); - output.WriteMessage(ParticipantDisconnected); + output.WriteString(Error); } - if (messageCase_ == MessageOneofCase.TrackPublished) { - output.WriteRawTag(34); - output.WriteMessage(TrackPublished); - } - if (messageCase_ == MessageOneofCase.TrackUnpublished) { - output.WriteRawTag(42); - output.WriteMessage(TrackUnpublished); - } - if (messageCase_ == MessageOneofCase.TrackSubscribed) { - output.WriteRawTag(50); - output.WriteMessage(TrackSubscribed); - } - if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { - output.WriteRawTag(58); - output.WriteMessage(TrackUnsubscribed); - } - if (messageCase_ == MessageOneofCase.TrackMuted) { - output.WriteRawTag(66); - output.WriteMessage(TrackMuted); - } - if (messageCase_ == MessageOneofCase.TrackUnmuted) { - output.WriteRawTag(74); - output.WriteMessage(TrackUnmuted); - } - if (messageCase_ == MessageOneofCase.SpeakersChanged) { - output.WriteRawTag(82); - output.WriteMessage(SpeakersChanged); - } - if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { - output.WriteRawTag(90); - output.WriteMessage(ConnectionQualityChanged); - } - if (messageCase_ == MessageOneofCase.DataReceived) { - output.WriteRawTag(98); - output.WriteMessage(DataReceived); - } - if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { - output.WriteRawTag(106); - output.WriteMessage(ConnectionStateChanged); - } - if (messageCase_ == MessageOneofCase.Connected) { - output.WriteRawTag(114); - output.WriteMessage(Connected); - } - if (messageCase_ == MessageOneofCase.Disconnected) { - output.WriteRawTag(122); - output.WriteMessage(Disconnected); - } - if (messageCase_ == MessageOneofCase.Reconnecting) { - output.WriteRawTag(130, 1); - output.WriteMessage(Reconnecting); - } - if (messageCase_ == MessageOneofCase.Reconnected) { - output.WriteRawTag(138, 1); - output.WriteMessage(Reconnected); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); } } #endif @@ -4627,56 +5888,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (roomHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomHandle); - } - if (messageCase_ == MessageOneofCase.ParticipantConnected) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParticipantConnected); - } - if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParticipantDisconnected); - } - if (messageCase_ == MessageOneofCase.TrackPublished) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackPublished); - } - if (messageCase_ == MessageOneofCase.TrackUnpublished) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackUnpublished); - } - if (messageCase_ == MessageOneofCase.TrackSubscribed) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackSubscribed); - } - if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackUnsubscribed); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } - if (messageCase_ == MessageOneofCase.TrackMuted) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackMuted); - } - if (messageCase_ == MessageOneofCase.TrackUnmuted) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackUnmuted); - } - if (messageCase_ == MessageOneofCase.SpeakersChanged) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpeakersChanged); - } - if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ConnectionQualityChanged); - } - if (messageCase_ == MessageOneofCase.DataReceived) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(DataReceived); - } - if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(ConnectionStateChanged); - } - if (messageCase_ == MessageOneofCase.Connected) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Connected); - } - if (messageCase_ == MessageOneofCase.Disconnected) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Disconnected); - } - if (messageCase_ == MessageOneofCase.Reconnecting) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(Reconnecting); - } - if (messageCase_ == MessageOneofCase.Reconnected) { - size += 2 + pb::CodedOutputStream.ComputeMessageSize(Reconnected); + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -4686,115 +5902,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(RoomEvent other) { + public void MergeFrom(PublishTranscriptionCallback other) { if (other == null) { return; } - if (other.roomHandle_ != null) { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - RoomHandle.MergeFrom(other.RoomHandle); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } - switch (other.MessageCase) { - case MessageOneofCase.ParticipantConnected: - if (ParticipantConnected == null) { - ParticipantConnected = new global::LiveKit.Proto.ParticipantConnected(); - } - ParticipantConnected.MergeFrom(other.ParticipantConnected); - break; - case MessageOneofCase.ParticipantDisconnected: - if (ParticipantDisconnected == null) { - ParticipantDisconnected = new global::LiveKit.Proto.ParticipantDisconnected(); - } - ParticipantDisconnected.MergeFrom(other.ParticipantDisconnected); - break; - case MessageOneofCase.TrackPublished: - if (TrackPublished == null) { - TrackPublished = new global::LiveKit.Proto.TrackPublished(); - } - TrackPublished.MergeFrom(other.TrackPublished); - break; - case MessageOneofCase.TrackUnpublished: - if (TrackUnpublished == null) { - TrackUnpublished = new global::LiveKit.Proto.TrackUnpublished(); - } - TrackUnpublished.MergeFrom(other.TrackUnpublished); - break; - case MessageOneofCase.TrackSubscribed: - if (TrackSubscribed == null) { - TrackSubscribed = new global::LiveKit.Proto.TrackSubscribed(); - } - TrackSubscribed.MergeFrom(other.TrackSubscribed); - break; - case MessageOneofCase.TrackUnsubscribed: - if (TrackUnsubscribed == null) { - TrackUnsubscribed = new global::LiveKit.Proto.TrackUnsubscribed(); - } - TrackUnsubscribed.MergeFrom(other.TrackUnsubscribed); - break; - case MessageOneofCase.TrackMuted: - if (TrackMuted == null) { - TrackMuted = new global::LiveKit.Proto.TrackMuted(); - } - TrackMuted.MergeFrom(other.TrackMuted); - break; - case MessageOneofCase.TrackUnmuted: - if (TrackUnmuted == null) { - TrackUnmuted = new global::LiveKit.Proto.TrackUnmuted(); - } - TrackUnmuted.MergeFrom(other.TrackUnmuted); - break; - case MessageOneofCase.SpeakersChanged: - if (SpeakersChanged == null) { - SpeakersChanged = new global::LiveKit.Proto.ActiveSpeakersChanged(); - } - SpeakersChanged.MergeFrom(other.SpeakersChanged); - break; - case MessageOneofCase.ConnectionQualityChanged: - if (ConnectionQualityChanged == null) { - ConnectionQualityChanged = new global::LiveKit.Proto.ConnectionQualityChanged(); - } - ConnectionQualityChanged.MergeFrom(other.ConnectionQualityChanged); - break; - case MessageOneofCase.DataReceived: - if (DataReceived == null) { - DataReceived = new global::LiveKit.Proto.DataReceived(); - } - DataReceived.MergeFrom(other.DataReceived); - break; - case MessageOneofCase.ConnectionStateChanged: - if (ConnectionStateChanged == null) { - ConnectionStateChanged = new global::LiveKit.Proto.ConnectionStateChanged(); - } - ConnectionStateChanged.MergeFrom(other.ConnectionStateChanged); - break; - case MessageOneofCase.Connected: - if (Connected == null) { - Connected = new global::LiveKit.Proto.Connected(); - } - Connected.MergeFrom(other.Connected); - break; - case MessageOneofCase.Disconnected: - if (Disconnected == null) { - Disconnected = new global::LiveKit.Proto.Disconnected(); - } - Disconnected.MergeFrom(other.Disconnected); - break; - case MessageOneofCase.Reconnecting: - if (Reconnecting == null) { - Reconnecting = new global::LiveKit.Proto.Reconnecting(); - } - Reconnecting.MergeFrom(other.Reconnecting); - break; - case MessageOneofCase.Reconnected: - if (Reconnected == null) { - Reconnected = new global::LiveKit.Proto.Reconnected(); - } - Reconnected.MergeFrom(other.Reconnected); - break; + if (other.HasError) { + Error = other.Error; } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4806,349 +5923,22025 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { - global::LiveKit.Proto.ParticipantConnected subBuilder = new global::LiveKit.Proto.ParticipantConnected(); - if (messageCase_ == MessageOneofCase.ParticipantConnected) { - subBuilder.MergeFrom(ParticipantConnected); - } - input.ReadMessage(subBuilder); - ParticipantConnected = subBuilder; - break; - } - case 26: { - global::LiveKit.Proto.ParticipantDisconnected subBuilder = new global::LiveKit.Proto.ParticipantDisconnected(); - if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { - subBuilder.MergeFrom(ParticipantDisconnected); - } - input.ReadMessage(subBuilder); - ParticipantDisconnected = subBuilder; - break; - } - case 34: { - global::LiveKit.Proto.TrackPublished subBuilder = new global::LiveKit.Proto.TrackPublished(); - if (messageCase_ == MessageOneofCase.TrackPublished) { - subBuilder.MergeFrom(TrackPublished); - } - input.ReadMessage(subBuilder); - TrackPublished = subBuilder; - break; - } - case 42: { - global::LiveKit.Proto.TrackUnpublished subBuilder = new global::LiveKit.Proto.TrackUnpublished(); - if (messageCase_ == MessageOneofCase.TrackUnpublished) { - subBuilder.MergeFrom(TrackUnpublished); - } - input.ReadMessage(subBuilder); - TrackUnpublished = subBuilder; + Error = input.ReadString(); break; } - case 50: { - global::LiveKit.Proto.TrackSubscribed subBuilder = new global::LiveKit.Proto.TrackSubscribed(); - if (messageCase_ == MessageOneofCase.TrackSubscribed) { - subBuilder.MergeFrom(TrackSubscribed); - } - input.ReadMessage(subBuilder); - TrackSubscribed = subBuilder; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - } - case 58: { - global::LiveKit.Proto.TrackUnsubscribed subBuilder = new global::LiveKit.Proto.TrackUnsubscribed(); - if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { - subBuilder.MergeFrom(TrackUnsubscribed); - } - input.ReadMessage(subBuilder); - TrackUnsubscribed = subBuilder; + case 8: { + AsyncId = input.ReadUInt64(); break; } - case 66: { - global::LiveKit.Proto.TrackMuted subBuilder = new global::LiveKit.Proto.TrackMuted(); - if (messageCase_ == MessageOneofCase.TrackMuted) { - subBuilder.MergeFrom(TrackMuted); - } - input.ReadMessage(subBuilder); - TrackMuted = subBuilder; + case 18: { + Error = input.ReadString(); break; } - case 74: { + } + } + } + #endif + + } + + /// + /// Publish Sip DTMF messages to other participants + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishSipDtmfRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishSipDtmfRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[18]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfRequest(PublishSipDtmfRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + code_ = other.code_; + digit_ = other.digit_; + destinationIdentities_ = other.destinationIdentities_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfRequest Clone() { + return new PublishSipDtmfRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "code" field. + public const int CodeFieldNumber = 2; + private readonly static uint CodeDefaultValue = 0; + + private uint code_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Code { + get { if ((_hasBits0 & 2) != 0) { return code_; } else { return CodeDefaultValue; } } + set { + _hasBits0 |= 2; + code_ = value; + } + } + /// Gets whether the "code" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCode { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "code" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCode() { + _hasBits0 &= ~2; + } + + /// Field number for the "digit" field. + public const int DigitFieldNumber = 3; + private readonly static string DigitDefaultValue = ""; + + private string digit_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Digit { + get { return digit_ ?? DigitDefaultValue; } + set { + digit_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "digit" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDigit { + get { return digit_ != null; } + } + /// Clears the value of the "digit" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDigit() { + digit_ = null; + } + + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(34); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PublishSipDtmfRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PublishSipDtmfRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (Code != other.Code) return false; + if (Digit != other.Digit) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasCode) hash ^= Code.GetHashCode(); + if (HasDigit) hash ^= Digit.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasCode) { + output.WriteRawTag(16); + output.WriteUInt32(Code); + } + if (HasDigit) { + output.WriteRawTag(26); + output.WriteString(Digit); + } + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasCode) { + output.WriteRawTag(16); + output.WriteUInt32(Code); + } + if (HasDigit) { + output.WriteRawTag(26); + output.WriteString(Digit); + } + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasCode) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Code); + } + if (HasDigit) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Digit); + } + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PublishSipDtmfRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasCode) { + Code = other.Code; + } + if (other.HasDigit) { + Digit = other.Digit; + } + destinationIdentities_.Add(other.destinationIdentities_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + Code = input.ReadUInt32(); + break; + } + case 26: { + Digit = input.ReadString(); + break; + } + case 34: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + Code = input.ReadUInt32(); + break; + } + case 26: { + Digit = input.ReadString(); + break; + } + case 34: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishSipDtmfResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishSipDtmfResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[19]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfResponse(PublishSipDtmfResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfResponse Clone() { + return new PublishSipDtmfResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PublishSipDtmfResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PublishSipDtmfResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PublishSipDtmfResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PublishSipDtmfCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishSipDtmfCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[20]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfCallback(PublishSipDtmfCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PublishSipDtmfCallback Clone() { + return new PublishSipDtmfCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PublishSipDtmfCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PublishSipDtmfCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PublishSipDtmfCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// Change the local participant's metadata + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalMetadataRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalMetadataRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[21]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataRequest(SetLocalMetadataRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + metadata_ = other.metadata_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataRequest Clone() { + return new SetLocalMetadataRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "metadata" field. + public const int MetadataFieldNumber = 2; + private readonly static string MetadataDefaultValue = ""; + + private string metadata_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Metadata { + get { return metadata_ ?? MetadataDefaultValue; } + set { + metadata_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "metadata" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMetadata { + get { return metadata_ != null; } + } + /// Clears the value of the "metadata" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMetadata() { + metadata_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalMetadataRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalMetadataRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (Metadata != other.Metadata) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasMetadata) hash ^= Metadata.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMetadata) { + output.WriteRawTag(18); + output.WriteString(Metadata); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMetadata) { + output.WriteRawTag(18); + output.WriteString(Metadata); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasMetadata) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Metadata); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalMetadataRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasMetadata) { + Metadata = other.Metadata; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Metadata = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Metadata = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalMetadataResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalMetadataResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[22]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataResponse(SetLocalMetadataResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataResponse Clone() { + return new SetLocalMetadataResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalMetadataResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalMetadataResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalMetadataResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalMetadataCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalMetadataCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[23]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataCallback(SetLocalMetadataCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalMetadataCallback Clone() { + return new SetLocalMetadataCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalMetadataCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalMetadataCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalMetadataCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendChatMessageRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendChatMessageRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[24]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageRequest(SendChatMessageRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + message_ = other.message_; + destinationIdentities_ = other.destinationIdentities_.Clone(); + senderIdentity_ = other.senderIdentity_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageRequest Clone() { + return new SendChatMessageRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "message" field. + public const int MessageFieldNumber = 2; + private readonly static string MessageDefaultValue = ""; + + private string message_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Message { + get { return message_ ?? MessageDefaultValue; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "message" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMessage { + get { return message_ != null; } + } + /// Clears the value of the "message" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + message_ = null; + } + + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(26); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + /// Field number for the "sender_identity" field. + public const int SenderIdentityFieldNumber = 4; + private readonly static string SenderIdentityDefaultValue = ""; + + private string senderIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SenderIdentity { + get { return senderIdentity_ ?? SenderIdentityDefaultValue; } + set { + senderIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "sender_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSenderIdentity { + get { return senderIdentity_ != null; } + } + /// Clears the value of the "sender_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSenderIdentity() { + senderIdentity_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SendChatMessageRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SendChatMessageRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (Message != other.Message) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + if (SenderIdentity != other.SenderIdentity) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasMessage) hash ^= Message.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMessage) { + output.WriteRawTag(18); + output.WriteString(Message); + } + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMessage) { + output.WriteRawTag(18); + output.WriteString(Message); + } + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasMessage) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); + } + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SendChatMessageRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasMessage) { + Message = other.Message; + } + destinationIdentities_.Add(other.destinationIdentities_); + if (other.HasSenderIdentity) { + SenderIdentity = other.SenderIdentity; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Message = input.ReadString(); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Message = input.ReadString(); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class EditChatMessageRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EditChatMessageRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[25]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EditChatMessageRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EditChatMessageRequest(EditChatMessageRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + editText_ = other.editText_; + originalMessage_ = other.originalMessage_ != null ? other.originalMessage_.Clone() : null; + destinationIdentities_ = other.destinationIdentities_.Clone(); + senderIdentity_ = other.senderIdentity_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EditChatMessageRequest Clone() { + return new EditChatMessageRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "edit_text" field. + public const int EditTextFieldNumber = 2; + private readonly static string EditTextDefaultValue = ""; + + private string editText_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string EditText { + get { return editText_ ?? EditTextDefaultValue; } + set { + editText_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "edit_text" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEditText { + get { return editText_ != null; } + } + /// Clears the value of the "edit_text" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEditText() { + editText_ = null; + } + + /// Field number for the "original_message" field. + public const int OriginalMessageFieldNumber = 3; + private global::LiveKit.Proto.ChatMessage originalMessage_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ChatMessage OriginalMessage { + get { return originalMessage_; } + set { + originalMessage_ = value; + } + } + + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(34); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + /// Field number for the "sender_identity" field. + public const int SenderIdentityFieldNumber = 5; + private readonly static string SenderIdentityDefaultValue = ""; + + private string senderIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SenderIdentity { + get { return senderIdentity_ ?? SenderIdentityDefaultValue; } + set { + senderIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "sender_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSenderIdentity { + get { return senderIdentity_ != null; } + } + /// Clears the value of the "sender_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSenderIdentity() { + senderIdentity_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as EditChatMessageRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(EditChatMessageRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (EditText != other.EditText) return false; + if (!object.Equals(OriginalMessage, other.OriginalMessage)) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + if (SenderIdentity != other.SenderIdentity) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasEditText) hash ^= EditText.GetHashCode(); + if (originalMessage_ != null) hash ^= OriginalMessage.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasEditText) { + output.WriteRawTag(18); + output.WriteString(EditText); + } + if (originalMessage_ != null) { + output.WriteRawTag(26); + output.WriteMessage(OriginalMessage); + } + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(42); + output.WriteString(SenderIdentity); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasEditText) { + output.WriteRawTag(18); + output.WriteString(EditText); + } + if (originalMessage_ != null) { + output.WriteRawTag(26); + output.WriteMessage(OriginalMessage); + } + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(42); + output.WriteString(SenderIdentity); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasEditText) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(EditText); + } + if (originalMessage_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(OriginalMessage); + } + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(EditChatMessageRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasEditText) { + EditText = other.EditText; + } + if (other.originalMessage_ != null) { + if (originalMessage_ == null) { + OriginalMessage = new global::LiveKit.Proto.ChatMessage(); + } + OriginalMessage.MergeFrom(other.OriginalMessage); + } + destinationIdentities_.Add(other.destinationIdentities_); + if (other.HasSenderIdentity) { + SenderIdentity = other.SenderIdentity; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + EditText = input.ReadString(); + break; + } + case 26: { + if (originalMessage_ == null) { + OriginalMessage = new global::LiveKit.Proto.ChatMessage(); + } + input.ReadMessage(OriginalMessage); + break; + } + case 34: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + case 42: { + SenderIdentity = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + EditText = input.ReadString(); + break; + } + case 26: { + if (originalMessage_ == null) { + OriginalMessage = new global::LiveKit.Proto.ChatMessage(); + } + input.ReadMessage(OriginalMessage); + break; + } + case 34: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + case 42: { + SenderIdentity = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendChatMessageResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendChatMessageResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[26]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageResponse(SendChatMessageResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageResponse Clone() { + return new SendChatMessageResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SendChatMessageResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SendChatMessageResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SendChatMessageResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendChatMessageCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendChatMessageCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[27]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageCallback(SendChatMessageCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.ChatMessage: + ChatMessage = other.ChatMessage.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SendChatMessageCallback Clone() { + return new SendChatMessageCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return HasError ? (string) message_ : ""; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + messageCase_ = MessageOneofCase.Error; + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return messageCase_ == MessageOneofCase.Error; } + } + /// Clears the value of the oneof if it's currently set to "error" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + if (HasError) { + ClearMessage(); + } + } + + /// Field number for the "chat_message" field. + public const int ChatMessageFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ChatMessage ChatMessage { + get { return messageCase_ == MessageOneofCase.ChatMessage ? (global::LiveKit.Proto.ChatMessage) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ChatMessage; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Error = 2, + ChatMessage = 3, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SendChatMessageCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SendChatMessageCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; + if (!object.Equals(ChatMessage, other.ChatMessage)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (messageCase_ == MessageOneofCase.ChatMessage) hash ^= ChatMessage.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + output.WriteRawTag(26); + output.WriteMessage(ChatMessage); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + output.WriteRawTag(26); + output.WriteMessage(ChatMessage); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ChatMessage); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SendChatMessageCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.ChatMessage: + if (ChatMessage == null) { + ChatMessage = new global::LiveKit.Proto.ChatMessage(); + } + ChatMessage.MergeFrom(other.ChatMessage); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.ChatMessage subBuilder = new global::LiveKit.Proto.ChatMessage(); + if (messageCase_ == MessageOneofCase.ChatMessage) { + subBuilder.MergeFrom(ChatMessage); + } + input.ReadMessage(subBuilder); + ChatMessage = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.ChatMessage subBuilder = new global::LiveKit.Proto.ChatMessage(); + if (messageCase_ == MessageOneofCase.ChatMessage) { + subBuilder.MergeFrom(ChatMessage); + } + input.ReadMessage(subBuilder); + ChatMessage = subBuilder; + break; + } + } + } + } + #endif + + } + + /// + /// Change the local participant's attributes + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalAttributesRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalAttributesRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[28]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesRequest(SetLocalAttributesRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + attributes_ = other.attributes_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesRequest Clone() { + return new SetLocalAttributesRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 2; + private static readonly pb::FieldCodec _repeated_attributes_codec + = pb::FieldCodec.ForMessage(18, global::LiveKit.Proto.AttributesEntry.Parser); + private readonly pbc::RepeatedField attributes_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Attributes { + get { return attributes_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalAttributesRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalAttributesRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if(!attributes_.Equals(other.attributes_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + hash ^= attributes_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + attributes_.WriteTo(output, _repeated_attributes_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + attributes_.WriteTo(ref output, _repeated_attributes_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + size += attributes_.CalculateSize(_repeated_attributes_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalAttributesRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + attributes_.Add(other.attributes_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + attributes_.AddEntriesFrom(input, _repeated_attributes_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + attributes_.AddEntriesFrom(ref input, _repeated_attributes_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AttributesEntry : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AttributesEntry()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[29]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AttributesEntry() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AttributesEntry(AttributesEntry other) : this() { + key_ = other.key_; + value_ = other.value_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AttributesEntry Clone() { + return new AttributesEntry(this); + } + + /// Field number for the "key" field. + public const int KeyFieldNumber = 1; + private readonly static string KeyDefaultValue = ""; + + private string key_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Key { + get { return key_ ?? KeyDefaultValue; } + set { + key_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "key" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKey { + get { return key_ != null; } + } + /// Clears the value of the "key" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKey() { + key_ = null; + } + + /// Field number for the "value" field. + public const int ValueFieldNumber = 2; + private readonly static string ValueDefaultValue = ""; + + private string value_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Value { + get { return value_ ?? ValueDefaultValue; } + set { + value_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "value" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasValue { + get { return value_ != null; } + } + /// Clears the value of the "value" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearValue() { + value_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AttributesEntry); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AttributesEntry other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Key != other.Key) return false; + if (Value != other.Value) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasKey) hash ^= Key.GetHashCode(); + if (HasValue) hash ^= Value.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasKey) { + output.WriteRawTag(10); + output.WriteString(Key); + } + if (HasValue) { + output.WriteRawTag(18); + output.WriteString(Value); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKey) { + output.WriteRawTag(10); + output.WriteString(Key); + } + if (HasValue) { + output.WriteRawTag(18); + output.WriteString(Value); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasKey) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Key); + } + if (HasValue) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Value); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AttributesEntry other) { + if (other == null) { + return; + } + if (other.HasKey) { + Key = other.Key; + } + if (other.HasValue) { + Value = other.Value; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Key = input.ReadString(); + break; + } + case 18: { + Value = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Key = input.ReadString(); + break; + } + case 18: { + Value = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalAttributesResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalAttributesResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[30]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesResponse(SetLocalAttributesResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesResponse Clone() { + return new SetLocalAttributesResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalAttributesResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalAttributesResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalAttributesResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalAttributesCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalAttributesCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[31]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesCallback(SetLocalAttributesCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalAttributesCallback Clone() { + return new SetLocalAttributesCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalAttributesCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalAttributesCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalAttributesCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// Change the local participant's name + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalNameRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalNameRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[32]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameRequest(SetLocalNameRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + name_ = other.name_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameRequest Clone() { + return new SetLocalNameRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 2; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalNameRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalNameRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (Name != other.Name) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalNameRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasName) { + Name = other.Name; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalNameResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalNameResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[33]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameResponse(SetLocalNameResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameResponse Clone() { + return new SetLocalNameResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalNameResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalNameResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalNameResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetLocalNameCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetLocalNameCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[34]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameCallback(SetLocalNameCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetLocalNameCallback Clone() { + return new SetLocalNameCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetLocalNameCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetLocalNameCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetLocalNameCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// Change the "desire" to subs2ribe to a track + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetSubscribedRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetSubscribedRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[35]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSubscribedRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSubscribedRequest(SetSubscribedRequest other) : this() { + _hasBits0 = other._hasBits0; + subscribe_ = other.subscribe_; + publicationHandle_ = other.publicationHandle_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSubscribedRequest Clone() { + return new SetSubscribedRequest(this); + } + + /// Field number for the "subscribe" field. + public const int SubscribeFieldNumber = 1; + private readonly static bool SubscribeDefaultValue = false; + + private bool subscribe_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Subscribe { + get { if ((_hasBits0 & 1) != 0) { return subscribe_; } else { return SubscribeDefaultValue; } } + set { + _hasBits0 |= 1; + subscribe_ = value; + } + } + /// Gets whether the "subscribe" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSubscribe { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "subscribe" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSubscribe() { + _hasBits0 &= ~1; + } + + /// Field number for the "publication_handle" field. + public const int PublicationHandleFieldNumber = 2; + private readonly static ulong PublicationHandleDefaultValue = 0UL; + + private ulong publicationHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PublicationHandle { + get { if ((_hasBits0 & 2) != 0) { return publicationHandle_; } else { return PublicationHandleDefaultValue; } } + set { + _hasBits0 |= 2; + publicationHandle_ = value; + } + } + /// Gets whether the "publication_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPublicationHandle { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "publication_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPublicationHandle() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetSubscribedRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetSubscribedRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Subscribe != other.Subscribe) return false; + if (PublicationHandle != other.PublicationHandle) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSubscribe) hash ^= Subscribe.GetHashCode(); + if (HasPublicationHandle) hash ^= PublicationHandle.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSubscribe) { + output.WriteRawTag(8); + output.WriteBool(Subscribe); + } + if (HasPublicationHandle) { + output.WriteRawTag(16); + output.WriteUInt64(PublicationHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSubscribe) { + output.WriteRawTag(8); + output.WriteBool(Subscribe); + } + if (HasPublicationHandle) { + output.WriteRawTag(16); + output.WriteUInt64(PublicationHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSubscribe) { + size += 1 + 1; + } + if (HasPublicationHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PublicationHandle); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetSubscribedRequest other) { + if (other == null) { + return; + } + if (other.HasSubscribe) { + Subscribe = other.Subscribe; + } + if (other.HasPublicationHandle) { + PublicationHandle = other.PublicationHandle; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Subscribe = input.ReadBool(); + break; + } + case 16: { + PublicationHandle = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Subscribe = input.ReadBool(); + break; + } + case 16: { + PublicationHandle = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetSubscribedResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetSubscribedResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[36]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSubscribedResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSubscribedResponse(SetSubscribedResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetSubscribedResponse Clone() { + return new SetSubscribedResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetSubscribedResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetSubscribedResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetSubscribedResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetSessionStatsRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetSessionStatsRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[37]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsRequest(GetSessionStatsRequest other) : this() { + _hasBits0 = other._hasBits0; + roomHandle_ = other.roomHandle_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsRequest Clone() { + return new GetSessionStatsRequest(this); + } + + /// Field number for the "room_handle" field. + public const int RoomHandleFieldNumber = 1; + private readonly static ulong RoomHandleDefaultValue = 0UL; + + private ulong roomHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RoomHandle { + get { if ((_hasBits0 & 1) != 0) { return roomHandle_; } else { return RoomHandleDefaultValue; } } + set { + _hasBits0 |= 1; + roomHandle_ = value; + } + } + /// Gets whether the "room_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoomHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "room_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoomHandle() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as GetSessionStatsRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(GetSessionStatsRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RoomHandle != other.RoomHandle) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasRoomHandle) hash ^= RoomHandle.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasRoomHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoomHandle); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(GetSessionStatsRequest other) { + if (other == null) { + return; + } + if (other.HasRoomHandle) { + RoomHandle = other.RoomHandle; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RoomHandle = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RoomHandle = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetSessionStatsResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetSessionStatsResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[38]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsResponse(GetSessionStatsResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsResponse Clone() { + return new GetSessionStatsResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as GetSessionStatsResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(GetSessionStatsResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(GetSessionStatsResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetSessionStatsCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetSessionStatsCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[39]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsCallback(GetSessionStatsCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Result: + Result = other.Result.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public GetSessionStatsCallback Clone() { + return new GetSessionStatsCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return HasError ? (string) message_ : ""; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + messageCase_ = MessageOneofCase.Error; + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return messageCase_ == MessageOneofCase.Error; } + } + /// Clears the value of the oneof if it's currently set to "error" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + if (HasError) { + ClearMessage(); + } + } + + /// Field number for the "result" field. + public const int ResultFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.GetSessionStatsCallback.Types.Result Result { + get { return messageCase_ == MessageOneofCase.Result ? (global::LiveKit.Proto.GetSessionStatsCallback.Types.Result) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Result; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Error = 2, + Result = 3, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as GetSessionStatsCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(GetSessionStatsCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; + if (!object.Equals(Result, other.Result)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (messageCase_ == MessageOneofCase.Result) hash ^= Result.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (messageCase_ == MessageOneofCase.Result) { + output.WriteRawTag(26); + output.WriteMessage(Result); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + if (messageCase_ == MessageOneofCase.Result) { + output.WriteRawTag(26); + output.WriteMessage(Result); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (messageCase_ == MessageOneofCase.Result) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(GetSessionStatsCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Result: + if (Result == null) { + Result = new global::LiveKit.Proto.GetSessionStatsCallback.Types.Result(); + } + Result.MergeFrom(other.Result); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.GetSessionStatsCallback.Types.Result subBuilder = new global::LiveKit.Proto.GetSessionStatsCallback.Types.Result(); + if (messageCase_ == MessageOneofCase.Result) { + subBuilder.MergeFrom(Result); + } + input.ReadMessage(subBuilder); + Result = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + case 26: { + global::LiveKit.Proto.GetSessionStatsCallback.Types.Result subBuilder = new global::LiveKit.Proto.GetSessionStatsCallback.Types.Result(); + if (messageCase_ == MessageOneofCase.Result) { + subBuilder.MergeFrom(Result); + } + input.ReadMessage(subBuilder); + Result = subBuilder; + break; + } + } + } + } + #endif + + #region Nested types + /// Container for nested types declared in the GetSessionStatsCallback message type. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Result : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Result()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.GetSessionStatsCallback.Descriptor.NestedTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Result() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Result(Result other) : this() { + publisherStats_ = other.publisherStats_.Clone(); + subscriberStats_ = other.subscriberStats_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Result Clone() { + return new Result(this); + } + + /// Field number for the "publisher_stats" field. + public const int PublisherStatsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_publisherStats_codec + = pb::FieldCodec.ForMessage(10, global::LiveKit.Proto.RtcStats.Parser); + private readonly pbc::RepeatedField publisherStats_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField PublisherStats { + get { return publisherStats_; } + } + + /// Field number for the "subscriber_stats" field. + public const int SubscriberStatsFieldNumber = 2; + private static readonly pb::FieldCodec _repeated_subscriberStats_codec + = pb::FieldCodec.ForMessage(18, global::LiveKit.Proto.RtcStats.Parser); + private readonly pbc::RepeatedField subscriberStats_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField SubscriberStats { + get { return subscriberStats_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Result); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Result other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!publisherStats_.Equals(other.publisherStats_)) return false; + if(!subscriberStats_.Equals(other.subscriberStats_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= publisherStats_.GetHashCode(); + hash ^= subscriberStats_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + publisherStats_.WriteTo(output, _repeated_publisherStats_codec); + subscriberStats_.WriteTo(output, _repeated_subscriberStats_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + publisherStats_.WriteTo(ref output, _repeated_publisherStats_codec); + subscriberStats_.WriteTo(ref output, _repeated_subscriberStats_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += publisherStats_.CalculateSize(_repeated_publisherStats_codec); + size += subscriberStats_.CalculateSize(_repeated_subscriberStats_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Result other) { + if (other == null) { + return; + } + publisherStats_.Add(other.publisherStats_); + subscriberStats_.Add(other.subscriberStats_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + publisherStats_.AddEntriesFrom(input, _repeated_publisherStats_codec); + break; + } + case 18: { + subscriberStats_.AddEntriesFrom(input, _repeated_subscriberStats_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + publisherStats_.AddEntriesFrom(ref input, _repeated_publisherStats_codec); + break; + } + case 18: { + subscriberStats_.AddEntriesFrom(ref input, _repeated_subscriberStats_codec); + break; + } + } + } + } + #endif + + } + + } + #endregion + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoEncoding : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoEncoding()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[40]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public VideoEncoding() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public VideoEncoding(VideoEncoding other) : this() { + _hasBits0 = other._hasBits0; + maxBitrate_ = other.maxBitrate_; + maxFramerate_ = other.maxFramerate_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public VideoEncoding Clone() { + return new VideoEncoding(this); + } + + /// Field number for the "max_bitrate" field. + public const int MaxBitrateFieldNumber = 1; + private readonly static ulong MaxBitrateDefaultValue = 0UL; + + private ulong maxBitrate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong MaxBitrate { + get { if ((_hasBits0 & 1) != 0) { return maxBitrate_; } else { return MaxBitrateDefaultValue; } } + set { + _hasBits0 |= 1; + maxBitrate_ = value; + } + } + /// Gets whether the "max_bitrate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMaxBitrate { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "max_bitrate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMaxBitrate() { + _hasBits0 &= ~1; + } + + /// Field number for the "max_framerate" field. + public const int MaxFramerateFieldNumber = 2; + private readonly static double MaxFramerateDefaultValue = 0D; + + private double maxFramerate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double MaxFramerate { + get { if ((_hasBits0 & 2) != 0) { return maxFramerate_; } else { return MaxFramerateDefaultValue; } } + set { + _hasBits0 |= 2; + maxFramerate_ = value; + } + } + /// Gets whether the "max_framerate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMaxFramerate { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "max_framerate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMaxFramerate() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as VideoEncoding); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(VideoEncoding other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (MaxBitrate != other.MaxBitrate) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxFramerate, other.MaxFramerate)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasMaxBitrate) hash ^= MaxBitrate.GetHashCode(); + if (HasMaxFramerate) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxFramerate); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasMaxBitrate) { + output.WriteRawTag(8); + output.WriteUInt64(MaxBitrate); + } + if (HasMaxFramerate) { + output.WriteRawTag(17); + output.WriteDouble(MaxFramerate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasMaxBitrate) { + output.WriteRawTag(8); + output.WriteUInt64(MaxBitrate); + } + if (HasMaxFramerate) { + output.WriteRawTag(17); + output.WriteDouble(MaxFramerate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasMaxBitrate) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MaxBitrate); + } + if (HasMaxFramerate) { + size += 1 + 8; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(VideoEncoding other) { + if (other == null) { + return; + } + if (other.HasMaxBitrate) { + MaxBitrate = other.MaxBitrate; + } + if (other.HasMaxFramerate) { + MaxFramerate = other.MaxFramerate; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + MaxBitrate = input.ReadUInt64(); + break; + } + case 17: { + MaxFramerate = input.ReadDouble(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + MaxBitrate = input.ReadUInt64(); + break; + } + case 17: { + MaxFramerate = input.ReadDouble(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioEncoding : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioEncoding()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[41]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioEncoding() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioEncoding(AudioEncoding other) : this() { + _hasBits0 = other._hasBits0; + maxBitrate_ = other.maxBitrate_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioEncoding Clone() { + return new AudioEncoding(this); + } + + /// Field number for the "max_bitrate" field. + public const int MaxBitrateFieldNumber = 1; + private readonly static ulong MaxBitrateDefaultValue = 0UL; + + private ulong maxBitrate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong MaxBitrate { + get { if ((_hasBits0 & 1) != 0) { return maxBitrate_; } else { return MaxBitrateDefaultValue; } } + set { + _hasBits0 |= 1; + maxBitrate_ = value; + } + } + /// Gets whether the "max_bitrate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMaxBitrate { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "max_bitrate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMaxBitrate() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioEncoding); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioEncoding other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (MaxBitrate != other.MaxBitrate) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasMaxBitrate) hash ^= MaxBitrate.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasMaxBitrate) { + output.WriteRawTag(8); + output.WriteUInt64(MaxBitrate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasMaxBitrate) { + output.WriteRawTag(8); + output.WriteUInt64(MaxBitrate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasMaxBitrate) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MaxBitrate); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioEncoding other) { + if (other == null) { + return; + } + if (other.HasMaxBitrate) { + MaxBitrate = other.MaxBitrate; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + MaxBitrate = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + MaxBitrate = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackPublishOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackPublishOptions()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[42]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublishOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublishOptions(TrackPublishOptions other) : this() { + _hasBits0 = other._hasBits0; + videoEncoding_ = other.videoEncoding_ != null ? other.videoEncoding_.Clone() : null; + audioEncoding_ = other.audioEncoding_ != null ? other.audioEncoding_.Clone() : null; + videoCodec_ = other.videoCodec_; + dtx_ = other.dtx_; + red_ = other.red_; + simulcast_ = other.simulcast_; + source_ = other.source_; + stream_ = other.stream_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublishOptions Clone() { + return new TrackPublishOptions(this); + } + + /// Field number for the "video_encoding" field. + public const int VideoEncodingFieldNumber = 1; + private global::LiveKit.Proto.VideoEncoding videoEncoding_; + /// + /// encodings are optional + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoEncoding VideoEncoding { + get { return videoEncoding_; } + set { + videoEncoding_ = value; + } + } + + /// Field number for the "audio_encoding" field. + public const int AudioEncodingFieldNumber = 2; + private global::LiveKit.Proto.AudioEncoding audioEncoding_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioEncoding AudioEncoding { + get { return audioEncoding_; } + set { + audioEncoding_ = value; + } + } + + /// Field number for the "video_codec" field. + public const int VideoCodecFieldNumber = 3; + private readonly static global::LiveKit.Proto.VideoCodec VideoCodecDefaultValue = global::LiveKit.Proto.VideoCodec.Vp8; + + private global::LiveKit.Proto.VideoCodec videoCodec_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoCodec VideoCodec { + get { if ((_hasBits0 & 1) != 0) { return videoCodec_; } else { return VideoCodecDefaultValue; } } + set { + _hasBits0 |= 1; + videoCodec_ = value; + } + } + /// Gets whether the "video_codec" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasVideoCodec { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "video_codec" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearVideoCodec() { + _hasBits0 &= ~1; + } + + /// Field number for the "dtx" field. + public const int DtxFieldNumber = 4; + private readonly static bool DtxDefaultValue = false; + + private bool dtx_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Dtx { + get { if ((_hasBits0 & 2) != 0) { return dtx_; } else { return DtxDefaultValue; } } + set { + _hasBits0 |= 2; + dtx_ = value; + } + } + /// Gets whether the "dtx" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDtx { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "dtx" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDtx() { + _hasBits0 &= ~2; + } + + /// Field number for the "red" field. + public const int RedFieldNumber = 5; + private readonly static bool RedDefaultValue = false; + + private bool red_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Red { + get { if ((_hasBits0 & 4) != 0) { return red_; } else { return RedDefaultValue; } } + set { + _hasBits0 |= 4; + red_ = value; + } + } + /// Gets whether the "red" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRed { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "red" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRed() { + _hasBits0 &= ~4; + } + + /// Field number for the "simulcast" field. + public const int SimulcastFieldNumber = 6; + private readonly static bool SimulcastDefaultValue = false; + + private bool simulcast_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Simulcast { + get { if ((_hasBits0 & 8) != 0) { return simulcast_; } else { return SimulcastDefaultValue; } } + set { + _hasBits0 |= 8; + simulcast_ = value; + } + } + /// Gets whether the "simulcast" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSimulcast { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "simulcast" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSimulcast() { + _hasBits0 &= ~8; + } + + /// Field number for the "source" field. + public const int SourceFieldNumber = 7; + private readonly static global::LiveKit.Proto.TrackSource SourceDefaultValue = global::LiveKit.Proto.TrackSource.SourceUnknown; + + private global::LiveKit.Proto.TrackSource source_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackSource Source { + get { if ((_hasBits0 & 16) != 0) { return source_; } else { return SourceDefaultValue; } } + set { + _hasBits0 |= 16; + source_ = value; + } + } + /// Gets whether the "source" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSource { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "source" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSource() { + _hasBits0 &= ~16; + } + + /// Field number for the "stream" field. + public const int StreamFieldNumber = 8; + private readonly static string StreamDefaultValue = ""; + + private string stream_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Stream { + get { return stream_ ?? StreamDefaultValue; } + set { + stream_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "stream" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStream { + get { return stream_ != null; } + } + /// Clears the value of the "stream" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStream() { + stream_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackPublishOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackPublishOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(VideoEncoding, other.VideoEncoding)) return false; + if (!object.Equals(AudioEncoding, other.AudioEncoding)) return false; + if (VideoCodec != other.VideoCodec) return false; + if (Dtx != other.Dtx) return false; + if (Red != other.Red) return false; + if (Simulcast != other.Simulcast) return false; + if (Source != other.Source) return false; + if (Stream != other.Stream) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (videoEncoding_ != null) hash ^= VideoEncoding.GetHashCode(); + if (audioEncoding_ != null) hash ^= AudioEncoding.GetHashCode(); + if (HasVideoCodec) hash ^= VideoCodec.GetHashCode(); + if (HasDtx) hash ^= Dtx.GetHashCode(); + if (HasRed) hash ^= Red.GetHashCode(); + if (HasSimulcast) hash ^= Simulcast.GetHashCode(); + if (HasSource) hash ^= Source.GetHashCode(); + if (HasStream) hash ^= Stream.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (videoEncoding_ != null) { + output.WriteRawTag(10); + output.WriteMessage(VideoEncoding); + } + if (audioEncoding_ != null) { + output.WriteRawTag(18); + output.WriteMessage(AudioEncoding); + } + if (HasVideoCodec) { + output.WriteRawTag(24); + output.WriteEnum((int) VideoCodec); + } + if (HasDtx) { + output.WriteRawTag(32); + output.WriteBool(Dtx); + } + if (HasRed) { + output.WriteRawTag(40); + output.WriteBool(Red); + } + if (HasSimulcast) { + output.WriteRawTag(48); + output.WriteBool(Simulcast); + } + if (HasSource) { + output.WriteRawTag(56); + output.WriteEnum((int) Source); + } + if (HasStream) { + output.WriteRawTag(66); + output.WriteString(Stream); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (videoEncoding_ != null) { + output.WriteRawTag(10); + output.WriteMessage(VideoEncoding); + } + if (audioEncoding_ != null) { + output.WriteRawTag(18); + output.WriteMessage(AudioEncoding); + } + if (HasVideoCodec) { + output.WriteRawTag(24); + output.WriteEnum((int) VideoCodec); + } + if (HasDtx) { + output.WriteRawTag(32); + output.WriteBool(Dtx); + } + if (HasRed) { + output.WriteRawTag(40); + output.WriteBool(Red); + } + if (HasSimulcast) { + output.WriteRawTag(48); + output.WriteBool(Simulcast); + } + if (HasSource) { + output.WriteRawTag(56); + output.WriteEnum((int) Source); + } + if (HasStream) { + output.WriteRawTag(66); + output.WriteString(Stream); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (videoEncoding_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(VideoEncoding); + } + if (audioEncoding_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(AudioEncoding); + } + if (HasVideoCodec) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) VideoCodec); + } + if (HasDtx) { + size += 1 + 1; + } + if (HasRed) { + size += 1 + 1; + } + if (HasSimulcast) { + size += 1 + 1; + } + if (HasSource) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Source); + } + if (HasStream) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Stream); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackPublishOptions other) { + if (other == null) { + return; + } + if (other.videoEncoding_ != null) { + if (videoEncoding_ == null) { + VideoEncoding = new global::LiveKit.Proto.VideoEncoding(); + } + VideoEncoding.MergeFrom(other.VideoEncoding); + } + if (other.audioEncoding_ != null) { + if (audioEncoding_ == null) { + AudioEncoding = new global::LiveKit.Proto.AudioEncoding(); + } + AudioEncoding.MergeFrom(other.AudioEncoding); + } + if (other.HasVideoCodec) { + VideoCodec = other.VideoCodec; + } + if (other.HasDtx) { + Dtx = other.Dtx; + } + if (other.HasRed) { + Red = other.Red; + } + if (other.HasSimulcast) { + Simulcast = other.Simulcast; + } + if (other.HasSource) { + Source = other.Source; + } + if (other.HasStream) { + Stream = other.Stream; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (videoEncoding_ == null) { + VideoEncoding = new global::LiveKit.Proto.VideoEncoding(); + } + input.ReadMessage(VideoEncoding); + break; + } + case 18: { + if (audioEncoding_ == null) { + AudioEncoding = new global::LiveKit.Proto.AudioEncoding(); + } + input.ReadMessage(AudioEncoding); + break; + } + case 24: { + VideoCodec = (global::LiveKit.Proto.VideoCodec) input.ReadEnum(); + break; + } + case 32: { + Dtx = input.ReadBool(); + break; + } + case 40: { + Red = input.ReadBool(); + break; + } + case 48: { + Simulcast = input.ReadBool(); + break; + } + case 56: { + Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); + break; + } + case 66: { + Stream = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (videoEncoding_ == null) { + VideoEncoding = new global::LiveKit.Proto.VideoEncoding(); + } + input.ReadMessage(VideoEncoding); + break; + } + case 18: { + if (audioEncoding_ == null) { + AudioEncoding = new global::LiveKit.Proto.AudioEncoding(); + } + input.ReadMessage(AudioEncoding); + break; + } + case 24: { + VideoCodec = (global::LiveKit.Proto.VideoCodec) input.ReadEnum(); + break; + } + case 32: { + Dtx = input.ReadBool(); + break; + } + case 40: { + Red = input.ReadBool(); + break; + } + case 48: { + Simulcast = input.ReadBool(); + break; + } + case 56: { + Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); + break; + } + case 66: { + Stream = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class IceServer : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new IceServer()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[43]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public IceServer() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public IceServer(IceServer other) : this() { + urls_ = other.urls_.Clone(); + username_ = other.username_; + password_ = other.password_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public IceServer Clone() { + return new IceServer(this); + } + + /// Field number for the "urls" field. + public const int UrlsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_urls_codec + = pb::FieldCodec.ForString(10); + private readonly pbc::RepeatedField urls_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Urls { + get { return urls_; } + } + + /// Field number for the "username" field. + public const int UsernameFieldNumber = 2; + private readonly static string UsernameDefaultValue = ""; + + private string username_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Username { + get { return username_ ?? UsernameDefaultValue; } + set { + username_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "username" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasUsername { + get { return username_ != null; } + } + /// Clears the value of the "username" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearUsername() { + username_ = null; + } + + /// Field number for the "password" field. + public const int PasswordFieldNumber = 3; + private readonly static string PasswordDefaultValue = ""; + + private string password_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Password { + get { return password_ ?? PasswordDefaultValue; } + set { + password_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "password" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPassword { + get { return password_ != null; } + } + /// Clears the value of the "password" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPassword() { + password_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as IceServer); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(IceServer other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!urls_.Equals(other.urls_)) return false; + if (Username != other.Username) return false; + if (Password != other.Password) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= urls_.GetHashCode(); + if (HasUsername) hash ^= Username.GetHashCode(); + if (HasPassword) hash ^= Password.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + urls_.WriteTo(output, _repeated_urls_codec); + if (HasUsername) { + output.WriteRawTag(18); + output.WriteString(Username); + } + if (HasPassword) { + output.WriteRawTag(26); + output.WriteString(Password); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + urls_.WriteTo(ref output, _repeated_urls_codec); + if (HasUsername) { + output.WriteRawTag(18); + output.WriteString(Username); + } + if (HasPassword) { + output.WriteRawTag(26); + output.WriteString(Password); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += urls_.CalculateSize(_repeated_urls_codec); + if (HasUsername) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Username); + } + if (HasPassword) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Password); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(IceServer other) { + if (other == null) { + return; + } + urls_.Add(other.urls_); + if (other.HasUsername) { + Username = other.Username; + } + if (other.HasPassword) { + Password = other.Password; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + urls_.AddEntriesFrom(input, _repeated_urls_codec); + break; + } + case 18: { + Username = input.ReadString(); + break; + } + case 26: { + Password = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + urls_.AddEntriesFrom(ref input, _repeated_urls_codec); + break; + } + case 18: { + Username = input.ReadString(); + break; + } + case 26: { + Password = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RtcConfig : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RtcConfig()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[44]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcConfig() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcConfig(RtcConfig other) : this() { + _hasBits0 = other._hasBits0; + iceTransportType_ = other.iceTransportType_; + continualGatheringPolicy_ = other.continualGatheringPolicy_; + iceServers_ = other.iceServers_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcConfig Clone() { + return new RtcConfig(this); + } + + /// Field number for the "ice_transport_type" field. + public const int IceTransportTypeFieldNumber = 1; + private readonly static global::LiveKit.Proto.IceTransportType IceTransportTypeDefaultValue = global::LiveKit.Proto.IceTransportType.TransportRelay; + + private global::LiveKit.Proto.IceTransportType iceTransportType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceTransportType IceTransportType { + get { if ((_hasBits0 & 1) != 0) { return iceTransportType_; } else { return IceTransportTypeDefaultValue; } } + set { + _hasBits0 |= 1; + iceTransportType_ = value; + } + } + /// Gets whether the "ice_transport_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIceTransportType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "ice_transport_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIceTransportType() { + _hasBits0 &= ~1; + } + + /// Field number for the "continual_gathering_policy" field. + public const int ContinualGatheringPolicyFieldNumber = 2; + private readonly static global::LiveKit.Proto.ContinualGatheringPolicy ContinualGatheringPolicyDefaultValue = global::LiveKit.Proto.ContinualGatheringPolicy.GatherOnce; + + private global::LiveKit.Proto.ContinualGatheringPolicy continualGatheringPolicy_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ContinualGatheringPolicy ContinualGatheringPolicy { + get { if ((_hasBits0 & 2) != 0) { return continualGatheringPolicy_; } else { return ContinualGatheringPolicyDefaultValue; } } + set { + _hasBits0 |= 2; + continualGatheringPolicy_ = value; + } + } + /// Gets whether the "continual_gathering_policy" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasContinualGatheringPolicy { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "continual_gathering_policy" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearContinualGatheringPolicy() { + _hasBits0 &= ~2; + } + + /// Field number for the "ice_servers" field. + public const int IceServersFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_iceServers_codec + = pb::FieldCodec.ForMessage(26, global::LiveKit.Proto.IceServer.Parser); + private readonly pbc::RepeatedField iceServers_ = new pbc::RepeatedField(); + /// + /// empty fallback to default + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField IceServers { + get { return iceServers_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RtcConfig); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RtcConfig other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (IceTransportType != other.IceTransportType) return false; + if (ContinualGatheringPolicy != other.ContinualGatheringPolicy) return false; + if(!iceServers_.Equals(other.iceServers_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasIceTransportType) hash ^= IceTransportType.GetHashCode(); + if (HasContinualGatheringPolicy) hash ^= ContinualGatheringPolicy.GetHashCode(); + hash ^= iceServers_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasIceTransportType) { + output.WriteRawTag(8); + output.WriteEnum((int) IceTransportType); + } + if (HasContinualGatheringPolicy) { + output.WriteRawTag(16); + output.WriteEnum((int) ContinualGatheringPolicy); + } + iceServers_.WriteTo(output, _repeated_iceServers_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasIceTransportType) { + output.WriteRawTag(8); + output.WriteEnum((int) IceTransportType); + } + if (HasContinualGatheringPolicy) { + output.WriteRawTag(16); + output.WriteEnum((int) ContinualGatheringPolicy); + } + iceServers_.WriteTo(ref output, _repeated_iceServers_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasIceTransportType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) IceTransportType); + } + if (HasContinualGatheringPolicy) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ContinualGatheringPolicy); + } + size += iceServers_.CalculateSize(_repeated_iceServers_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RtcConfig other) { + if (other == null) { + return; + } + if (other.HasIceTransportType) { + IceTransportType = other.IceTransportType; + } + if (other.HasContinualGatheringPolicy) { + ContinualGatheringPolicy = other.ContinualGatheringPolicy; + } + iceServers_.Add(other.iceServers_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + IceTransportType = (global::LiveKit.Proto.IceTransportType) input.ReadEnum(); + break; + } + case 16: { + ContinualGatheringPolicy = (global::LiveKit.Proto.ContinualGatheringPolicy) input.ReadEnum(); + break; + } + case 26: { + iceServers_.AddEntriesFrom(input, _repeated_iceServers_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + IceTransportType = (global::LiveKit.Proto.IceTransportType) input.ReadEnum(); + break; + } + case 16: { + ContinualGatheringPolicy = (global::LiveKit.Proto.ContinualGatheringPolicy) input.ReadEnum(); + break; + } + case 26: { + iceServers_.AddEntriesFrom(ref input, _repeated_iceServers_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RoomOptions : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomOptions()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[45]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomOptions() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomOptions(RoomOptions other) : this() { + _hasBits0 = other._hasBits0; + autoSubscribe_ = other.autoSubscribe_; + adaptiveStream_ = other.adaptiveStream_; + dynacast_ = other.dynacast_; + e2Ee_ = other.e2Ee_ != null ? other.e2Ee_.Clone() : null; + rtcConfig_ = other.rtcConfig_ != null ? other.rtcConfig_.Clone() : null; + joinRetries_ = other.joinRetries_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomOptions Clone() { + return new RoomOptions(this); + } + + /// Field number for the "auto_subscribe" field. + public const int AutoSubscribeFieldNumber = 1; + private readonly static bool AutoSubscribeDefaultValue = false; + + private bool autoSubscribe_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool AutoSubscribe { + get { if ((_hasBits0 & 1) != 0) { return autoSubscribe_; } else { return AutoSubscribeDefaultValue; } } + set { + _hasBits0 |= 1; + autoSubscribe_ = value; + } + } + /// Gets whether the "auto_subscribe" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAutoSubscribe { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "auto_subscribe" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAutoSubscribe() { + _hasBits0 &= ~1; + } + + /// Field number for the "adaptive_stream" field. + public const int AdaptiveStreamFieldNumber = 2; + private readonly static bool AdaptiveStreamDefaultValue = false; + + private bool adaptiveStream_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool AdaptiveStream { + get { if ((_hasBits0 & 2) != 0) { return adaptiveStream_; } else { return AdaptiveStreamDefaultValue; } } + set { + _hasBits0 |= 2; + adaptiveStream_ = value; + } + } + /// Gets whether the "adaptive_stream" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAdaptiveStream { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "adaptive_stream" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAdaptiveStream() { + _hasBits0 &= ~2; + } + + /// Field number for the "dynacast" field. + public const int DynacastFieldNumber = 3; + private readonly static bool DynacastDefaultValue = false; + + private bool dynacast_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Dynacast { + get { if ((_hasBits0 & 4) != 0) { return dynacast_; } else { return DynacastDefaultValue; } } + set { + _hasBits0 |= 4; + dynacast_ = value; + } + } + /// Gets whether the "dynacast" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDynacast { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "dynacast" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDynacast() { + _hasBits0 &= ~4; + } + + /// Field number for the "e2ee" field. + public const int E2EeFieldNumber = 4; + private global::LiveKit.Proto.E2eeOptions e2Ee_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.E2eeOptions E2Ee { + get { return e2Ee_; } + set { + e2Ee_ = value; + } + } + + /// Field number for the "rtc_config" field. + public const int RtcConfigFieldNumber = 5; + private global::LiveKit.Proto.RtcConfig rtcConfig_; + /// + /// allow to setup a custom RtcConfiguration + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcConfig RtcConfig { + get { return rtcConfig_; } + set { + rtcConfig_ = value; + } + } + + /// Field number for the "join_retries" field. + public const int JoinRetriesFieldNumber = 6; + private readonly static uint JoinRetriesDefaultValue = 0; + + private uint joinRetries_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint JoinRetries { + get { if ((_hasBits0 & 8) != 0) { return joinRetries_; } else { return JoinRetriesDefaultValue; } } + set { + _hasBits0 |= 8; + joinRetries_ = value; + } + } + /// Gets whether the "join_retries" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasJoinRetries { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "join_retries" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearJoinRetries() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RoomOptions); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RoomOptions other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AutoSubscribe != other.AutoSubscribe) return false; + if (AdaptiveStream != other.AdaptiveStream) return false; + if (Dynacast != other.Dynacast) return false; + if (!object.Equals(E2Ee, other.E2Ee)) return false; + if (!object.Equals(RtcConfig, other.RtcConfig)) return false; + if (JoinRetries != other.JoinRetries) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAutoSubscribe) hash ^= AutoSubscribe.GetHashCode(); + if (HasAdaptiveStream) hash ^= AdaptiveStream.GetHashCode(); + if (HasDynacast) hash ^= Dynacast.GetHashCode(); + if (e2Ee_ != null) hash ^= E2Ee.GetHashCode(); + if (rtcConfig_ != null) hash ^= RtcConfig.GetHashCode(); + if (HasJoinRetries) hash ^= JoinRetries.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAutoSubscribe) { + output.WriteRawTag(8); + output.WriteBool(AutoSubscribe); + } + if (HasAdaptiveStream) { + output.WriteRawTag(16); + output.WriteBool(AdaptiveStream); + } + if (HasDynacast) { + output.WriteRawTag(24); + output.WriteBool(Dynacast); + } + if (e2Ee_ != null) { + output.WriteRawTag(34); + output.WriteMessage(E2Ee); + } + if (rtcConfig_ != null) { + output.WriteRawTag(42); + output.WriteMessage(RtcConfig); + } + if (HasJoinRetries) { + output.WriteRawTag(48); + output.WriteUInt32(JoinRetries); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAutoSubscribe) { + output.WriteRawTag(8); + output.WriteBool(AutoSubscribe); + } + if (HasAdaptiveStream) { + output.WriteRawTag(16); + output.WriteBool(AdaptiveStream); + } + if (HasDynacast) { + output.WriteRawTag(24); + output.WriteBool(Dynacast); + } + if (e2Ee_ != null) { + output.WriteRawTag(34); + output.WriteMessage(E2Ee); + } + if (rtcConfig_ != null) { + output.WriteRawTag(42); + output.WriteMessage(RtcConfig); + } + if (HasJoinRetries) { + output.WriteRawTag(48); + output.WriteUInt32(JoinRetries); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAutoSubscribe) { + size += 1 + 1; + } + if (HasAdaptiveStream) { + size += 1 + 1; + } + if (HasDynacast) { + size += 1 + 1; + } + if (e2Ee_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(E2Ee); + } + if (rtcConfig_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RtcConfig); + } + if (HasJoinRetries) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(JoinRetries); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RoomOptions other) { + if (other == null) { + return; + } + if (other.HasAutoSubscribe) { + AutoSubscribe = other.AutoSubscribe; + } + if (other.HasAdaptiveStream) { + AdaptiveStream = other.AdaptiveStream; + } + if (other.HasDynacast) { + Dynacast = other.Dynacast; + } + if (other.e2Ee_ != null) { + if (e2Ee_ == null) { + E2Ee = new global::LiveKit.Proto.E2eeOptions(); + } + E2Ee.MergeFrom(other.E2Ee); + } + if (other.rtcConfig_ != null) { + if (rtcConfig_ == null) { + RtcConfig = new global::LiveKit.Proto.RtcConfig(); + } + RtcConfig.MergeFrom(other.RtcConfig); + } + if (other.HasJoinRetries) { + JoinRetries = other.JoinRetries; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AutoSubscribe = input.ReadBool(); + break; + } + case 16: { + AdaptiveStream = input.ReadBool(); + break; + } + case 24: { + Dynacast = input.ReadBool(); + break; + } + case 34: { + if (e2Ee_ == null) { + E2Ee = new global::LiveKit.Proto.E2eeOptions(); + } + input.ReadMessage(E2Ee); + break; + } + case 42: { + if (rtcConfig_ == null) { + RtcConfig = new global::LiveKit.Proto.RtcConfig(); + } + input.ReadMessage(RtcConfig); + break; + } + case 48: { + JoinRetries = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AutoSubscribe = input.ReadBool(); + break; + } + case 16: { + AdaptiveStream = input.ReadBool(); + break; + } + case 24: { + Dynacast = input.ReadBool(); + break; + } + case 34: { + if (e2Ee_ == null) { + E2Ee = new global::LiveKit.Proto.E2eeOptions(); + } + input.ReadMessage(E2Ee); + break; + } + case 42: { + if (rtcConfig_ == null) { + RtcConfig = new global::LiveKit.Proto.RtcConfig(); + } + input.ReadMessage(RtcConfig); + break; + } + case 48: { + JoinRetries = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TranscriptionSegment : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TranscriptionSegment()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[46]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TranscriptionSegment() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TranscriptionSegment(TranscriptionSegment other) : this() { + _hasBits0 = other._hasBits0; + id_ = other.id_; + text_ = other.text_; + startTime_ = other.startTime_; + endTime_ = other.endTime_; + final_ = other.final_; + language_ = other.language_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TranscriptionSegment Clone() { + return new TranscriptionSegment(this); + } + + /// Field number for the "id" field. + public const int IdFieldNumber = 1; + private readonly static string IdDefaultValue = ""; + + private string id_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Id { + get { return id_ ?? IdDefaultValue; } + set { + id_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasId { + get { return id_ != null; } + } + /// Clears the value of the "id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearId() { + id_ = null; + } + + /// Field number for the "text" field. + public const int TextFieldNumber = 2; + private readonly static string TextDefaultValue = ""; + + private string text_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Text { + get { return text_ ?? TextDefaultValue; } + set { + text_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "text" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasText { + get { return text_ != null; } + } + /// Clears the value of the "text" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearText() { + text_ = null; + } + + /// Field number for the "start_time" field. + public const int StartTimeFieldNumber = 3; + private readonly static ulong StartTimeDefaultValue = 0UL; + + private ulong startTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong StartTime { + get { if ((_hasBits0 & 1) != 0) { return startTime_; } else { return StartTimeDefaultValue; } } + set { + _hasBits0 |= 1; + startTime_ = value; + } + } + /// Gets whether the "start_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStartTime { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "start_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStartTime() { + _hasBits0 &= ~1; + } + + /// Field number for the "end_time" field. + public const int EndTimeFieldNumber = 4; + private readonly static ulong EndTimeDefaultValue = 0UL; + + private ulong endTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong EndTime { + get { if ((_hasBits0 & 2) != 0) { return endTime_; } else { return EndTimeDefaultValue; } } + set { + _hasBits0 |= 2; + endTime_ = value; + } + } + /// Gets whether the "end_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEndTime { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "end_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEndTime() { + _hasBits0 &= ~2; + } + + /// Field number for the "final" field. + public const int FinalFieldNumber = 5; + private readonly static bool FinalDefaultValue = false; + + private bool final_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Final { + get { if ((_hasBits0 & 4) != 0) { return final_; } else { return FinalDefaultValue; } } + set { + _hasBits0 |= 4; + final_ = value; + } + } + /// Gets whether the "final" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFinal { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "final" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFinal() { + _hasBits0 &= ~4; + } + + /// Field number for the "language" field. + public const int LanguageFieldNumber = 6; + private readonly static string LanguageDefaultValue = ""; + + private string language_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Language { + get { return language_ ?? LanguageDefaultValue; } + set { + language_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "language" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLanguage { + get { return language_ != null; } + } + /// Clears the value of the "language" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLanguage() { + language_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TranscriptionSegment); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TranscriptionSegment other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Id != other.Id) return false; + if (Text != other.Text) return false; + if (StartTime != other.StartTime) return false; + if (EndTime != other.EndTime) return false; + if (Final != other.Final) return false; + if (Language != other.Language) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasId) hash ^= Id.GetHashCode(); + if (HasText) hash ^= Text.GetHashCode(); + if (HasStartTime) hash ^= StartTime.GetHashCode(); + if (HasEndTime) hash ^= EndTime.GetHashCode(); + if (HasFinal) hash ^= Final.GetHashCode(); + if (HasLanguage) hash ^= Language.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasText) { + output.WriteRawTag(18); + output.WriteString(Text); + } + if (HasStartTime) { + output.WriteRawTag(24); + output.WriteUInt64(StartTime); + } + if (HasEndTime) { + output.WriteRawTag(32); + output.WriteUInt64(EndTime); + } + if (HasFinal) { + output.WriteRawTag(40); + output.WriteBool(Final); + } + if (HasLanguage) { + output.WriteRawTag(50); + output.WriteString(Language); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasText) { + output.WriteRawTag(18); + output.WriteString(Text); + } + if (HasStartTime) { + output.WriteRawTag(24); + output.WriteUInt64(StartTime); + } + if (HasEndTime) { + output.WriteRawTag(32); + output.WriteUInt64(EndTime); + } + if (HasFinal) { + output.WriteRawTag(40); + output.WriteBool(Final); + } + if (HasLanguage) { + output.WriteRawTag(50); + output.WriteString(Language); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Id); + } + if (HasText) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Text); + } + if (HasStartTime) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(StartTime); + } + if (HasEndTime) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EndTime); + } + if (HasFinal) { + size += 1 + 1; + } + if (HasLanguage) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Language); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TranscriptionSegment other) { + if (other == null) { + return; + } + if (other.HasId) { + Id = other.Id; + } + if (other.HasText) { + Text = other.Text; + } + if (other.HasStartTime) { + StartTime = other.StartTime; + } + if (other.HasEndTime) { + EndTime = other.EndTime; + } + if (other.HasFinal) { + Final = other.Final; + } + if (other.HasLanguage) { + Language = other.Language; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 18: { + Text = input.ReadString(); + break; + } + case 24: { + StartTime = input.ReadUInt64(); + break; + } + case 32: { + EndTime = input.ReadUInt64(); + break; + } + case 40: { + Final = input.ReadBool(); + break; + } + case 50: { + Language = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 18: { + Text = input.ReadString(); + break; + } + case 24: { + StartTime = input.ReadUInt64(); + break; + } + case 32: { + EndTime = input.ReadUInt64(); + break; + } + case 40: { + Final = input.ReadBool(); + break; + } + case 50: { + Language = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class BufferInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new BufferInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[47]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public BufferInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public BufferInfo(BufferInfo other) : this() { + _hasBits0 = other._hasBits0; + dataPtr_ = other.dataPtr_; + dataLen_ = other.dataLen_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public BufferInfo Clone() { + return new BufferInfo(this); + } + + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 1; + private readonly static ulong DataPtrDefaultValue = 0UL; + + private ulong dataPtr_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataPtr { + get { if ((_hasBits0 & 1) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } + set { + _hasBits0 |= 1; + dataPtr_ = value; + } + } + /// Gets whether the "data_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataPtr { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "data_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataPtr() { + _hasBits0 &= ~1; + } + + /// Field number for the "data_len" field. + public const int DataLenFieldNumber = 2; + private readonly static ulong DataLenDefaultValue = 0UL; + + private ulong dataLen_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataLen { + get { if ((_hasBits0 & 2) != 0) { return dataLen_; } else { return DataLenDefaultValue; } } + set { + _hasBits0 |= 2; + dataLen_ = value; + } + } + /// Gets whether the "data_len" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataLen { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "data_len" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataLen() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as BufferInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(BufferInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (DataPtr != other.DataPtr) return false; + if (DataLen != other.DataLen) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasDataLen) hash ^= DataLen.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasDataPtr) { + output.WriteRawTag(8); + output.WriteUInt64(DataPtr); + } + if (HasDataLen) { + output.WriteRawTag(16); + output.WriteUInt64(DataLen); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasDataPtr) { + output.WriteRawTag(8); + output.WriteUInt64(DataPtr); + } + if (HasDataLen) { + output.WriteRawTag(16); + output.WriteUInt64(DataLen); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasDataLen) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataLen); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(BufferInfo other) { + if (other == null) { + return; + } + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasDataLen) { + DataLen = other.DataLen; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + DataPtr = input.ReadUInt64(); + break; + } + case 16: { + DataLen = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + DataPtr = input.ReadUInt64(); + break; + } + case 16: { + DataLen = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedBuffer : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedBuffer()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[48]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedBuffer() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedBuffer(OwnedBuffer other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + data_ = other.data_ != null ? other.data_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedBuffer Clone() { + return new OwnedBuffer(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "data" field. + public const int DataFieldNumber = 2; + private global::LiveKit.Proto.BufferInfo data_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.BufferInfo Data { + get { return data_; } + set { + data_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedBuffer); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedBuffer other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Data, other.Data)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (data_ != null) hash ^= Data.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (data_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Data); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (data_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Data); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (data_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Data); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedBuffer other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.data_ != null) { + if (data_ == null) { + Data = new global::LiveKit.Proto.BufferInfo(); + } + Data.MergeFrom(other.Data); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (data_ == null) { + Data = new global::LiveKit.Proto.BufferInfo(); + } + input.ReadMessage(Data); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (data_ == null) { + Data = new global::LiveKit.Proto.BufferInfo(); + } + input.ReadMessage(Data); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RoomEvent : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomEvent()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[49]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomEvent() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomEvent(RoomEvent other) : this() { + _hasBits0 = other._hasBits0; + roomHandle_ = other.roomHandle_; + switch (other.MessageCase) { + case MessageOneofCase.ParticipantConnected: + ParticipantConnected = other.ParticipantConnected.Clone(); + break; + case MessageOneofCase.ParticipantDisconnected: + ParticipantDisconnected = other.ParticipantDisconnected.Clone(); + break; + case MessageOneofCase.LocalTrackPublished: + LocalTrackPublished = other.LocalTrackPublished.Clone(); + break; + case MessageOneofCase.LocalTrackUnpublished: + LocalTrackUnpublished = other.LocalTrackUnpublished.Clone(); + break; + case MessageOneofCase.LocalTrackSubscribed: + LocalTrackSubscribed = other.LocalTrackSubscribed.Clone(); + break; + case MessageOneofCase.TrackPublished: + TrackPublished = other.TrackPublished.Clone(); + break; + case MessageOneofCase.TrackUnpublished: + TrackUnpublished = other.TrackUnpublished.Clone(); + break; + case MessageOneofCase.TrackSubscribed: + TrackSubscribed = other.TrackSubscribed.Clone(); + break; + case MessageOneofCase.TrackUnsubscribed: + TrackUnsubscribed = other.TrackUnsubscribed.Clone(); + break; + case MessageOneofCase.TrackSubscriptionFailed: + TrackSubscriptionFailed = other.TrackSubscriptionFailed.Clone(); + break; + case MessageOneofCase.TrackMuted: + TrackMuted = other.TrackMuted.Clone(); + break; + case MessageOneofCase.TrackUnmuted: + TrackUnmuted = other.TrackUnmuted.Clone(); + break; + case MessageOneofCase.ActiveSpeakersChanged: + ActiveSpeakersChanged = other.ActiveSpeakersChanged.Clone(); + break; + case MessageOneofCase.RoomMetadataChanged: + RoomMetadataChanged = other.RoomMetadataChanged.Clone(); + break; + case MessageOneofCase.RoomSidChanged: + RoomSidChanged = other.RoomSidChanged.Clone(); + break; + case MessageOneofCase.ParticipantMetadataChanged: + ParticipantMetadataChanged = other.ParticipantMetadataChanged.Clone(); + break; + case MessageOneofCase.ParticipantNameChanged: + ParticipantNameChanged = other.ParticipantNameChanged.Clone(); + break; + case MessageOneofCase.ParticipantAttributesChanged: + ParticipantAttributesChanged = other.ParticipantAttributesChanged.Clone(); + break; + case MessageOneofCase.ConnectionQualityChanged: + ConnectionQualityChanged = other.ConnectionQualityChanged.Clone(); + break; + case MessageOneofCase.ConnectionStateChanged: + ConnectionStateChanged = other.ConnectionStateChanged.Clone(); + break; + case MessageOneofCase.Disconnected: + Disconnected = other.Disconnected.Clone(); + break; + case MessageOneofCase.Reconnecting: + Reconnecting = other.Reconnecting.Clone(); + break; + case MessageOneofCase.Reconnected: + Reconnected = other.Reconnected.Clone(); + break; + case MessageOneofCase.E2EeStateChanged: + E2EeStateChanged = other.E2EeStateChanged.Clone(); + break; + case MessageOneofCase.Eos: + Eos = other.Eos.Clone(); + break; + case MessageOneofCase.DataPacketReceived: + DataPacketReceived = other.DataPacketReceived.Clone(); + break; + case MessageOneofCase.TranscriptionReceived: + TranscriptionReceived = other.TranscriptionReceived.Clone(); + break; + case MessageOneofCase.ChatMessage: + ChatMessage = other.ChatMessage.Clone(); + break; + case MessageOneofCase.StreamHeaderReceived: + StreamHeaderReceived = other.StreamHeaderReceived.Clone(); + break; + case MessageOneofCase.StreamChunkReceived: + StreamChunkReceived = other.StreamChunkReceived.Clone(); + break; + case MessageOneofCase.StreamTrailerReceived: + StreamTrailerReceived = other.StreamTrailerReceived.Clone(); + break; + case MessageOneofCase.DataChannelLowThresholdChanged: + DataChannelLowThresholdChanged = other.DataChannelLowThresholdChanged.Clone(); + break; + case MessageOneofCase.ByteStreamOpened: + ByteStreamOpened = other.ByteStreamOpened.Clone(); + break; + case MessageOneofCase.TextStreamOpened: + TextStreamOpened = other.TextStreamOpened.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomEvent Clone() { + return new RoomEvent(this); + } + + /// Field number for the "room_handle" field. + public const int RoomHandleFieldNumber = 1; + private readonly static ulong RoomHandleDefaultValue = 0UL; + + private ulong roomHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RoomHandle { + get { if ((_hasBits0 & 1) != 0) { return roomHandle_; } else { return RoomHandleDefaultValue; } } + set { + _hasBits0 |= 1; + roomHandle_ = value; + } + } + /// Gets whether the "room_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoomHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "room_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoomHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "participant_connected" field. + public const int ParticipantConnectedFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ParticipantConnected ParticipantConnected { + get { return messageCase_ == MessageOneofCase.ParticipantConnected ? (global::LiveKit.Proto.ParticipantConnected) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantConnected; + } + } + + /// Field number for the "participant_disconnected" field. + public const int ParticipantDisconnectedFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ParticipantDisconnected ParticipantDisconnected { + get { return messageCase_ == MessageOneofCase.ParticipantDisconnected ? (global::LiveKit.Proto.ParticipantDisconnected) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantDisconnected; + } + } + + /// Field number for the "local_track_published" field. + public const int LocalTrackPublishedFieldNumber = 4; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LocalTrackPublished LocalTrackPublished { + get { return messageCase_ == MessageOneofCase.LocalTrackPublished ? (global::LiveKit.Proto.LocalTrackPublished) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalTrackPublished; + } + } + + /// Field number for the "local_track_unpublished" field. + public const int LocalTrackUnpublishedFieldNumber = 5; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LocalTrackUnpublished LocalTrackUnpublished { + get { return messageCase_ == MessageOneofCase.LocalTrackUnpublished ? (global::LiveKit.Proto.LocalTrackUnpublished) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalTrackUnpublished; + } + } + + /// Field number for the "local_track_subscribed" field. + public const int LocalTrackSubscribedFieldNumber = 6; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.LocalTrackSubscribed LocalTrackSubscribed { + get { return messageCase_ == MessageOneofCase.LocalTrackSubscribed ? (global::LiveKit.Proto.LocalTrackSubscribed) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalTrackSubscribed; + } + } + + /// Field number for the "track_published" field. + public const int TrackPublishedFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackPublished TrackPublished { + get { return messageCase_ == MessageOneofCase.TrackPublished ? (global::LiveKit.Proto.TrackPublished) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackPublished; + } + } + + /// Field number for the "track_unpublished" field. + public const int TrackUnpublishedFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackUnpublished TrackUnpublished { + get { return messageCase_ == MessageOneofCase.TrackUnpublished ? (global::LiveKit.Proto.TrackUnpublished) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackUnpublished; + } + } + + /// Field number for the "track_subscribed" field. + public const int TrackSubscribedFieldNumber = 9; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackSubscribed TrackSubscribed { + get { return messageCase_ == MessageOneofCase.TrackSubscribed ? (global::LiveKit.Proto.TrackSubscribed) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackSubscribed; + } + } + + /// Field number for the "track_unsubscribed" field. + public const int TrackUnsubscribedFieldNumber = 10; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackUnsubscribed TrackUnsubscribed { + get { return messageCase_ == MessageOneofCase.TrackUnsubscribed ? (global::LiveKit.Proto.TrackUnsubscribed) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackUnsubscribed; + } + } + + /// Field number for the "track_subscription_failed" field. + public const int TrackSubscriptionFailedFieldNumber = 11; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackSubscriptionFailed TrackSubscriptionFailed { + get { return messageCase_ == MessageOneofCase.TrackSubscriptionFailed ? (global::LiveKit.Proto.TrackSubscriptionFailed) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackSubscriptionFailed; + } + } + + /// Field number for the "track_muted" field. + public const int TrackMutedFieldNumber = 12; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackMuted TrackMuted { + get { return messageCase_ == MessageOneofCase.TrackMuted ? (global::LiveKit.Proto.TrackMuted) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackMuted; + } + } + + /// Field number for the "track_unmuted" field. + public const int TrackUnmutedFieldNumber = 13; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackUnmuted TrackUnmuted { + get { return messageCase_ == MessageOneofCase.TrackUnmuted ? (global::LiveKit.Proto.TrackUnmuted) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TrackUnmuted; + } + } + + /// Field number for the "active_speakers_changed" field. + public const int ActiveSpeakersChangedFieldNumber = 14; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ActiveSpeakersChanged ActiveSpeakersChanged { + get { return messageCase_ == MessageOneofCase.ActiveSpeakersChanged ? (global::LiveKit.Proto.ActiveSpeakersChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ActiveSpeakersChanged; + } + } + + /// Field number for the "room_metadata_changed" field. + public const int RoomMetadataChangedFieldNumber = 15; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RoomMetadataChanged RoomMetadataChanged { + get { return messageCase_ == MessageOneofCase.RoomMetadataChanged ? (global::LiveKit.Proto.RoomMetadataChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RoomMetadataChanged; + } + } + + /// Field number for the "room_sid_changed" field. + public const int RoomSidChangedFieldNumber = 16; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RoomSidChanged RoomSidChanged { + get { return messageCase_ == MessageOneofCase.RoomSidChanged ? (global::LiveKit.Proto.RoomSidChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RoomSidChanged; + } + } + + /// Field number for the "participant_metadata_changed" field. + public const int ParticipantMetadataChangedFieldNumber = 17; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ParticipantMetadataChanged ParticipantMetadataChanged { + get { return messageCase_ == MessageOneofCase.ParticipantMetadataChanged ? (global::LiveKit.Proto.ParticipantMetadataChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantMetadataChanged; + } + } + + /// Field number for the "participant_name_changed" field. + public const int ParticipantNameChangedFieldNumber = 18; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ParticipantNameChanged ParticipantNameChanged { + get { return messageCase_ == MessageOneofCase.ParticipantNameChanged ? (global::LiveKit.Proto.ParticipantNameChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantNameChanged; + } + } + + /// Field number for the "participant_attributes_changed" field. + public const int ParticipantAttributesChangedFieldNumber = 19; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ParticipantAttributesChanged ParticipantAttributesChanged { + get { return messageCase_ == MessageOneofCase.ParticipantAttributesChanged ? (global::LiveKit.Proto.ParticipantAttributesChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantAttributesChanged; + } + } + + /// Field number for the "connection_quality_changed" field. + public const int ConnectionQualityChangedFieldNumber = 20; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ConnectionQualityChanged ConnectionQualityChanged { + get { return messageCase_ == MessageOneofCase.ConnectionQualityChanged ? (global::LiveKit.Proto.ConnectionQualityChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ConnectionQualityChanged; + } + } + + /// Field number for the "connection_state_changed" field. + public const int ConnectionStateChangedFieldNumber = 21; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ConnectionStateChanged ConnectionStateChanged { + get { return messageCase_ == MessageOneofCase.ConnectionStateChanged ? (global::LiveKit.Proto.ConnectionStateChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ConnectionStateChanged; + } + } + + /// Field number for the "disconnected" field. + public const int DisconnectedFieldNumber = 22; + /// + /// Connected connected = 21; + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.Disconnected Disconnected { + get { return messageCase_ == MessageOneofCase.Disconnected ? (global::LiveKit.Proto.Disconnected) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Disconnected; + } + } + + /// Field number for the "reconnecting" field. + public const int ReconnectingFieldNumber = 23; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.Reconnecting Reconnecting { + get { return messageCase_ == MessageOneofCase.Reconnecting ? (global::LiveKit.Proto.Reconnecting) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Reconnecting; + } + } + + /// Field number for the "reconnected" field. + public const int ReconnectedFieldNumber = 24; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.Reconnected Reconnected { + get { return messageCase_ == MessageOneofCase.Reconnected ? (global::LiveKit.Proto.Reconnected) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Reconnected; + } + } + + /// Field number for the "e2ee_state_changed" field. + public const int E2EeStateChangedFieldNumber = 25; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.E2eeStateChanged E2EeStateChanged { + get { return messageCase_ == MessageOneofCase.E2EeStateChanged ? (global::LiveKit.Proto.E2eeStateChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.E2EeStateChanged; + } + } + + /// Field number for the "eos" field. + public const int EosFieldNumber = 26; + /// + /// The stream of room events has ended + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RoomEOS Eos { + get { return messageCase_ == MessageOneofCase.Eos ? (global::LiveKit.Proto.RoomEOS) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Eos; + } + } + + /// Field number for the "data_packet_received" field. + public const int DataPacketReceivedFieldNumber = 27; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataPacketReceived DataPacketReceived { + get { return messageCase_ == MessageOneofCase.DataPacketReceived ? (global::LiveKit.Proto.DataPacketReceived) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataPacketReceived; + } + } + + /// Field number for the "transcription_received" field. + public const int TranscriptionReceivedFieldNumber = 28; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TranscriptionReceived TranscriptionReceived { + get { return messageCase_ == MessageOneofCase.TranscriptionReceived ? (global::LiveKit.Proto.TranscriptionReceived) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TranscriptionReceived; + } + } + + /// Field number for the "chat_message" field. + public const int ChatMessageFieldNumber = 29; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ChatMessageReceived ChatMessage { + get { return messageCase_ == MessageOneofCase.ChatMessage ? (global::LiveKit.Proto.ChatMessageReceived) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ChatMessage; + } + } + + /// Field number for the "stream_header_received" field. + public const int StreamHeaderReceivedFieldNumber = 30; + /// + /// Data stream (low level) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataStreamHeaderReceived StreamHeaderReceived { + get { return messageCase_ == MessageOneofCase.StreamHeaderReceived ? (global::LiveKit.Proto.DataStreamHeaderReceived) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.StreamHeaderReceived; + } + } + + /// Field number for the "stream_chunk_received" field. + public const int StreamChunkReceivedFieldNumber = 31; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataStreamChunkReceived StreamChunkReceived { + get { return messageCase_ == MessageOneofCase.StreamChunkReceived ? (global::LiveKit.Proto.DataStreamChunkReceived) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.StreamChunkReceived; + } + } + + /// Field number for the "stream_trailer_received" field. + public const int StreamTrailerReceivedFieldNumber = 32; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataStreamTrailerReceived StreamTrailerReceived { + get { return messageCase_ == MessageOneofCase.StreamTrailerReceived ? (global::LiveKit.Proto.DataStreamTrailerReceived) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.StreamTrailerReceived; + } + } + + /// Field number for the "data_channel_low_threshold_changed" field. + public const int DataChannelLowThresholdChangedFieldNumber = 33; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged DataChannelLowThresholdChanged { + get { return messageCase_ == MessageOneofCase.DataChannelLowThresholdChanged ? (global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataChannelLowThresholdChanged; + } + } + + /// Field number for the "byte_stream_opened" field. + public const int ByteStreamOpenedFieldNumber = 34; + /// + /// Data stream (high level) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ByteStreamOpened ByteStreamOpened { + get { return messageCase_ == MessageOneofCase.ByteStreamOpened ? (global::LiveKit.Proto.ByteStreamOpened) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ByteStreamOpened; + } + } + + /// Field number for the "text_stream_opened" field. + public const int TextStreamOpenedFieldNumber = 35; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TextStreamOpened TextStreamOpened { + get { return messageCase_ == MessageOneofCase.TextStreamOpened ? (global::LiveKit.Proto.TextStreamOpened) message_ : null; } + set { + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TextStreamOpened; + } + } + + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + ParticipantConnected = 2, + ParticipantDisconnected = 3, + LocalTrackPublished = 4, + LocalTrackUnpublished = 5, + LocalTrackSubscribed = 6, + TrackPublished = 7, + TrackUnpublished = 8, + TrackSubscribed = 9, + TrackUnsubscribed = 10, + TrackSubscriptionFailed = 11, + TrackMuted = 12, + TrackUnmuted = 13, + ActiveSpeakersChanged = 14, + RoomMetadataChanged = 15, + RoomSidChanged = 16, + ParticipantMetadataChanged = 17, + ParticipantNameChanged = 18, + ParticipantAttributesChanged = 19, + ConnectionQualityChanged = 20, + ConnectionStateChanged = 21, + Disconnected = 22, + Reconnecting = 23, + Reconnected = 24, + E2EeStateChanged = 25, + Eos = 26, + DataPacketReceived = 27, + TranscriptionReceived = 28, + ChatMessage = 29, + StreamHeaderReceived = 30, + StreamChunkReceived = 31, + StreamTrailerReceived = 32, + DataChannelLowThresholdChanged = 33, + ByteStreamOpened = 34, + TextStreamOpened = 35, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RoomEvent); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RoomEvent other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RoomHandle != other.RoomHandle) return false; + if (!object.Equals(ParticipantConnected, other.ParticipantConnected)) return false; + if (!object.Equals(ParticipantDisconnected, other.ParticipantDisconnected)) return false; + if (!object.Equals(LocalTrackPublished, other.LocalTrackPublished)) return false; + if (!object.Equals(LocalTrackUnpublished, other.LocalTrackUnpublished)) return false; + if (!object.Equals(LocalTrackSubscribed, other.LocalTrackSubscribed)) return false; + if (!object.Equals(TrackPublished, other.TrackPublished)) return false; + if (!object.Equals(TrackUnpublished, other.TrackUnpublished)) return false; + if (!object.Equals(TrackSubscribed, other.TrackSubscribed)) return false; + if (!object.Equals(TrackUnsubscribed, other.TrackUnsubscribed)) return false; + if (!object.Equals(TrackSubscriptionFailed, other.TrackSubscriptionFailed)) return false; + if (!object.Equals(TrackMuted, other.TrackMuted)) return false; + if (!object.Equals(TrackUnmuted, other.TrackUnmuted)) return false; + if (!object.Equals(ActiveSpeakersChanged, other.ActiveSpeakersChanged)) return false; + if (!object.Equals(RoomMetadataChanged, other.RoomMetadataChanged)) return false; + if (!object.Equals(RoomSidChanged, other.RoomSidChanged)) return false; + if (!object.Equals(ParticipantMetadataChanged, other.ParticipantMetadataChanged)) return false; + if (!object.Equals(ParticipantNameChanged, other.ParticipantNameChanged)) return false; + if (!object.Equals(ParticipantAttributesChanged, other.ParticipantAttributesChanged)) return false; + if (!object.Equals(ConnectionQualityChanged, other.ConnectionQualityChanged)) return false; + if (!object.Equals(ConnectionStateChanged, other.ConnectionStateChanged)) return false; + if (!object.Equals(Disconnected, other.Disconnected)) return false; + if (!object.Equals(Reconnecting, other.Reconnecting)) return false; + if (!object.Equals(Reconnected, other.Reconnected)) return false; + if (!object.Equals(E2EeStateChanged, other.E2EeStateChanged)) return false; + if (!object.Equals(Eos, other.Eos)) return false; + if (!object.Equals(DataPacketReceived, other.DataPacketReceived)) return false; + if (!object.Equals(TranscriptionReceived, other.TranscriptionReceived)) return false; + if (!object.Equals(ChatMessage, other.ChatMessage)) return false; + if (!object.Equals(StreamHeaderReceived, other.StreamHeaderReceived)) return false; + if (!object.Equals(StreamChunkReceived, other.StreamChunkReceived)) return false; + if (!object.Equals(StreamTrailerReceived, other.StreamTrailerReceived)) return false; + if (!object.Equals(DataChannelLowThresholdChanged, other.DataChannelLowThresholdChanged)) return false; + if (!object.Equals(ByteStreamOpened, other.ByteStreamOpened)) return false; + if (!object.Equals(TextStreamOpened, other.TextStreamOpened)) return false; + if (MessageCase != other.MessageCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasRoomHandle) hash ^= RoomHandle.GetHashCode(); + if (messageCase_ == MessageOneofCase.ParticipantConnected) hash ^= ParticipantConnected.GetHashCode(); + if (messageCase_ == MessageOneofCase.ParticipantDisconnected) hash ^= ParticipantDisconnected.GetHashCode(); + if (messageCase_ == MessageOneofCase.LocalTrackPublished) hash ^= LocalTrackPublished.GetHashCode(); + if (messageCase_ == MessageOneofCase.LocalTrackUnpublished) hash ^= LocalTrackUnpublished.GetHashCode(); + if (messageCase_ == MessageOneofCase.LocalTrackSubscribed) hash ^= LocalTrackSubscribed.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackPublished) hash ^= TrackPublished.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackUnpublished) hash ^= TrackUnpublished.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackSubscribed) hash ^= TrackSubscribed.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackUnsubscribed) hash ^= TrackUnsubscribed.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackSubscriptionFailed) hash ^= TrackSubscriptionFailed.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackMuted) hash ^= TrackMuted.GetHashCode(); + if (messageCase_ == MessageOneofCase.TrackUnmuted) hash ^= TrackUnmuted.GetHashCode(); + if (messageCase_ == MessageOneofCase.ActiveSpeakersChanged) hash ^= ActiveSpeakersChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.RoomMetadataChanged) hash ^= RoomMetadataChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.RoomSidChanged) hash ^= RoomSidChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.ParticipantMetadataChanged) hash ^= ParticipantMetadataChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.ParticipantNameChanged) hash ^= ParticipantNameChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.ParticipantAttributesChanged) hash ^= ParticipantAttributesChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) hash ^= ConnectionQualityChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.ConnectionStateChanged) hash ^= ConnectionStateChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.Disconnected) hash ^= Disconnected.GetHashCode(); + if (messageCase_ == MessageOneofCase.Reconnecting) hash ^= Reconnecting.GetHashCode(); + if (messageCase_ == MessageOneofCase.Reconnected) hash ^= Reconnected.GetHashCode(); + if (messageCase_ == MessageOneofCase.E2EeStateChanged) hash ^= E2EeStateChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.Eos) hash ^= Eos.GetHashCode(); + if (messageCase_ == MessageOneofCase.DataPacketReceived) hash ^= DataPacketReceived.GetHashCode(); + if (messageCase_ == MessageOneofCase.TranscriptionReceived) hash ^= TranscriptionReceived.GetHashCode(); + if (messageCase_ == MessageOneofCase.ChatMessage) hash ^= ChatMessage.GetHashCode(); + if (messageCase_ == MessageOneofCase.StreamHeaderReceived) hash ^= StreamHeaderReceived.GetHashCode(); + if (messageCase_ == MessageOneofCase.StreamChunkReceived) hash ^= StreamChunkReceived.GetHashCode(); + if (messageCase_ == MessageOneofCase.StreamTrailerReceived) hash ^= StreamTrailerReceived.GetHashCode(); + if (messageCase_ == MessageOneofCase.DataChannelLowThresholdChanged) hash ^= DataChannelLowThresholdChanged.GetHashCode(); + if (messageCase_ == MessageOneofCase.ByteStreamOpened) hash ^= ByteStreamOpened.GetHashCode(); + if (messageCase_ == MessageOneofCase.TextStreamOpened) hash ^= TextStreamOpened.GetHashCode(); + hash ^= (int) messageCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); + } + if (messageCase_ == MessageOneofCase.ParticipantConnected) { + output.WriteRawTag(18); + output.WriteMessage(ParticipantConnected); + } + if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { + output.WriteRawTag(26); + output.WriteMessage(ParticipantDisconnected); + } + if (messageCase_ == MessageOneofCase.LocalTrackPublished) { + output.WriteRawTag(34); + output.WriteMessage(LocalTrackPublished); + } + if (messageCase_ == MessageOneofCase.LocalTrackUnpublished) { + output.WriteRawTag(42); + output.WriteMessage(LocalTrackUnpublished); + } + if (messageCase_ == MessageOneofCase.LocalTrackSubscribed) { + output.WriteRawTag(50); + output.WriteMessage(LocalTrackSubscribed); + } + if (messageCase_ == MessageOneofCase.TrackPublished) { + output.WriteRawTag(58); + output.WriteMessage(TrackPublished); + } + if (messageCase_ == MessageOneofCase.TrackUnpublished) { + output.WriteRawTag(66); + output.WriteMessage(TrackUnpublished); + } + if (messageCase_ == MessageOneofCase.TrackSubscribed) { + output.WriteRawTag(74); + output.WriteMessage(TrackSubscribed); + } + if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { + output.WriteRawTag(82); + output.WriteMessage(TrackUnsubscribed); + } + if (messageCase_ == MessageOneofCase.TrackSubscriptionFailed) { + output.WriteRawTag(90); + output.WriteMessage(TrackSubscriptionFailed); + } + if (messageCase_ == MessageOneofCase.TrackMuted) { + output.WriteRawTag(98); + output.WriteMessage(TrackMuted); + } + if (messageCase_ == MessageOneofCase.TrackUnmuted) { + output.WriteRawTag(106); + output.WriteMessage(TrackUnmuted); + } + if (messageCase_ == MessageOneofCase.ActiveSpeakersChanged) { + output.WriteRawTag(114); + output.WriteMessage(ActiveSpeakersChanged); + } + if (messageCase_ == MessageOneofCase.RoomMetadataChanged) { + output.WriteRawTag(122); + output.WriteMessage(RoomMetadataChanged); + } + if (messageCase_ == MessageOneofCase.RoomSidChanged) { + output.WriteRawTag(130, 1); + output.WriteMessage(RoomSidChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantMetadataChanged) { + output.WriteRawTag(138, 1); + output.WriteMessage(ParticipantMetadataChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantNameChanged) { + output.WriteRawTag(146, 1); + output.WriteMessage(ParticipantNameChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantAttributesChanged) { + output.WriteRawTag(154, 1); + output.WriteMessage(ParticipantAttributesChanged); + } + if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { + output.WriteRawTag(162, 1); + output.WriteMessage(ConnectionQualityChanged); + } + if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { + output.WriteRawTag(170, 1); + output.WriteMessage(ConnectionStateChanged); + } + if (messageCase_ == MessageOneofCase.Disconnected) { + output.WriteRawTag(178, 1); + output.WriteMessage(Disconnected); + } + if (messageCase_ == MessageOneofCase.Reconnecting) { + output.WriteRawTag(186, 1); + output.WriteMessage(Reconnecting); + } + if (messageCase_ == MessageOneofCase.Reconnected) { + output.WriteRawTag(194, 1); + output.WriteMessage(Reconnected); + } + if (messageCase_ == MessageOneofCase.E2EeStateChanged) { + output.WriteRawTag(202, 1); + output.WriteMessage(E2EeStateChanged); + } + if (messageCase_ == MessageOneofCase.Eos) { + output.WriteRawTag(210, 1); + output.WriteMessage(Eos); + } + if (messageCase_ == MessageOneofCase.DataPacketReceived) { + output.WriteRawTag(218, 1); + output.WriteMessage(DataPacketReceived); + } + if (messageCase_ == MessageOneofCase.TranscriptionReceived) { + output.WriteRawTag(226, 1); + output.WriteMessage(TranscriptionReceived); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + output.WriteRawTag(234, 1); + output.WriteMessage(ChatMessage); + } + if (messageCase_ == MessageOneofCase.StreamHeaderReceived) { + output.WriteRawTag(242, 1); + output.WriteMessage(StreamHeaderReceived); + } + if (messageCase_ == MessageOneofCase.StreamChunkReceived) { + output.WriteRawTag(250, 1); + output.WriteMessage(StreamChunkReceived); + } + if (messageCase_ == MessageOneofCase.StreamTrailerReceived) { + output.WriteRawTag(130, 2); + output.WriteMessage(StreamTrailerReceived); + } + if (messageCase_ == MessageOneofCase.DataChannelLowThresholdChanged) { + output.WriteRawTag(138, 2); + output.WriteMessage(DataChannelLowThresholdChanged); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpened) { + output.WriteRawTag(146, 2); + output.WriteMessage(ByteStreamOpened); + } + if (messageCase_ == MessageOneofCase.TextStreamOpened) { + output.WriteRawTag(154, 2); + output.WriteMessage(TextStreamOpened); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasRoomHandle) { + output.WriteRawTag(8); + output.WriteUInt64(RoomHandle); + } + if (messageCase_ == MessageOneofCase.ParticipantConnected) { + output.WriteRawTag(18); + output.WriteMessage(ParticipantConnected); + } + if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { + output.WriteRawTag(26); + output.WriteMessage(ParticipantDisconnected); + } + if (messageCase_ == MessageOneofCase.LocalTrackPublished) { + output.WriteRawTag(34); + output.WriteMessage(LocalTrackPublished); + } + if (messageCase_ == MessageOneofCase.LocalTrackUnpublished) { + output.WriteRawTag(42); + output.WriteMessage(LocalTrackUnpublished); + } + if (messageCase_ == MessageOneofCase.LocalTrackSubscribed) { + output.WriteRawTag(50); + output.WriteMessage(LocalTrackSubscribed); + } + if (messageCase_ == MessageOneofCase.TrackPublished) { + output.WriteRawTag(58); + output.WriteMessage(TrackPublished); + } + if (messageCase_ == MessageOneofCase.TrackUnpublished) { + output.WriteRawTag(66); + output.WriteMessage(TrackUnpublished); + } + if (messageCase_ == MessageOneofCase.TrackSubscribed) { + output.WriteRawTag(74); + output.WriteMessage(TrackSubscribed); + } + if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { + output.WriteRawTag(82); + output.WriteMessage(TrackUnsubscribed); + } + if (messageCase_ == MessageOneofCase.TrackSubscriptionFailed) { + output.WriteRawTag(90); + output.WriteMessage(TrackSubscriptionFailed); + } + if (messageCase_ == MessageOneofCase.TrackMuted) { + output.WriteRawTag(98); + output.WriteMessage(TrackMuted); + } + if (messageCase_ == MessageOneofCase.TrackUnmuted) { + output.WriteRawTag(106); + output.WriteMessage(TrackUnmuted); + } + if (messageCase_ == MessageOneofCase.ActiveSpeakersChanged) { + output.WriteRawTag(114); + output.WriteMessage(ActiveSpeakersChanged); + } + if (messageCase_ == MessageOneofCase.RoomMetadataChanged) { + output.WriteRawTag(122); + output.WriteMessage(RoomMetadataChanged); + } + if (messageCase_ == MessageOneofCase.RoomSidChanged) { + output.WriteRawTag(130, 1); + output.WriteMessage(RoomSidChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantMetadataChanged) { + output.WriteRawTag(138, 1); + output.WriteMessage(ParticipantMetadataChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantNameChanged) { + output.WriteRawTag(146, 1); + output.WriteMessage(ParticipantNameChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantAttributesChanged) { + output.WriteRawTag(154, 1); + output.WriteMessage(ParticipantAttributesChanged); + } + if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { + output.WriteRawTag(162, 1); + output.WriteMessage(ConnectionQualityChanged); + } + if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { + output.WriteRawTag(170, 1); + output.WriteMessage(ConnectionStateChanged); + } + if (messageCase_ == MessageOneofCase.Disconnected) { + output.WriteRawTag(178, 1); + output.WriteMessage(Disconnected); + } + if (messageCase_ == MessageOneofCase.Reconnecting) { + output.WriteRawTag(186, 1); + output.WriteMessage(Reconnecting); + } + if (messageCase_ == MessageOneofCase.Reconnected) { + output.WriteRawTag(194, 1); + output.WriteMessage(Reconnected); + } + if (messageCase_ == MessageOneofCase.E2EeStateChanged) { + output.WriteRawTag(202, 1); + output.WriteMessage(E2EeStateChanged); + } + if (messageCase_ == MessageOneofCase.Eos) { + output.WriteRawTag(210, 1); + output.WriteMessage(Eos); + } + if (messageCase_ == MessageOneofCase.DataPacketReceived) { + output.WriteRawTag(218, 1); + output.WriteMessage(DataPacketReceived); + } + if (messageCase_ == MessageOneofCase.TranscriptionReceived) { + output.WriteRawTag(226, 1); + output.WriteMessage(TranscriptionReceived); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + output.WriteRawTag(234, 1); + output.WriteMessage(ChatMessage); + } + if (messageCase_ == MessageOneofCase.StreamHeaderReceived) { + output.WriteRawTag(242, 1); + output.WriteMessage(StreamHeaderReceived); + } + if (messageCase_ == MessageOneofCase.StreamChunkReceived) { + output.WriteRawTag(250, 1); + output.WriteMessage(StreamChunkReceived); + } + if (messageCase_ == MessageOneofCase.StreamTrailerReceived) { + output.WriteRawTag(130, 2); + output.WriteMessage(StreamTrailerReceived); + } + if (messageCase_ == MessageOneofCase.DataChannelLowThresholdChanged) { + output.WriteRawTag(138, 2); + output.WriteMessage(DataChannelLowThresholdChanged); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpened) { + output.WriteRawTag(146, 2); + output.WriteMessage(ByteStreamOpened); + } + if (messageCase_ == MessageOneofCase.TextStreamOpened) { + output.WriteRawTag(154, 2); + output.WriteMessage(TextStreamOpened); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasRoomHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoomHandle); + } + if (messageCase_ == MessageOneofCase.ParticipantConnected) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParticipantConnected); + } + if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ParticipantDisconnected); + } + if (messageCase_ == MessageOneofCase.LocalTrackPublished) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalTrackPublished); + } + if (messageCase_ == MessageOneofCase.LocalTrackUnpublished) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalTrackUnpublished); + } + if (messageCase_ == MessageOneofCase.LocalTrackSubscribed) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalTrackSubscribed); + } + if (messageCase_ == MessageOneofCase.TrackPublished) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackPublished); + } + if (messageCase_ == MessageOneofCase.TrackUnpublished) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackUnpublished); + } + if (messageCase_ == MessageOneofCase.TrackSubscribed) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackSubscribed); + } + if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackUnsubscribed); + } + if (messageCase_ == MessageOneofCase.TrackSubscriptionFailed) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackSubscriptionFailed); + } + if (messageCase_ == MessageOneofCase.TrackMuted) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackMuted); + } + if (messageCase_ == MessageOneofCase.TrackUnmuted) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackUnmuted); + } + if (messageCase_ == MessageOneofCase.ActiveSpeakersChanged) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ActiveSpeakersChanged); + } + if (messageCase_ == MessageOneofCase.RoomMetadataChanged) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomMetadataChanged); + } + if (messageCase_ == MessageOneofCase.RoomSidChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(RoomSidChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantMetadataChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantMetadataChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantNameChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantNameChanged); + } + if (messageCase_ == MessageOneofCase.ParticipantAttributesChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantAttributesChanged); + } + if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ConnectionQualityChanged); + } + if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ConnectionStateChanged); + } + if (messageCase_ == MessageOneofCase.Disconnected) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Disconnected); + } + if (messageCase_ == MessageOneofCase.Reconnecting) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Reconnecting); + } + if (messageCase_ == MessageOneofCase.Reconnected) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Reconnected); + } + if (messageCase_ == MessageOneofCase.E2EeStateChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(E2EeStateChanged); + } + if (messageCase_ == MessageOneofCase.Eos) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Eos); + } + if (messageCase_ == MessageOneofCase.DataPacketReceived) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(DataPacketReceived); + } + if (messageCase_ == MessageOneofCase.TranscriptionReceived) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TranscriptionReceived); + } + if (messageCase_ == MessageOneofCase.ChatMessage) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ChatMessage); + } + if (messageCase_ == MessageOneofCase.StreamHeaderReceived) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(StreamHeaderReceived); + } + if (messageCase_ == MessageOneofCase.StreamChunkReceived) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(StreamChunkReceived); + } + if (messageCase_ == MessageOneofCase.StreamTrailerReceived) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(StreamTrailerReceived); + } + if (messageCase_ == MessageOneofCase.DataChannelLowThresholdChanged) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(DataChannelLowThresholdChanged); + } + if (messageCase_ == MessageOneofCase.ByteStreamOpened) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(ByteStreamOpened); + } + if (messageCase_ == MessageOneofCase.TextStreamOpened) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(TextStreamOpened); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RoomEvent other) { + if (other == null) { + return; + } + if (other.HasRoomHandle) { + RoomHandle = other.RoomHandle; + } + switch (other.MessageCase) { + case MessageOneofCase.ParticipantConnected: + if (ParticipantConnected == null) { + ParticipantConnected = new global::LiveKit.Proto.ParticipantConnected(); + } + ParticipantConnected.MergeFrom(other.ParticipantConnected); + break; + case MessageOneofCase.ParticipantDisconnected: + if (ParticipantDisconnected == null) { + ParticipantDisconnected = new global::LiveKit.Proto.ParticipantDisconnected(); + } + ParticipantDisconnected.MergeFrom(other.ParticipantDisconnected); + break; + case MessageOneofCase.LocalTrackPublished: + if (LocalTrackPublished == null) { + LocalTrackPublished = new global::LiveKit.Proto.LocalTrackPublished(); + } + LocalTrackPublished.MergeFrom(other.LocalTrackPublished); + break; + case MessageOneofCase.LocalTrackUnpublished: + if (LocalTrackUnpublished == null) { + LocalTrackUnpublished = new global::LiveKit.Proto.LocalTrackUnpublished(); + } + LocalTrackUnpublished.MergeFrom(other.LocalTrackUnpublished); + break; + case MessageOneofCase.LocalTrackSubscribed: + if (LocalTrackSubscribed == null) { + LocalTrackSubscribed = new global::LiveKit.Proto.LocalTrackSubscribed(); + } + LocalTrackSubscribed.MergeFrom(other.LocalTrackSubscribed); + break; + case MessageOneofCase.TrackPublished: + if (TrackPublished == null) { + TrackPublished = new global::LiveKit.Proto.TrackPublished(); + } + TrackPublished.MergeFrom(other.TrackPublished); + break; + case MessageOneofCase.TrackUnpublished: + if (TrackUnpublished == null) { + TrackUnpublished = new global::LiveKit.Proto.TrackUnpublished(); + } + TrackUnpublished.MergeFrom(other.TrackUnpublished); + break; + case MessageOneofCase.TrackSubscribed: + if (TrackSubscribed == null) { + TrackSubscribed = new global::LiveKit.Proto.TrackSubscribed(); + } + TrackSubscribed.MergeFrom(other.TrackSubscribed); + break; + case MessageOneofCase.TrackUnsubscribed: + if (TrackUnsubscribed == null) { + TrackUnsubscribed = new global::LiveKit.Proto.TrackUnsubscribed(); + } + TrackUnsubscribed.MergeFrom(other.TrackUnsubscribed); + break; + case MessageOneofCase.TrackSubscriptionFailed: + if (TrackSubscriptionFailed == null) { + TrackSubscriptionFailed = new global::LiveKit.Proto.TrackSubscriptionFailed(); + } + TrackSubscriptionFailed.MergeFrom(other.TrackSubscriptionFailed); + break; + case MessageOneofCase.TrackMuted: + if (TrackMuted == null) { + TrackMuted = new global::LiveKit.Proto.TrackMuted(); + } + TrackMuted.MergeFrom(other.TrackMuted); + break; + case MessageOneofCase.TrackUnmuted: + if (TrackUnmuted == null) { + TrackUnmuted = new global::LiveKit.Proto.TrackUnmuted(); + } + TrackUnmuted.MergeFrom(other.TrackUnmuted); + break; + case MessageOneofCase.ActiveSpeakersChanged: + if (ActiveSpeakersChanged == null) { + ActiveSpeakersChanged = new global::LiveKit.Proto.ActiveSpeakersChanged(); + } + ActiveSpeakersChanged.MergeFrom(other.ActiveSpeakersChanged); + break; + case MessageOneofCase.RoomMetadataChanged: + if (RoomMetadataChanged == null) { + RoomMetadataChanged = new global::LiveKit.Proto.RoomMetadataChanged(); + } + RoomMetadataChanged.MergeFrom(other.RoomMetadataChanged); + break; + case MessageOneofCase.RoomSidChanged: + if (RoomSidChanged == null) { + RoomSidChanged = new global::LiveKit.Proto.RoomSidChanged(); + } + RoomSidChanged.MergeFrom(other.RoomSidChanged); + break; + case MessageOneofCase.ParticipantMetadataChanged: + if (ParticipantMetadataChanged == null) { + ParticipantMetadataChanged = new global::LiveKit.Proto.ParticipantMetadataChanged(); + } + ParticipantMetadataChanged.MergeFrom(other.ParticipantMetadataChanged); + break; + case MessageOneofCase.ParticipantNameChanged: + if (ParticipantNameChanged == null) { + ParticipantNameChanged = new global::LiveKit.Proto.ParticipantNameChanged(); + } + ParticipantNameChanged.MergeFrom(other.ParticipantNameChanged); + break; + case MessageOneofCase.ParticipantAttributesChanged: + if (ParticipantAttributesChanged == null) { + ParticipantAttributesChanged = new global::LiveKit.Proto.ParticipantAttributesChanged(); + } + ParticipantAttributesChanged.MergeFrom(other.ParticipantAttributesChanged); + break; + case MessageOneofCase.ConnectionQualityChanged: + if (ConnectionQualityChanged == null) { + ConnectionQualityChanged = new global::LiveKit.Proto.ConnectionQualityChanged(); + } + ConnectionQualityChanged.MergeFrom(other.ConnectionQualityChanged); + break; + case MessageOneofCase.ConnectionStateChanged: + if (ConnectionStateChanged == null) { + ConnectionStateChanged = new global::LiveKit.Proto.ConnectionStateChanged(); + } + ConnectionStateChanged.MergeFrom(other.ConnectionStateChanged); + break; + case MessageOneofCase.Disconnected: + if (Disconnected == null) { + Disconnected = new global::LiveKit.Proto.Disconnected(); + } + Disconnected.MergeFrom(other.Disconnected); + break; + case MessageOneofCase.Reconnecting: + if (Reconnecting == null) { + Reconnecting = new global::LiveKit.Proto.Reconnecting(); + } + Reconnecting.MergeFrom(other.Reconnecting); + break; + case MessageOneofCase.Reconnected: + if (Reconnected == null) { + Reconnected = new global::LiveKit.Proto.Reconnected(); + } + Reconnected.MergeFrom(other.Reconnected); + break; + case MessageOneofCase.E2EeStateChanged: + if (E2EeStateChanged == null) { + E2EeStateChanged = new global::LiveKit.Proto.E2eeStateChanged(); + } + E2EeStateChanged.MergeFrom(other.E2EeStateChanged); + break; + case MessageOneofCase.Eos: + if (Eos == null) { + Eos = new global::LiveKit.Proto.RoomEOS(); + } + Eos.MergeFrom(other.Eos); + break; + case MessageOneofCase.DataPacketReceived: + if (DataPacketReceived == null) { + DataPacketReceived = new global::LiveKit.Proto.DataPacketReceived(); + } + DataPacketReceived.MergeFrom(other.DataPacketReceived); + break; + case MessageOneofCase.TranscriptionReceived: + if (TranscriptionReceived == null) { + TranscriptionReceived = new global::LiveKit.Proto.TranscriptionReceived(); + } + TranscriptionReceived.MergeFrom(other.TranscriptionReceived); + break; + case MessageOneofCase.ChatMessage: + if (ChatMessage == null) { + ChatMessage = new global::LiveKit.Proto.ChatMessageReceived(); + } + ChatMessage.MergeFrom(other.ChatMessage); + break; + case MessageOneofCase.StreamHeaderReceived: + if (StreamHeaderReceived == null) { + StreamHeaderReceived = new global::LiveKit.Proto.DataStreamHeaderReceived(); + } + StreamHeaderReceived.MergeFrom(other.StreamHeaderReceived); + break; + case MessageOneofCase.StreamChunkReceived: + if (StreamChunkReceived == null) { + StreamChunkReceived = new global::LiveKit.Proto.DataStreamChunkReceived(); + } + StreamChunkReceived.MergeFrom(other.StreamChunkReceived); + break; + case MessageOneofCase.StreamTrailerReceived: + if (StreamTrailerReceived == null) { + StreamTrailerReceived = new global::LiveKit.Proto.DataStreamTrailerReceived(); + } + StreamTrailerReceived.MergeFrom(other.StreamTrailerReceived); + break; + case MessageOneofCase.DataChannelLowThresholdChanged: + if (DataChannelLowThresholdChanged == null) { + DataChannelLowThresholdChanged = new global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged(); + } + DataChannelLowThresholdChanged.MergeFrom(other.DataChannelLowThresholdChanged); + break; + case MessageOneofCase.ByteStreamOpened: + if (ByteStreamOpened == null) { + ByteStreamOpened = new global::LiveKit.Proto.ByteStreamOpened(); + } + ByteStreamOpened.MergeFrom(other.ByteStreamOpened); + break; + case MessageOneofCase.TextStreamOpened: + if (TextStreamOpened == null) { + TextStreamOpened = new global::LiveKit.Proto.TextStreamOpened(); + } + TextStreamOpened.MergeFrom(other.TextStreamOpened); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RoomHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.ParticipantConnected subBuilder = new global::LiveKit.Proto.ParticipantConnected(); + if (messageCase_ == MessageOneofCase.ParticipantConnected) { + subBuilder.MergeFrom(ParticipantConnected); + } + input.ReadMessage(subBuilder); + ParticipantConnected = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.ParticipantDisconnected subBuilder = new global::LiveKit.Proto.ParticipantDisconnected(); + if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { + subBuilder.MergeFrom(ParticipantDisconnected); + } + input.ReadMessage(subBuilder); + ParticipantDisconnected = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.LocalTrackPublished subBuilder = new global::LiveKit.Proto.LocalTrackPublished(); + if (messageCase_ == MessageOneofCase.LocalTrackPublished) { + subBuilder.MergeFrom(LocalTrackPublished); + } + input.ReadMessage(subBuilder); + LocalTrackPublished = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.LocalTrackUnpublished subBuilder = new global::LiveKit.Proto.LocalTrackUnpublished(); + if (messageCase_ == MessageOneofCase.LocalTrackUnpublished) { + subBuilder.MergeFrom(LocalTrackUnpublished); + } + input.ReadMessage(subBuilder); + LocalTrackUnpublished = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.LocalTrackSubscribed subBuilder = new global::LiveKit.Proto.LocalTrackSubscribed(); + if (messageCase_ == MessageOneofCase.LocalTrackSubscribed) { + subBuilder.MergeFrom(LocalTrackSubscribed); + } + input.ReadMessage(subBuilder); + LocalTrackSubscribed = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.TrackPublished subBuilder = new global::LiveKit.Proto.TrackPublished(); + if (messageCase_ == MessageOneofCase.TrackPublished) { + subBuilder.MergeFrom(TrackPublished); + } + input.ReadMessage(subBuilder); + TrackPublished = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.TrackUnpublished subBuilder = new global::LiveKit.Proto.TrackUnpublished(); + if (messageCase_ == MessageOneofCase.TrackUnpublished) { + subBuilder.MergeFrom(TrackUnpublished); + } + input.ReadMessage(subBuilder); + TrackUnpublished = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.TrackSubscribed subBuilder = new global::LiveKit.Proto.TrackSubscribed(); + if (messageCase_ == MessageOneofCase.TrackSubscribed) { + subBuilder.MergeFrom(TrackSubscribed); + } + input.ReadMessage(subBuilder); + TrackSubscribed = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.TrackUnsubscribed subBuilder = new global::LiveKit.Proto.TrackUnsubscribed(); + if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { + subBuilder.MergeFrom(TrackUnsubscribed); + } + input.ReadMessage(subBuilder); + TrackUnsubscribed = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.TrackSubscriptionFailed subBuilder = new global::LiveKit.Proto.TrackSubscriptionFailed(); + if (messageCase_ == MessageOneofCase.TrackSubscriptionFailed) { + subBuilder.MergeFrom(TrackSubscriptionFailed); + } + input.ReadMessage(subBuilder); + TrackSubscriptionFailed = subBuilder; + break; + } + case 98: { + global::LiveKit.Proto.TrackMuted subBuilder = new global::LiveKit.Proto.TrackMuted(); + if (messageCase_ == MessageOneofCase.TrackMuted) { + subBuilder.MergeFrom(TrackMuted); + } + input.ReadMessage(subBuilder); + TrackMuted = subBuilder; + break; + } + case 106: { + global::LiveKit.Proto.TrackUnmuted subBuilder = new global::LiveKit.Proto.TrackUnmuted(); + if (messageCase_ == MessageOneofCase.TrackUnmuted) { + subBuilder.MergeFrom(TrackUnmuted); + } + input.ReadMessage(subBuilder); + TrackUnmuted = subBuilder; + break; + } + case 114: { + global::LiveKit.Proto.ActiveSpeakersChanged subBuilder = new global::LiveKit.Proto.ActiveSpeakersChanged(); + if (messageCase_ == MessageOneofCase.ActiveSpeakersChanged) { + subBuilder.MergeFrom(ActiveSpeakersChanged); + } + input.ReadMessage(subBuilder); + ActiveSpeakersChanged = subBuilder; + break; + } + case 122: { + global::LiveKit.Proto.RoomMetadataChanged subBuilder = new global::LiveKit.Proto.RoomMetadataChanged(); + if (messageCase_ == MessageOneofCase.RoomMetadataChanged) { + subBuilder.MergeFrom(RoomMetadataChanged); + } + input.ReadMessage(subBuilder); + RoomMetadataChanged = subBuilder; + break; + } + case 130: { + global::LiveKit.Proto.RoomSidChanged subBuilder = new global::LiveKit.Proto.RoomSidChanged(); + if (messageCase_ == MessageOneofCase.RoomSidChanged) { + subBuilder.MergeFrom(RoomSidChanged); + } + input.ReadMessage(subBuilder); + RoomSidChanged = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.ParticipantMetadataChanged subBuilder = new global::LiveKit.Proto.ParticipantMetadataChanged(); + if (messageCase_ == MessageOneofCase.ParticipantMetadataChanged) { + subBuilder.MergeFrom(ParticipantMetadataChanged); + } + input.ReadMessage(subBuilder); + ParticipantMetadataChanged = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.ParticipantNameChanged subBuilder = new global::LiveKit.Proto.ParticipantNameChanged(); + if (messageCase_ == MessageOneofCase.ParticipantNameChanged) { + subBuilder.MergeFrom(ParticipantNameChanged); + } + input.ReadMessage(subBuilder); + ParticipantNameChanged = subBuilder; + break; + } + case 154: { + global::LiveKit.Proto.ParticipantAttributesChanged subBuilder = new global::LiveKit.Proto.ParticipantAttributesChanged(); + if (messageCase_ == MessageOneofCase.ParticipantAttributesChanged) { + subBuilder.MergeFrom(ParticipantAttributesChanged); + } + input.ReadMessage(subBuilder); + ParticipantAttributesChanged = subBuilder; + break; + } + case 162: { + global::LiveKit.Proto.ConnectionQualityChanged subBuilder = new global::LiveKit.Proto.ConnectionQualityChanged(); + if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { + subBuilder.MergeFrom(ConnectionQualityChanged); + } + input.ReadMessage(subBuilder); + ConnectionQualityChanged = subBuilder; + break; + } + case 170: { + global::LiveKit.Proto.ConnectionStateChanged subBuilder = new global::LiveKit.Proto.ConnectionStateChanged(); + if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { + subBuilder.MergeFrom(ConnectionStateChanged); + } + input.ReadMessage(subBuilder); + ConnectionStateChanged = subBuilder; + break; + } + case 178: { + global::LiveKit.Proto.Disconnected subBuilder = new global::LiveKit.Proto.Disconnected(); + if (messageCase_ == MessageOneofCase.Disconnected) { + subBuilder.MergeFrom(Disconnected); + } + input.ReadMessage(subBuilder); + Disconnected = subBuilder; + break; + } + case 186: { + global::LiveKit.Proto.Reconnecting subBuilder = new global::LiveKit.Proto.Reconnecting(); + if (messageCase_ == MessageOneofCase.Reconnecting) { + subBuilder.MergeFrom(Reconnecting); + } + input.ReadMessage(subBuilder); + Reconnecting = subBuilder; + break; + } + case 194: { + global::LiveKit.Proto.Reconnected subBuilder = new global::LiveKit.Proto.Reconnected(); + if (messageCase_ == MessageOneofCase.Reconnected) { + subBuilder.MergeFrom(Reconnected); + } + input.ReadMessage(subBuilder); + Reconnected = subBuilder; + break; + } + case 202: { + global::LiveKit.Proto.E2eeStateChanged subBuilder = new global::LiveKit.Proto.E2eeStateChanged(); + if (messageCase_ == MessageOneofCase.E2EeStateChanged) { + subBuilder.MergeFrom(E2EeStateChanged); + } + input.ReadMessage(subBuilder); + E2EeStateChanged = subBuilder; + break; + } + case 210: { + global::LiveKit.Proto.RoomEOS subBuilder = new global::LiveKit.Proto.RoomEOS(); + if (messageCase_ == MessageOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + case 218: { + global::LiveKit.Proto.DataPacketReceived subBuilder = new global::LiveKit.Proto.DataPacketReceived(); + if (messageCase_ == MessageOneofCase.DataPacketReceived) { + subBuilder.MergeFrom(DataPacketReceived); + } + input.ReadMessage(subBuilder); + DataPacketReceived = subBuilder; + break; + } + case 226: { + global::LiveKit.Proto.TranscriptionReceived subBuilder = new global::LiveKit.Proto.TranscriptionReceived(); + if (messageCase_ == MessageOneofCase.TranscriptionReceived) { + subBuilder.MergeFrom(TranscriptionReceived); + } + input.ReadMessage(subBuilder); + TranscriptionReceived = subBuilder; + break; + } + case 234: { + global::LiveKit.Proto.ChatMessageReceived subBuilder = new global::LiveKit.Proto.ChatMessageReceived(); + if (messageCase_ == MessageOneofCase.ChatMessage) { + subBuilder.MergeFrom(ChatMessage); + } + input.ReadMessage(subBuilder); + ChatMessage = subBuilder; + break; + } + case 242: { + global::LiveKit.Proto.DataStreamHeaderReceived subBuilder = new global::LiveKit.Proto.DataStreamHeaderReceived(); + if (messageCase_ == MessageOneofCase.StreamHeaderReceived) { + subBuilder.MergeFrom(StreamHeaderReceived); + } + input.ReadMessage(subBuilder); + StreamHeaderReceived = subBuilder; + break; + } + case 250: { + global::LiveKit.Proto.DataStreamChunkReceived subBuilder = new global::LiveKit.Proto.DataStreamChunkReceived(); + if (messageCase_ == MessageOneofCase.StreamChunkReceived) { + subBuilder.MergeFrom(StreamChunkReceived); + } + input.ReadMessage(subBuilder); + StreamChunkReceived = subBuilder; + break; + } + case 258: { + global::LiveKit.Proto.DataStreamTrailerReceived subBuilder = new global::LiveKit.Proto.DataStreamTrailerReceived(); + if (messageCase_ == MessageOneofCase.StreamTrailerReceived) { + subBuilder.MergeFrom(StreamTrailerReceived); + } + input.ReadMessage(subBuilder); + StreamTrailerReceived = subBuilder; + break; + } + case 266: { + global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged subBuilder = new global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged(); + if (messageCase_ == MessageOneofCase.DataChannelLowThresholdChanged) { + subBuilder.MergeFrom(DataChannelLowThresholdChanged); + } + input.ReadMessage(subBuilder); + DataChannelLowThresholdChanged = subBuilder; + break; + } + case 274: { + global::LiveKit.Proto.ByteStreamOpened subBuilder = new global::LiveKit.Proto.ByteStreamOpened(); + if (messageCase_ == MessageOneofCase.ByteStreamOpened) { + subBuilder.MergeFrom(ByteStreamOpened); + } + input.ReadMessage(subBuilder); + ByteStreamOpened = subBuilder; + break; + } + case 282: { + global::LiveKit.Proto.TextStreamOpened subBuilder = new global::LiveKit.Proto.TextStreamOpened(); + if (messageCase_ == MessageOneofCase.TextStreamOpened) { + subBuilder.MergeFrom(TextStreamOpened); + } + input.ReadMessage(subBuilder); + TextStreamOpened = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RoomHandle = input.ReadUInt64(); + break; + } + case 18: { + global::LiveKit.Proto.ParticipantConnected subBuilder = new global::LiveKit.Proto.ParticipantConnected(); + if (messageCase_ == MessageOneofCase.ParticipantConnected) { + subBuilder.MergeFrom(ParticipantConnected); + } + input.ReadMessage(subBuilder); + ParticipantConnected = subBuilder; + break; + } + case 26: { + global::LiveKit.Proto.ParticipantDisconnected subBuilder = new global::LiveKit.Proto.ParticipantDisconnected(); + if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { + subBuilder.MergeFrom(ParticipantDisconnected); + } + input.ReadMessage(subBuilder); + ParticipantDisconnected = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.LocalTrackPublished subBuilder = new global::LiveKit.Proto.LocalTrackPublished(); + if (messageCase_ == MessageOneofCase.LocalTrackPublished) { + subBuilder.MergeFrom(LocalTrackPublished); + } + input.ReadMessage(subBuilder); + LocalTrackPublished = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.LocalTrackUnpublished subBuilder = new global::LiveKit.Proto.LocalTrackUnpublished(); + if (messageCase_ == MessageOneofCase.LocalTrackUnpublished) { + subBuilder.MergeFrom(LocalTrackUnpublished); + } + input.ReadMessage(subBuilder); + LocalTrackUnpublished = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.LocalTrackSubscribed subBuilder = new global::LiveKit.Proto.LocalTrackSubscribed(); + if (messageCase_ == MessageOneofCase.LocalTrackSubscribed) { + subBuilder.MergeFrom(LocalTrackSubscribed); + } + input.ReadMessage(subBuilder); + LocalTrackSubscribed = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.TrackPublished subBuilder = new global::LiveKit.Proto.TrackPublished(); + if (messageCase_ == MessageOneofCase.TrackPublished) { + subBuilder.MergeFrom(TrackPublished); + } + input.ReadMessage(subBuilder); + TrackPublished = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.TrackUnpublished subBuilder = new global::LiveKit.Proto.TrackUnpublished(); + if (messageCase_ == MessageOneofCase.TrackUnpublished) { + subBuilder.MergeFrom(TrackUnpublished); + } + input.ReadMessage(subBuilder); + TrackUnpublished = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.TrackSubscribed subBuilder = new global::LiveKit.Proto.TrackSubscribed(); + if (messageCase_ == MessageOneofCase.TrackSubscribed) { + subBuilder.MergeFrom(TrackSubscribed); + } + input.ReadMessage(subBuilder); + TrackSubscribed = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.TrackUnsubscribed subBuilder = new global::LiveKit.Proto.TrackUnsubscribed(); + if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { + subBuilder.MergeFrom(TrackUnsubscribed); + } + input.ReadMessage(subBuilder); + TrackUnsubscribed = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.TrackSubscriptionFailed subBuilder = new global::LiveKit.Proto.TrackSubscriptionFailed(); + if (messageCase_ == MessageOneofCase.TrackSubscriptionFailed) { + subBuilder.MergeFrom(TrackSubscriptionFailed); + } + input.ReadMessage(subBuilder); + TrackSubscriptionFailed = subBuilder; + break; + } + case 98: { + global::LiveKit.Proto.TrackMuted subBuilder = new global::LiveKit.Proto.TrackMuted(); + if (messageCase_ == MessageOneofCase.TrackMuted) { + subBuilder.MergeFrom(TrackMuted); + } + input.ReadMessage(subBuilder); + TrackMuted = subBuilder; + break; + } + case 106: { global::LiveKit.Proto.TrackUnmuted subBuilder = new global::LiveKit.Proto.TrackUnmuted(); if (messageCase_ == MessageOneofCase.TrackUnmuted) { subBuilder.MergeFrom(TrackUnmuted); } - input.ReadMessage(subBuilder); - TrackUnmuted = subBuilder; - break; + input.ReadMessage(subBuilder); + TrackUnmuted = subBuilder; + break; + } + case 114: { + global::LiveKit.Proto.ActiveSpeakersChanged subBuilder = new global::LiveKit.Proto.ActiveSpeakersChanged(); + if (messageCase_ == MessageOneofCase.ActiveSpeakersChanged) { + subBuilder.MergeFrom(ActiveSpeakersChanged); + } + input.ReadMessage(subBuilder); + ActiveSpeakersChanged = subBuilder; + break; + } + case 122: { + global::LiveKit.Proto.RoomMetadataChanged subBuilder = new global::LiveKit.Proto.RoomMetadataChanged(); + if (messageCase_ == MessageOneofCase.RoomMetadataChanged) { + subBuilder.MergeFrom(RoomMetadataChanged); + } + input.ReadMessage(subBuilder); + RoomMetadataChanged = subBuilder; + break; + } + case 130: { + global::LiveKit.Proto.RoomSidChanged subBuilder = new global::LiveKit.Proto.RoomSidChanged(); + if (messageCase_ == MessageOneofCase.RoomSidChanged) { + subBuilder.MergeFrom(RoomSidChanged); + } + input.ReadMessage(subBuilder); + RoomSidChanged = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.ParticipantMetadataChanged subBuilder = new global::LiveKit.Proto.ParticipantMetadataChanged(); + if (messageCase_ == MessageOneofCase.ParticipantMetadataChanged) { + subBuilder.MergeFrom(ParticipantMetadataChanged); + } + input.ReadMessage(subBuilder); + ParticipantMetadataChanged = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.ParticipantNameChanged subBuilder = new global::LiveKit.Proto.ParticipantNameChanged(); + if (messageCase_ == MessageOneofCase.ParticipantNameChanged) { + subBuilder.MergeFrom(ParticipantNameChanged); + } + input.ReadMessage(subBuilder); + ParticipantNameChanged = subBuilder; + break; + } + case 154: { + global::LiveKit.Proto.ParticipantAttributesChanged subBuilder = new global::LiveKit.Proto.ParticipantAttributesChanged(); + if (messageCase_ == MessageOneofCase.ParticipantAttributesChanged) { + subBuilder.MergeFrom(ParticipantAttributesChanged); + } + input.ReadMessage(subBuilder); + ParticipantAttributesChanged = subBuilder; + break; + } + case 162: { + global::LiveKit.Proto.ConnectionQualityChanged subBuilder = new global::LiveKit.Proto.ConnectionQualityChanged(); + if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { + subBuilder.MergeFrom(ConnectionQualityChanged); + } + input.ReadMessage(subBuilder); + ConnectionQualityChanged = subBuilder; + break; + } + case 170: { + global::LiveKit.Proto.ConnectionStateChanged subBuilder = new global::LiveKit.Proto.ConnectionStateChanged(); + if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { + subBuilder.MergeFrom(ConnectionStateChanged); + } + input.ReadMessage(subBuilder); + ConnectionStateChanged = subBuilder; + break; + } + case 178: { + global::LiveKit.Proto.Disconnected subBuilder = new global::LiveKit.Proto.Disconnected(); + if (messageCase_ == MessageOneofCase.Disconnected) { + subBuilder.MergeFrom(Disconnected); + } + input.ReadMessage(subBuilder); + Disconnected = subBuilder; + break; + } + case 186: { + global::LiveKit.Proto.Reconnecting subBuilder = new global::LiveKit.Proto.Reconnecting(); + if (messageCase_ == MessageOneofCase.Reconnecting) { + subBuilder.MergeFrom(Reconnecting); + } + input.ReadMessage(subBuilder); + Reconnecting = subBuilder; + break; + } + case 194: { + global::LiveKit.Proto.Reconnected subBuilder = new global::LiveKit.Proto.Reconnected(); + if (messageCase_ == MessageOneofCase.Reconnected) { + subBuilder.MergeFrom(Reconnected); + } + input.ReadMessage(subBuilder); + Reconnected = subBuilder; + break; + } + case 202: { + global::LiveKit.Proto.E2eeStateChanged subBuilder = new global::LiveKit.Proto.E2eeStateChanged(); + if (messageCase_ == MessageOneofCase.E2EeStateChanged) { + subBuilder.MergeFrom(E2EeStateChanged); + } + input.ReadMessage(subBuilder); + E2EeStateChanged = subBuilder; + break; + } + case 210: { + global::LiveKit.Proto.RoomEOS subBuilder = new global::LiveKit.Proto.RoomEOS(); + if (messageCase_ == MessageOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; + break; + } + case 218: { + global::LiveKit.Proto.DataPacketReceived subBuilder = new global::LiveKit.Proto.DataPacketReceived(); + if (messageCase_ == MessageOneofCase.DataPacketReceived) { + subBuilder.MergeFrom(DataPacketReceived); + } + input.ReadMessage(subBuilder); + DataPacketReceived = subBuilder; + break; + } + case 226: { + global::LiveKit.Proto.TranscriptionReceived subBuilder = new global::LiveKit.Proto.TranscriptionReceived(); + if (messageCase_ == MessageOneofCase.TranscriptionReceived) { + subBuilder.MergeFrom(TranscriptionReceived); + } + input.ReadMessage(subBuilder); + TranscriptionReceived = subBuilder; + break; + } + case 234: { + global::LiveKit.Proto.ChatMessageReceived subBuilder = new global::LiveKit.Proto.ChatMessageReceived(); + if (messageCase_ == MessageOneofCase.ChatMessage) { + subBuilder.MergeFrom(ChatMessage); + } + input.ReadMessage(subBuilder); + ChatMessage = subBuilder; + break; + } + case 242: { + global::LiveKit.Proto.DataStreamHeaderReceived subBuilder = new global::LiveKit.Proto.DataStreamHeaderReceived(); + if (messageCase_ == MessageOneofCase.StreamHeaderReceived) { + subBuilder.MergeFrom(StreamHeaderReceived); + } + input.ReadMessage(subBuilder); + StreamHeaderReceived = subBuilder; + break; + } + case 250: { + global::LiveKit.Proto.DataStreamChunkReceived subBuilder = new global::LiveKit.Proto.DataStreamChunkReceived(); + if (messageCase_ == MessageOneofCase.StreamChunkReceived) { + subBuilder.MergeFrom(StreamChunkReceived); + } + input.ReadMessage(subBuilder); + StreamChunkReceived = subBuilder; + break; + } + case 258: { + global::LiveKit.Proto.DataStreamTrailerReceived subBuilder = new global::LiveKit.Proto.DataStreamTrailerReceived(); + if (messageCase_ == MessageOneofCase.StreamTrailerReceived) { + subBuilder.MergeFrom(StreamTrailerReceived); + } + input.ReadMessage(subBuilder); + StreamTrailerReceived = subBuilder; + break; + } + case 266: { + global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged subBuilder = new global::LiveKit.Proto.DataChannelBufferedAmountLowThresholdChanged(); + if (messageCase_ == MessageOneofCase.DataChannelLowThresholdChanged) { + subBuilder.MergeFrom(DataChannelLowThresholdChanged); + } + input.ReadMessage(subBuilder); + DataChannelLowThresholdChanged = subBuilder; + break; + } + case 274: { + global::LiveKit.Proto.ByteStreamOpened subBuilder = new global::LiveKit.Proto.ByteStreamOpened(); + if (messageCase_ == MessageOneofCase.ByteStreamOpened) { + subBuilder.MergeFrom(ByteStreamOpened); + } + input.ReadMessage(subBuilder); + ByteStreamOpened = subBuilder; + break; + } + case 282: { + global::LiveKit.Proto.TextStreamOpened subBuilder = new global::LiveKit.Proto.TextStreamOpened(); + if (messageCase_ == MessageOneofCase.TextStreamOpened) { + subBuilder.MergeFrom(TextStreamOpened); + } + input.ReadMessage(subBuilder); + TextStreamOpened = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RoomInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[50]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomInfo(RoomInfo other) : this() { + _hasBits0 = other._hasBits0; + sid_ = other.sid_; + name_ = other.name_; + metadata_ = other.metadata_; + lossyDcBufferedAmountLowThreshold_ = other.lossyDcBufferedAmountLowThreshold_; + reliableDcBufferedAmountLowThreshold_ = other.reliableDcBufferedAmountLowThreshold_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomInfo Clone() { + return new RoomInfo(this); + } + + /// Field number for the "sid" field. + public const int SidFieldNumber = 1; + private readonly static string SidDefaultValue = ""; + + private string sid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Sid { + get { return sid_ ?? SidDefaultValue; } + set { + sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSid { + get { return sid_ != null; } + } + /// Clears the value of the "sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSid() { + sid_ = null; + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 2; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + /// Field number for the "metadata" field. + public const int MetadataFieldNumber = 3; + private readonly static string MetadataDefaultValue = ""; + + private string metadata_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Metadata { + get { return metadata_ ?? MetadataDefaultValue; } + set { + metadata_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "metadata" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMetadata { + get { return metadata_ != null; } + } + /// Clears the value of the "metadata" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMetadata() { + metadata_ = null; + } + + /// Field number for the "lossy_dc_buffered_amount_low_threshold" field. + public const int LossyDcBufferedAmountLowThresholdFieldNumber = 4; + private readonly static ulong LossyDcBufferedAmountLowThresholdDefaultValue = 0UL; + + private ulong lossyDcBufferedAmountLowThreshold_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LossyDcBufferedAmountLowThreshold { + get { if ((_hasBits0 & 1) != 0) { return lossyDcBufferedAmountLowThreshold_; } else { return LossyDcBufferedAmountLowThresholdDefaultValue; } } + set { + _hasBits0 |= 1; + lossyDcBufferedAmountLowThreshold_ = value; + } + } + /// Gets whether the "lossy_dc_buffered_amount_low_threshold" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLossyDcBufferedAmountLowThreshold { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "lossy_dc_buffered_amount_low_threshold" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLossyDcBufferedAmountLowThreshold() { + _hasBits0 &= ~1; + } + + /// Field number for the "reliable_dc_buffered_amount_low_threshold" field. + public const int ReliableDcBufferedAmountLowThresholdFieldNumber = 5; + private readonly static ulong ReliableDcBufferedAmountLowThresholdDefaultValue = 0UL; + + private ulong reliableDcBufferedAmountLowThreshold_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReliableDcBufferedAmountLowThreshold { + get { if ((_hasBits0 & 2) != 0) { return reliableDcBufferedAmountLowThreshold_; } else { return ReliableDcBufferedAmountLowThresholdDefaultValue; } } + set { + _hasBits0 |= 2; + reliableDcBufferedAmountLowThreshold_ = value; + } + } + /// Gets whether the "reliable_dc_buffered_amount_low_threshold" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReliableDcBufferedAmountLowThreshold { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "reliable_dc_buffered_amount_low_threshold" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReliableDcBufferedAmountLowThreshold() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RoomInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RoomInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Sid != other.Sid) return false; + if (Name != other.Name) return false; + if (Metadata != other.Metadata) return false; + if (LossyDcBufferedAmountLowThreshold != other.LossyDcBufferedAmountLowThreshold) return false; + if (ReliableDcBufferedAmountLowThreshold != other.ReliableDcBufferedAmountLowThreshold) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSid) hash ^= Sid.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasMetadata) hash ^= Metadata.GetHashCode(); + if (HasLossyDcBufferedAmountLowThreshold) hash ^= LossyDcBufferedAmountLowThreshold.GetHashCode(); + if (HasReliableDcBufferedAmountLowThreshold) hash ^= ReliableDcBufferedAmountLowThreshold.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (HasMetadata) { + output.WriteRawTag(26); + output.WriteString(Metadata); + } + if (HasLossyDcBufferedAmountLowThreshold) { + output.WriteRawTag(32); + output.WriteUInt64(LossyDcBufferedAmountLowThreshold); + } + if (HasReliableDcBufferedAmountLowThreshold) { + output.WriteRawTag(40); + output.WriteUInt64(ReliableDcBufferedAmountLowThreshold); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (HasMetadata) { + output.WriteRawTag(26); + output.WriteString(Metadata); + } + if (HasLossyDcBufferedAmountLowThreshold) { + output.WriteRawTag(32); + output.WriteUInt64(LossyDcBufferedAmountLowThreshold); + } + if (HasReliableDcBufferedAmountLowThreshold) { + output.WriteRawTag(40); + output.WriteUInt64(ReliableDcBufferedAmountLowThreshold); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); + } + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (HasMetadata) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Metadata); + } + if (HasLossyDcBufferedAmountLowThreshold) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LossyDcBufferedAmountLowThreshold); + } + if (HasReliableDcBufferedAmountLowThreshold) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReliableDcBufferedAmountLowThreshold); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RoomInfo other) { + if (other == null) { + return; + } + if (other.HasSid) { + Sid = other.Sid; + } + if (other.HasName) { + Name = other.Name; + } + if (other.HasMetadata) { + Metadata = other.Metadata; + } + if (other.HasLossyDcBufferedAmountLowThreshold) { + LossyDcBufferedAmountLowThreshold = other.LossyDcBufferedAmountLowThreshold; + } + if (other.HasReliableDcBufferedAmountLowThreshold) { + ReliableDcBufferedAmountLowThreshold = other.ReliableDcBufferedAmountLowThreshold; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + case 26: { + Metadata = input.ReadString(); + break; + } + case 32: { + LossyDcBufferedAmountLowThreshold = input.ReadUInt64(); + break; + } + case 40: { + ReliableDcBufferedAmountLowThreshold = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + case 26: { + Metadata = input.ReadString(); + break; + } + case 32: { + LossyDcBufferedAmountLowThreshold = input.ReadUInt64(); + break; + } + case 40: { + ReliableDcBufferedAmountLowThreshold = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedRoom : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedRoom()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[51]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedRoom() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedRoom(OwnedRoom other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedRoom Clone() { + return new OwnedRoom(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.RoomInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RoomInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedRoom); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedRoom other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedRoom other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.RoomInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.RoomInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.RoomInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ParticipantConnected : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantConnected()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[52]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantConnected() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantConnected(ParticipantConnected other) : this() { + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantConnected Clone() { + return new ParticipantConnected(this); + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 1; + private global::LiveKit.Proto.OwnedParticipant info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedParticipant Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ParticipantConnected); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ParticipantConnected other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (info_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (info_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ParticipantConnected other) { + if (other == null) { + return; + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.OwnedParticipant(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (info_ == null) { + Info = new global::LiveKit.Proto.OwnedParticipant(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (info_ == null) { + Info = new global::LiveKit.Proto.OwnedParticipant(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ParticipantDisconnected : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantDisconnected()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[53]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantDisconnected() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantDisconnected(ParticipantDisconnected other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + disconnectReason_ = other.disconnectReason_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantDisconnected Clone() { + return new ParticipantDisconnected(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "disconnect_reason" field. + public const int DisconnectReasonFieldNumber = 2; + private readonly static global::LiveKit.Proto.DisconnectReason DisconnectReasonDefaultValue = global::LiveKit.Proto.DisconnectReason.UnknownReason; + + private global::LiveKit.Proto.DisconnectReason disconnectReason_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DisconnectReason DisconnectReason { + get { if ((_hasBits0 & 1) != 0) { return disconnectReason_; } else { return DisconnectReasonDefaultValue; } } + set { + _hasBits0 |= 1; + disconnectReason_ = value; + } + } + /// Gets whether the "disconnect_reason" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDisconnectReason { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "disconnect_reason" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDisconnectReason() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ParticipantDisconnected); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ParticipantDisconnected other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (DisconnectReason != other.DisconnectReason) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasDisconnectReason) hash ^= DisconnectReason.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasDisconnectReason) { + output.WriteRawTag(16); + output.WriteEnum((int) DisconnectReason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasDisconnectReason) { + output.WriteRawTag(16); + output.WriteEnum((int) DisconnectReason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasDisconnectReason) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DisconnectReason); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ParticipantDisconnected other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasDisconnectReason) { + DisconnectReason = other.DisconnectReason; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + DisconnectReason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + DisconnectReason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LocalTrackPublished : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalTrackPublished()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[54]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackPublished() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackPublished(LocalTrackPublished other) : this() { + trackSid_ = other.trackSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackPublished Clone() { + return new LocalTrackPublished(this); + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 1; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + /// + /// The TrackPublicationInfo comes from the PublishTrack response + /// and the FfiClient musts wait for it before firing this event + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as LocalTrackPublished); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(LocalTrackPublished other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackSid != other.TrackSid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackSid) { + output.WriteRawTag(10); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackSid) { + output.WriteRawTag(10); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(LocalTrackPublished other) { + if (other == null) { + return; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + TrackSid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + TrackSid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LocalTrackUnpublished : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalTrackUnpublished()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[55]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackUnpublished() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackUnpublished(LocalTrackUnpublished other) : this() { + publicationSid_ = other.publicationSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackUnpublished Clone() { + return new LocalTrackUnpublished(this); + } + + /// Field number for the "publication_sid" field. + public const int PublicationSidFieldNumber = 1; + private readonly static string PublicationSidDefaultValue = ""; + + private string publicationSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PublicationSid { + get { return publicationSid_ ?? PublicationSidDefaultValue; } + set { + publicationSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "publication_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPublicationSid { + get { return publicationSid_ != null; } + } + /// Clears the value of the "publication_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPublicationSid() { + publicationSid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as LocalTrackUnpublished); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(LocalTrackUnpublished other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PublicationSid != other.PublicationSid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPublicationSid) hash ^= PublicationSid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPublicationSid) { + output.WriteRawTag(10); + output.WriteString(PublicationSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPublicationSid) { + output.WriteRawTag(10); + output.WriteString(PublicationSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPublicationSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PublicationSid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(LocalTrackUnpublished other) { + if (other == null) { + return; + } + if (other.HasPublicationSid) { + PublicationSid = other.PublicationSid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + PublicationSid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + PublicationSid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LocalTrackSubscribed : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalTrackSubscribed()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[56]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackSubscribed() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackSubscribed(LocalTrackSubscribed other) : this() { + trackSid_ = other.trackSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackSubscribed Clone() { + return new LocalTrackSubscribed(this); + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as LocalTrackSubscribed); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(LocalTrackSubscribed other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackSid != other.TrackSid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(LocalTrackSubscribed other) { + if (other == null) { + return; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackPublished : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackPublished()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[57]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublished() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublished(TrackPublished other) : this() { + participantIdentity_ = other.participantIdentity_; + publication_ = other.publication_ != null ? other.publication_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublished Clone() { + return new TrackPublished(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "publication" field. + public const int PublicationFieldNumber = 2; + private global::LiveKit.Proto.OwnedTrackPublication publication_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedTrackPublication Publication { + get { return publication_; } + set { + publication_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackPublished); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackPublished other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (!object.Equals(Publication, other.Publication)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (publication_ != null) hash ^= Publication.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (publication_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Publication); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (publication_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Publication); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (publication_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Publication); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackPublished other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.publication_ != null) { + if (publication_ == null) { + Publication = new global::LiveKit.Proto.OwnedTrackPublication(); + } + Publication.MergeFrom(other.Publication); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + if (publication_ == null) { + Publication = new global::LiveKit.Proto.OwnedTrackPublication(); + } + input.ReadMessage(Publication); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + if (publication_ == null) { + Publication = new global::LiveKit.Proto.OwnedTrackPublication(); + } + input.ReadMessage(Publication); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackUnpublished : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackUnpublished()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[58]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnpublished() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnpublished(TrackUnpublished other) : this() { + participantIdentity_ = other.participantIdentity_; + publicationSid_ = other.publicationSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnpublished Clone() { + return new TrackUnpublished(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "publication_sid" field. + public const int PublicationSidFieldNumber = 2; + private readonly static string PublicationSidDefaultValue = ""; + + private string publicationSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PublicationSid { + get { return publicationSid_ ?? PublicationSidDefaultValue; } + set { + publicationSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "publication_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPublicationSid { + get { return publicationSid_ != null; } + } + /// Clears the value of the "publication_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPublicationSid() { + publicationSid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackUnpublished); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackUnpublished other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (PublicationSid != other.PublicationSid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasPublicationSid) hash ^= PublicationSid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasPublicationSid) { + output.WriteRawTag(18); + output.WriteString(PublicationSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasPublicationSid) { + output.WriteRawTag(18); + output.WriteString(PublicationSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasPublicationSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(PublicationSid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackUnpublished other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasPublicationSid) { + PublicationSid = other.PublicationSid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + PublicationSid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + PublicationSid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// Publication isn't needed for subscription events on the FFI + /// The FFI will retrieve the publication using the Track sid + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackSubscribed : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackSubscribed()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[59]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackSubscribed() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackSubscribed(TrackSubscribed other) : this() { + participantIdentity_ = other.participantIdentity_; + track_ = other.track_ != null ? other.track_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackSubscribed Clone() { + return new TrackSubscribed(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track" field. + public const int TrackFieldNumber = 2; + private global::LiveKit.Proto.OwnedTrack track_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedTrack Track { + get { return track_; } + set { + track_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackSubscribed); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackSubscribed other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (!object.Equals(Track, other.Track)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (track_ != null) hash ^= Track.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (track_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Track); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (track_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Track); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (track_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Track); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackSubscribed other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.track_ != null) { + if (track_ == null) { + Track = new global::LiveKit.Proto.OwnedTrack(); + } + Track.MergeFrom(other.Track); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + if (track_ == null) { + Track = new global::LiveKit.Proto.OwnedTrack(); + } + input.ReadMessage(Track); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + if (track_ == null) { + Track = new global::LiveKit.Proto.OwnedTrack(); + } + input.ReadMessage(Track); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackUnsubscribed : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackUnsubscribed()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[60]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnsubscribed() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnsubscribed(TrackUnsubscribed other) : this() { + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnsubscribed Clone() { + return new TrackUnsubscribed(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + /// + /// The FFI language can dispose/remove the VideoSink here + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackUnsubscribed); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackUnsubscribed other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackUnsubscribed other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackSubscriptionFailed : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackSubscriptionFailed()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[61]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackSubscriptionFailed() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackSubscriptionFailed(TrackSubscriptionFailed other) : this() { + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackSubscriptionFailed Clone() { + return new TrackSubscriptionFailed(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackSubscriptionFailed); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackSubscriptionFailed other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasError) { + output.WriteRawTag(26); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (HasError) { + output.WriteRawTag(26); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackSubscriptionFailed other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 26: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 26: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackMuted : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackMuted()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[62]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackMuted() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackMuted(TrackMuted other) : this() { + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackMuted Clone() { + return new TrackMuted(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackMuted); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackMuted other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackMuted other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackUnmuted : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackUnmuted()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[63]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnmuted() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnmuted(TrackUnmuted other) : this() { + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackUnmuted Clone() { + return new TrackUnmuted(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackUnmuted); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackUnmuted other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackUnmuted other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class E2eeStateChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new E2eeStateChanged()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[64]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeStateChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeStateChanged(E2eeStateChanged other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + state_ = other.state_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public E2eeStateChanged Clone() { + return new E2eeStateChanged(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + /// + /// Using sid instead of identity for ffi communication + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "state" field. + public const int StateFieldNumber = 2; + private readonly static global::LiveKit.Proto.EncryptionState StateDefaultValue = global::LiveKit.Proto.EncryptionState.New; + + private global::LiveKit.Proto.EncryptionState state_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.EncryptionState State { + get { if ((_hasBits0 & 1) != 0) { return state_; } else { return StateDefaultValue; } } + set { + _hasBits0 |= 1; + state_ = value; + } + } + /// Gets whether the "state" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasState { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "state" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearState() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as E2eeStateChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(E2eeStateChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (State != other.State) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasState) hash ^= State.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasState) { + output.WriteRawTag(16); + output.WriteEnum((int) State); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasState) { + output.WriteRawTag(16); + output.WriteEnum((int) State); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasState) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(E2eeStateChanged other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasState) { + State = other.State; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + State = (global::LiveKit.Proto.EncryptionState) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + State = (global::LiveKit.Proto.EncryptionState) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ActiveSpeakersChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ActiveSpeakersChanged()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[65]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ActiveSpeakersChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ActiveSpeakersChanged(ActiveSpeakersChanged other) : this() { + participantIdentities_ = other.participantIdentities_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ActiveSpeakersChanged Clone() { + return new ActiveSpeakersChanged(this); + } + + /// Field number for the "participant_identities" field. + public const int ParticipantIdentitiesFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_participantIdentities_codec + = pb::FieldCodec.ForString(10); + private readonly pbc::RepeatedField participantIdentities_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField ParticipantIdentities { + get { return participantIdentities_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ActiveSpeakersChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ActiveSpeakersChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!participantIdentities_.Equals(other.participantIdentities_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= participantIdentities_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + participantIdentities_.WriteTo(output, _repeated_participantIdentities_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + participantIdentities_.WriteTo(ref output, _repeated_participantIdentities_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += participantIdentities_.CalculateSize(_repeated_participantIdentities_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ActiveSpeakersChanged other) { + if (other == null) { + return; + } + participantIdentities_.Add(other.participantIdentities_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + participantIdentities_.AddEntriesFrom(input, _repeated_participantIdentities_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + participantIdentities_.AddEntriesFrom(ref input, _repeated_participantIdentities_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RoomMetadataChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomMetadataChanged()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[66]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomMetadataChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomMetadataChanged(RoomMetadataChanged other) : this() { + metadata_ = other.metadata_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomMetadataChanged Clone() { + return new RoomMetadataChanged(this); + } + + /// Field number for the "metadata" field. + public const int MetadataFieldNumber = 1; + private readonly static string MetadataDefaultValue = ""; + + private string metadata_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Metadata { + get { return metadata_ ?? MetadataDefaultValue; } + set { + metadata_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "metadata" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMetadata { + get { return metadata_ != null; } + } + /// Clears the value of the "metadata" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMetadata() { + metadata_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RoomMetadataChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RoomMetadataChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Metadata != other.Metadata) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasMetadata) hash ^= Metadata.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasMetadata) { + output.WriteRawTag(10); + output.WriteString(Metadata); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasMetadata) { + output.WriteRawTag(10); + output.WriteString(Metadata); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasMetadata) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Metadata); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RoomMetadataChanged other) { + if (other == null) { + return; + } + if (other.HasMetadata) { + Metadata = other.Metadata; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Metadata = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Metadata = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RoomSidChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomSidChanged()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[67]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomSidChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomSidChanged(RoomSidChanged other) : this() { + sid_ = other.sid_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomSidChanged Clone() { + return new RoomSidChanged(this); + } + + /// Field number for the "sid" field. + public const int SidFieldNumber = 1; + private readonly static string SidDefaultValue = ""; + + private string sid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Sid { + get { return sid_ ?? SidDefaultValue; } + set { + sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSid { + get { return sid_ != null; } + } + /// Clears the value of the "sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSid() { + sid_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RoomSidChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RoomSidChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Sid != other.Sid) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSid) hash ^= Sid.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RoomSidChanged other) { + if (other == null) { + return; + } + if (other.HasSid) { + Sid = other.Sid; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ParticipantMetadataChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantMetadataChanged()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[68]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantMetadataChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantMetadataChanged(ParticipantMetadataChanged other) : this() { + participantIdentity_ = other.participantIdentity_; + metadata_ = other.metadata_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantMetadataChanged Clone() { + return new ParticipantMetadataChanged(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "metadata" field. + public const int MetadataFieldNumber = 2; + private readonly static string MetadataDefaultValue = ""; + + private string metadata_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Metadata { + get { return metadata_ ?? MetadataDefaultValue; } + set { + metadata_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "metadata" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMetadata { + get { return metadata_ != null; } + } + /// Clears the value of the "metadata" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMetadata() { + metadata_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ParticipantMetadataChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ParticipantMetadataChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (Metadata != other.Metadata) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasMetadata) hash ^= Metadata.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasMetadata) { + output.WriteRawTag(18); + output.WriteString(Metadata); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasMetadata) { + output.WriteRawTag(18); + output.WriteString(Metadata); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasMetadata) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Metadata); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ParticipantMetadataChanged other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasMetadata) { + Metadata = other.Metadata; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + Metadata = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + Metadata = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ParticipantAttributesChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantAttributesChanged()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[69]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantAttributesChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantAttributesChanged(ParticipantAttributesChanged other) : this() { + participantIdentity_ = other.participantIdentity_; + attributes_ = other.attributes_.Clone(); + changedAttributes_ = other.changedAttributes_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantAttributesChanged Clone() { + return new ParticipantAttributesChanged(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 2; + private static readonly pb::FieldCodec _repeated_attributes_codec + = pb::FieldCodec.ForMessage(18, global::LiveKit.Proto.AttributesEntry.Parser); + private readonly pbc::RepeatedField attributes_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Attributes { + get { return attributes_; } + } + + /// Field number for the "changed_attributes" field. + public const int ChangedAttributesFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_changedAttributes_codec + = pb::FieldCodec.ForMessage(26, global::LiveKit.Proto.AttributesEntry.Parser); + private readonly pbc::RepeatedField changedAttributes_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField ChangedAttributes { + get { return changedAttributes_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ParticipantAttributesChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ParticipantAttributesChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if(!attributes_.Equals(other.attributes_)) return false; + if(!changedAttributes_.Equals(other.changedAttributes_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + hash ^= attributes_.GetHashCode(); + hash ^= changedAttributes_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + attributes_.WriteTo(output, _repeated_attributes_codec); + changedAttributes_.WriteTo(output, _repeated_changedAttributes_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + attributes_.WriteTo(ref output, _repeated_attributes_codec); + changedAttributes_.WriteTo(ref output, _repeated_changedAttributes_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + size += attributes_.CalculateSize(_repeated_attributes_codec); + size += changedAttributes_.CalculateSize(_repeated_changedAttributes_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ParticipantAttributesChanged other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + attributes_.Add(other.attributes_); + changedAttributes_.Add(other.changedAttributes_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + attributes_.AddEntriesFrom(input, _repeated_attributes_codec); + break; + } + case 26: { + changedAttributes_.AddEntriesFrom(input, _repeated_changedAttributes_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + attributes_.AddEntriesFrom(ref input, _repeated_attributes_codec); + break; + } + case 26: { + changedAttributes_.AddEntriesFrom(ref input, _repeated_changedAttributes_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ParticipantNameChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantNameChanged()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[70]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantNameChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantNameChanged(ParticipantNameChanged other) : this() { + participantIdentity_ = other.participantIdentity_; + name_ = other.name_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantNameChanged Clone() { + return new ParticipantNameChanged(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 2; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ParticipantNameChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ParticipantNameChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (Name != other.Name) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ParticipantNameChanged other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasName) { + Name = other.Name; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ConnectionQualityChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConnectionQualityChanged()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[71]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ConnectionQualityChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ConnectionQualityChanged(ConnectionQualityChanged other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + quality_ = other.quality_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ConnectionQualityChanged Clone() { + return new ConnectionQualityChanged(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "quality" field. + public const int QualityFieldNumber = 2; + private readonly static global::LiveKit.Proto.ConnectionQuality QualityDefaultValue = global::LiveKit.Proto.ConnectionQuality.QualityPoor; + + private global::LiveKit.Proto.ConnectionQuality quality_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ConnectionQuality Quality { + get { if ((_hasBits0 & 1) != 0) { return quality_; } else { return QualityDefaultValue; } } + set { + _hasBits0 |= 1; + quality_ = value; + } + } + /// Gets whether the "quality" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQuality { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "quality" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQuality() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ConnectionQualityChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ConnectionQualityChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (Quality != other.Quality) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasQuality) hash ^= Quality.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasQuality) { + output.WriteRawTag(16); + output.WriteEnum((int) Quality); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasQuality) { + output.WriteRawTag(16); + output.WriteEnum((int) Quality); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasQuality) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Quality); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ConnectionQualityChanged other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasQuality) { + Quality = other.Quality; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + Quality = (global::LiveKit.Proto.ConnectionQuality) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 16: { + Quality = (global::LiveKit.Proto.ConnectionQuality) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class UserPacket : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new UserPacket()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[72]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UserPacket() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UserPacket(UserPacket other) : this() { + data_ = other.data_ != null ? other.data_.Clone() : null; + topic_ = other.topic_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UserPacket Clone() { + return new UserPacket(this); + } + + /// Field number for the "data" field. + public const int DataFieldNumber = 1; + private global::LiveKit.Proto.OwnedBuffer data_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedBuffer Data { + get { return data_; } + set { + data_ = value; + } + } + + /// Field number for the "topic" field. + public const int TopicFieldNumber = 2; + private readonly static string TopicDefaultValue = ""; + + private string topic_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Topic { + get { return topic_ ?? TopicDefaultValue; } + set { + topic_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "topic" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTopic { + get { return topic_ != null; } + } + /// Clears the value of the "topic" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTopic() { + topic_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as UserPacket); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(UserPacket other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Data, other.Data)) return false; + if (Topic != other.Topic) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (data_ != null) hash ^= Data.GetHashCode(); + if (HasTopic) hash ^= Topic.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (data_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Data); + } + if (HasTopic) { + output.WriteRawTag(18); + output.WriteString(Topic); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (data_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Data); + } + if (HasTopic) { + output.WriteRawTag(18); + output.WriteString(Topic); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (data_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Data); + } + if (HasTopic) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(UserPacket other) { + if (other == null) { + return; + } + if (other.data_ != null) { + if (data_ == null) { + Data = new global::LiveKit.Proto.OwnedBuffer(); + } + Data.MergeFrom(other.Data); + } + if (other.HasTopic) { + Topic = other.Topic; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (data_ == null) { + Data = new global::LiveKit.Proto.OwnedBuffer(); + } + input.ReadMessage(Data); + break; + } + case 18: { + Topic = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (data_ == null) { + Data = new global::LiveKit.Proto.OwnedBuffer(); + } + input.ReadMessage(Data); + break; + } + case 18: { + Topic = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ChatMessage : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ChatMessage()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[73]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ChatMessage() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ChatMessage(ChatMessage other) : this() { + _hasBits0 = other._hasBits0; + id_ = other.id_; + timestamp_ = other.timestamp_; + message_ = other.message_; + editTimestamp_ = other.editTimestamp_; + deleted_ = other.deleted_; + generated_ = other.generated_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ChatMessage Clone() { + return new ChatMessage(this); + } + + /// Field number for the "id" field. + public const int IdFieldNumber = 1; + private readonly static string IdDefaultValue = ""; + + private string id_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Id { + get { return id_ ?? IdDefaultValue; } + set { + id_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasId { + get { return id_ != null; } + } + /// Clears the value of the "id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearId() { + id_ = null; + } + + /// Field number for the "timestamp" field. + public const int TimestampFieldNumber = 2; + private readonly static long TimestampDefaultValue = 0L; + + private long timestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Timestamp { + get { if ((_hasBits0 & 1) != 0) { return timestamp_; } else { return TimestampDefaultValue; } } + set { + _hasBits0 |= 1; + timestamp_ = value; + } + } + /// Gets whether the "timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimestamp { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimestamp() { + _hasBits0 &= ~1; + } + + /// Field number for the "message" field. + public const int MessageFieldNumber = 3; + private readonly static string MessageDefaultValue = ""; + + private string message_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Message { + get { return message_ ?? MessageDefaultValue; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "message" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMessage { + get { return message_ != null; } + } + /// Clears the value of the "message" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + message_ = null; + } + + /// Field number for the "edit_timestamp" field. + public const int EditTimestampFieldNumber = 4; + private readonly static long EditTimestampDefaultValue = 0L; + + private long editTimestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long EditTimestamp { + get { if ((_hasBits0 & 2) != 0) { return editTimestamp_; } else { return EditTimestampDefaultValue; } } + set { + _hasBits0 |= 2; + editTimestamp_ = value; + } + } + /// Gets whether the "edit_timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEditTimestamp { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "edit_timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEditTimestamp() { + _hasBits0 &= ~2; + } + + /// Field number for the "deleted" field. + public const int DeletedFieldNumber = 5; + private readonly static bool DeletedDefaultValue = false; + + private bool deleted_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Deleted { + get { if ((_hasBits0 & 4) != 0) { return deleted_; } else { return DeletedDefaultValue; } } + set { + _hasBits0 |= 4; + deleted_ = value; + } + } + /// Gets whether the "deleted" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDeleted { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "deleted" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDeleted() { + _hasBits0 &= ~4; + } + + /// Field number for the "generated" field. + public const int GeneratedFieldNumber = 6; + private readonly static bool GeneratedDefaultValue = false; + + private bool generated_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Generated { + get { if ((_hasBits0 & 8) != 0) { return generated_; } else { return GeneratedDefaultValue; } } + set { + _hasBits0 |= 8; + generated_ = value; + } + } + /// Gets whether the "generated" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasGenerated { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "generated" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearGenerated() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ChatMessage); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ChatMessage other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Id != other.Id) return false; + if (Timestamp != other.Timestamp) return false; + if (Message != other.Message) return false; + if (EditTimestamp != other.EditTimestamp) return false; + if (Deleted != other.Deleted) return false; + if (Generated != other.Generated) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasId) hash ^= Id.GetHashCode(); + if (HasTimestamp) hash ^= Timestamp.GetHashCode(); + if (HasMessage) hash ^= Message.GetHashCode(); + if (HasEditTimestamp) hash ^= EditTimestamp.GetHashCode(); + if (HasDeleted) hash ^= Deleted.GetHashCode(); + if (HasGenerated) hash ^= Generated.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMessage) { + output.WriteRawTag(26); + output.WriteString(Message); + } + if (HasEditTimestamp) { + output.WriteRawTag(32); + output.WriteInt64(EditTimestamp); + } + if (HasDeleted) { + output.WriteRawTag(40); + output.WriteBool(Deleted); + } + if (HasGenerated) { + output.WriteRawTag(48); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMessage) { + output.WriteRawTag(26); + output.WriteString(Message); + } + if (HasEditTimestamp) { + output.WriteRawTag(32); + output.WriteInt64(EditTimestamp); + } + if (HasDeleted) { + output.WriteRawTag(40); + output.WriteBool(Deleted); + } + if (HasGenerated) { + output.WriteRawTag(48); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Id); + } + if (HasTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp); + } + if (HasMessage) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); + } + if (HasEditTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(EditTimestamp); + } + if (HasDeleted) { + size += 1 + 1; + } + if (HasGenerated) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ChatMessage other) { + if (other == null) { + return; + } + if (other.HasId) { + Id = other.Id; + } + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasMessage) { + Message = other.Message; + } + if (other.HasEditTimestamp) { + EditTimestamp = other.EditTimestamp; + } + if (other.HasDeleted) { + Deleted = other.Deleted; + } + if (other.HasGenerated) { + Generated = other.Generated; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + Message = input.ReadString(); + break; + } + case 32: { + EditTimestamp = input.ReadInt64(); + break; + } + case 40: { + Deleted = input.ReadBool(); + break; + } + case 48: { + Generated = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + Message = input.ReadString(); + break; + } + case 32: { + EditTimestamp = input.ReadInt64(); + break; + } + case 40: { + Deleted = input.ReadBool(); + break; + } + case 48: { + Generated = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ChatMessageReceived : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ChatMessageReceived()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[74]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ChatMessageReceived() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ChatMessageReceived(ChatMessageReceived other) : this() { + message_ = other.message_ != null ? other.message_.Clone() : null; + participantIdentity_ = other.participantIdentity_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ChatMessageReceived Clone() { + return new ChatMessageReceived(this); + } + + /// Field number for the "message" field. + public const int MessageFieldNumber = 1; + private global::LiveKit.Proto.ChatMessage message_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ChatMessage Message { + get { return message_; } + set { + message_ = value; + } + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 2; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ChatMessageReceived); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ChatMessageReceived other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Message, other.Message)) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (message_ != null) hash ^= Message.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (message_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Message); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (message_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Message); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (message_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Message); + } + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ChatMessageReceived other) { + if (other == null) { + return; + } + if (other.message_ != null) { + if (message_ == null) { + Message = new global::LiveKit.Proto.ChatMessage(); + } + Message.MergeFrom(other.Message); + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (message_ == null) { + Message = new global::LiveKit.Proto.ChatMessage(); + } + input.ReadMessage(Message); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (message_ == null) { + Message = new global::LiveKit.Proto.ChatMessage(); + } + input.ReadMessage(Message); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SipDTMF : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SipDTMF()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[75]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SipDTMF() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SipDTMF(SipDTMF other) : this() { + _hasBits0 = other._hasBits0; + code_ = other.code_; + digit_ = other.digit_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SipDTMF Clone() { + return new SipDTMF(this); + } + + /// Field number for the "code" field. + public const int CodeFieldNumber = 1; + private readonly static uint CodeDefaultValue = 0; + + private uint code_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Code { + get { if ((_hasBits0 & 1) != 0) { return code_; } else { return CodeDefaultValue; } } + set { + _hasBits0 |= 1; + code_ = value; + } + } + /// Gets whether the "code" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCode { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "code" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCode() { + _hasBits0 &= ~1; + } + + /// Field number for the "digit" field. + public const int DigitFieldNumber = 2; + private readonly static string DigitDefaultValue = ""; + + private string digit_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Digit { + get { return digit_ ?? DigitDefaultValue; } + set { + digit_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "digit" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDigit { + get { return digit_ != null; } + } + /// Clears the value of the "digit" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDigit() { + digit_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SipDTMF); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SipDTMF other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Code != other.Code) return false; + if (Digit != other.Digit) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasCode) hash ^= Code.GetHashCode(); + if (HasDigit) hash ^= Digit.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasCode) { + output.WriteRawTag(8); + output.WriteUInt32(Code); + } + if (HasDigit) { + output.WriteRawTag(18); + output.WriteString(Digit); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasCode) { + output.WriteRawTag(8); + output.WriteUInt32(Code); + } + if (HasDigit) { + output.WriteRawTag(18); + output.WriteString(Digit); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasCode) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Code); + } + if (HasDigit) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Digit); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SipDTMF other) { + if (other == null) { + return; + } + if (other.HasCode) { + Code = other.Code; + } + if (other.HasDigit) { + Digit = other.Digit; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Code = input.ReadUInt32(); + break; + } + case 18: { + Digit = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Code = input.ReadUInt32(); + break; + } + case 18: { + Digit = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataPacketReceived : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataPacketReceived()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[76]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataPacketReceived() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataPacketReceived(DataPacketReceived other) : this() { + _hasBits0 = other._hasBits0; + kind_ = other.kind_; + participantIdentity_ = other.participantIdentity_; + switch (other.ValueCase) { + case ValueOneofCase.User: + User = other.User.Clone(); + break; + case ValueOneofCase.SipDtmf: + SipDtmf = other.SipDtmf.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataPacketReceived Clone() { + return new DataPacketReceived(this); + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 1; + private readonly static global::LiveKit.Proto.DataPacketKind KindDefaultValue = global::LiveKit.Proto.DataPacketKind.KindLossy; + + private global::LiveKit.Proto.DataPacketKind kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataPacketKind Kind { + get { if ((_hasBits0 & 1) != 0) { return kind_; } else { return KindDefaultValue; } } + set { + _hasBits0 |= 1; + kind_ = value; + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + _hasBits0 &= ~1; + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 2; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + /// + /// Can be empty if the data is sent a server SDK + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "user" field. + public const int UserFieldNumber = 4; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.UserPacket User { + get { return valueCase_ == ValueOneofCase.User ? (global::LiveKit.Proto.UserPacket) value_ : null; } + set { + value_ = value; + valueCase_ = value == null ? ValueOneofCase.None : ValueOneofCase.User; + } + } + + /// Field number for the "sip_dtmf" field. + public const int SipDtmfFieldNumber = 5; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SipDTMF SipDtmf { + get { return valueCase_ == ValueOneofCase.SipDtmf ? (global::LiveKit.Proto.SipDTMF) value_ : null; } + set { + value_ = value; + valueCase_ = value == null ? ValueOneofCase.None : ValueOneofCase.SipDtmf; + } + } + + private object value_; + /// Enum of possible cases for the "value" oneof. + public enum ValueOneofCase { + None = 0, + User = 4, + SipDtmf = 5, + } + private ValueOneofCase valueCase_ = ValueOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ValueOneofCase ValueCase { + get { return valueCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearValue() { + valueCase_ = ValueOneofCase.None; + value_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as DataPacketReceived); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(DataPacketReceived other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Kind != other.Kind) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (!object.Equals(User, other.User)) return false; + if (!object.Equals(SipDtmf, other.SipDtmf)) return false; + if (ValueCase != other.ValueCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasKind) hash ^= Kind.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (valueCase_ == ValueOneofCase.User) hash ^= User.GetHashCode(); + if (valueCase_ == ValueOneofCase.SipDtmf) hash ^= SipDtmf.GetHashCode(); + hash ^= (int) valueCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasKind) { + output.WriteRawTag(8); + output.WriteEnum((int) Kind); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } + if (valueCase_ == ValueOneofCase.User) { + output.WriteRawTag(34); + output.WriteMessage(User); + } + if (valueCase_ == ValueOneofCase.SipDtmf) { + output.WriteRawTag(42); + output.WriteMessage(SipDtmf); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKind) { + output.WriteRawTag(8); + output.WriteEnum((int) Kind); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } + if (valueCase_ == ValueOneofCase.User) { + output.WriteRawTag(34); + output.WriteMessage(User); + } + if (valueCase_ == ValueOneofCase.SipDtmf) { + output.WriteRawTag(42); + output.WriteMessage(SipDtmf); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); + } + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (valueCase_ == ValueOneofCase.User) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(User); + } + if (valueCase_ == ValueOneofCase.SipDtmf) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(SipDtmf); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(DataPacketReceived other) { + if (other == null) { + return; + } + if (other.HasKind) { + Kind = other.Kind; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + switch (other.ValueCase) { + case ValueOneofCase.User: + if (User == null) { + User = new global::LiveKit.Proto.UserPacket(); + } + User.MergeFrom(other.User); + break; + case ValueOneofCase.SipDtmf: + if (SipDtmf == null) { + SipDtmf = new global::LiveKit.Proto.SipDTMF(); + } + SipDtmf.MergeFrom(other.SipDtmf); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } + case 34: { + global::LiveKit.Proto.UserPacket subBuilder = new global::LiveKit.Proto.UserPacket(); + if (valueCase_ == ValueOneofCase.User) { + subBuilder.MergeFrom(User); + } + input.ReadMessage(subBuilder); + User = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.SipDTMF subBuilder = new global::LiveKit.Proto.SipDTMF(); + if (valueCase_ == ValueOneofCase.SipDtmf) { + subBuilder.MergeFrom(SipDtmf); + } + input.ReadMessage(subBuilder); + SipDtmf = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } + case 34: { + global::LiveKit.Proto.UserPacket subBuilder = new global::LiveKit.Proto.UserPacket(); + if (valueCase_ == ValueOneofCase.User) { + subBuilder.MergeFrom(User); + } + input.ReadMessage(subBuilder); + User = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.SipDTMF subBuilder = new global::LiveKit.Proto.SipDTMF(); + if (valueCase_ == ValueOneofCase.SipDtmf) { + subBuilder.MergeFrom(SipDtmf); + } + input.ReadMessage(subBuilder); + SipDtmf = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TranscriptionReceived : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TranscriptionReceived()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[77]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TranscriptionReceived() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TranscriptionReceived(TranscriptionReceived other) : this() { + participantIdentity_ = other.participantIdentity_; + trackSid_ = other.trackSid_; + segments_ = other.segments_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TranscriptionReceived Clone() { + return new TranscriptionReceived(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } + + /// Field number for the "track_sid" field. + public const int TrackSidFieldNumber = 2; + private readonly static string TrackSidDefaultValue = ""; + + private string trackSid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackSid { + get { return trackSid_ ?? TrackSidDefaultValue; } + set { + trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSid { + get { return trackSid_ != null; } + } + /// Clears the value of the "track_sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSid() { + trackSid_ = null; + } + + /// Field number for the "segments" field. + public const int SegmentsFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_segments_codec + = pb::FieldCodec.ForMessage(26, global::LiveKit.Proto.TranscriptionSegment.Parser); + private readonly pbc::RepeatedField segments_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Segments { + get { return segments_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TranscriptionReceived); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TranscriptionReceived other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (TrackSid != other.TrackSid) return false; + if(!segments_.Equals(other.segments_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasTrackSid) hash ^= TrackSid.GetHashCode(); + hash ^= segments_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + segments_.WriteTo(output, _repeated_segments_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasParticipantIdentity) { + output.WriteRawTag(10); + output.WriteString(ParticipantIdentity); + } + if (HasTrackSid) { + output.WriteRawTag(18); + output.WriteString(TrackSid); + } + segments_.WriteTo(ref output, _repeated_segments_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } + if (HasTrackSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + } + size += segments_.CalculateSize(_repeated_segments_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TranscriptionReceived other) { + if (other == null) { + return; + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } + if (other.HasTrackSid) { + TrackSid = other.TrackSid; + } + segments_.Add(other.segments_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 26: { + segments_.AddEntriesFrom(input, _repeated_segments_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + ParticipantIdentity = input.ReadString(); + break; + } + case 18: { + TrackSid = input.ReadString(); + break; + } + case 26: { + segments_.AddEntriesFrom(ref input, _repeated_segments_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ConnectionStateChanged : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConnectionStateChanged()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[78]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ConnectionStateChanged() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ConnectionStateChanged(ConnectionStateChanged other) : this() { + _hasBits0 = other._hasBits0; + state_ = other.state_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ConnectionStateChanged Clone() { + return new ConnectionStateChanged(this); + } + + /// Field number for the "state" field. + public const int StateFieldNumber = 1; + private readonly static global::LiveKit.Proto.ConnectionState StateDefaultValue = global::LiveKit.Proto.ConnectionState.ConnDisconnected; + + private global::LiveKit.Proto.ConnectionState state_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ConnectionState State { + get { if ((_hasBits0 & 1) != 0) { return state_; } else { return StateDefaultValue; } } + set { + _hasBits0 |= 1; + state_ = value; + } + } + /// Gets whether the "state" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasState { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "state" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearState() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ConnectionStateChanged); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ConnectionStateChanged other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (State != other.State) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasState) hash ^= State.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasState) { + output.WriteRawTag(8); + output.WriteEnum((int) State); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasState) { + output.WriteRawTag(8); + output.WriteEnum((int) State); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasState) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ConnectionStateChanged other) { + if (other == null) { + return; + } + if (other.HasState) { + State = other.State; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + State = (global::LiveKit.Proto.ConnectionState) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + State = (global::LiveKit.Proto.ConnectionState) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Connected : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Connected()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[79]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Connected() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Connected(Connected other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Connected Clone() { + return new Connected(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Connected); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Connected other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Connected other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Disconnected : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Disconnected()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[80]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Disconnected() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Disconnected(Disconnected other) : this() { + _hasBits0 = other._hasBits0; + reason_ = other.reason_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Disconnected Clone() { + return new Disconnected(this); + } + + /// Field number for the "reason" field. + public const int ReasonFieldNumber = 1; + private readonly static global::LiveKit.Proto.DisconnectReason ReasonDefaultValue = global::LiveKit.Proto.DisconnectReason.UnknownReason; + + private global::LiveKit.Proto.DisconnectReason reason_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DisconnectReason Reason { + get { if ((_hasBits0 & 1) != 0) { return reason_; } else { return ReasonDefaultValue; } } + set { + _hasBits0 |= 1; + reason_ = value; + } + } + /// Gets whether the "reason" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReason { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "reason" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReason() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Disconnected); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Disconnected other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Reason != other.Reason) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasReason) hash ^= Reason.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasReason) { + output.WriteRawTag(8); + output.WriteEnum((int) Reason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasReason) { + output.WriteRawTag(8); + output.WriteEnum((int) Reason); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasReason) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Reason); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Disconnected other) { + if (other == null) { + return; + } + if (other.HasReason) { + Reason = other.Reason; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Reason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Reason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Reconnecting : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Reconnecting()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[81]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Reconnecting() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Reconnecting(Reconnecting other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Reconnecting Clone() { + return new Reconnecting(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Reconnecting); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Reconnecting other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Reconnecting other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Reconnected : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Reconnected()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[82]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Reconnected() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Reconnected(Reconnected other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Reconnected Clone() { + return new Reconnected(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Reconnected); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Reconnected other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Reconnected other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RoomEOS : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomEOS()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[83]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomEOS() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomEOS(RoomEOS other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RoomEOS Clone() { + return new RoomEOS(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RoomEOS); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RoomEOS other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RoomEOS other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataStream : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataStream()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[84]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataStream() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataStream(DataStream other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataStream Clone() { + return new DataStream(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as DataStream); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(DataStream other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(DataStream other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + #region Nested types + /// Container for nested types declared in the DataStream message type. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static partial class Types { + /// + /// enum for operation types (specific to TextHeader) + /// + public enum OperationType { + [pbr::OriginalName("CREATE")] Create = 0, + [pbr::OriginalName("UPDATE")] Update = 1, + [pbr::OriginalName("DELETE")] Delete = 2, + [pbr::OriginalName("REACTION")] Reaction = 3, + } + + /// + /// header properties specific to text streams + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextHeader : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextHeader()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStream.Descriptor.NestedTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextHeader() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextHeader(TextHeader other) : this() { + _hasBits0 = other._hasBits0; + operationType_ = other.operationType_; + version_ = other.version_; + replyToStreamId_ = other.replyToStreamId_; + attachedStreamIds_ = other.attachedStreamIds_.Clone(); + generated_ = other.generated_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TextHeader Clone() { + return new TextHeader(this); + } + + /// Field number for the "operation_type" field. + public const int OperationTypeFieldNumber = 1; + private readonly static global::LiveKit.Proto.DataStream.Types.OperationType OperationTypeDefaultValue = global::LiveKit.Proto.DataStream.Types.OperationType.Create; + + private global::LiveKit.Proto.DataStream.Types.OperationType operationType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataStream.Types.OperationType OperationType { + get { if ((_hasBits0 & 1) != 0) { return operationType_; } else { return OperationTypeDefaultValue; } } + set { + _hasBits0 |= 1; + operationType_ = value; + } + } + /// Gets whether the "operation_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasOperationType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "operation_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearOperationType() { + _hasBits0 &= ~1; + } + + /// Field number for the "version" field. + public const int VersionFieldNumber = 2; + private readonly static int VersionDefaultValue = 0; + + private int version_; + /// + /// Optional: Version for updates/edits + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int Version { + get { if ((_hasBits0 & 2) != 0) { return version_; } else { return VersionDefaultValue; } } + set { + _hasBits0 |= 2; + version_ = value; + } + } + /// Gets whether the "version" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasVersion { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "version" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearVersion() { + _hasBits0 &= ~2; + } + + /// Field number for the "reply_to_stream_id" field. + public const int ReplyToStreamIdFieldNumber = 3; + private readonly static string ReplyToStreamIdDefaultValue = ""; + + private string replyToStreamId_; + /// + /// Optional: Reply to specific message + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ReplyToStreamId { + get { return replyToStreamId_ ?? ReplyToStreamIdDefaultValue; } + set { + replyToStreamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "reply_to_stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReplyToStreamId { + get { return replyToStreamId_ != null; } + } + /// Clears the value of the "reply_to_stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReplyToStreamId() { + replyToStreamId_ = null; + } + + /// Field number for the "attached_stream_ids" field. + public const int AttachedStreamIdsFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_attachedStreamIds_codec + = pb::FieldCodec.ForString(34); + private readonly pbc::RepeatedField attachedStreamIds_ = new pbc::RepeatedField(); + /// + /// file attachments for text streams + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField AttachedStreamIds { + get { return attachedStreamIds_; } + } + + /// Field number for the "generated" field. + public const int GeneratedFieldNumber = 5; + private readonly static bool GeneratedDefaultValue = false; + + private bool generated_; + /// + /// true if the text has been generated by an agent from a participant's audio transcription + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Generated { + get { if ((_hasBits0 & 4) != 0) { return generated_; } else { return GeneratedDefaultValue; } } + set { + _hasBits0 |= 4; + generated_ = value; + } + } + /// Gets whether the "generated" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasGenerated { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "generated" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearGenerated() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TextHeader); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TextHeader other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (OperationType != other.OperationType) return false; + if (Version != other.Version) return false; + if (ReplyToStreamId != other.ReplyToStreamId) return false; + if(!attachedStreamIds_.Equals(other.attachedStreamIds_)) return false; + if (Generated != other.Generated) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasOperationType) hash ^= OperationType.GetHashCode(); + if (HasVersion) hash ^= Version.GetHashCode(); + if (HasReplyToStreamId) hash ^= ReplyToStreamId.GetHashCode(); + hash ^= attachedStreamIds_.GetHashCode(); + if (HasGenerated) hash ^= Generated.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasOperationType) { + output.WriteRawTag(8); + output.WriteEnum((int) OperationType); + } + if (HasVersion) { + output.WriteRawTag(16); + output.WriteInt32(Version); + } + if (HasReplyToStreamId) { + output.WriteRawTag(26); + output.WriteString(ReplyToStreamId); + } + attachedStreamIds_.WriteTo(output, _repeated_attachedStreamIds_codec); + if (HasGenerated) { + output.WriteRawTag(40); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasOperationType) { + output.WriteRawTag(8); + output.WriteEnum((int) OperationType); + } + if (HasVersion) { + output.WriteRawTag(16); + output.WriteInt32(Version); + } + if (HasReplyToStreamId) { + output.WriteRawTag(26); + output.WriteString(ReplyToStreamId); + } + attachedStreamIds_.WriteTo(ref output, _repeated_attachedStreamIds_codec); + if (HasGenerated) { + output.WriteRawTag(40); + output.WriteBool(Generated); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasOperationType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OperationType); + } + if (HasVersion) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version); + } + if (HasReplyToStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ReplyToStreamId); + } + size += attachedStreamIds_.CalculateSize(_repeated_attachedStreamIds_codec); + if (HasGenerated) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TextHeader other) { + if (other == null) { + return; + } + if (other.HasOperationType) { + OperationType = other.OperationType; + } + if (other.HasVersion) { + Version = other.Version; + } + if (other.HasReplyToStreamId) { + ReplyToStreamId = other.ReplyToStreamId; + } + attachedStreamIds_.Add(other.attachedStreamIds_); + if (other.HasGenerated) { + Generated = other.Generated; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + OperationType = (global::LiveKit.Proto.DataStream.Types.OperationType) input.ReadEnum(); + break; + } + case 16: { + Version = input.ReadInt32(); + break; + } + case 26: { + ReplyToStreamId = input.ReadString(); + break; + } + case 34: { + attachedStreamIds_.AddEntriesFrom(input, _repeated_attachedStreamIds_codec); + break; + } + case 40: { + Generated = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + OperationType = (global::LiveKit.Proto.DataStream.Types.OperationType) input.ReadEnum(); + break; + } + case 16: { + Version = input.ReadInt32(); + break; + } + case 26: { + ReplyToStreamId = input.ReadString(); + break; + } + case 34: { + attachedStreamIds_.AddEntriesFrom(ref input, _repeated_attachedStreamIds_codec); + break; + } + case 40: { + Generated = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + /// + /// header properties specific to byte or file streams + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteHeader : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteHeader()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStream.Descriptor.NestedTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteHeader() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteHeader(ByteHeader other) : this() { + name_ = other.name_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ByteHeader Clone() { + return new ByteHeader(this); + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 1; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ByteHeader); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ByteHeader other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Name != other.Name) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasName) hash ^= Name.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasName) { + output.WriteRawTag(10); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasName) { + output.WriteRawTag(10); + output.WriteString(Name); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ByteHeader other) { + if (other == null) { + return; + } + if (other.HasName) { + Name = other.Name; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Name = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Name = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// main DataStream.Header that contains a oneof for specific headers + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Header : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser
_parser = new pb::MessageParser
(() => new Header()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser
Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStream.Descriptor.NestedTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Header() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Header(Header other) : this() { + _hasBits0 = other._hasBits0; + streamId_ = other.streamId_; + timestamp_ = other.timestamp_; + mimeType_ = other.mimeType_; + topic_ = other.topic_; + totalLength_ = other.totalLength_; + attributes_ = other.attributes_.Clone(); + switch (other.ContentHeaderCase) { + case ContentHeaderOneofCase.TextHeader: + TextHeader = other.TextHeader.Clone(); + break; + case ContentHeaderOneofCase.ByteHeader: + ByteHeader = other.ByteHeader.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Header Clone() { + return new Header(this); + } + + /// Field number for the "stream_id" field. + public const int StreamIdFieldNumber = 1; + private readonly static string StreamIdDefaultValue = ""; + + private string streamId_; + /// + /// unique identifier for this data stream + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string StreamId { + get { return streamId_ ?? StreamIdDefaultValue; } + set { + streamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamId { + get { return streamId_ != null; } + } + /// Clears the value of the "stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamId() { + streamId_ = null; + } + + /// Field number for the "timestamp" field. + public const int TimestampFieldNumber = 2; + private readonly static long TimestampDefaultValue = 0L; + + private long timestamp_; + /// + /// using int64 for Unix timestamp + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Timestamp { + get { if ((_hasBits0 & 1) != 0) { return timestamp_; } else { return TimestampDefaultValue; } } + set { + _hasBits0 |= 1; + timestamp_ = value; + } + } + /// Gets whether the "timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimestamp { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimestamp() { + _hasBits0 &= ~1; + } + + /// Field number for the "mime_type" field. + public const int MimeTypeFieldNumber = 3; + private readonly static string MimeTypeDefaultValue = ""; + + private string mimeType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MimeType { + get { return mimeType_ ?? MimeTypeDefaultValue; } + set { + mimeType_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mime_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMimeType { + get { return mimeType_ != null; } + } + /// Clears the value of the "mime_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMimeType() { + mimeType_ = null; + } + + /// Field number for the "topic" field. + public const int TopicFieldNumber = 4; + private readonly static string TopicDefaultValue = ""; + + private string topic_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Topic { + get { return topic_ ?? TopicDefaultValue; } + set { + topic_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "topic" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTopic { + get { return topic_ != null; } + } + /// Clears the value of the "topic" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTopic() { + topic_ = null; + } + + /// Field number for the "total_length" field. + public const int TotalLengthFieldNumber = 5; + private readonly static ulong TotalLengthDefaultValue = 0UL; + + private ulong totalLength_; + /// + /// only populated for finite streams, if it's a stream of unknown size this stays empty + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalLength { + get { if ((_hasBits0 & 2) != 0) { return totalLength_; } else { return TotalLengthDefaultValue; } } + set { + _hasBits0 |= 2; + totalLength_ = value; + } + } + /// Gets whether the "total_length" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalLength { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "total_length" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalLength() { + _hasBits0 &= ~2; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 6; + private static readonly pbc::MapField.Codec _map_attributes_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 50); + private readonly pbc::MapField attributes_ = new pbc::MapField(); + /// + /// user defined attributes map that can carry additional info + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField Attributes { + get { return attributes_; } + } + + /// Field number for the "text_header" field. + public const int TextHeaderFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataStream.Types.TextHeader TextHeader { + get { return contentHeaderCase_ == ContentHeaderOneofCase.TextHeader ? (global::LiveKit.Proto.DataStream.Types.TextHeader) contentHeader_ : null; } + set { + contentHeader_ = value; + contentHeaderCase_ = value == null ? ContentHeaderOneofCase.None : ContentHeaderOneofCase.TextHeader; + } + } + + /// Field number for the "byte_header" field. + public const int ByteHeaderFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataStream.Types.ByteHeader ByteHeader { + get { return contentHeaderCase_ == ContentHeaderOneofCase.ByteHeader ? (global::LiveKit.Proto.DataStream.Types.ByteHeader) contentHeader_ : null; } + set { + contentHeader_ = value; + contentHeaderCase_ = value == null ? ContentHeaderOneofCase.None : ContentHeaderOneofCase.ByteHeader; + } + } + + private object contentHeader_; + /// Enum of possible cases for the "content_header" oneof. + public enum ContentHeaderOneofCase { + None = 0, + TextHeader = 7, + ByteHeader = 8, + } + private ContentHeaderOneofCase contentHeaderCase_ = ContentHeaderOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ContentHeaderOneofCase ContentHeaderCase { + get { return contentHeaderCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearContentHeader() { + contentHeaderCase_ = ContentHeaderOneofCase.None; + contentHeader_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Header); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Header other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (StreamId != other.StreamId) return false; + if (Timestamp != other.Timestamp) return false; + if (MimeType != other.MimeType) return false; + if (Topic != other.Topic) return false; + if (TotalLength != other.TotalLength) return false; + if (!Attributes.Equals(other.Attributes)) return false; + if (!object.Equals(TextHeader, other.TextHeader)) return false; + if (!object.Equals(ByteHeader, other.ByteHeader)) return false; + if (ContentHeaderCase != other.ContentHeaderCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasStreamId) hash ^= StreamId.GetHashCode(); + if (HasTimestamp) hash ^= Timestamp.GetHashCode(); + if (HasMimeType) hash ^= MimeType.GetHashCode(); + if (HasTopic) hash ^= Topic.GetHashCode(); + if (HasTotalLength) hash ^= TotalLength.GetHashCode(); + hash ^= Attributes.GetHashCode(); + if (contentHeaderCase_ == ContentHeaderOneofCase.TextHeader) hash ^= TextHeader.GetHashCode(); + if (contentHeaderCase_ == ContentHeaderOneofCase.ByteHeader) hash ^= ByteHeader.GetHashCode(); + hash ^= (int) contentHeaderCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasTopic) { + output.WriteRawTag(34); + output.WriteString(Topic); + } + if (HasTotalLength) { + output.WriteRawTag(40); + output.WriteUInt64(TotalLength); + } + attributes_.WriteTo(output, _map_attributes_codec); + if (contentHeaderCase_ == ContentHeaderOneofCase.TextHeader) { + output.WriteRawTag(58); + output.WriteMessage(TextHeader); + } + if (contentHeaderCase_ == ContentHeaderOneofCase.ByteHeader) { + output.WriteRawTag(66); + output.WriteMessage(ByteHeader); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasTopic) { + output.WriteRawTag(34); + output.WriteString(Topic); + } + if (HasTotalLength) { + output.WriteRawTag(40); + output.WriteUInt64(TotalLength); + } + attributes_.WriteTo(ref output, _map_attributes_codec); + if (contentHeaderCase_ == ContentHeaderOneofCase.TextHeader) { + output.WriteRawTag(58); + output.WriteMessage(TextHeader); + } + if (contentHeaderCase_ == ContentHeaderOneofCase.ByteHeader) { + output.WriteRawTag(66); + output.WriteMessage(ByteHeader); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(StreamId); + } + if (HasTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp); + } + if (HasMimeType) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MimeType); + } + if (HasTopic) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic); + } + if (HasTotalLength) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TotalLength); + } + size += attributes_.CalculateSize(_map_attributes_codec); + if (contentHeaderCase_ == ContentHeaderOneofCase.TextHeader) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(TextHeader); + } + if (contentHeaderCase_ == ContentHeaderOneofCase.ByteHeader) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ByteHeader); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Header other) { + if (other == null) { + return; + } + if (other.HasStreamId) { + StreamId = other.StreamId; + } + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasMimeType) { + MimeType = other.MimeType; + } + if (other.HasTopic) { + Topic = other.Topic; + } + if (other.HasTotalLength) { + TotalLength = other.TotalLength; + } + attributes_.MergeFrom(other.attributes_); + switch (other.ContentHeaderCase) { + case ContentHeaderOneofCase.TextHeader: + if (TextHeader == null) { + TextHeader = new global::LiveKit.Proto.DataStream.Types.TextHeader(); + } + TextHeader.MergeFrom(other.TextHeader); + break; + case ContentHeaderOneofCase.ByteHeader: + if (ByteHeader == null) { + ByteHeader = new global::LiveKit.Proto.DataStream.Types.ByteHeader(); + } + ByteHeader.MergeFrom(other.ByteHeader); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 34: { + Topic = input.ReadString(); + break; + } + case 40: { + TotalLength = input.ReadUInt64(); + break; + } + case 50: { + attributes_.AddEntriesFrom(input, _map_attributes_codec); + break; + } + case 58: { + global::LiveKit.Proto.DataStream.Types.TextHeader subBuilder = new global::LiveKit.Proto.DataStream.Types.TextHeader(); + if (contentHeaderCase_ == ContentHeaderOneofCase.TextHeader) { + subBuilder.MergeFrom(TextHeader); + } + input.ReadMessage(subBuilder); + TextHeader = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.DataStream.Types.ByteHeader subBuilder = new global::LiveKit.Proto.DataStream.Types.ByteHeader(); + if (contentHeaderCase_ == ContentHeaderOneofCase.ByteHeader) { + subBuilder.MergeFrom(ByteHeader); + } + input.ReadMessage(subBuilder); + ByteHeader = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 34: { + Topic = input.ReadString(); + break; + } + case 40: { + TotalLength = input.ReadUInt64(); + break; + } + case 50: { + attributes_.AddEntriesFrom(ref input, _map_attributes_codec); + break; + } + case 58: { + global::LiveKit.Proto.DataStream.Types.TextHeader subBuilder = new global::LiveKit.Proto.DataStream.Types.TextHeader(); + if (contentHeaderCase_ == ContentHeaderOneofCase.TextHeader) { + subBuilder.MergeFrom(TextHeader); + } + input.ReadMessage(subBuilder); + TextHeader = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.DataStream.Types.ByteHeader subBuilder = new global::LiveKit.Proto.DataStream.Types.ByteHeader(); + if (contentHeaderCase_ == ContentHeaderOneofCase.ByteHeader) { + subBuilder.MergeFrom(ByteHeader); + } + input.ReadMessage(subBuilder); + ByteHeader = subBuilder; + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Chunk : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Chunk()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStream.Descriptor.NestedTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Chunk() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Chunk(Chunk other) : this() { + _hasBits0 = other._hasBits0; + streamId_ = other.streamId_; + chunkIndex_ = other.chunkIndex_; + content_ = other.content_; + version_ = other.version_; + iv_ = other.iv_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Chunk Clone() { + return new Chunk(this); + } + + /// Field number for the "stream_id" field. + public const int StreamIdFieldNumber = 1; + private readonly static string StreamIdDefaultValue = ""; + + private string streamId_; + /// + /// unique identifier for this data stream to map it to the correct header + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string StreamId { + get { return streamId_ ?? StreamIdDefaultValue; } + set { + streamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamId { + get { return streamId_ != null; } + } + /// Clears the value of the "stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamId() { + streamId_ = null; + } + + /// Field number for the "chunk_index" field. + public const int ChunkIndexFieldNumber = 2; + private readonly static ulong ChunkIndexDefaultValue = 0UL; + + private ulong chunkIndex_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ChunkIndex { + get { if ((_hasBits0 & 1) != 0) { return chunkIndex_; } else { return ChunkIndexDefaultValue; } } + set { + _hasBits0 |= 1; + chunkIndex_ = value; + } + } + /// Gets whether the "chunk_index" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasChunkIndex { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "chunk_index" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearChunkIndex() { + _hasBits0 &= ~1; + } + + /// Field number for the "content" field. + public const int ContentFieldNumber = 3; + private readonly static pb::ByteString ContentDefaultValue = pb::ByteString.Empty; + + private pb::ByteString content_; + /// + /// content as binary (bytes) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Content { + get { return content_ ?? ContentDefaultValue; } + set { + content_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "content" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasContent { + get { return content_ != null; } + } + /// Clears the value of the "content" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearContent() { + content_ = null; + } + + /// Field number for the "version" field. + public const int VersionFieldNumber = 4; + private readonly static int VersionDefaultValue = 0; + + private int version_; + /// + /// a version indicating that this chunk_index has been retroactively modified and the original one needs to be replaced + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int Version { + get { if ((_hasBits0 & 2) != 0) { return version_; } else { return VersionDefaultValue; } } + set { + _hasBits0 |= 2; + version_ = value; } - case 82: { - global::LiveKit.Proto.ActiveSpeakersChanged subBuilder = new global::LiveKit.Proto.ActiveSpeakersChanged(); - if (messageCase_ == MessageOneofCase.SpeakersChanged) { - subBuilder.MergeFrom(SpeakersChanged); - } - input.ReadMessage(subBuilder); - SpeakersChanged = subBuilder; - break; + } + /// Gets whether the "version" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasVersion { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "version" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearVersion() { + _hasBits0 &= ~2; + } + + /// Field number for the "iv" field. + public const int IvFieldNumber = 5; + private readonly static pb::ByteString IvDefaultValue = pb::ByteString.Empty; + + private pb::ByteString iv_; + /// + /// optional, initialization vector for AES-GCM encryption + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pb::ByteString Iv { + get { return iv_ ?? IvDefaultValue; } + set { + iv_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } - case 90: { - global::LiveKit.Proto.ConnectionQualityChanged subBuilder = new global::LiveKit.Proto.ConnectionQualityChanged(); - if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { - subBuilder.MergeFrom(ConnectionQualityChanged); - } - input.ReadMessage(subBuilder); - ConnectionQualityChanged = subBuilder; - break; + } + /// Gets whether the "iv" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIv { + get { return iv_ != null; } + } + /// Clears the value of the "iv" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIv() { + iv_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Chunk); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Chunk other) { + if (ReferenceEquals(other, null)) { + return false; } - case 98: { - global::LiveKit.Proto.DataReceived subBuilder = new global::LiveKit.Proto.DataReceived(); - if (messageCase_ == MessageOneofCase.DataReceived) { - subBuilder.MergeFrom(DataReceived); - } - input.ReadMessage(subBuilder); - DataReceived = subBuilder; - break; + if (ReferenceEquals(other, this)) { + return true; } - case 106: { - global::LiveKit.Proto.ConnectionStateChanged subBuilder = new global::LiveKit.Proto.ConnectionStateChanged(); - if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { - subBuilder.MergeFrom(ConnectionStateChanged); - } - input.ReadMessage(subBuilder); - ConnectionStateChanged = subBuilder; - break; + if (StreamId != other.StreamId) return false; + if (ChunkIndex != other.ChunkIndex) return false; + if (Content != other.Content) return false; + if (Version != other.Version) return false; + if (Iv != other.Iv) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasStreamId) hash ^= StreamId.GetHashCode(); + if (HasChunkIndex) hash ^= ChunkIndex.GetHashCode(); + if (HasContent) hash ^= Content.GetHashCode(); + if (HasVersion) hash ^= Version.GetHashCode(); + if (HasIv) hash ^= Iv.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); } - case 114: { - global::LiveKit.Proto.Connected subBuilder = new global::LiveKit.Proto.Connected(); - if (messageCase_ == MessageOneofCase.Connected) { - subBuilder.MergeFrom(Connected); - } - input.ReadMessage(subBuilder); - Connected = subBuilder; - break; + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); } - case 122: { - global::LiveKit.Proto.Disconnected subBuilder = new global::LiveKit.Proto.Disconnected(); - if (messageCase_ == MessageOneofCase.Disconnected) { - subBuilder.MergeFrom(Disconnected); - } - input.ReadMessage(subBuilder); - Disconnected = subBuilder; - break; + if (HasChunkIndex) { + output.WriteRawTag(16); + output.WriteUInt64(ChunkIndex); } - case 130: { - global::LiveKit.Proto.Reconnecting subBuilder = new global::LiveKit.Proto.Reconnecting(); - if (messageCase_ == MessageOneofCase.Reconnecting) { - subBuilder.MergeFrom(Reconnecting); - } - input.ReadMessage(subBuilder); - Reconnecting = subBuilder; - break; + if (HasContent) { + output.WriteRawTag(26); + output.WriteBytes(Content); } - case 138: { - global::LiveKit.Proto.Reconnected subBuilder = new global::LiveKit.Proto.Reconnected(); - if (messageCase_ == MessageOneofCase.Reconnected) { - subBuilder.MergeFrom(Reconnected); - } - input.ReadMessage(subBuilder); - Reconnected = subBuilder; - break; + if (HasVersion) { + output.WriteRawTag(32); + output.WriteInt32(Version); + } + if (HasIv) { + output.WriteRawTag(42); + output.WriteBytes(Iv); } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif } - } - #endif - } - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); - break; + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); } - case 18: { - global::LiveKit.Proto.ParticipantConnected subBuilder = new global::LiveKit.Proto.ParticipantConnected(); - if (messageCase_ == MessageOneofCase.ParticipantConnected) { - subBuilder.MergeFrom(ParticipantConnected); - } - input.ReadMessage(subBuilder); - ParticipantConnected = subBuilder; - break; + if (HasChunkIndex) { + output.WriteRawTag(16); + output.WriteUInt64(ChunkIndex); } - case 26: { - global::LiveKit.Proto.ParticipantDisconnected subBuilder = new global::LiveKit.Proto.ParticipantDisconnected(); - if (messageCase_ == MessageOneofCase.ParticipantDisconnected) { - subBuilder.MergeFrom(ParticipantDisconnected); - } - input.ReadMessage(subBuilder); - ParticipantDisconnected = subBuilder; - break; + if (HasContent) { + output.WriteRawTag(26); + output.WriteBytes(Content); } - case 34: { - global::LiveKit.Proto.TrackPublished subBuilder = new global::LiveKit.Proto.TrackPublished(); - if (messageCase_ == MessageOneofCase.TrackPublished) { - subBuilder.MergeFrom(TrackPublished); - } - input.ReadMessage(subBuilder); - TrackPublished = subBuilder; - break; + if (HasVersion) { + output.WriteRawTag(32); + output.WriteInt32(Version); } - case 42: { - global::LiveKit.Proto.TrackUnpublished subBuilder = new global::LiveKit.Proto.TrackUnpublished(); - if (messageCase_ == MessageOneofCase.TrackUnpublished) { - subBuilder.MergeFrom(TrackUnpublished); - } - input.ReadMessage(subBuilder); - TrackUnpublished = subBuilder; - break; + if (HasIv) { + output.WriteRawTag(42); + output.WriteBytes(Iv); } - case 50: { - global::LiveKit.Proto.TrackSubscribed subBuilder = new global::LiveKit.Proto.TrackSubscribed(); - if (messageCase_ == MessageOneofCase.TrackSubscribed) { - subBuilder.MergeFrom(TrackSubscribed); - } - input.ReadMessage(subBuilder); - TrackSubscribed = subBuilder; - break; + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); } - case 58: { - global::LiveKit.Proto.TrackUnsubscribed subBuilder = new global::LiveKit.Proto.TrackUnsubscribed(); - if (messageCase_ == MessageOneofCase.TrackUnsubscribed) { - subBuilder.MergeFrom(TrackUnsubscribed); - } - input.ReadMessage(subBuilder); - TrackUnsubscribed = subBuilder; - break; + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(StreamId); } - case 66: { - global::LiveKit.Proto.TrackMuted subBuilder = new global::LiveKit.Proto.TrackMuted(); - if (messageCase_ == MessageOneofCase.TrackMuted) { - subBuilder.MergeFrom(TrackMuted); - } - input.ReadMessage(subBuilder); - TrackMuted = subBuilder; - break; + if (HasChunkIndex) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ChunkIndex); } - case 74: { - global::LiveKit.Proto.TrackUnmuted subBuilder = new global::LiveKit.Proto.TrackUnmuted(); - if (messageCase_ == MessageOneofCase.TrackUnmuted) { - subBuilder.MergeFrom(TrackUnmuted); - } - input.ReadMessage(subBuilder); - TrackUnmuted = subBuilder; - break; + if (HasContent) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Content); } - case 82: { - global::LiveKit.Proto.ActiveSpeakersChanged subBuilder = new global::LiveKit.Proto.ActiveSpeakersChanged(); - if (messageCase_ == MessageOneofCase.SpeakersChanged) { - subBuilder.MergeFrom(SpeakersChanged); - } - input.ReadMessage(subBuilder); - SpeakersChanged = subBuilder; - break; + if (HasVersion) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version); } - case 90: { - global::LiveKit.Proto.ConnectionQualityChanged subBuilder = new global::LiveKit.Proto.ConnectionQualityChanged(); - if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) { - subBuilder.MergeFrom(ConnectionQualityChanged); - } - input.ReadMessage(subBuilder); - ConnectionQualityChanged = subBuilder; - break; + if (HasIv) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(Iv); } - case 98: { - global::LiveKit.Proto.DataReceived subBuilder = new global::LiveKit.Proto.DataReceived(); - if (messageCase_ == MessageOneofCase.DataReceived) { - subBuilder.MergeFrom(DataReceived); - } - input.ReadMessage(subBuilder); - DataReceived = subBuilder; - break; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); } - case 106: { - global::LiveKit.Proto.ConnectionStateChanged subBuilder = new global::LiveKit.Proto.ConnectionStateChanged(); - if (messageCase_ == MessageOneofCase.ConnectionStateChanged) { - subBuilder.MergeFrom(ConnectionStateChanged); - } - input.ReadMessage(subBuilder); - ConnectionStateChanged = subBuilder; - break; + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Chunk other) { + if (other == null) { + return; } - case 114: { - global::LiveKit.Proto.Connected subBuilder = new global::LiveKit.Proto.Connected(); - if (messageCase_ == MessageOneofCase.Connected) { - subBuilder.MergeFrom(Connected); + if (other.HasStreamId) { + StreamId = other.StreamId; + } + if (other.HasChunkIndex) { + ChunkIndex = other.ChunkIndex; + } + if (other.HasContent) { + Content = other.Content; + } + if (other.HasVersion) { + Version = other.Version; + } + if (other.HasIv) { + Iv = other.Iv; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + ChunkIndex = input.ReadUInt64(); + break; + } + case 26: { + Content = input.ReadBytes(); + break; + } + case 32: { + Version = input.ReadInt32(); + break; + } + case 42: { + Iv = input.ReadBytes(); + break; + } } - input.ReadMessage(subBuilder); - Connected = subBuilder; - break; } - case 122: { - global::LiveKit.Proto.Disconnected subBuilder = new global::LiveKit.Proto.Disconnected(); - if (messageCase_ == MessageOneofCase.Disconnected) { - subBuilder.MergeFrom(Disconnected); + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 16: { + ChunkIndex = input.ReadUInt64(); + break; + } + case 26: { + Content = input.ReadBytes(); + break; + } + case 32: { + Version = input.ReadInt32(); + break; + } + case 42: { + Iv = input.ReadBytes(); + break; + } } - input.ReadMessage(subBuilder); - Disconnected = subBuilder; - break; } - case 130: { - global::LiveKit.Proto.Reconnecting subBuilder = new global::LiveKit.Proto.Reconnecting(); - if (messageCase_ == MessageOneofCase.Reconnecting) { - subBuilder.MergeFrom(Reconnecting); + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Trailer : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Trailer()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.DataStream.Descriptor.NestedTypes[4]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Trailer() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Trailer(Trailer other) : this() { + streamId_ = other.streamId_; + reason_ = other.reason_; + attributes_ = other.attributes_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Trailer Clone() { + return new Trailer(this); + } + + /// Field number for the "stream_id" field. + public const int StreamIdFieldNumber = 1; + private readonly static string StreamIdDefaultValue = ""; + + private string streamId_; + /// + /// unique identifier for this data stream + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string StreamId { + get { return streamId_ ?? StreamIdDefaultValue; } + set { + streamId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "stream_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamId { + get { return streamId_ != null; } + } + /// Clears the value of the "stream_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamId() { + streamId_ = null; + } + + /// Field number for the "reason" field. + public const int ReasonFieldNumber = 2; + private readonly static string ReasonDefaultValue = ""; + + private string reason_; + /// + /// reason why the stream was closed (could contain "error" / "interrupted" / empty for expected end) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Reason { + get { return reason_ ?? ReasonDefaultValue; } + set { + reason_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "reason" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReason { + get { return reason_ != null; } + } + /// Clears the value of the "reason" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReason() { + reason_ = null; + } + + /// Field number for the "attributes" field. + public const int AttributesFieldNumber = 3; + private static readonly pbc::MapField.Codec _map_attributes_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 26); + private readonly pbc::MapField attributes_ = new pbc::MapField(); + /// + /// finalizing updates for the stream, can also include additional insights for errors or endTime for transcription + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField Attributes { + get { return attributes_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Trailer); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Trailer other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (StreamId != other.StreamId) return false; + if (Reason != other.Reason) return false; + if (!Attributes.Equals(other.Attributes)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasStreamId) hash ^= StreamId.GetHashCode(); + if (HasReason) hash ^= Reason.GetHashCode(); + hash ^= Attributes.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasReason) { + output.WriteRawTag(18); + output.WriteString(Reason); + } + attributes_.WriteTo(output, _map_attributes_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasStreamId) { + output.WriteRawTag(10); + output.WriteString(StreamId); + } + if (HasReason) { + output.WriteRawTag(18); + output.WriteString(Reason); + } + attributes_.WriteTo(ref output, _map_attributes_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasStreamId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(StreamId); + } + if (HasReason) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Reason); + } + size += attributes_.CalculateSize(_map_attributes_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Trailer other) { + if (other == null) { + return; + } + if (other.HasStreamId) { + StreamId = other.StreamId; + } + if (other.HasReason) { + Reason = other.Reason; + } + attributes_.MergeFrom(other.attributes_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 18: { + Reason = input.ReadString(); + break; + } + case 26: { + attributes_.AddEntriesFrom(input, _map_attributes_codec); + break; + } } - input.ReadMessage(subBuilder); - Reconnecting = subBuilder; - break; } - case 138: { - global::LiveKit.Proto.Reconnected subBuilder = new global::LiveKit.Proto.Reconnected(); - if (messageCase_ == MessageOneofCase.Reconnected) { - subBuilder.MergeFrom(Reconnected); + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + StreamId = input.ReadString(); + break; + } + case 18: { + Reason = input.ReadString(); + break; + } + case 26: { + attributes_.AddEntriesFrom(ref input, _map_attributes_codec); + break; + } } - input.ReadMessage(subBuilder); - Reconnected = subBuilder; - break; } } + #endif + } + } - #endif + #endregion } - public sealed partial class RoomInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataStreamHeaderReceived : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RoomInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataStreamHeaderReceived()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[17]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[85]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5159,7 +27952,7 @@ public sealed partial class RoomInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomInfo() { + public DataStreamHeaderReceived() { OnConstruction(); } @@ -5167,114 +27960,73 @@ public RoomInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomInfo(RoomInfo other) : this() { - handle_ = other.handle_ != null ? other.handle_.Clone() : null; - sid_ = other.sid_; - name_ = other.name_; - metadata_ = other.metadata_; - localParticipant_ = other.localParticipant_ != null ? other.localParticipant_.Clone() : null; - participants_ = other.participants_.Clone(); + public DataStreamHeaderReceived(DataStreamHeaderReceived other) : this() { + participantIdentity_ = other.participantIdentity_; + header_ = other.header_ != null ? other.header_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RoomInfo Clone() { - return new RoomInfo(this); + public DataStreamHeaderReceived Clone() { + return new DataStreamHeaderReceived(this); } - /// Field number for the "handle" field. - public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { - get { return handle_; } - set { - handle_ = value; - } - } + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; - /// Field number for the "sid" field. - public const int SidFieldNumber = 2; - private string sid_ = ""; + private string participantIdentity_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Sid { - get { return sid_; } + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } set { - sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } - - /// Field number for the "name" field. - public const int NameFieldNumber = 3; - private string name_ = ""; + /// Gets whether the "participant_identity" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } } - - /// Field number for the "metadata" field. - public const int MetadataFieldNumber = 4; - private string metadata_ = ""; + /// Clears the value of the "participant_identity" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Metadata { - get { return metadata_; } - set { - metadata_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + public void ClearParticipantIdentity() { + participantIdentity_ = null; } - /// Field number for the "local_participant" field. - public const int LocalParticipantFieldNumber = 5; - private global::LiveKit.Proto.ParticipantInfo localParticipant_; + /// Field number for the "header" field. + public const int HeaderFieldNumber = 2; + private global::LiveKit.Proto.DataStream.Types.Header header_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ParticipantInfo LocalParticipant { - get { return localParticipant_; } + public global::LiveKit.Proto.DataStream.Types.Header Header { + get { return header_; } set { - localParticipant_ = value; + header_ = value; } } - /// Field number for the "participants" field. - public const int ParticipantsFieldNumber = 6; - private static readonly pb::FieldCodec _repeated_participants_codec - = pb::FieldCodec.ForMessage(50, global::LiveKit.Proto.ParticipantInfo.Parser); - private readonly pbc::RepeatedField participants_ = new pbc::RepeatedField(); - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField Participants { - get { return participants_; } - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as RoomInfo); + return Equals(other as DataStreamHeaderReceived); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RoomInfo other) { + public bool Equals(DataStreamHeaderReceived other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Handle, other.Handle)) return false; - if (Sid != other.Sid) return false; - if (Name != other.Name) return false; - if (Metadata != other.Metadata) return false; - if (!object.Equals(LocalParticipant, other.LocalParticipant)) return false; - if(!participants_.Equals(other.participants_)) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (!object.Equals(Header, other.Header)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5282,12 +28034,8 @@ public bool Equals(RoomInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (handle_ != null) hash ^= Handle.GetHashCode(); - if (Sid.Length != 0) hash ^= Sid.GetHashCode(); - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (Metadata.Length != 0) hash ^= Metadata.GetHashCode(); - if (localParticipant_ != null) hash ^= LocalParticipant.GetHashCode(); - hash ^= participants_.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (header_ != null) hash ^= Header.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5306,27 +28054,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (handle_ != null) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteMessage(Handle); + output.WriteString(ParticipantIdentity); } - if (Sid.Length != 0) { + if (header_ != null) { output.WriteRawTag(18); - output.WriteString(Sid); - } - if (Name.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Name); + output.WriteMessage(Header); } - if (Metadata.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Metadata); - } - if (localParticipant_ != null) { - output.WriteRawTag(42); - output.WriteMessage(LocalParticipant); - } - participants_.WriteTo(output, _repeated_participants_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -5337,27 +28072,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteMessage(Handle); + output.WriteString(ParticipantIdentity); } - if (Sid.Length != 0) { + if (header_ != null) { output.WriteRawTag(18); - output.WriteString(Sid); + output.WriteMessage(Header); } - if (Name.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Name); - } - if (Metadata.Length != 0) { - output.WriteRawTag(34); - output.WriteString(Metadata); - } - if (localParticipant_ != null) { - output.WriteRawTag(42); - output.WriteMessage(LocalParticipant); - } - participants_.WriteTo(ref output, _repeated_participants_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -5368,22 +28090,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); - } - if (Sid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); - } - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (Metadata.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Metadata); + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); } - if (localParticipant_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalParticipant); + if (header_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Header); } - size += participants_.CalculateSize(_repeated_participants_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -5392,32 +28104,19 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(RoomInfo other) { + public void MergeFrom(DataStreamHeaderReceived other) { if (other == null) { return; } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); - } - if (other.Sid.Length != 0) { - Sid = other.Sid; - } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.Metadata.Length != 0) { - Metadata = other.Metadata; + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; } - if (other.localParticipant_ != null) { - if (localParticipant_ == null) { - LocalParticipant = new global::LiveKit.Proto.ParticipantInfo(); + if (other.header_ != null) { + if (header_ == null) { + Header = new global::LiveKit.Proto.DataStream.Types.Header(); } - LocalParticipant.MergeFrom(other.LocalParticipant); + Header.MergeFrom(other.Header); } - participants_.Add(other.participants_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -5429,38 +28128,23 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + ParticipantIdentity = input.ReadString(); break; } case 18: { - Sid = input.ReadString(); - break; - } - case 26: { - Name = input.ReadString(); - break; - } - case 34: { - Metadata = input.ReadString(); - break; - } - case 42: { - if (localParticipant_ == null) { - LocalParticipant = new global::LiveKit.Proto.ParticipantInfo(); + if (header_ == null) { + Header = new global::LiveKit.Proto.DataStream.Types.Header(); } - input.ReadMessage(LocalParticipant); - break; - } - case 50: { - participants_.AddEntriesFrom(input, _repeated_participants_codec); + input.ReadMessage(Header); break; } } @@ -5474,38 +28158,23 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + ParticipantIdentity = input.ReadString(); break; } case 18: { - Sid = input.ReadString(); - break; - } - case 26: { - Name = input.ReadString(); - break; - } - case 34: { - Metadata = input.ReadString(); - break; - } - case 42: { - if (localParticipant_ == null) { - LocalParticipant = new global::LiveKit.Proto.ParticipantInfo(); + if (header_ == null) { + Header = new global::LiveKit.Proto.DataStream.Types.Header(); } - input.ReadMessage(LocalParticipant); - break; - } - case 50: { - participants_.AddEntriesFrom(ref input, _repeated_participants_codec); + input.ReadMessage(Header); break; } } @@ -5515,21 +28184,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class DataReceived : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataStreamChunkReceived : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataReceived()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataStreamChunkReceived()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[18]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[86]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5540,7 +28210,7 @@ public sealed partial class DataReceived : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DataReceived() { + public DataStreamChunkReceived() { OnConstruction(); } @@ -5548,113 +28218,73 @@ public DataReceived() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DataReceived(DataReceived other) : this() { - handle_ = other.handle_ != null ? other.handle_.Clone() : null; - participantSid_ = other.participantSid_; - dataPtr_ = other.dataPtr_; - dataSize_ = other.dataSize_; - kind_ = other.kind_; + public DataStreamChunkReceived(DataStreamChunkReceived other) : this() { + participantIdentity_ = other.participantIdentity_; + chunk_ = other.chunk_ != null ? other.chunk_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public DataReceived Clone() { - return new DataReceived(this); + public DataStreamChunkReceived Clone() { + return new DataStreamChunkReceived(this); } - /// Field number for the "handle" field. - public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { - get { return handle_; } - set { - handle_ = value; - } - } + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 2; - private string participantSid_; + private string participantIdentity_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_ ?? ""; } + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } - /// Gets whether the "participant_sid" field is set - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasParticipantSid { - get { return participantSid_ != null; } - } - /// Clears the value of the "participant_sid" field - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearParticipantSid() { - participantSid_ = null; - } - - /// Field number for the "data_ptr" field. - public const int DataPtrFieldNumber = 3; - private ulong dataPtr_; + /// Gets whether the "participant_identity" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataPtr { - get { return dataPtr_; } - set { - dataPtr_ = value; - } + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } } - - /// Field number for the "data_size" field. - public const int DataSizeFieldNumber = 4; - private ulong dataSize_; + /// Clears the value of the "participant_identity" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataSize { - get { return dataSize_; } - set { - dataSize_ = value; - } + public void ClearParticipantIdentity() { + participantIdentity_ = null; } - /// Field number for the "kind" field. - public const int KindFieldNumber = 5; - private global::LiveKit.Proto.DataPacketKind kind_ = global::LiveKit.Proto.DataPacketKind.KindUnreliable; + /// Field number for the "chunk" field. + public const int ChunkFieldNumber = 2; + private global::LiveKit.Proto.DataStream.Types.Chunk chunk_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.DataPacketKind Kind { - get { return kind_; } + public global::LiveKit.Proto.DataStream.Types.Chunk Chunk { + get { return chunk_; } set { - kind_ = value; + chunk_ = value; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as DataReceived); + return Equals(other as DataStreamChunkReceived); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(DataReceived other) { + public bool Equals(DataStreamChunkReceived other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Handle, other.Handle)) return false; - if (ParticipantSid != other.ParticipantSid) return false; - if (DataPtr != other.DataPtr) return false; - if (DataSize != other.DataSize) return false; - if (Kind != other.Kind) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (!object.Equals(Chunk, other.Chunk)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5662,11 +28292,8 @@ public bool Equals(DataReceived other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (handle_ != null) hash ^= Handle.GetHashCode(); - if (HasParticipantSid) hash ^= ParticipantSid.GetHashCode(); - if (DataPtr != 0UL) hash ^= DataPtr.GetHashCode(); - if (DataSize != 0UL) hash ^= DataSize.GetHashCode(); - if (Kind != global::LiveKit.Proto.DataPacketKind.KindUnreliable) hash ^= Kind.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (chunk_ != null) hash ^= Chunk.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5685,25 +28312,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (handle_ != null) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteMessage(Handle); + output.WriteString(ParticipantIdentity); } - if (HasParticipantSid) { + if (chunk_ != null) { output.WriteRawTag(18); - output.WriteString(ParticipantSid); - } - if (DataPtr != 0UL) { - output.WriteRawTag(24); - output.WriteUInt64(DataPtr); - } - if (DataSize != 0UL) { - output.WriteRawTag(32); - output.WriteUInt64(DataSize); - } - if (Kind != global::LiveKit.Proto.DataPacketKind.KindUnreliable) { - output.WriteRawTag(40); - output.WriteEnum((int) Kind); + output.WriteMessage(Chunk); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -5715,25 +28330,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteMessage(Handle); + output.WriteString(ParticipantIdentity); } - if (HasParticipantSid) { + if (chunk_ != null) { output.WriteRawTag(18); - output.WriteString(ParticipantSid); - } - if (DataPtr != 0UL) { - output.WriteRawTag(24); - output.WriteUInt64(DataPtr); - } - if (DataSize != 0UL) { - output.WriteRawTag(32); - output.WriteUInt64(DataSize); - } - if (Kind != global::LiveKit.Proto.DataPacketKind.KindUnreliable) { - output.WriteRawTag(40); - output.WriteEnum((int) Kind); + output.WriteMessage(Chunk); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -5745,20 +28348,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); - } - if (HasParticipantSid) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); } - if (DataPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); - } - if (DataSize != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataSize); - } - if (Kind != global::LiveKit.Proto.DataPacketKind.KindUnreliable) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); + if (chunk_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Chunk); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -5768,27 +28362,18 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(DataReceived other) { + public void MergeFrom(DataStreamChunkReceived other) { if (other == null) { return; } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); - } - if (other.HasParticipantSid) { - ParticipantSid = other.ParticipantSid; - } - if (other.DataPtr != 0UL) { - DataPtr = other.DataPtr; - } - if (other.DataSize != 0UL) { - DataSize = other.DataSize; + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; } - if (other.Kind != global::LiveKit.Proto.DataPacketKind.KindUnreliable) { - Kind = other.Kind; + if (other.chunk_ != null) { + if (chunk_ == null) { + Chunk = new global::LiveKit.Proto.DataStream.Types.Chunk(); + } + Chunk.MergeFrom(other.Chunk); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -5801,31 +28386,23 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + ParticipantIdentity = input.ReadString(); break; } case 18: { - ParticipantSid = input.ReadString(); - break; - } - case 24: { - DataPtr = input.ReadUInt64(); - break; - } - case 32: { - DataSize = input.ReadUInt64(); - break; - } - case 40: { - Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); + if (chunk_ == null) { + Chunk = new global::LiveKit.Proto.DataStream.Types.Chunk(); + } + input.ReadMessage(Chunk); break; } } @@ -5839,31 +28416,23 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + ParticipantIdentity = input.ReadString(); break; } case 18: { - ParticipantSid = input.ReadString(); - break; - } - case 24: { - DataPtr = input.ReadUInt64(); - break; - } - case 32: { - DataSize = input.ReadUInt64(); - break; - } - case 40: { - Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); + if (chunk_ == null) { + Chunk = new global::LiveKit.Proto.DataStream.Types.Chunk(); + } + input.ReadMessage(Chunk); break; } } @@ -5873,25 +28442,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Publication isn't needed for subscription events on the FFI - /// The FFI will retrieve the publication using the Track sid - /// - public sealed partial class TrackSubscribed : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataStreamTrailerReceived : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackSubscribed()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataStreamTrailerReceived()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[19]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[87]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5902,7 +28468,7 @@ public sealed partial class TrackSubscribed : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackSubscribed() { + public DataStreamTrailerReceived() { OnConstruction(); } @@ -5910,59 +28476,73 @@ public TrackSubscribed() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackSubscribed(TrackSubscribed other) : this() { - participantSid_ = other.participantSid_; - track_ = other.track_ != null ? other.track_.Clone() : null; + public DataStreamTrailerReceived(DataStreamTrailerReceived other) : this() { + participantIdentity_ = other.participantIdentity_; + trailer_ = other.trailer_ != null ? other.trailer_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackSubscribed Clone() { - return new TrackSubscribed(this); + public DataStreamTrailerReceived Clone() { + return new DataStreamTrailerReceived(this); } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } - /// Field number for the "track" field. - public const int TrackFieldNumber = 2; - private global::LiveKit.Proto.TrackInfo track_; + /// Field number for the "trailer" field. + public const int TrailerFieldNumber = 2; + private global::LiveKit.Proto.DataStream.Types.Trailer trailer_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackInfo Track { - get { return track_; } + public global::LiveKit.Proto.DataStream.Types.Trailer Trailer { + get { return trailer_; } set { - track_ = value; + trailer_ = value; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackSubscribed); + return Equals(other as DataStreamTrailerReceived); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackSubscribed other) { + public bool Equals(DataStreamTrailerReceived other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (!object.Equals(Track, other.Track)) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (!object.Equals(Trailer, other.Trailer)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5970,8 +28550,8 @@ public bool Equals(TrackSubscribed other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (track_ != null) hash ^= Track.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (trailer_ != null) hash ^= Trailer.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5990,13 +28570,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteString(ParticipantSid); + output.WriteString(ParticipantIdentity); } - if (track_ != null) { + if (trailer_ != null) { output.WriteRawTag(18); - output.WriteMessage(Track); + output.WriteMessage(Trailer); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6008,13 +28588,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteString(ParticipantSid); + output.WriteString(ParticipantIdentity); } - if (track_ != null) { + if (trailer_ != null) { output.WriteRawTag(18); - output.WriteMessage(Track); + output.WriteMessage(Trailer); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6026,11 +28606,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); } - if (track_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Track); + if (trailer_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Trailer); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6040,18 +28620,18 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackSubscribed other) { + public void MergeFrom(DataStreamTrailerReceived other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; } - if (other.track_ != null) { - if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); + if (other.trailer_ != null) { + if (trailer_ == null) { + Trailer = new global::LiveKit.Proto.DataStream.Types.Trailer(); } - Track.MergeFrom(other.Track); + Trailer.MergeFrom(other.Trailer); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6064,19 +28644,23 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - ParticipantSid = input.ReadString(); + ParticipantIdentity = input.ReadString(); break; } case 18: { - if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); + if (trailer_ == null) { + Trailer = new global::LiveKit.Proto.DataStream.Types.Trailer(); } - input.ReadMessage(Track); + input.ReadMessage(Trailer); break; } } @@ -6090,19 +28674,23 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - ParticipantSid = input.ReadString(); + ParticipantIdentity = input.ReadString(); break; } case 18: { - if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); + if (trailer_ == null) { + Trailer = new global::LiveKit.Proto.DataStream.Types.Trailer(); } - input.ReadMessage(Track); + input.ReadMessage(Trailer); break; } } @@ -6112,21 +28700,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackUnsubscribed : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamHeaderRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackUnsubscribed()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamHeaderRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[20]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[88]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6137,7 +28727,7 @@ public sealed partial class TrackUnsubscribed : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnsubscribed() { + public SendStreamHeaderRequest() { OnConstruction(); } @@ -6145,62 +28735,116 @@ public TrackUnsubscribed() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnsubscribed(TrackUnsubscribed other) : this() { - participantSid_ = other.participantSid_; - trackSid_ = other.trackSid_; + public SendStreamHeaderRequest(SendStreamHeaderRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + header_ = other.header_ != null ? other.header_.Clone() : null; + destinationIdentities_ = other.destinationIdentities_.Clone(); + senderIdentity_ = other.senderIdentity_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnsubscribed Clone() { - return new TrackUnsubscribed(this); + public SendStreamHeaderRequest Clone() { + return new SendStreamHeaderRequest(this); } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; - /// - /// The FFI language can dispose/remove the VideoSink here - /// + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "header" field. + public const int HeaderFieldNumber = 2; + private global::LiveKit.Proto.DataStream.Types.Header header_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataStream.Types.Header Header { + get { return header_; } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + header_ = value; } } - /// Field number for the "track_sid" field. - public const int TrackSidFieldNumber = 2; - private string trackSid_ = ""; + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(26); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string TrackSid { - get { return trackSid_; } + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + /// Field number for the "sender_identity" field. + public const int SenderIdentityFieldNumber = 4; + private readonly static string SenderIdentityDefaultValue = ""; + + private string senderIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SenderIdentity { + get { return senderIdentity_ ?? SenderIdentityDefaultValue; } set { - trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + senderIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "sender_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSenderIdentity { + get { return senderIdentity_ != null; } + } + /// Clears the value of the "sender_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSenderIdentity() { + senderIdentity_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackUnsubscribed); + return Equals(other as SendStreamHeaderRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackUnsubscribed other) { + public bool Equals(SendStreamHeaderRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (TrackSid != other.TrackSid) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (!object.Equals(Header, other.Header)) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + if (SenderIdentity != other.SenderIdentity) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6208,8 +28852,10 @@ public bool Equals(TrackUnsubscribed other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (header_ != null) hash ^= Header.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6228,13 +28874,18 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (header_ != null) { output.WriteRawTag(18); - output.WriteString(TrackSid); + output.WriteMessage(Header); + } + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6246,13 +28897,18 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (header_ != null) { output.WriteRawTag(18); - output.WriteString(TrackSid); + output.WriteMessage(Header); + } + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6264,11 +28920,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); } - if (TrackSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + if (header_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Header); + } + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6278,15 +28938,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackUnsubscribed other) { + public void MergeFrom(SendStreamHeaderRequest other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; } - if (other.TrackSid.Length != 0) { - TrackSid = other.TrackSid; + if (other.header_ != null) { + if (header_ == null) { + Header = new global::LiveKit.Proto.DataStream.Types.Header(); + } + Header.MergeFrom(other.Header); + } + destinationIdentities_.Add(other.destinationIdentities_); + if (other.HasSenderIdentity) { + SenderIdentity = other.SenderIdentity; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6299,16 +28966,31 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { - TrackSid = input.ReadString(); + if (header_ == null) { + Header = new global::LiveKit.Proto.DataStream.Types.Header(); + } + input.ReadMessage(Header); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); break; } } @@ -6322,16 +29004,31 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { - TrackSid = input.ReadString(); + if (header_ == null) { + Header = new global::LiveKit.Proto.DataStream.Types.Header(); + } + input.ReadMessage(Header); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); break; } } @@ -6341,21 +29038,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackMuted : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamChunkRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackMuted()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamChunkRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[21]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[89]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6366,7 +29065,7 @@ public sealed partial class TrackMuted : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackMuted() { + public SendStreamChunkRequest() { OnConstruction(); } @@ -6374,59 +29073,116 @@ public TrackMuted() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackMuted(TrackMuted other) : this() { - participantSid_ = other.participantSid_; - trackSid_ = other.trackSid_; + public SendStreamChunkRequest(SendStreamChunkRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + chunk_ = other.chunk_ != null ? other.chunk_.Clone() : null; + destinationIdentities_ = other.destinationIdentities_.Clone(); + senderIdentity_ = other.senderIdentity_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackMuted Clone() { - return new TrackMuted(this); + public SendStreamChunkRequest Clone() { + return new SendStreamChunkRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; + /// Field number for the "chunk" field. + public const int ChunkFieldNumber = 2; + private global::LiveKit.Proto.DataStream.Types.Chunk chunk_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public global::LiveKit.Proto.DataStream.Types.Chunk Chunk { + get { return chunk_; } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + chunk_ = value; } } - /// Field number for the "track_sid" field. - public const int TrackSidFieldNumber = 2; - private string trackSid_ = ""; + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(26); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string TrackSid { - get { return trackSid_; } + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + /// Field number for the "sender_identity" field. + public const int SenderIdentityFieldNumber = 4; + private readonly static string SenderIdentityDefaultValue = ""; + + private string senderIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SenderIdentity { + get { return senderIdentity_ ?? SenderIdentityDefaultValue; } set { - trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + senderIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "sender_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSenderIdentity { + get { return senderIdentity_ != null; } + } + /// Clears the value of the "sender_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSenderIdentity() { + senderIdentity_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackMuted); + return Equals(other as SendStreamChunkRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackMuted other) { + public bool Equals(SendStreamChunkRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (TrackSid != other.TrackSid) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (!object.Equals(Chunk, other.Chunk)) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + if (SenderIdentity != other.SenderIdentity) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6434,8 +29190,10 @@ public bool Equals(TrackMuted other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (chunk_ != null) hash ^= Chunk.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6454,13 +29212,18 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (chunk_ != null) { output.WriteRawTag(18); - output.WriteString(TrackSid); + output.WriteMessage(Chunk); + } + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6472,13 +29235,18 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (chunk_ != null) { output.WriteRawTag(18); - output.WriteString(TrackSid); + output.WriteMessage(Chunk); + } + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6490,11 +29258,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); } - if (TrackSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + if (chunk_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Chunk); + } + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6504,15 +29276,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackMuted other) { + public void MergeFrom(SendStreamChunkRequest other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; } - if (other.TrackSid.Length != 0) { - TrackSid = other.TrackSid; + if (other.chunk_ != null) { + if (chunk_ == null) { + Chunk = new global::LiveKit.Proto.DataStream.Types.Chunk(); + } + Chunk.MergeFrom(other.Chunk); + } + destinationIdentities_.Add(other.destinationIdentities_); + if (other.HasSenderIdentity) { + SenderIdentity = other.SenderIdentity; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6525,16 +29304,31 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { - TrackSid = input.ReadString(); + if (chunk_ == null) { + Chunk = new global::LiveKit.Proto.DataStream.Types.Chunk(); + } + input.ReadMessage(Chunk); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); break; } } @@ -6548,16 +29342,31 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { - TrackSid = input.ReadString(); + if (chunk_ == null) { + Chunk = new global::LiveKit.Proto.DataStream.Types.Chunk(); + } + input.ReadMessage(Chunk); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); break; } } @@ -6567,21 +29376,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackUnmuted : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamTrailerRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackUnmuted()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamTrailerRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[22]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[90]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6592,7 +29403,7 @@ public sealed partial class TrackUnmuted : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnmuted() { + public SendStreamTrailerRequest() { OnConstruction(); } @@ -6600,59 +29411,116 @@ public TrackUnmuted() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnmuted(TrackUnmuted other) : this() { - participantSid_ = other.participantSid_; - trackSid_ = other.trackSid_; + public SendStreamTrailerRequest(SendStreamTrailerRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + trailer_ = other.trailer_ != null ? other.trailer_.Clone() : null; + destinationIdentities_ = other.destinationIdentities_.Clone(); + senderIdentity_ = other.senderIdentity_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnmuted Clone() { - return new TrackUnmuted(this); + public SendStreamTrailerRequest Clone() { + return new SendStreamTrailerRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; + /// Field number for the "trailer" field. + public const int TrailerFieldNumber = 2; + private global::LiveKit.Proto.DataStream.Types.Trailer trailer_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public global::LiveKit.Proto.DataStream.Types.Trailer Trailer { + get { return trailer_; } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + trailer_ = value; } } - /// Field number for the "track_sid" field. - public const int TrackSidFieldNumber = 2; - private string trackSid_ = ""; + /// Field number for the "destination_identities" field. + public const int DestinationIdentitiesFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_destinationIdentities_codec + = pb::FieldCodec.ForString(26); + private readonly pbc::RepeatedField destinationIdentities_ = new pbc::RepeatedField(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string TrackSid { - get { return trackSid_; } + public pbc::RepeatedField DestinationIdentities { + get { return destinationIdentities_; } + } + + /// Field number for the "sender_identity" field. + public const int SenderIdentityFieldNumber = 4; + private readonly static string SenderIdentityDefaultValue = ""; + + private string senderIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SenderIdentity { + get { return senderIdentity_ ?? SenderIdentityDefaultValue; } set { - trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + senderIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "sender_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSenderIdentity { + get { return senderIdentity_ != null; } + } + /// Clears the value of the "sender_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSenderIdentity() { + senderIdentity_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackUnmuted); + return Equals(other as SendStreamTrailerRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackUnmuted other) { + public bool Equals(SendStreamTrailerRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (TrackSid != other.TrackSid) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (!object.Equals(Trailer, other.Trailer)) return false; + if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false; + if (SenderIdentity != other.SenderIdentity) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6660,8 +29528,10 @@ public bool Equals(TrackUnmuted other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (trailer_ != null) hash ^= Trailer.GetHashCode(); + hash ^= destinationIdentities_.GetHashCode(); + if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6680,13 +29550,18 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (trailer_ != null) { output.WriteRawTag(18); - output.WriteString(TrackSid); + output.WriteMessage(Trailer); + } + destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6698,13 +29573,18 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); } - if (TrackSid.Length != 0) { + if (trailer_ != null) { output.WriteRawTag(18); - output.WriteString(TrackSid); + output.WriteMessage(Trailer); + } + destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + output.WriteRawTag(34); + output.WriteString(SenderIdentity); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6716,11 +29596,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); } - if (TrackSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + if (trailer_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Trailer); + } + size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec); + if (HasSenderIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6730,15 +29614,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackUnmuted other) { + public void MergeFrom(SendStreamTrailerRequest other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; } - if (other.TrackSid.Length != 0) { - TrackSid = other.TrackSid; + if (other.trailer_ != null) { + if (trailer_ == null) { + Trailer = new global::LiveKit.Proto.DataStream.Types.Trailer(); + } + Trailer.MergeFrom(other.Trailer); + } + destinationIdentities_.Add(other.destinationIdentities_); + if (other.HasSenderIdentity) { + SenderIdentity = other.SenderIdentity; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6751,16 +29642,31 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { - TrackSid = input.ReadString(); + if (trailer_ == null) { + Trailer = new global::LiveKit.Proto.DataStream.Types.Trailer(); + } + input.ReadMessage(Trailer); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); break; } } @@ -6774,16 +29680,31 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + LocalParticipantHandle = input.ReadUInt64(); break; } case 18: { - TrackSid = input.ReadString(); + if (trailer_ == null) { + Trailer = new global::LiveKit.Proto.DataStream.Types.Trailer(); + } + input.ReadMessage(Trailer); + break; + } + case 26: { + destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec); + break; + } + case 34: { + SenderIdentity = input.ReadString(); break; } } @@ -6793,21 +29714,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ParticipantConnected : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamHeaderResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantConnected()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamHeaderResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[23]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[91]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6818,7 +29741,7 @@ public sealed partial class ParticipantConnected : pb::IMessageField number for the "info" field. - public const int InfoFieldNumber = 1; - private global::LiveKit.Proto.ParticipantInfo info_; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ParticipantInfo Info { - get { return info_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - info_ = value; + _hasBits0 |= 1; + asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ParticipantConnected); + return Equals(other as SendStreamHeaderResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ParticipantConnected other) { + public bool Equals(SendStreamHeaderResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Info, other.Info)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6872,7 +29811,7 @@ public bool Equals(ParticipantConnected other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (info_ != null) hash ^= Info.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6891,9 +29830,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (info_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Info); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6905,9 +29844,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (info_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Info); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6919,8 +29858,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (info_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6930,15 +29869,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ParticipantConnected other) { + public void MergeFrom(SendStreamHeaderResponse other) { if (other == null) { return; } - if (other.info_ != null) { - if (info_ == null) { - Info = new global::LiveKit.Proto.ParticipantInfo(); - } - Info.MergeFrom(other.Info); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6951,15 +29887,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (info_ == null) { - Info = new global::LiveKit.Proto.ParticipantInfo(); - } - input.ReadMessage(Info); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -6973,15 +29910,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (info_ == null) { - Info = new global::LiveKit.Proto.ParticipantInfo(); - } - input.ReadMessage(Info); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -6991,21 +29929,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ParticipantDisconnected : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamChunkResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantDisconnected()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamChunkResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[24]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[92]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7016,7 +29956,7 @@ public sealed partial class ParticipantDisconnected : pb::IMessageField number for the "info" field. - public const int InfoFieldNumber = 1; - private global::LiveKit.Proto.ParticipantInfo info_; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ParticipantInfo Info { - get { return info_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - info_ = value; + _hasBits0 |= 1; + asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ParticipantDisconnected); + return Equals(other as SendStreamChunkResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ParticipantDisconnected other) { + public bool Equals(SendStreamChunkResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Info, other.Info)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -7070,7 +30026,7 @@ public bool Equals(ParticipantDisconnected other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (info_ != null) hash ^= Info.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -7089,9 +30045,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (info_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Info); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -7103,9 +30059,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (info_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Info); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -7117,8 +30073,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (info_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -7128,15 +30084,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ParticipantDisconnected other) { + public void MergeFrom(SendStreamChunkResponse other) { if (other == null) { return; } - if (other.info_ != null) { - if (info_ == null) { - Info = new global::LiveKit.Proto.ParticipantInfo(); - } - Info.MergeFrom(other.Info); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -7149,15 +30102,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (info_ == null) { - Info = new global::LiveKit.Proto.ParticipantInfo(); - } - input.ReadMessage(Info); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -7171,15 +30125,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (info_ == null) { - Info = new global::LiveKit.Proto.ParticipantInfo(); - } - input.ReadMessage(Info); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -7189,21 +30144,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackPublished : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamTrailerResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackPublished()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamTrailerResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[25]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[93]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7214,7 +30171,7 @@ public sealed partial class TrackPublished : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackPublished() { + public SendStreamTrailerResponse() { OnConstruction(); } @@ -7222,59 +30179,61 @@ public TrackPublished() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackPublished(TrackPublished other) : this() { - participantSid_ = other.participantSid_; - publication_ = other.publication_ != null ? other.publication_.Clone() : null; + public SendStreamTrailerResponse(SendStreamTrailerResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackPublished Clone() { - return new TrackPublished(this); + public SendStreamTrailerResponse Clone() { + return new SendStreamTrailerResponse(this); } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 1; + asyncId_ = value; } } - - /// Field number for the "publication" field. - public const int PublicationFieldNumber = 2; - private global::LiveKit.Proto.TrackPublicationInfo publication_; + /// Gets whether the "async_id" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackPublicationInfo Publication { - get { return publication_; } - set { - publication_ = value; - } + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackPublished); + return Equals(other as SendStreamTrailerResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackPublished other) { + public bool Equals(SendStreamTrailerResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (!object.Equals(Publication, other.Publication)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -7282,8 +30241,7 @@ public bool Equals(TrackPublished other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (publication_ != null) hash ^= Publication.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -7302,13 +30260,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); - } - if (publication_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Publication); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -7320,13 +30274,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); - } - if (publication_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Publication); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -7338,11 +30288,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); - } - if (publication_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Publication); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -7352,18 +30299,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackPublished other) { + public void MergeFrom(SendStreamTrailerResponse other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; - } - if (other.publication_ != null) { - if (publication_ == null) { - Publication = new global::LiveKit.Proto.TrackPublicationInfo(); - } - Publication.MergeFrom(other.Publication); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -7376,19 +30317,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - ParticipantSid = input.ReadString(); - break; - } - case 18: { - if (publication_ == null) { - Publication = new global::LiveKit.Proto.TrackPublicationInfo(); - } - input.ReadMessage(Publication); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -7402,19 +30340,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - ParticipantSid = input.ReadString(); - break; - } - case 18: { - if (publication_ == null) { - Publication = new global::LiveKit.Proto.TrackPublicationInfo(); - } - input.ReadMessage(Publication); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -7424,21 +30359,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackUnpublished : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamHeaderCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackUnpublished()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamHeaderCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[26]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[94]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7449,7 +30386,7 @@ public sealed partial class TrackUnpublished : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnpublished() { + public SendStreamHeaderCallback() { OnConstruction(); } @@ -7457,59 +30394,89 @@ public TrackUnpublished() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnpublished(TrackUnpublished other) : this() { - participantSid_ = other.participantSid_; - publicationSid_ = other.publicationSid_; + public SendStreamHeaderCallback(SendStreamHeaderCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackUnpublished Clone() { - return new TrackUnpublished(this); + public SendStreamHeaderCallback Clone() { + return new SendStreamHeaderCallback(this); } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 1; + asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } - /// Field number for the "publication_sid" field. - public const int PublicationSidFieldNumber = 2; - private string publicationSid_ = ""; + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string PublicationSid { - get { return publicationSid_; } + public string Error { + get { return error_ ?? ErrorDefaultValue; } set { - publicationSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackUnpublished); + return Equals(other as SendStreamHeaderCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackUnpublished other) { + public bool Equals(SendStreamHeaderCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (PublicationSid != other.PublicationSid) return false; + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -7517,8 +30484,8 @@ public bool Equals(TrackUnpublished other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (PublicationSid.Length != 0) hash ^= PublicationSid.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -7537,13 +30504,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (PublicationSid.Length != 0) { + if (HasError) { output.WriteRawTag(18); - output.WriteString(PublicationSid); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -7555,13 +30522,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (PublicationSid.Length != 0) { + if (HasError) { output.WriteRawTag(18); - output.WriteString(PublicationSid); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -7573,11 +30540,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } - if (PublicationSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(PublicationSid); + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -7587,15 +30554,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackUnpublished other) { + public void MergeFrom(SendStreamHeaderCallback other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } - if (other.PublicationSid.Length != 0) { - PublicationSid = other.PublicationSid; + if (other.HasError) { + Error = other.Error; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -7608,16 +30575,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { - PublicationSid = input.ReadString(); + Error = input.ReadString(); break; } } @@ -7631,16 +30602,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + AsyncId = input.ReadUInt64(); break; } case 18: { - PublicationSid = input.ReadString(); + Error = input.ReadString(); break; } } @@ -7650,21 +30625,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ActiveSpeakersChanged : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamChunkCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ActiveSpeakersChanged()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamChunkCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[27]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[95]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7675,7 +30652,7 @@ public sealed partial class ActiveSpeakersChanged : pb::IMessageField number for the "participant_sids" field. - public const int ParticipantSidsFieldNumber = 1; - private static readonly pb::FieldCodec _repeated_participantSids_codec - = pb::FieldCodec.ForString(10); - private readonly pbc::RepeatedField participantSids_ = new pbc::RepeatedField(); + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField ParticipantSids { - get { return participantSids_; } + public void ClearError() { + error_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ActiveSpeakersChanged); + return Equals(other as SendStreamChunkCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ActiveSpeakersChanged other) { + public bool Equals(SendStreamChunkCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if(!participantSids_.Equals(other.participantSids_)) return false; + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -7728,7 +30750,8 @@ public bool Equals(ActiveSpeakersChanged other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - hash ^= participantSids_.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -7747,7 +30770,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - participantSids_.WriteTo(output, _repeated_participantSids_codec); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -7758,7 +30788,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - participantSids_.WriteTo(ref output, _repeated_participantSids_codec); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -7769,7 +30806,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - size += participantSids_.CalculateSize(_repeated_participantSids_codec); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -7778,11 +30820,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ActiveSpeakersChanged other) { + public void MergeFrom(SendStreamChunkCallback other) { if (other == null) { return; } - participantSids_.Add(other.participantSids_); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasError) { + Error = other.Error; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -7794,12 +30841,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - participantSids_.AddEntriesFrom(input, _repeated_participantSids_codec); + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); break; } } @@ -7813,12 +30868,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - participantSids_.AddEntriesFrom(ref input, _repeated_participantSids_codec); + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); break; } } @@ -7828,21 +30891,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ConnectionQualityChanged : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SendStreamTrailerCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConnectionQualityChanged()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SendStreamTrailerCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[28]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[96]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -7853,7 +30918,7 @@ public sealed partial class ConnectionQualityChanged : pb::IMessageField number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 1; - private string participantSid_ = ""; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 1; + asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } - /// Field number for the "quality" field. - public const int QualityFieldNumber = 2; - private global::LiveKit.Proto.ConnectionQuality quality_ = global::LiveKit.Proto.ConnectionQuality.QualityPoor; + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ConnectionQuality Quality { - get { return quality_; } + public string Error { + get { return error_ ?? ErrorDefaultValue; } set { - quality_ = value; + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ConnectionQualityChanged); + return Equals(other as SendStreamTrailerCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ConnectionQualityChanged other) { + public bool Equals(SendStreamTrailerCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ParticipantSid != other.ParticipantSid) return false; - if (Quality != other.Quality) return false; + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; return Equals(_unknownFields, other._unknownFields); } @@ -7921,8 +31016,8 @@ public bool Equals(ConnectionQualityChanged other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (Quality != global::LiveKit.Proto.ConnectionQuality.QualityPoor) hash ^= Quality.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -7941,13 +31036,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (Quality != global::LiveKit.Proto.ConnectionQuality.QualityPoor) { - output.WriteRawTag(16); - output.WriteEnum((int) Quality); + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -7959,13 +31054,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ParticipantSid.Length != 0) { - output.WriteRawTag(10); - output.WriteString(ParticipantSid); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } - if (Quality != global::LiveKit.Proto.ConnectionQuality.QualityPoor) { - output.WriteRawTag(16); - output.WriteEnum((int) Quality); + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -7977,11 +31072,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } - if (Quality != global::LiveKit.Proto.ConnectionQuality.QualityPoor) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Quality); + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -7991,15 +31086,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ConnectionQualityChanged other) { + public void MergeFrom(SendStreamTrailerCallback other) { if (other == null) { return; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } - if (other.Quality != global::LiveKit.Proto.ConnectionQuality.QualityPoor) { - Quality = other.Quality; + if (other.HasError) { + Error = other.Error; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -8012,16 +31107,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + AsyncId = input.ReadUInt64(); break; } - case 16: { - Quality = (global::LiveKit.Proto.ConnectionQuality) input.ReadEnum(); + case 18: { + Error = input.ReadString(); break; } } @@ -8035,16 +31134,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - ParticipantSid = input.ReadString(); + case 8: { + AsyncId = input.ReadUInt64(); break; } - case 16: { - Quality = (global::LiveKit.Proto.ConnectionQuality) input.ReadEnum(); + case 18: { + Error = input.ReadString(); break; } } @@ -8054,21 +31157,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ConnectionStateChanged : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetDataChannelBufferedAmountLowThresholdRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConnectionStateChanged()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetDataChannelBufferedAmountLowThresholdRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[29]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[97]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8079,7 +31184,7 @@ public sealed partial class ConnectionStateChanged : pb::IMessageField number for the "state" field. - public const int StateFieldNumber = 1; - private global::LiveKit.Proto.ConnectionState state_ = global::LiveKit.Proto.ConnectionState.ConnDisconnected; + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ConnectionState State { - get { return state_; } + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } set { - state_ = value; + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "threshold" field. + public const int ThresholdFieldNumber = 2; + private readonly static ulong ThresholdDefaultValue = 0UL; + + private ulong threshold_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong Threshold { + get { if ((_hasBits0 & 2) != 0) { return threshold_; } else { return ThresholdDefaultValue; } } + set { + _hasBits0 |= 2; + threshold_ = value; + } + } + /// Gets whether the "threshold" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasThreshold { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "threshold" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearThreshold() { + _hasBits0 &= ~2; + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 3; + private readonly static global::LiveKit.Proto.DataPacketKind KindDefaultValue = global::LiveKit.Proto.DataPacketKind.KindLossy; + + private global::LiveKit.Proto.DataPacketKind kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataPacketKind Kind { + get { if ((_hasBits0 & 4) != 0) { return kind_; } else { return KindDefaultValue; } } + set { + _hasBits0 |= 4; + kind_ = value; } } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + _hasBits0 &= ~4; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ConnectionStateChanged); + return Equals(other as SetDataChannelBufferedAmountLowThresholdRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ConnectionStateChanged other) { + public bool Equals(SetDataChannelBufferedAmountLowThresholdRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (State != other.State) return false; + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (Threshold != other.Threshold) return false; + if (Kind != other.Kind) return false; return Equals(_unknownFields, other._unknownFields); } @@ -8133,7 +31312,9 @@ public bool Equals(ConnectionStateChanged other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (State != global::LiveKit.Proto.ConnectionState.ConnDisconnected) hash ^= State.GetHashCode(); + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasThreshold) hash ^= Threshold.GetHashCode(); + if (HasKind) hash ^= Kind.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -8152,9 +31333,17 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (State != global::LiveKit.Proto.ConnectionState.ConnDisconnected) { + if (HasLocalParticipantHandle) { output.WriteRawTag(8); - output.WriteEnum((int) State); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasThreshold) { + output.WriteRawTag(16); + output.WriteUInt64(Threshold); + } + if (HasKind) { + output.WriteRawTag(24); + output.WriteEnum((int) Kind); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -8166,9 +31355,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (State != global::LiveKit.Proto.ConnectionState.ConnDisconnected) { + if (HasLocalParticipantHandle) { output.WriteRawTag(8); - output.WriteEnum((int) State); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasThreshold) { + output.WriteRawTag(16); + output.WriteUInt64(Threshold); + } + if (HasKind) { + output.WriteRawTag(24); + output.WriteEnum((int) Kind); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -8180,8 +31377,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (State != global::LiveKit.Proto.ConnectionState.ConnDisconnected) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State); + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasThreshold) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Threshold); + } + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -8191,12 +31394,18 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ConnectionStateChanged other) { + public void MergeFrom(SetDataChannelBufferedAmountLowThresholdRequest other) { if (other == null) { return; } - if (other.State != global::LiveKit.Proto.ConnectionState.ConnDisconnected) { - State = other.State; + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasThreshold) { + Threshold = other.Threshold; + } + if (other.HasKind) { + Kind = other.Kind; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -8209,12 +31418,24 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - State = (global::LiveKit.Proto.ConnectionState) input.ReadEnum(); + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + Threshold = input.ReadUInt64(); + break; + } + case 24: { + Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); break; } } @@ -8228,12 +31449,24 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - State = (global::LiveKit.Proto.ConnectionState) input.ReadEnum(); + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + Threshold = input.ReadUInt64(); + break; + } + case 24: { + Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); break; } } @@ -8243,21 +31476,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class Connected : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetDataChannelBufferedAmountLowThresholdResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Connected()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetDataChannelBufferedAmountLowThresholdResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[30]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[98]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8268,7 +31502,7 @@ public sealed partial class Connected : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Connected() { + public SetDataChannelBufferedAmountLowThresholdResponse() { OnConstruction(); } @@ -8276,25 +31510,25 @@ public Connected() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Connected(Connected other) : this() { + public SetDataChannelBufferedAmountLowThresholdResponse(SetDataChannelBufferedAmountLowThresholdResponse other) : this() { _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Connected Clone() { - return new Connected(this); + public SetDataChannelBufferedAmountLowThresholdResponse Clone() { + return new SetDataChannelBufferedAmountLowThresholdResponse(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as Connected); + return Equals(other as SetDataChannelBufferedAmountLowThresholdResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Connected other) { + public bool Equals(SetDataChannelBufferedAmountLowThresholdResponse other) { if (ReferenceEquals(other, null)) { return false; } @@ -8354,7 +31588,7 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Connected other) { + public void MergeFrom(SetDataChannelBufferedAmountLowThresholdResponse other) { if (other == null) { return; } @@ -8369,7 +31603,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -8384,7 +31622,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -8395,21 +31637,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class Disconnected : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataChannelBufferedAmountLowThresholdChanged : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Disconnected()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataChannelBufferedAmountLowThresholdChanged()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[31]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[99]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8420,7 +31664,7 @@ public sealed partial class Disconnected : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Disconnected() { + public DataChannelBufferedAmountLowThresholdChanged() { OnConstruction(); } @@ -8428,31 +31672,90 @@ public Disconnected() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Disconnected(Disconnected other) : this() { + public DataChannelBufferedAmountLowThresholdChanged(DataChannelBufferedAmountLowThresholdChanged other) : this() { + _hasBits0 = other._hasBits0; + kind_ = other.kind_; + threshold_ = other.threshold_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Disconnected Clone() { - return new Disconnected(this); + public DataChannelBufferedAmountLowThresholdChanged Clone() { + return new DataChannelBufferedAmountLowThresholdChanged(this); + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 1; + private readonly static global::LiveKit.Proto.DataPacketKind KindDefaultValue = global::LiveKit.Proto.DataPacketKind.KindLossy; + + private global::LiveKit.Proto.DataPacketKind kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataPacketKind Kind { + get { if ((_hasBits0 & 1) != 0) { return kind_; } else { return KindDefaultValue; } } + set { + _hasBits0 |= 1; + kind_ = value; + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + _hasBits0 &= ~1; + } + + /// Field number for the "threshold" field. + public const int ThresholdFieldNumber = 2; + private readonly static ulong ThresholdDefaultValue = 0UL; + + private ulong threshold_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong Threshold { + get { if ((_hasBits0 & 2) != 0) { return threshold_; } else { return ThresholdDefaultValue; } } + set { + _hasBits0 |= 2; + threshold_ = value; + } + } + /// Gets whether the "threshold" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasThreshold { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "threshold" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearThreshold() { + _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as Disconnected); + return Equals(other as DataChannelBufferedAmountLowThresholdChanged); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Disconnected other) { + public bool Equals(DataChannelBufferedAmountLowThresholdChanged other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (Kind != other.Kind) return false; + if (Threshold != other.Threshold) return false; return Equals(_unknownFields, other._unknownFields); } @@ -8460,6 +31763,8 @@ public bool Equals(Disconnected other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (HasKind) hash ^= Kind.GetHashCode(); + if (HasThreshold) hash ^= Threshold.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -8478,6 +31783,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (HasKind) { + output.WriteRawTag(8); + output.WriteEnum((int) Kind); + } + if (HasThreshold) { + output.WriteRawTag(16); + output.WriteUInt64(Threshold); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -8488,6 +31801,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKind) { + output.WriteRawTag(8); + output.WriteEnum((int) Kind); + } + if (HasThreshold) { + output.WriteRawTag(16); + output.WriteUInt64(Threshold); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -8498,6 +31819,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); + } + if (HasThreshold) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Threshold); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -8506,10 +31833,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Disconnected other) { + public void MergeFrom(DataChannelBufferedAmountLowThresholdChanged other) { if (other == null) { return; } + if (other.HasKind) { + Kind = other.Kind; + } + if (other.HasThreshold) { + Threshold = other.Threshold; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -8521,10 +31854,22 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 8: { + Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); + break; + } + case 16: { + Threshold = input.ReadUInt64(); + break; + } } } #endif @@ -8536,10 +31881,22 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 8: { + Kind = (global::LiveKit.Proto.DataPacketKind) input.ReadEnum(); + break; + } + case 16: { + Threshold = input.ReadUInt64(); + break; + } } } } @@ -8547,21 +31904,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class Reconnecting : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ByteStreamOpened : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Reconnecting()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ByteStreamOpened()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[32]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[100]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8572,7 +31930,7 @@ public sealed partial class Reconnecting : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Reconnecting() { + public ByteStreamOpened() { OnConstruction(); } @@ -8580,31 +31938,73 @@ public Reconnecting() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Reconnecting(Reconnecting other) : this() { + public ByteStreamOpened(ByteStreamOpened other) : this() { + reader_ = other.reader_ != null ? other.reader_.Clone() : null; + participantIdentity_ = other.participantIdentity_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Reconnecting Clone() { - return new Reconnecting(this); + public ByteStreamOpened Clone() { + return new ByteStreamOpened(this); + } + + /// Field number for the "reader" field. + public const int ReaderFieldNumber = 1; + private global::LiveKit.Proto.OwnedByteStreamReader reader_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedByteStreamReader Reader { + get { return reader_; } + set { + reader_ = value; + } + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 2; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as Reconnecting); + return Equals(other as ByteStreamOpened); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Reconnecting other) { + public bool Equals(ByteStreamOpened other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (!object.Equals(Reader, other.Reader)) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; return Equals(_unknownFields, other._unknownFields); } @@ -8612,6 +32012,8 @@ public bool Equals(Reconnecting other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (reader_ != null) hash ^= Reader.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -8630,6 +32032,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (reader_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Reader); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -8640,6 +32050,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (reader_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Reader); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -8650,6 +32068,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (reader_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Reader); + } + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -8658,10 +32082,19 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Reconnecting other) { + public void MergeFrom(ByteStreamOpened other) { if (other == null) { return; } + if (other.reader_ != null) { + if (reader_ == null) { + Reader = new global::LiveKit.Proto.OwnedByteStreamReader(); + } + Reader.MergeFrom(other.Reader); + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -8673,10 +32106,25 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 10: { + if (reader_ == null) { + Reader = new global::LiveKit.Proto.OwnedByteStreamReader(); + } + input.ReadMessage(Reader); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } } } #endif @@ -8688,10 +32136,25 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 10: { + if (reader_ == null) { + Reader = new global::LiveKit.Proto.OwnedByteStreamReader(); + } + input.ReadMessage(Reader); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } } } } @@ -8699,21 +32162,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class Reconnected : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TextStreamOpened : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Reconnected()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TextStreamOpened()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[33]; } + get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[101]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -8724,7 +32188,7 @@ public sealed partial class Reconnected : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Reconnected() { + public TextStreamOpened() { OnConstruction(); } @@ -8732,31 +32196,73 @@ public Reconnected() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Reconnected(Reconnected other) : this() { + public TextStreamOpened(TextStreamOpened other) : this() { + reader_ = other.reader_ != null ? other.reader_.Clone() : null; + participantIdentity_ = other.participantIdentity_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public Reconnected Clone() { - return new Reconnected(this); + public TextStreamOpened Clone() { + return new TextStreamOpened(this); + } + + /// Field number for the "reader" field. + public const int ReaderFieldNumber = 1; + private global::LiveKit.Proto.OwnedTextStreamReader reader_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedTextStreamReader Reader { + get { return reader_; } + set { + reader_ = value; + } + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 2; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } + set { + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as Reconnected); + return Equals(other as TextStreamOpened); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(Reconnected other) { + public bool Equals(TextStreamOpened other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (!object.Equals(Reader, other.Reader)) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; return Equals(_unknownFields, other._unknownFields); } @@ -8764,6 +32270,8 @@ public bool Equals(Reconnected other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (reader_ != null) hash ^= Reader.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -8782,6 +32290,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (reader_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Reader); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -8792,6 +32308,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (reader_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Reader); + } + if (HasParticipantIdentity) { + output.WriteRawTag(18); + output.WriteString(ParticipantIdentity); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -8802,6 +32326,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (reader_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Reader); + } + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -8810,10 +32340,19 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(Reconnected other) { + public void MergeFrom(TextStreamOpened other) { if (other == null) { return; } + if (other.reader_ != null) { + if (reader_ == null) { + Reader = new global::LiveKit.Proto.OwnedTextStreamReader(); + } + Reader.MergeFrom(other.Reader); + } + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -8825,10 +32364,25 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 10: { + if (reader_ == null) { + Reader = new global::LiveKit.Proto.OwnedTextStreamReader(); + } + input.ReadMessage(Reader); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } } } #endif @@ -8840,10 +32394,25 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 10: { + if (reader_ == null) { + Reader = new global::LiveKit.Proto.OwnedTextStreamReader(); + } + input.ReadMessage(Reader); + break; + } + case 18: { + ParticipantIdentity = input.ReadString(); + break; + } } } } diff --git a/Runtime/Scripts/Proto/Rpc.cs b/Runtime/Scripts/Proto/Rpc.cs new file mode 100644 index 00000000..3404191c --- /dev/null +++ b/Runtime/Scripts/Proto/Rpc.cs @@ -0,0 +1,3303 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: rpc.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace LiveKit.Proto { + + /// Holder for reflection information generated from rpc.proto + public static partial class RpcReflection { + + #region Descriptor + /// File descriptor for rpc.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static RpcReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CglycGMucHJvdG8SDWxpdmVraXQucHJvdG8iNwoIUnBjRXJyb3ISDAoEY29k", + "ZRgBIAIoDRIPCgdtZXNzYWdlGAIgAigJEgwKBGRhdGEYAyABKAkikQEKEVBl", + "cmZvcm1ScGNSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgB", + "IAIoBBIcChRkZXN0aW5hdGlvbl9pZGVudGl0eRgCIAIoCRIOCgZtZXRob2QY", + "AyACKAkSDwoHcGF5bG9hZBgEIAIoCRIbChNyZXNwb25zZV90aW1lb3V0X21z", + "GAUgASgNIkwKGFJlZ2lzdGVyUnBjTWV0aG9kUmVxdWVzdBIgChhsb2NhbF9w", + "YXJ0aWNpcGFudF9oYW5kbGUYASACKAQSDgoGbWV0aG9kGAIgAigJIk4KGlVu", + "cmVnaXN0ZXJScGNNZXRob2RSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50", + "X2hhbmRsZRgBIAIoBBIOCgZtZXRob2QYAiACKAkilgEKIlJwY01ldGhvZElu", + "dm9jYXRpb25SZXNwb25zZVJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRf", + "aGFuZGxlGAEgAigEEhUKDWludm9jYXRpb25faWQYAiACKAQSDwoHcGF5bG9h", + "ZBgDIAEoCRImCgVlcnJvchgEIAEoCzIXLmxpdmVraXQucHJvdG8uUnBjRXJy", + "b3IiJgoSUGVyZm9ybVJwY1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIhsK", + "GVJlZ2lzdGVyUnBjTWV0aG9kUmVzcG9uc2UiHQobVW5yZWdpc3RlclJwY01l", + "dGhvZFJlc3BvbnNlIjQKI1JwY01ldGhvZEludm9jYXRpb25SZXNwb25zZVJl", + "c3BvbnNlEg0KBWVycm9yGAEgASgJIl8KElBlcmZvcm1ScGNDYWxsYmFjaxIQ", + "Cghhc3luY19pZBgBIAIoBBIPCgdwYXlsb2FkGAIgASgJEiYKBWVycm9yGAMg", + "ASgLMhcubGl2ZWtpdC5wcm90by5ScGNFcnJvciK+AQoYUnBjTWV0aG9kSW52", + "b2NhdGlvbkV2ZW50EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo", + "BBIVCg1pbnZvY2F0aW9uX2lkGAIgAigEEg4KBm1ldGhvZBgDIAIoCRISCgpy", + "ZXF1ZXN0X2lkGAQgAigJEhcKD2NhbGxlcl9pZGVudGl0eRgFIAIoCRIPCgdw", + "YXlsb2FkGAYgAigJEhsKE3Jlc3BvbnNlX3RpbWVvdXRfbXMYByACKA1CEKoC", + "DUxpdmVLaXQuUHJvdG8=")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RpcError), global::LiveKit.Proto.RpcError.Parser, new[]{ "Code", "Message", "Data" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PerformRpcRequest), global::LiveKit.Proto.PerformRpcRequest.Parser, new[]{ "LocalParticipantHandle", "DestinationIdentity", "Method", "Payload", "ResponseTimeoutMs" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RegisterRpcMethodRequest), global::LiveKit.Proto.RegisterRpcMethodRequest.Parser, new[]{ "LocalParticipantHandle", "Method" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UnregisterRpcMethodRequest), global::LiveKit.Proto.UnregisterRpcMethodRequest.Parser, new[]{ "LocalParticipantHandle", "Method" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RpcMethodInvocationResponseRequest), global::LiveKit.Proto.RpcMethodInvocationResponseRequest.Parser, new[]{ "LocalParticipantHandle", "InvocationId", "Payload", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PerformRpcResponse), global::LiveKit.Proto.PerformRpcResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RegisterRpcMethodResponse), global::LiveKit.Proto.RegisterRpcMethodResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UnregisterRpcMethodResponse), global::LiveKit.Proto.UnregisterRpcMethodResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RpcMethodInvocationResponseResponse), global::LiveKit.Proto.RpcMethodInvocationResponseResponse.Parser, new[]{ "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PerformRpcCallback), global::LiveKit.Proto.PerformRpcCallback.Parser, new[]{ "AsyncId", "Payload", "Error" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RpcMethodInvocationEvent), global::LiveKit.Proto.RpcMethodInvocationEvent.Parser, new[]{ "LocalParticipantHandle", "InvocationId", "Method", "RequestId", "CallerIdentity", "Payload", "ResponseTimeoutMs" }, null, null, null, null) + })); + } + #endregion + + } + #region Messages + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RpcError : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RpcError()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcError() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcError(RpcError other) : this() { + _hasBits0 = other._hasBits0; + code_ = other.code_; + message_ = other.message_; + data_ = other.data_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcError Clone() { + return new RpcError(this); + } + + /// Field number for the "code" field. + public const int CodeFieldNumber = 1; + private readonly static uint CodeDefaultValue = 0; + + private uint code_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Code { + get { if ((_hasBits0 & 1) != 0) { return code_; } else { return CodeDefaultValue; } } + set { + _hasBits0 |= 1; + code_ = value; + } + } + /// Gets whether the "code" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCode { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "code" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCode() { + _hasBits0 &= ~1; + } + + /// Field number for the "message" field. + public const int MessageFieldNumber = 2; + private readonly static string MessageDefaultValue = ""; + + private string message_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Message { + get { return message_ ?? MessageDefaultValue; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "message" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMessage { + get { return message_ != null; } + } + /// Clears the value of the "message" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + message_ = null; + } + + /// Field number for the "data" field. + public const int DataFieldNumber = 3; + private readonly static string DataDefaultValue = ""; + + private string data_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Data { + get { return data_ ?? DataDefaultValue; } + set { + data_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "data" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasData { + get { return data_ != null; } + } + /// Clears the value of the "data" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearData() { + data_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RpcError); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RpcError other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Code != other.Code) return false; + if (Message != other.Message) return false; + if (Data != other.Data) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasCode) hash ^= Code.GetHashCode(); + if (HasMessage) hash ^= Message.GetHashCode(); + if (HasData) hash ^= Data.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasCode) { + output.WriteRawTag(8); + output.WriteUInt32(Code); + } + if (HasMessage) { + output.WriteRawTag(18); + output.WriteString(Message); + } + if (HasData) { + output.WriteRawTag(26); + output.WriteString(Data); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasCode) { + output.WriteRawTag(8); + output.WriteUInt32(Code); + } + if (HasMessage) { + output.WriteRawTag(18); + output.WriteString(Message); + } + if (HasData) { + output.WriteRawTag(26); + output.WriteString(Data); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasCode) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Code); + } + if (HasMessage) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); + } + if (HasData) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Data); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RpcError other) { + if (other == null) { + return; + } + if (other.HasCode) { + Code = other.Code; + } + if (other.HasMessage) { + Message = other.Message; + } + if (other.HasData) { + Data = other.Data; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Code = input.ReadUInt32(); + break; + } + case 18: { + Message = input.ReadString(); + break; + } + case 26: { + Data = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Code = input.ReadUInt32(); + break; + } + case 18: { + Message = input.ReadString(); + break; + } + case 26: { + Data = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// FFI Requests + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PerformRpcRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PerformRpcRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcRequest(PerformRpcRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + destinationIdentity_ = other.destinationIdentity_; + method_ = other.method_; + payload_ = other.payload_; + responseTimeoutMs_ = other.responseTimeoutMs_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcRequest Clone() { + return new PerformRpcRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "destination_identity" field. + public const int DestinationIdentityFieldNumber = 2; + private readonly static string DestinationIdentityDefaultValue = ""; + + private string destinationIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string DestinationIdentity { + get { return destinationIdentity_ ?? DestinationIdentityDefaultValue; } + set { + destinationIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "destination_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDestinationIdentity { + get { return destinationIdentity_ != null; } + } + /// Clears the value of the "destination_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDestinationIdentity() { + destinationIdentity_ = null; + } + + /// Field number for the "method" field. + public const int MethodFieldNumber = 3; + private readonly static string MethodDefaultValue = ""; + + private string method_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Method { + get { return method_ ?? MethodDefaultValue; } + set { + method_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "method" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMethod { + get { return method_ != null; } + } + /// Clears the value of the "method" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMethod() { + method_ = null; + } + + /// Field number for the "payload" field. + public const int PayloadFieldNumber = 4; + private readonly static string PayloadDefaultValue = ""; + + private string payload_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Payload { + get { return payload_ ?? PayloadDefaultValue; } + set { + payload_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "payload" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayload { + get { return payload_ != null; } + } + /// Clears the value of the "payload" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayload() { + payload_ = null; + } + + /// Field number for the "response_timeout_ms" field. + public const int ResponseTimeoutMsFieldNumber = 5; + private readonly static uint ResponseTimeoutMsDefaultValue = 0; + + private uint responseTimeoutMs_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint ResponseTimeoutMs { + get { if ((_hasBits0 & 2) != 0) { return responseTimeoutMs_; } else { return ResponseTimeoutMsDefaultValue; } } + set { + _hasBits0 |= 2; + responseTimeoutMs_ = value; + } + } + /// Gets whether the "response_timeout_ms" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasResponseTimeoutMs { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "response_timeout_ms" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResponseTimeoutMs() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PerformRpcRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PerformRpcRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (DestinationIdentity != other.DestinationIdentity) return false; + if (Method != other.Method) return false; + if (Payload != other.Payload) return false; + if (ResponseTimeoutMs != other.ResponseTimeoutMs) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasDestinationIdentity) hash ^= DestinationIdentity.GetHashCode(); + if (HasMethod) hash ^= Method.GetHashCode(); + if (HasPayload) hash ^= Payload.GetHashCode(); + if (HasResponseTimeoutMs) hash ^= ResponseTimeoutMs.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasDestinationIdentity) { + output.WriteRawTag(18); + output.WriteString(DestinationIdentity); + } + if (HasMethod) { + output.WriteRawTag(26); + output.WriteString(Method); + } + if (HasPayload) { + output.WriteRawTag(34); + output.WriteString(Payload); + } + if (HasResponseTimeoutMs) { + output.WriteRawTag(40); + output.WriteUInt32(ResponseTimeoutMs); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasDestinationIdentity) { + output.WriteRawTag(18); + output.WriteString(DestinationIdentity); + } + if (HasMethod) { + output.WriteRawTag(26); + output.WriteString(Method); + } + if (HasPayload) { + output.WriteRawTag(34); + output.WriteString(Payload); + } + if (HasResponseTimeoutMs) { + output.WriteRawTag(40); + output.WriteUInt32(ResponseTimeoutMs); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasDestinationIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(DestinationIdentity); + } + if (HasMethod) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Method); + } + if (HasPayload) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Payload); + } + if (HasResponseTimeoutMs) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ResponseTimeoutMs); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PerformRpcRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasDestinationIdentity) { + DestinationIdentity = other.DestinationIdentity; + } + if (other.HasMethod) { + Method = other.Method; + } + if (other.HasPayload) { + Payload = other.Payload; + } + if (other.HasResponseTimeoutMs) { + ResponseTimeoutMs = other.ResponseTimeoutMs; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + DestinationIdentity = input.ReadString(); + break; + } + case 26: { + Method = input.ReadString(); + break; + } + case 34: { + Payload = input.ReadString(); + break; + } + case 40: { + ResponseTimeoutMs = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + DestinationIdentity = input.ReadString(); + break; + } + case 26: { + Method = input.ReadString(); + break; + } + case 34: { + Payload = input.ReadString(); + break; + } + case 40: { + ResponseTimeoutMs = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RegisterRpcMethodRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RegisterRpcMethodRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RegisterRpcMethodRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RegisterRpcMethodRequest(RegisterRpcMethodRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + method_ = other.method_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RegisterRpcMethodRequest Clone() { + return new RegisterRpcMethodRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "method" field. + public const int MethodFieldNumber = 2; + private readonly static string MethodDefaultValue = ""; + + private string method_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Method { + get { return method_ ?? MethodDefaultValue; } + set { + method_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "method" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMethod { + get { return method_ != null; } + } + /// Clears the value of the "method" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMethod() { + method_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RegisterRpcMethodRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RegisterRpcMethodRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (Method != other.Method) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasMethod) hash ^= Method.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMethod) { + output.WriteRawTag(18); + output.WriteString(Method); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMethod) { + output.WriteRawTag(18); + output.WriteString(Method); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasMethod) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Method); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RegisterRpcMethodRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasMethod) { + Method = other.Method; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Method = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Method = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class UnregisterRpcMethodRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new UnregisterRpcMethodRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UnregisterRpcMethodRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UnregisterRpcMethodRequest(UnregisterRpcMethodRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + method_ = other.method_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UnregisterRpcMethodRequest Clone() { + return new UnregisterRpcMethodRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "method" field. + public const int MethodFieldNumber = 2; + private readonly static string MethodDefaultValue = ""; + + private string method_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Method { + get { return method_ ?? MethodDefaultValue; } + set { + method_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "method" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMethod { + get { return method_ != null; } + } + /// Clears the value of the "method" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMethod() { + method_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as UnregisterRpcMethodRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(UnregisterRpcMethodRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (Method != other.Method) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasMethod) hash ^= Method.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMethod) { + output.WriteRawTag(18); + output.WriteString(Method); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasMethod) { + output.WriteRawTag(18); + output.WriteString(Method); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasMethod) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Method); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(UnregisterRpcMethodRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasMethod) { + Method = other.Method; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Method = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 18: { + Method = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RpcMethodInvocationResponseRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RpcMethodInvocationResponseRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[4]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationResponseRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationResponseRequest(RpcMethodInvocationResponseRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + invocationId_ = other.invocationId_; + payload_ = other.payload_; + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationResponseRequest Clone() { + return new RpcMethodInvocationResponseRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "invocation_id" field. + public const int InvocationIdFieldNumber = 2; + private readonly static ulong InvocationIdDefaultValue = 0UL; + + private ulong invocationId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong InvocationId { + get { if ((_hasBits0 & 2) != 0) { return invocationId_; } else { return InvocationIdDefaultValue; } } + set { + _hasBits0 |= 2; + invocationId_ = value; + } + } + /// Gets whether the "invocation_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasInvocationId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "invocation_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearInvocationId() { + _hasBits0 &= ~2; + } + + /// Field number for the "payload" field. + public const int PayloadFieldNumber = 3; + private readonly static string PayloadDefaultValue = ""; + + private string payload_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Payload { + get { return payload_ ?? PayloadDefaultValue; } + set { + payload_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "payload" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayload { + get { return payload_ != null; } + } + /// Clears the value of the "payload" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayload() { + payload_ = null; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 4; + private global::LiveKit.Proto.RpcError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RpcError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RpcMethodInvocationResponseRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RpcMethodInvocationResponseRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (InvocationId != other.InvocationId) return false; + if (Payload != other.Payload) return false; + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasInvocationId) hash ^= InvocationId.GetHashCode(); + if (HasPayload) hash ^= Payload.GetHashCode(); + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasInvocationId) { + output.WriteRawTag(16); + output.WriteUInt64(InvocationId); + } + if (HasPayload) { + output.WriteRawTag(26); + output.WriteString(Payload); + } + if (error_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasInvocationId) { + output.WriteRawTag(16); + output.WriteUInt64(InvocationId); + } + if (HasPayload) { + output.WriteRawTag(26); + output.WriteString(Payload); + } + if (error_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasInvocationId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InvocationId); + } + if (HasPayload) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Payload); + } + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RpcMethodInvocationResponseRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasInvocationId) { + InvocationId = other.InvocationId; + } + if (other.HasPayload) { + Payload = other.Payload; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.RpcError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + InvocationId = input.ReadUInt64(); + break; + } + case 26: { + Payload = input.ReadString(); + break; + } + case 34: { + if (error_ == null) { + Error = new global::LiveKit.Proto.RpcError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + InvocationId = input.ReadUInt64(); + break; + } + case 26: { + Payload = input.ReadString(); + break; + } + case 34: { + if (error_ == null) { + Error = new global::LiveKit.Proto.RpcError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + /// + /// FFI Responses + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PerformRpcResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PerformRpcResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[5]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcResponse(PerformRpcResponse other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcResponse Clone() { + return new PerformRpcResponse(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PerformRpcResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PerformRpcResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PerformRpcResponse other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RegisterRpcMethodResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RegisterRpcMethodResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[6]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RegisterRpcMethodResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RegisterRpcMethodResponse(RegisterRpcMethodResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RegisterRpcMethodResponse Clone() { + return new RegisterRpcMethodResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RegisterRpcMethodResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RegisterRpcMethodResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RegisterRpcMethodResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class UnregisterRpcMethodResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new UnregisterRpcMethodResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[7]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UnregisterRpcMethodResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UnregisterRpcMethodResponse(UnregisterRpcMethodResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UnregisterRpcMethodResponse Clone() { + return new UnregisterRpcMethodResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as UnregisterRpcMethodResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(UnregisterRpcMethodResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(UnregisterRpcMethodResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RpcMethodInvocationResponseResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RpcMethodInvocationResponseResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[8]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationResponseResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationResponseResponse(RpcMethodInvocationResponseResponse other) : this() { + error_ = other.error_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationResponseResponse Clone() { + return new RpcMethodInvocationResponseResponse(this); + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RpcMethodInvocationResponseResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RpcMethodInvocationResponseResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Error != other.Error) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasError) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasError) { + output.WriteRawTag(10); + output.WriteString(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RpcMethodInvocationResponseResponse other) { + if (other == null) { + return; + } + if (other.HasError) { + Error = other.Error; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Error = input.ReadString(); + break; + } + } + } + } + #endif + + } + + /// + /// FFI Callbacks + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PerformRpcCallback : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PerformRpcCallback()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[9]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcCallback() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcCallback(PerformRpcCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + payload_ = other.payload_; + error_ = other.error_ != null ? other.error_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PerformRpcCallback Clone() { + return new PerformRpcCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "payload" field. + public const int PayloadFieldNumber = 2; + private readonly static string PayloadDefaultValue = ""; + + private string payload_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Payload { + get { return payload_ ?? PayloadDefaultValue; } + set { + payload_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "payload" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayload { + get { return payload_ != null; } + } + /// Clears the value of the "payload" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayload() { + payload_ = null; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 3; + private global::LiveKit.Proto.RpcError error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RpcError Error { + get { return error_; } + set { + error_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PerformRpcCallback); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PerformRpcCallback other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (AsyncId != other.AsyncId) return false; + if (Payload != other.Payload) return false; + if (!object.Equals(Error, other.Error)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasPayload) hash ^= Payload.GetHashCode(); + if (error_ != null) hash ^= Error.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasPayload) { + output.WriteRawTag(18); + output.WriteString(Payload); + } + if (error_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasPayload) { + output.WriteRawTag(18); + output.WriteString(Payload); + } + if (error_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Error); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasPayload) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Payload); + } + if (error_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Error); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PerformRpcCallback other) { + if (other == null) { + return; + } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasPayload) { + Payload = other.Payload; + } + if (other.error_ != null) { + if (error_ == null) { + Error = new global::LiveKit.Proto.RpcError(); + } + Error.MergeFrom(other.Error); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Payload = input.ReadString(); + break; + } + case 26: { + if (error_ == null) { + Error = new global::LiveKit.Proto.RpcError(); + } + input.ReadMessage(Error); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Payload = input.ReadString(); + break; + } + case 26: { + if (error_ == null) { + Error = new global::LiveKit.Proto.RpcError(); + } + input.ReadMessage(Error); + break; + } + } + } + } + #endif + + } + + /// + /// FFI Events + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RpcMethodInvocationEvent : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RpcMethodInvocationEvent()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RpcReflection.Descriptor.MessageTypes[10]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationEvent() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationEvent(RpcMethodInvocationEvent other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + invocationId_ = other.invocationId_; + method_ = other.method_; + requestId_ = other.requestId_; + callerIdentity_ = other.callerIdentity_; + payload_ = other.payload_; + responseTimeoutMs_ = other.responseTimeoutMs_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RpcMethodInvocationEvent Clone() { + return new RpcMethodInvocationEvent(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "invocation_id" field. + public const int InvocationIdFieldNumber = 2; + private readonly static ulong InvocationIdDefaultValue = 0UL; + + private ulong invocationId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong InvocationId { + get { if ((_hasBits0 & 2) != 0) { return invocationId_; } else { return InvocationIdDefaultValue; } } + set { + _hasBits0 |= 2; + invocationId_ = value; + } + } + /// Gets whether the "invocation_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasInvocationId { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "invocation_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearInvocationId() { + _hasBits0 &= ~2; + } + + /// Field number for the "method" field. + public const int MethodFieldNumber = 3; + private readonly static string MethodDefaultValue = ""; + + private string method_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Method { + get { return method_ ?? MethodDefaultValue; } + set { + method_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "method" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMethod { + get { return method_ != null; } + } + /// Clears the value of the "method" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMethod() { + method_ = null; + } + + /// Field number for the "request_id" field. + public const int RequestIdFieldNumber = 4; + private readonly static string RequestIdDefaultValue = ""; + + private string requestId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string RequestId { + get { return requestId_ ?? RequestIdDefaultValue; } + set { + requestId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "request_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRequestId { + get { return requestId_ != null; } + } + /// Clears the value of the "request_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRequestId() { + requestId_ = null; + } + + /// Field number for the "caller_identity" field. + public const int CallerIdentityFieldNumber = 5; + private readonly static string CallerIdentityDefaultValue = ""; + + private string callerIdentity_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string CallerIdentity { + get { return callerIdentity_ ?? CallerIdentityDefaultValue; } + set { + callerIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "caller_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCallerIdentity { + get { return callerIdentity_ != null; } + } + /// Clears the value of the "caller_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCallerIdentity() { + callerIdentity_ = null; + } + + /// Field number for the "payload" field. + public const int PayloadFieldNumber = 6; + private readonly static string PayloadDefaultValue = ""; + + private string payload_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Payload { + get { return payload_ ?? PayloadDefaultValue; } + set { + payload_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "payload" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayload { + get { return payload_ != null; } + } + /// Clears the value of the "payload" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayload() { + payload_ = null; + } + + /// Field number for the "response_timeout_ms" field. + public const int ResponseTimeoutMsFieldNumber = 7; + private readonly static uint ResponseTimeoutMsDefaultValue = 0; + + private uint responseTimeoutMs_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint ResponseTimeoutMs { + get { if ((_hasBits0 & 4) != 0) { return responseTimeoutMs_; } else { return ResponseTimeoutMsDefaultValue; } } + set { + _hasBits0 |= 4; + responseTimeoutMs_ = value; + } + } + /// Gets whether the "response_timeout_ms" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasResponseTimeoutMs { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "response_timeout_ms" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResponseTimeoutMs() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RpcMethodInvocationEvent); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RpcMethodInvocationEvent other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (InvocationId != other.InvocationId) return false; + if (Method != other.Method) return false; + if (RequestId != other.RequestId) return false; + if (CallerIdentity != other.CallerIdentity) return false; + if (Payload != other.Payload) return false; + if (ResponseTimeoutMs != other.ResponseTimeoutMs) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasInvocationId) hash ^= InvocationId.GetHashCode(); + if (HasMethod) hash ^= Method.GetHashCode(); + if (HasRequestId) hash ^= RequestId.GetHashCode(); + if (HasCallerIdentity) hash ^= CallerIdentity.GetHashCode(); + if (HasPayload) hash ^= Payload.GetHashCode(); + if (HasResponseTimeoutMs) hash ^= ResponseTimeoutMs.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasInvocationId) { + output.WriteRawTag(16); + output.WriteUInt64(InvocationId); + } + if (HasMethod) { + output.WriteRawTag(26); + output.WriteString(Method); + } + if (HasRequestId) { + output.WriteRawTag(34); + output.WriteString(RequestId); + } + if (HasCallerIdentity) { + output.WriteRawTag(42); + output.WriteString(CallerIdentity); + } + if (HasPayload) { + output.WriteRawTag(50); + output.WriteString(Payload); + } + if (HasResponseTimeoutMs) { + output.WriteRawTag(56); + output.WriteUInt32(ResponseTimeoutMs); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasInvocationId) { + output.WriteRawTag(16); + output.WriteUInt64(InvocationId); + } + if (HasMethod) { + output.WriteRawTag(26); + output.WriteString(Method); + } + if (HasRequestId) { + output.WriteRawTag(34); + output.WriteString(RequestId); + } + if (HasCallerIdentity) { + output.WriteRawTag(42); + output.WriteString(CallerIdentity); + } + if (HasPayload) { + output.WriteRawTag(50); + output.WriteString(Payload); + } + if (HasResponseTimeoutMs) { + output.WriteRawTag(56); + output.WriteUInt32(ResponseTimeoutMs); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasInvocationId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InvocationId); + } + if (HasMethod) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Method); + } + if (HasRequestId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(RequestId); + } + if (HasCallerIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(CallerIdentity); + } + if (HasPayload) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Payload); + } + if (HasResponseTimeoutMs) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ResponseTimeoutMs); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RpcMethodInvocationEvent other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasInvocationId) { + InvocationId = other.InvocationId; + } + if (other.HasMethod) { + Method = other.Method; + } + if (other.HasRequestId) { + RequestId = other.RequestId; + } + if (other.HasCallerIdentity) { + CallerIdentity = other.CallerIdentity; + } + if (other.HasPayload) { + Payload = other.Payload; + } + if (other.HasResponseTimeoutMs) { + ResponseTimeoutMs = other.ResponseTimeoutMs; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + InvocationId = input.ReadUInt64(); + break; + } + case 26: { + Method = input.ReadString(); + break; + } + case 34: { + RequestId = input.ReadString(); + break; + } + case 42: { + CallerIdentity = input.ReadString(); + break; + } + case 50: { + Payload = input.ReadString(); + break; + } + case 56: { + ResponseTimeoutMs = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + InvocationId = input.ReadUInt64(); + break; + } + case 26: { + Method = input.ReadString(); + break; + } + case 34: { + RequestId = input.ReadString(); + break; + } + case 42: { + CallerIdentity = input.ReadString(); + break; + } + case 50: { + Payload = input.ReadString(); + break; + } + case 56: { + ResponseTimeoutMs = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Runtime/Scripts/Proto/Rpc.cs.meta b/Runtime/Scripts/Proto/Rpc.cs.meta new file mode 100644 index 00000000..27aa35f6 --- /dev/null +++ b/Runtime/Scripts/Proto/Rpc.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e3412740c251cda4e98fed8bc567f41d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Proto/Stats.cs b/Runtime/Scripts/Proto/Stats.cs new file mode 100644 index 00000000..aad800b2 --- /dev/null +++ b/Runtime/Scripts/Proto/Stats.cs @@ -0,0 +1,19377 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: stats.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace LiveKit.Proto { + + /// Holder for reflection information generated from stats.proto + public static partial class StatsReflection { + + #region Descriptor + /// File descriptor for stats.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StatsReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CgtzdGF0cy5wcm90bxINbGl2ZWtpdC5wcm90byLrGAoIUnRjU3RhdHMSLgoF", + "Y29kZWMYAyABKAsyHS5saXZla2l0LnByb3RvLlJ0Y1N0YXRzLkNvZGVjSAAS", + "OQoLaW5ib3VuZF9ydHAYBCABKAsyIi5saXZla2l0LnByb3RvLlJ0Y1N0YXRz", + "LkluYm91bmRSdHBIABI7CgxvdXRib3VuZF9ydHAYBSABKAsyIy5saXZla2l0", + "LnByb3RvLlJ0Y1N0YXRzLk91dGJvdW5kUnRwSAASRgoScmVtb3RlX2luYm91", + "bmRfcnRwGAYgASgLMigubGl2ZWtpdC5wcm90by5SdGNTdGF0cy5SZW1vdGVJ", + "bmJvdW5kUnRwSAASSAoTcmVtb3RlX291dGJvdW5kX3J0cBgHIAEoCzIpLmxp", + "dmVraXQucHJvdG8uUnRjU3RhdHMuUmVtb3RlT3V0Ym91bmRSdHBIABI7Cgxt", + "ZWRpYV9zb3VyY2UYCCABKAsyIy5saXZla2l0LnByb3RvLlJ0Y1N0YXRzLk1l", + "ZGlhU291cmNlSAASPQoNbWVkaWFfcGxheW91dBgJIAEoCzIkLmxpdmVraXQu", + "cHJvdG8uUnRjU3RhdHMuTWVkaWFQbGF5b3V0SAASQQoPcGVlcl9jb25uZWN0", + "aW9uGAogASgLMiYubGl2ZWtpdC5wcm90by5SdGNTdGF0cy5QZWVyQ29ubmVj", + "dGlvbkgAEjsKDGRhdGFfY2hhbm5lbBgLIAEoCzIjLmxpdmVraXQucHJvdG8u", + "UnRjU3RhdHMuRGF0YUNoYW5uZWxIABI2Cgl0cmFuc3BvcnQYDCABKAsyIS5s", + "aXZla2l0LnByb3RvLlJ0Y1N0YXRzLlRyYW5zcG9ydEgAEj8KDmNhbmRpZGF0", + "ZV9wYWlyGA0gASgLMiUubGl2ZWtpdC5wcm90by5SdGNTdGF0cy5DYW5kaWRh", + "dGVQYWlySAASQQoPbG9jYWxfY2FuZGlkYXRlGA4gASgLMiYubGl2ZWtpdC5w", + "cm90by5SdGNTdGF0cy5Mb2NhbENhbmRpZGF0ZUgAEkMKEHJlbW90ZV9jYW5k", + "aWRhdGUYDyABKAsyJy5saXZla2l0LnByb3RvLlJ0Y1N0YXRzLlJlbW90ZUNh", + "bmRpZGF0ZUgAEjoKC2NlcnRpZmljYXRlGBAgASgLMiMubGl2ZWtpdC5wcm90", + "by5SdGNTdGF0cy5DZXJ0aWZpY2F0ZUgAEjAKBnN0cmVhbRgRIAEoCzIeLmxp", + "dmVraXQucHJvdG8uUnRjU3RhdHMuU3RyZWFtSAASLgoFdHJhY2sYEiABKAsy", + "HS5saXZla2l0LnByb3RvLlJ0Y1N0YXRzLlRyYWNrSAAaWwoFQ29kZWMSKAoD", + "cnRjGAEgAigLMhsubGl2ZWtpdC5wcm90by5SdGNTdGF0c0RhdGESKAoFY29k", + "ZWMYAiACKAsyGS5saXZla2l0LnByb3RvLkNvZGVjU3RhdHMa1QEKCkluYm91", + "bmRSdHASKAoDcnRjGAEgAigLMhsubGl2ZWtpdC5wcm90by5SdGNTdGF0c0Rh", + "dGESLQoGc3RyZWFtGAIgAigLMh0ubGl2ZWtpdC5wcm90by5SdHBTdHJlYW1T", + "dGF0cxI3CghyZWNlaXZlZBgDIAIoCzIlLmxpdmVraXQucHJvdG8uUmVjZWl2", + "ZWRSdHBTdHJlYW1TdGF0cxI1CgdpbmJvdW5kGAQgAigLMiQubGl2ZWtpdC5w", + "cm90by5JbmJvdW5kUnRwU3RyZWFtU3RhdHMa0AEKC091dGJvdW5kUnRwEigK", + "A3J0YxgBIAIoCzIbLmxpdmVraXQucHJvdG8uUnRjU3RhdHNEYXRhEi0KBnN0", + "cmVhbRgCIAIoCzIdLmxpdmVraXQucHJvdG8uUnRwU3RyZWFtU3RhdHMSLwoE", + "c2VudBgDIAIoCzIhLmxpdmVraXQucHJvdG8uU2VudFJ0cFN0cmVhbVN0YXRz", + "EjcKCG91dGJvdW5kGAQgAigLMiUubGl2ZWtpdC5wcm90by5PdXRib3VuZFJ0", + "cFN0cmVhbVN0YXRzGugBChBSZW1vdGVJbmJvdW5kUnRwEigKA3J0YxgBIAIo", + "CzIbLmxpdmVraXQucHJvdG8uUnRjU3RhdHNEYXRhEi0KBnN0cmVhbRgCIAIo", + "CzIdLmxpdmVraXQucHJvdG8uUnRwU3RyZWFtU3RhdHMSNwoIcmVjZWl2ZWQY", + "AyACKAsyJS5saXZla2l0LnByb3RvLlJlY2VpdmVkUnRwU3RyZWFtU3RhdHMS", + "QgoOcmVtb3RlX2luYm91bmQYBCACKAsyKi5saXZla2l0LnByb3RvLlJlbW90", + "ZUluYm91bmRSdHBTdHJlYW1TdGF0cxrjAQoRUmVtb3RlT3V0Ym91bmRSdHAS", + "KAoDcnRjGAEgAigLMhsubGl2ZWtpdC5wcm90by5SdGNTdGF0c0RhdGESLQoG", + "c3RyZWFtGAIgAigLMh0ubGl2ZWtpdC5wcm90by5SdHBTdHJlYW1TdGF0cxIv", + "CgRzZW50GAMgAigLMiEubGl2ZWtpdC5wcm90by5TZW50UnRwU3RyZWFtU3Rh", + "dHMSRAoPcmVtb3RlX291dGJvdW5kGAQgAigLMisubGl2ZWtpdC5wcm90by5S", + "ZW1vdGVPdXRib3VuZFJ0cFN0cmVhbVN0YXRzGsgBCgtNZWRpYVNvdXJjZRIo", + "CgNydGMYASACKAsyGy5saXZla2l0LnByb3RvLlJ0Y1N0YXRzRGF0YRIvCgZz", + "b3VyY2UYAiACKAsyHy5saXZla2l0LnByb3RvLk1lZGlhU291cmNlU3RhdHMS", + "LgoFYXVkaW8YAyACKAsyHy5saXZla2l0LnByb3RvLkF1ZGlvU291cmNlU3Rh", + "dHMSLgoFdmlkZW8YBCACKAsyHy5saXZla2l0LnByb3RvLlZpZGVvU291cmNl", + "U3RhdHMacQoMTWVkaWFQbGF5b3V0EigKA3J0YxgBIAIoCzIbLmxpdmVraXQu", + "cHJvdG8uUnRjU3RhdHNEYXRhEjcKDWF1ZGlvX3BsYXlvdXQYAiACKAsyIC5s", + "aXZla2l0LnByb3RvLkF1ZGlvUGxheW91dFN0YXRzGmoKDlBlZXJDb25uZWN0", + "aW9uEigKA3J0YxgBIAIoCzIbLmxpdmVraXQucHJvdG8uUnRjU3RhdHNEYXRh", + "Ei4KAnBjGAIgAigLMiIubGl2ZWtpdC5wcm90by5QZWVyQ29ubmVjdGlvblN0", + "YXRzGmQKC0RhdGFDaGFubmVsEigKA3J0YxgBIAIoCzIbLmxpdmVraXQucHJv", + "dG8uUnRjU3RhdHNEYXRhEisKAmRjGAIgAigLMh8ubGl2ZWtpdC5wcm90by5E", + "YXRhQ2hhbm5lbFN0YXRzGmcKCVRyYW5zcG9ydBIoCgNydGMYASACKAsyGy5s", + "aXZla2l0LnByb3RvLlJ0Y1N0YXRzRGF0YRIwCgl0cmFuc3BvcnQYAiACKAsy", + "HS5saXZla2l0LnByb3RvLlRyYW5zcG9ydFN0YXRzGnQKDUNhbmRpZGF0ZVBh", + "aXISKAoDcnRjGAEgAigLMhsubGl2ZWtpdC5wcm90by5SdGNTdGF0c0RhdGES", + "OQoOY2FuZGlkYXRlX3BhaXIYAiACKAsyIS5saXZla2l0LnByb3RvLkNhbmRp", + "ZGF0ZVBhaXJTdGF0cxpvCg5Mb2NhbENhbmRpZGF0ZRIoCgNydGMYASACKAsy", + "Gy5saXZla2l0LnByb3RvLlJ0Y1N0YXRzRGF0YRIzCgljYW5kaWRhdGUYAiAC", + "KAsyIC5saXZla2l0LnByb3RvLkljZUNhbmRpZGF0ZVN0YXRzGnAKD1JlbW90", + "ZUNhbmRpZGF0ZRIoCgNydGMYASACKAsyGy5saXZla2l0LnByb3RvLlJ0Y1N0", + "YXRzRGF0YRIzCgljYW5kaWRhdGUYAiACKAsyIC5saXZla2l0LnByb3RvLklj", + "ZUNhbmRpZGF0ZVN0YXRzGm0KC0NlcnRpZmljYXRlEigKA3J0YxgBIAIoCzIb", + "LmxpdmVraXQucHJvdG8uUnRjU3RhdHNEYXRhEjQKC2NlcnRpZmljYXRlGAIg", + "AigLMh8ubGl2ZWtpdC5wcm90by5DZXJ0aWZpY2F0ZVN0YXRzGl4KBlN0cmVh", + "bRIoCgNydGMYASACKAsyGy5saXZla2l0LnByb3RvLlJ0Y1N0YXRzRGF0YRIq", + "CgZzdHJlYW0YAiACKAsyGi5saXZla2l0LnByb3RvLlN0cmVhbVN0YXRzGgcK", + "BVRyYWNrQgcKBXN0YXRzIi0KDFJ0Y1N0YXRzRGF0YRIKCgJpZBgBIAIoCRIR", + "Cgl0aW1lc3RhbXAYAiACKAMiiAEKCkNvZGVjU3RhdHMSFAoMcGF5bG9hZF90", + "eXBlGAEgAigNEhQKDHRyYW5zcG9ydF9pZBgCIAIoCRIRCgltaW1lX3R5cGUY", + "AyACKAkSEgoKY2xvY2tfcmF0ZRgEIAIoDRIQCghjaGFubmVscxgFIAIoDRIV", + "Cg1zZHBfZm10cF9saW5lGAYgAigJIlQKDlJ0cFN0cmVhbVN0YXRzEgwKBHNz", + "cmMYASACKA0SDAoEa2luZBgCIAIoCRIUCgx0cmFuc3BvcnRfaWQYAyACKAkS", + "EAoIY29kZWNfaWQYBCACKAkiWAoWUmVjZWl2ZWRSdHBTdHJlYW1TdGF0cxIY", + "ChBwYWNrZXRzX3JlY2VpdmVkGAEgAigEEhQKDHBhY2tldHNfbG9zdBgCIAIo", + "AxIOCgZqaXR0ZXIYAyACKAEiggwKFUluYm91bmRSdHBTdHJlYW1TdGF0cxIY", + "ChB0cmFja19pZGVudGlmaWVyGAEgAigJEgsKA21pZBgCIAIoCRIRCglyZW1v", + "dGVfaWQYAyACKAkSFgoOZnJhbWVzX2RlY29kZWQYBCACKA0SGgoSa2V5X2Zy", + "YW1lc19kZWNvZGVkGAUgAigNEhcKD2ZyYW1lc19yZW5kZXJlZBgGIAIoDRIW", + "Cg5mcmFtZXNfZHJvcHBlZBgHIAIoDRITCgtmcmFtZV93aWR0aBgIIAIoDRIU", + "CgxmcmFtZV9oZWlnaHQYCSACKA0SGQoRZnJhbWVzX3Blcl9zZWNvbmQYCiAC", + "KAESDgoGcXBfc3VtGAsgAigEEhkKEXRvdGFsX2RlY29kZV90aW1lGAwgAigB", + "Eh8KF3RvdGFsX2ludGVyX2ZyYW1lX2RlbGF5GA0gAigBEicKH3RvdGFsX3Nx", + "dWFyZWRfaW50ZXJfZnJhbWVfZGVsYXkYDiACKAESEwoLcGF1c2VfY291bnQY", + "DyACKA0SHAoUdG90YWxfcGF1c2VfZHVyYXRpb24YECACKAESFAoMZnJlZXpl", + "X2NvdW50GBEgAigNEh0KFXRvdGFsX2ZyZWV6ZV9kdXJhdGlvbhgSIAIoARIm", + "Ch5sYXN0X3BhY2tldF9yZWNlaXZlZF90aW1lc3RhbXAYEyACKAESHQoVaGVh", + "ZGVyX2J5dGVzX3JlY2VpdmVkGBQgAigEEhkKEXBhY2tldHNfZGlzY2FyZGVk", + "GBUgAigEEhoKEmZlY19ieXRlc19yZWNlaXZlZBgWIAIoBBIcChRmZWNfcGFj", + "a2V0c19yZWNlaXZlZBgXIAIoBBIdChVmZWNfcGFja2V0c19kaXNjYXJkZWQY", + "GCACKAQSFgoOYnl0ZXNfcmVjZWl2ZWQYGSACKAQSEgoKbmFja19jb3VudBga", + "IAIoDRIRCglmaXJfY291bnQYGyACKA0SEQoJcGxpX2NvdW50GBwgAigNEh4K", + "FnRvdGFsX3Byb2Nlc3NpbmdfZGVsYXkYHSACKAESIwobZXN0aW1hdGVkX3Bs", + "YXlvdXRfdGltZXN0YW1wGB4gAigBEhsKE2ppdHRlcl9idWZmZXJfZGVsYXkY", + "HyACKAESIgoaaml0dGVyX2J1ZmZlcl90YXJnZXRfZGVsYXkYICACKAESIwob", + "aml0dGVyX2J1ZmZlcl9lbWl0dGVkX2NvdW50GCEgAigEEiMKG2ppdHRlcl9i", + "dWZmZXJfbWluaW11bV9kZWxheRgiIAIoARIeChZ0b3RhbF9zYW1wbGVzX3Jl", + "Y2VpdmVkGCMgAigEEhkKEWNvbmNlYWxlZF9zYW1wbGVzGCQgAigEEiAKGHNp", + "bGVudF9jb25jZWFsZWRfc2FtcGxlcxglIAIoBBIaChJjb25jZWFsbWVudF9l", + "dmVudHMYJiACKAQSKQohaW5zZXJ0ZWRfc2FtcGxlc19mb3JfZGVjZWxlcmF0", + "aW9uGCcgAigEEigKIHJlbW92ZWRfc2FtcGxlc19mb3JfYWNjZWxlcmF0aW9u", + "GCggAigEEhMKC2F1ZGlvX2xldmVsGCkgAigBEhoKEnRvdGFsX2F1ZGlvX2Vu", + "ZXJneRgqIAIoARIeChZ0b3RhbF9zYW1wbGVzX2R1cmF0aW9uGCsgAigBEhcK", + "D2ZyYW1lc19yZWNlaXZlZBgsIAIoBBIeChZkZWNvZGVyX2ltcGxlbWVudGF0", + "aW9uGC0gAigJEhIKCnBsYXlvdXRfaWQYLiACKAkSHwoXcG93ZXJfZWZmaWNp", + "ZW50X2RlY29kZXIYLyACKAgSLgomZnJhbWVzX2Fzc2VtYmxlZF9mcm9tX211", + "bHRpcGxlX3BhY2tldHMYMCACKAQSGwoTdG90YWxfYXNzZW1ibHlfdGltZRgx", + "IAIoARImCh5yZXRyYW5zbWl0dGVkX3BhY2tldHNfcmVjZWl2ZWQYMiACKAQS", + "JAoccmV0cmFuc21pdHRlZF9ieXRlc19yZWNlaXZlZBgzIAIoBBIQCghydHhf", + "c3NyYxg0IAIoDRIQCghmZWNfc3NyYxg1IAIoDSI+ChJTZW50UnRwU3RyZWFt", + "U3RhdHMSFAoMcGFja2V0c19zZW50GAEgAigEEhIKCmJ5dGVzX3NlbnQYAiAC", + "KAQi0QcKFk91dGJvdW5kUnRwU3RyZWFtU3RhdHMSCwoDbWlkGAEgAigJEhcK", + "D21lZGlhX3NvdXJjZV9pZBgCIAIoCRIRCglyZW1vdGVfaWQYAyACKAkSCwoD", + "cmlkGAQgAigJEhkKEWhlYWRlcl9ieXRlc19zZW50GAUgAigEEiIKGnJldHJh", + "bnNtaXR0ZWRfcGFja2V0c19zZW50GAYgAigEEiAKGHJldHJhbnNtaXR0ZWRf", + "Ynl0ZXNfc2VudBgHIAIoBBIQCghydHhfc3NyYxgIIAIoDRIWCg50YXJnZXRf", + "Yml0cmF0ZRgJIAIoARIiChp0b3RhbF9lbmNvZGVkX2J5dGVzX3RhcmdldBgK", + "IAIoBBITCgtmcmFtZV93aWR0aBgLIAIoDRIUCgxmcmFtZV9oZWlnaHQYDCAC", + "KA0SGQoRZnJhbWVzX3Blcl9zZWNvbmQYDSACKAESEwoLZnJhbWVzX3NlbnQY", + "DiACKA0SGAoQaHVnZV9mcmFtZXNfc2VudBgPIAIoDRIWCg5mcmFtZXNfZW5j", + "b2RlZBgQIAIoDRIaChJrZXlfZnJhbWVzX2VuY29kZWQYESACKA0SDgoGcXBf", + "c3VtGBIgAigEEhkKEXRvdGFsX2VuY29kZV90aW1lGBMgAigBEh8KF3RvdGFs", + "X3BhY2tldF9zZW5kX2RlbGF5GBQgAigBEkkKGXF1YWxpdHlfbGltaXRhdGlv", + "bl9yZWFzb24YFSACKA4yJi5saXZla2l0LnByb3RvLlF1YWxpdHlMaW1pdGF0", + "aW9uUmVhc29uEmsKHHF1YWxpdHlfbGltaXRhdGlvbl9kdXJhdGlvbnMYFiAD", + "KAsyRS5saXZla2l0LnByb3RvLk91dGJvdW5kUnRwU3RyZWFtU3RhdHMuUXVh", + "bGl0eUxpbWl0YXRpb25EdXJhdGlvbnNFbnRyeRItCiVxdWFsaXR5X2xpbWl0", + "YXRpb25fcmVzb2x1dGlvbl9jaGFuZ2VzGBcgAigNEhIKCm5hY2tfY291bnQY", + "GCACKA0SEQoJZmlyX2NvdW50GBkgAigNEhEKCXBsaV9jb3VudBgaIAIoDRIe", + "ChZlbmNvZGVyX2ltcGxlbWVudGF0aW9uGBsgAigJEh8KF3Bvd2VyX2VmZmlj", + "aWVudF9lbmNvZGVyGBwgAigIEg4KBmFjdGl2ZRgdIAIoCBIYChBzY2FsYWJp", + "bGl0eV9tb2RlGB4gAigJGkEKH1F1YWxpdHlMaW1pdGF0aW9uRHVyYXRpb25z", + "RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASKkAQobUmVt", + "b3RlSW5ib3VuZFJ0cFN0cmVhbVN0YXRzEhAKCGxvY2FsX2lkGAEgAigJEhcK", + "D3JvdW5kX3RyaXBfdGltZRgCIAIoARIdChV0b3RhbF9yb3VuZF90cmlwX3Rp", + "bWUYAyACKAESFQoNZnJhY3Rpb25fbG9zdBgEIAIoARIkChxyb3VuZF90cmlw", + "X3RpbWVfbWVhc3VyZW1lbnRzGAUgAigEIr4BChxSZW1vdGVPdXRib3VuZFJ0", + "cFN0cmVhbVN0YXRzEhAKCGxvY2FsX2lkGAEgAigJEhgKEHJlbW90ZV90aW1l", + "c3RhbXAYAiACKAESFAoMcmVwb3J0c19zZW50GAMgAigEEhcKD3JvdW5kX3Ry", + "aXBfdGltZRgEIAIoARIdChV0b3RhbF9yb3VuZF90cmlwX3RpbWUYBSACKAES", + "JAoccm91bmRfdHJpcF90aW1lX21lYXN1cmVtZW50cxgGIAIoBCI6ChBNZWRp", + "YVNvdXJjZVN0YXRzEhgKEHRyYWNrX2lkZW50aWZpZXIYASACKAkSDAoEa2lu", + "ZBgCIAIoCSKiAgoQQXVkaW9Tb3VyY2VTdGF0cxITCgthdWRpb19sZXZlbBgB", + "IAIoARIaChJ0b3RhbF9hdWRpb19lbmVyZ3kYAiACKAESHgoWdG90YWxfc2Ft", + "cGxlc19kdXJhdGlvbhgDIAIoARIYChBlY2hvX3JldHVybl9sb3NzGAQgAigB", + "EiQKHGVjaG9fcmV0dXJuX2xvc3NfZW5oYW5jZW1lbnQYBSACKAESIAoYZHJv", + "cHBlZF9zYW1wbGVzX2R1cmF0aW9uGAYgAigBEh4KFmRyb3BwZWRfc2FtcGxl", + "c19ldmVudHMYByACKA0SGwoTdG90YWxfY2FwdHVyZV9kZWxheRgIIAIoARIe", + "ChZ0b3RhbF9zYW1wbGVzX2NhcHR1cmVkGAkgAigEIlwKEFZpZGVvU291cmNl", + "U3RhdHMSDQoFd2lkdGgYASACKA0SDgoGaGVpZ2h0GAIgAigNEg4KBmZyYW1l", + "cxgDIAIoDRIZChFmcmFtZXNfcGVyX3NlY29uZBgEIAIoASLFAQoRQXVkaW9Q", + "bGF5b3V0U3RhdHMSDAoEa2luZBgBIAIoCRIkChxzeW50aGVzaXplZF9zYW1w", + "bGVzX2R1cmF0aW9uGAIgAigBEiIKGnN5bnRoZXNpemVkX3NhbXBsZXNfZXZl", + "bnRzGAMgAigNEh4KFnRvdGFsX3NhbXBsZXNfZHVyYXRpb24YBCACKAESGwoT", + "dG90YWxfcGxheW91dF9kZWxheRgFIAIoARIbChN0b3RhbF9zYW1wbGVzX2Nv", + "dW50GAYgAigEIlEKE1BlZXJDb25uZWN0aW9uU3RhdHMSHAoUZGF0YV9jaGFu", + "bmVsc19vcGVuZWQYASACKA0SHAoUZGF0YV9jaGFubmVsc19jbG9zZWQYAiAC", + "KA0i4gEKEERhdGFDaGFubmVsU3RhdHMSDQoFbGFiZWwYASACKAkSEAoIcHJv", + "dG9jb2wYAiACKAkSHwoXZGF0YV9jaGFubmVsX2lkZW50aWZpZXIYAyACKAUS", + "LgoFc3RhdGUYBCABKA4yHy5saXZla2l0LnByb3RvLkRhdGFDaGFubmVsU3Rh", + "dGUSFQoNbWVzc2FnZXNfc2VudBgFIAIoDRISCgpieXRlc19zZW50GAYgAigE", + "EhkKEW1lc3NhZ2VzX3JlY2VpdmVkGAcgAigNEhYKDmJ5dGVzX3JlY2VpdmVk", + "GAggAigEIpwECg5UcmFuc3BvcnRTdGF0cxIUCgxwYWNrZXRzX3NlbnQYASAC", + "KAQSGAoQcGFja2V0c19yZWNlaXZlZBgCIAIoBBISCgpieXRlc19zZW50GAMg", + "AigEEhYKDmJ5dGVzX3JlY2VpdmVkGAQgAigEEigKCGljZV9yb2xlGAUgAigO", + "MhYubGl2ZWtpdC5wcm90by5JY2VSb2xlEiMKG2ljZV9sb2NhbF91c2VybmFt", + "ZV9mcmFnbWVudBgGIAIoCRI1CgpkdGxzX3N0YXRlGAcgASgOMiEubGl2ZWtp", + "dC5wcm90by5EdGxzVHJhbnNwb3J0U3RhdGUSMwoJaWNlX3N0YXRlGAggASgO", + "MiAubGl2ZWtpdC5wcm90by5JY2VUcmFuc3BvcnRTdGF0ZRIiChpzZWxlY3Rl", + "ZF9jYW5kaWRhdGVfcGFpcl9pZBgJIAIoCRIcChRsb2NhbF9jZXJ0aWZpY2F0", + "ZV9pZBgKIAIoCRIdChVyZW1vdGVfY2VydGlmaWNhdGVfaWQYCyACKAkSEwoL", + "dGxzX3ZlcnNpb24YDCACKAkSEwoLZHRsc19jaXBoZXIYDSACKAkSKgoJZHRs", + "c19yb2xlGA4gAigOMhcubGl2ZWtpdC5wcm90by5EdGxzUm9sZRITCgtzcnRw", + "X2NpcGhlchgPIAIoCRInCh9zZWxlY3RlZF9jYW5kaWRhdGVfcGFpcl9jaGFu", + "Z2VzGBAgAigNIqQFChJDYW5kaWRhdGVQYWlyU3RhdHMSFAoMdHJhbnNwb3J0", + "X2lkGAEgAigJEhoKEmxvY2FsX2NhbmRpZGF0ZV9pZBgCIAIoCRIbChNyZW1v", + "dGVfY2FuZGlkYXRlX2lkGAMgAigJEjMKBXN0YXRlGAQgASgOMiQubGl2ZWtp", + "dC5wcm90by5JY2VDYW5kaWRhdGVQYWlyU3RhdGUSEQoJbm9taW5hdGVkGAUg", + "AigIEhQKDHBhY2tldHNfc2VudBgGIAIoBBIYChBwYWNrZXRzX3JlY2VpdmVk", + "GAcgAigEEhIKCmJ5dGVzX3NlbnQYCCACKAQSFgoOYnl0ZXNfcmVjZWl2ZWQY", + "CSACKAQSIgoabGFzdF9wYWNrZXRfc2VudF90aW1lc3RhbXAYCiACKAESJgoe", + "bGFzdF9wYWNrZXRfcmVjZWl2ZWRfdGltZXN0YW1wGAsgAigBEh0KFXRvdGFs", + "X3JvdW5kX3RyaXBfdGltZRgMIAIoARIfChdjdXJyZW50X3JvdW5kX3RyaXBf", + "dGltZRgNIAIoARIiChphdmFpbGFibGVfb3V0Z29pbmdfYml0cmF0ZRgOIAIo", + "ARIiChphdmFpbGFibGVfaW5jb21pbmdfYml0cmF0ZRgPIAIoARIZChFyZXF1", + "ZXN0c19yZWNlaXZlZBgQIAIoBBIVCg1yZXF1ZXN0c19zZW50GBEgAigEEhoK", + "EnJlc3BvbnNlc19yZWNlaXZlZBgSIAIoBBIWCg5yZXNwb25zZXNfc2VudBgT", + "IAIoBBIdChVjb25zZW50X3JlcXVlc3RzX3NlbnQYFCACKAQSIQoZcGFja2V0", + "c19kaXNjYXJkZWRfb25fc2VuZBgVIAIoDRIfChdieXRlc19kaXNjYXJkZWRf", + "b25fc2VuZBgWIAIoBCKJAwoRSWNlQ2FuZGlkYXRlU3RhdHMSFAoMdHJhbnNw", + "b3J0X2lkGAEgAigJEg8KB2FkZHJlc3MYAiACKAkSDAoEcG9ydBgDIAIoBRIQ", + "Cghwcm90b2NvbBgEIAIoCRI3Cg5jYW5kaWRhdGVfdHlwZRgFIAEoDjIfLmxp", + "dmVraXQucHJvdG8uSWNlQ2FuZGlkYXRlVHlwZRIQCghwcmlvcml0eRgGIAIo", + "BRILCgN1cmwYByACKAkSQQoOcmVsYXlfcHJvdG9jb2wYCCABKA4yKS5saXZl", + "a2l0LnByb3RvLkljZVNlcnZlclRyYW5zcG9ydFByb3RvY29sEhIKCmZvdW5k", + "YXRpb24YCSACKAkSFwoPcmVsYXRlZF9hZGRyZXNzGAogAigJEhQKDHJlbGF0", + "ZWRfcG9ydBgLIAIoBRIZChF1c2VybmFtZV9mcmFnbWVudBgMIAIoCRI0Cgh0", + "Y3BfdHlwZRgNIAEoDjIiLmxpdmVraXQucHJvdG8uSWNlVGNwQ2FuZGlkYXRl", + "VHlwZSKBAQoQQ2VydGlmaWNhdGVTdGF0cxITCgtmaW5nZXJwcmludBgBIAIo", + "CRIdChVmaW5nZXJwcmludF9hbGdvcml0aG0YAiACKAkSGgoSYmFzZTY0X2Nl", + "cnRpZmljYXRlGAMgAigJEh0KFWlzc3Vlcl9jZXJ0aWZpY2F0ZV9pZBgEIAIo", + "CSI0CgtTdHJlYW1TdGF0cxIKCgJpZBgBIAIoCRIZChFzdHJlYW1faWRlbnRp", + "ZmllchgCIAIoCSpRChBEYXRhQ2hhbm5lbFN0YXRlEhEKDURDX0NPTk5FQ1RJ", + "TkcQABILCgdEQ19PUEVOEAESDgoKRENfQ0xPU0lORxACEg0KCURDX0NMT1NF", + "RBADKnIKF1F1YWxpdHlMaW1pdGF0aW9uUmVhc29uEhMKD0xJTUlUQVRJT05f", + "Tk9ORRAAEhIKDkxJTUlUQVRJT05fQ1BVEAESGAoUTElNSVRBVElPTl9CQU5E", + "V0lEVEgQAhIUChBMSU1JVEFUSU9OX09USEVSEAMqQwoHSWNlUm9sZRIPCgtJ", + "Q0VfVU5LTk9XThAAEhMKD0lDRV9DT05UUk9MTElORxABEhIKDklDRV9DT05U", + "Uk9MTEVEEAIqnwEKEkR0bHNUcmFuc3BvcnRTdGF0ZRIWChJEVExTX1RSQU5T", + "UE9SVF9ORVcQABIdChlEVExTX1RSQU5TUE9SVF9DT05ORUNUSU5HEAESHAoY", + "RFRMU19UUkFOU1BPUlRfQ09OTkVDVEVEEAISGQoVRFRMU19UUkFOU1BPUlRf", + "Q0xPU0VEEAMSGQoVRFRMU19UUkFOU1BPUlRfRkFJTEVEEAQq1AEKEUljZVRy", + "YW5zcG9ydFN0YXRlEhUKEUlDRV9UUkFOU1BPUlRfTkVXEAASGgoWSUNFX1RS", + "QU5TUE9SVF9DSEVDS0lORxABEhsKF0lDRV9UUkFOU1BPUlRfQ09OTkVDVEVE", + "EAISGwoXSUNFX1RSQU5TUE9SVF9DT01QTEVURUQQAxIeChpJQ0VfVFJBTlNQ", + "T1JUX0RJU0NPTk5FQ1RFRBAEEhgKFElDRV9UUkFOU1BPUlRfRkFJTEVEEAUS", + "GAoUSUNFX1RSQU5TUE9SVF9DTE9TRUQQBio+CghEdGxzUm9sZRIPCgtEVExT", + "X0NMSUVOVBAAEg8KC0RUTFNfU0VSVkVSEAESEAoMRFRMU19VTktOT1dOEAIq", + "dQoVSWNlQ2FuZGlkYXRlUGFpclN0YXRlEg8KC1BBSVJfRlJPWkVOEAASEAoM", + "UEFJUl9XQUlUSU5HEAESFAoQUEFJUl9JTl9QUk9HUkVTUxACEg8KC1BBSVJf", + "RkFJTEVEEAMSEgoOUEFJUl9TVUNDRUVERUQQBCo9ChBJY2VDYW5kaWRhdGVU", + "eXBlEggKBEhPU1QQABIJCgVTUkZMWBABEgkKBVBSRkxYEAISCQoFUkVMQVkQ", + "AypVChpJY2VTZXJ2ZXJUcmFuc3BvcnRQcm90b2NvbBIRCg1UUkFOU1BPUlRf", + "VURQEAASEQoNVFJBTlNQT1JUX1RDUBABEhEKDVRSQU5TUE9SVF9UTFMQAipU", + "ChNJY2VUY3BDYW5kaWRhdGVUeXBlEhQKEENBTkRJREFURV9BQ1RJVkUQABIV", + "ChFDQU5ESURBVEVfUEFTU0lWRRABEhAKDENBTkRJREFURV9TTxACQhCqAg1M", + "aXZlS2l0LlByb3Rv")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.DataChannelState), typeof(global::LiveKit.Proto.QualityLimitationReason), typeof(global::LiveKit.Proto.IceRole), typeof(global::LiveKit.Proto.DtlsTransportState), typeof(global::LiveKit.Proto.IceTransportState), typeof(global::LiveKit.Proto.DtlsRole), typeof(global::LiveKit.Proto.IceCandidatePairState), typeof(global::LiveKit.Proto.IceCandidateType), typeof(global::LiveKit.Proto.IceServerTransportProtocol), typeof(global::LiveKit.Proto.IceTcpCandidateType), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats), global::LiveKit.Proto.RtcStats.Parser, new[]{ "Codec", "InboundRtp", "OutboundRtp", "RemoteInboundRtp", "RemoteOutboundRtp", "MediaSource", "MediaPlayout", "PeerConnection", "DataChannel", "Transport", "CandidatePair", "LocalCandidate", "RemoteCandidate", "Certificate", "Stream", "Track" }, new[]{ "Stats" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.Codec), global::LiveKit.Proto.RtcStats.Types.Codec.Parser, new[]{ "Rtc", "Codec_" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.InboundRtp), global::LiveKit.Proto.RtcStats.Types.InboundRtp.Parser, new[]{ "Rtc", "Stream", "Received", "Inbound" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.OutboundRtp), global::LiveKit.Proto.RtcStats.Types.OutboundRtp.Parser, new[]{ "Rtc", "Stream", "Sent", "Outbound" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp), global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp.Parser, new[]{ "Rtc", "Stream", "Received", "RemoteInbound" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp), global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp.Parser, new[]{ "Rtc", "Stream", "Sent", "RemoteOutbound" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.MediaSource), global::LiveKit.Proto.RtcStats.Types.MediaSource.Parser, new[]{ "Rtc", "Source", "Audio", "Video" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.MediaPlayout), global::LiveKit.Proto.RtcStats.Types.MediaPlayout.Parser, new[]{ "Rtc", "AudioPlayout" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.PeerConnection), global::LiveKit.Proto.RtcStats.Types.PeerConnection.Parser, new[]{ "Rtc", "Pc" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.DataChannel), global::LiveKit.Proto.RtcStats.Types.DataChannel.Parser, new[]{ "Rtc", "Dc" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.Transport), global::LiveKit.Proto.RtcStats.Types.Transport.Parser, new[]{ "Rtc", "Transport_" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.CandidatePair), global::LiveKit.Proto.RtcStats.Types.CandidatePair.Parser, new[]{ "Rtc", "CandidatePair_" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.LocalCandidate), global::LiveKit.Proto.RtcStats.Types.LocalCandidate.Parser, new[]{ "Rtc", "Candidate" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.RemoteCandidate), global::LiveKit.Proto.RtcStats.Types.RemoteCandidate.Parser, new[]{ "Rtc", "Candidate" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.Certificate), global::LiveKit.Proto.RtcStats.Types.Certificate.Parser, new[]{ "Rtc", "Certificate_" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.Stream), global::LiveKit.Proto.RtcStats.Types.Stream.Parser, new[]{ "Rtc", "Stream_" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStats.Types.Track), global::LiveKit.Proto.RtcStats.Types.Track.Parser, null, null, null, null, null)}), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtcStatsData), global::LiveKit.Proto.RtcStatsData.Parser, new[]{ "Id", "Timestamp" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CodecStats), global::LiveKit.Proto.CodecStats.Parser, new[]{ "PayloadType", "TransportId", "MimeType", "ClockRate", "Channels", "SdpFmtpLine" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RtpStreamStats), global::LiveKit.Proto.RtpStreamStats.Parser, new[]{ "Ssrc", "Kind", "TransportId", "CodecId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ReceivedRtpStreamStats), global::LiveKit.Proto.ReceivedRtpStreamStats.Parser, new[]{ "PacketsReceived", "PacketsLost", "Jitter" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.InboundRtpStreamStats), global::LiveKit.Proto.InboundRtpStreamStats.Parser, new[]{ "TrackIdentifier", "Mid", "RemoteId", "FramesDecoded", "KeyFramesDecoded", "FramesRendered", "FramesDropped", "FrameWidth", "FrameHeight", "FramesPerSecond", "QpSum", "TotalDecodeTime", "TotalInterFrameDelay", "TotalSquaredInterFrameDelay", "PauseCount", "TotalPauseDuration", "FreezeCount", "TotalFreezeDuration", "LastPacketReceivedTimestamp", "HeaderBytesReceived", "PacketsDiscarded", "FecBytesReceived", "FecPacketsReceived", "FecPacketsDiscarded", "BytesReceived", "NackCount", "FirCount", "PliCount", "TotalProcessingDelay", "EstimatedPlayoutTimestamp", "JitterBufferDelay", "JitterBufferTargetDelay", "JitterBufferEmittedCount", "JitterBufferMinimumDelay", "TotalSamplesReceived", "ConcealedSamples", "SilentConcealedSamples", "ConcealmentEvents", "InsertedSamplesForDeceleration", "RemovedSamplesForAcceleration", "AudioLevel", "TotalAudioEnergy", "TotalSamplesDuration", "FramesReceived", "DecoderImplementation", "PlayoutId", "PowerEfficientDecoder", "FramesAssembledFromMultiplePackets", "TotalAssemblyTime", "RetransmittedPacketsReceived", "RetransmittedBytesReceived", "RtxSsrc", "FecSsrc" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SentRtpStreamStats), global::LiveKit.Proto.SentRtpStreamStats.Parser, new[]{ "PacketsSent", "BytesSent" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OutboundRtpStreamStats), global::LiveKit.Proto.OutboundRtpStreamStats.Parser, new[]{ "Mid", "MediaSourceId", "RemoteId", "Rid", "HeaderBytesSent", "RetransmittedPacketsSent", "RetransmittedBytesSent", "RtxSsrc", "TargetBitrate", "TotalEncodedBytesTarget", "FrameWidth", "FrameHeight", "FramesPerSecond", "FramesSent", "HugeFramesSent", "FramesEncoded", "KeyFramesEncoded", "QpSum", "TotalEncodeTime", "TotalPacketSendDelay", "QualityLimitationReason", "QualityLimitationDurations", "QualityLimitationResolutionChanges", "NackCount", "FirCount", "PliCount", "EncoderImplementation", "PowerEfficientEncoder", "Active", "ScalabilityMode" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteInboundRtpStreamStats), global::LiveKit.Proto.RemoteInboundRtpStreamStats.Parser, new[]{ "LocalId", "RoundTripTime", "TotalRoundTripTime", "FractionLost", "RoundTripTimeMeasurements" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteOutboundRtpStreamStats), global::LiveKit.Proto.RemoteOutboundRtpStreamStats.Parser, new[]{ "LocalId", "RemoteTimestamp", "ReportsSent", "RoundTripTime", "TotalRoundTripTime", "RoundTripTimeMeasurements" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.MediaSourceStats), global::LiveKit.Proto.MediaSourceStats.Parser, new[]{ "TrackIdentifier", "Kind" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioSourceStats), global::LiveKit.Proto.AudioSourceStats.Parser, new[]{ "AudioLevel", "TotalAudioEnergy", "TotalSamplesDuration", "EchoReturnLoss", "EchoReturnLossEnhancement", "DroppedSamplesDuration", "DroppedSamplesEvents", "TotalCaptureDelay", "TotalSamplesCaptured" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoSourceStats), global::LiveKit.Proto.VideoSourceStats.Parser, new[]{ "Width", "Height", "Frames", "FramesPerSecond" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioPlayoutStats), global::LiveKit.Proto.AudioPlayoutStats.Parser, new[]{ "Kind", "SynthesizedSamplesDuration", "SynthesizedSamplesEvents", "TotalSamplesDuration", "TotalPlayoutDelay", "TotalSamplesCount" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PeerConnectionStats), global::LiveKit.Proto.PeerConnectionStats.Parser, new[]{ "DataChannelsOpened", "DataChannelsClosed" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataChannelStats), global::LiveKit.Proto.DataChannelStats.Parser, new[]{ "Label", "Protocol", "DataChannelIdentifier", "State", "MessagesSent", "BytesSent", "MessagesReceived", "BytesReceived" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TransportStats), global::LiveKit.Proto.TransportStats.Parser, new[]{ "PacketsSent", "PacketsReceived", "BytesSent", "BytesReceived", "IceRole", "IceLocalUsernameFragment", "DtlsState", "IceState", "SelectedCandidatePairId", "LocalCertificateId", "RemoteCertificateId", "TlsVersion", "DtlsCipher", "DtlsRole", "SrtpCipher", "SelectedCandidatePairChanges" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CandidatePairStats), global::LiveKit.Proto.CandidatePairStats.Parser, new[]{ "TransportId", "LocalCandidateId", "RemoteCandidateId", "State", "Nominated", "PacketsSent", "PacketsReceived", "BytesSent", "BytesReceived", "LastPacketSentTimestamp", "LastPacketReceivedTimestamp", "TotalRoundTripTime", "CurrentRoundTripTime", "AvailableOutgoingBitrate", "AvailableIncomingBitrate", "RequestsReceived", "RequestsSent", "ResponsesReceived", "ResponsesSent", "ConsentRequestsSent", "PacketsDiscardedOnSend", "BytesDiscardedOnSend" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.IceCandidateStats), global::LiveKit.Proto.IceCandidateStats.Parser, new[]{ "TransportId", "Address", "Port", "Protocol", "CandidateType", "Priority", "Url", "RelayProtocol", "Foundation", "RelatedAddress", "RelatedPort", "UsernameFragment", "TcpType" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CertificateStats), global::LiveKit.Proto.CertificateStats.Parser, new[]{ "Fingerprint", "FingerprintAlgorithm", "Base64Certificate", "IssuerCertificateId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamStats), global::LiveKit.Proto.StreamStats.Parser, new[]{ "Id", "StreamIdentifier" }, null, null, null, null) + })); + } + #endregion + + } + #region Enums + public enum DataChannelState { + [pbr::OriginalName("DC_CONNECTING")] DcConnecting = 0, + [pbr::OriginalName("DC_OPEN")] DcOpen = 1, + [pbr::OriginalName("DC_CLOSING")] DcClosing = 2, + [pbr::OriginalName("DC_CLOSED")] DcClosed = 3, + } + + public enum QualityLimitationReason { + [pbr::OriginalName("LIMITATION_NONE")] LimitationNone = 0, + [pbr::OriginalName("LIMITATION_CPU")] LimitationCpu = 1, + [pbr::OriginalName("LIMITATION_BANDWIDTH")] LimitationBandwidth = 2, + [pbr::OriginalName("LIMITATION_OTHER")] LimitationOther = 3, + } + + public enum IceRole { + [pbr::OriginalName("ICE_UNKNOWN")] IceUnknown = 0, + [pbr::OriginalName("ICE_CONTROLLING")] IceControlling = 1, + [pbr::OriginalName("ICE_CONTROLLED")] IceControlled = 2, + } + + public enum DtlsTransportState { + [pbr::OriginalName("DTLS_TRANSPORT_NEW")] DtlsTransportNew = 0, + [pbr::OriginalName("DTLS_TRANSPORT_CONNECTING")] DtlsTransportConnecting = 1, + [pbr::OriginalName("DTLS_TRANSPORT_CONNECTED")] DtlsTransportConnected = 2, + [pbr::OriginalName("DTLS_TRANSPORT_CLOSED")] DtlsTransportClosed = 3, + [pbr::OriginalName("DTLS_TRANSPORT_FAILED")] DtlsTransportFailed = 4, + } + + public enum IceTransportState { + [pbr::OriginalName("ICE_TRANSPORT_NEW")] IceTransportNew = 0, + [pbr::OriginalName("ICE_TRANSPORT_CHECKING")] IceTransportChecking = 1, + [pbr::OriginalName("ICE_TRANSPORT_CONNECTED")] IceTransportConnected = 2, + [pbr::OriginalName("ICE_TRANSPORT_COMPLETED")] IceTransportCompleted = 3, + [pbr::OriginalName("ICE_TRANSPORT_DISCONNECTED")] IceTransportDisconnected = 4, + [pbr::OriginalName("ICE_TRANSPORT_FAILED")] IceTransportFailed = 5, + [pbr::OriginalName("ICE_TRANSPORT_CLOSED")] IceTransportClosed = 6, + } + + public enum DtlsRole { + [pbr::OriginalName("DTLS_CLIENT")] DtlsClient = 0, + [pbr::OriginalName("DTLS_SERVER")] DtlsServer = 1, + [pbr::OriginalName("DTLS_UNKNOWN")] DtlsUnknown = 2, + } + + public enum IceCandidatePairState { + [pbr::OriginalName("PAIR_FROZEN")] PairFrozen = 0, + [pbr::OriginalName("PAIR_WAITING")] PairWaiting = 1, + [pbr::OriginalName("PAIR_IN_PROGRESS")] PairInProgress = 2, + [pbr::OriginalName("PAIR_FAILED")] PairFailed = 3, + [pbr::OriginalName("PAIR_SUCCEEDED")] PairSucceeded = 4, + } + + public enum IceCandidateType { + [pbr::OriginalName("HOST")] Host = 0, + [pbr::OriginalName("SRFLX")] Srflx = 1, + [pbr::OriginalName("PRFLX")] Prflx = 2, + [pbr::OriginalName("RELAY")] Relay = 3, + } + + public enum IceServerTransportProtocol { + [pbr::OriginalName("TRANSPORT_UDP")] TransportUdp = 0, + [pbr::OriginalName("TRANSPORT_TCP")] TransportTcp = 1, + [pbr::OriginalName("TRANSPORT_TLS")] TransportTls = 2, + } + + public enum IceTcpCandidateType { + [pbr::OriginalName("CANDIDATE_ACTIVE")] CandidateActive = 0, + [pbr::OriginalName("CANDIDATE_PASSIVE")] CandidatePassive = 1, + [pbr::OriginalName("CANDIDATE_SO")] CandidateSo = 2, + } + + #endregion + + #region Messages + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RtcStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RtcStats()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcStats(RtcStats other) : this() { + switch (other.StatsCase) { + case StatsOneofCase.Codec: + Codec = other.Codec.Clone(); + break; + case StatsOneofCase.InboundRtp: + InboundRtp = other.InboundRtp.Clone(); + break; + case StatsOneofCase.OutboundRtp: + OutboundRtp = other.OutboundRtp.Clone(); + break; + case StatsOneofCase.RemoteInboundRtp: + RemoteInboundRtp = other.RemoteInboundRtp.Clone(); + break; + case StatsOneofCase.RemoteOutboundRtp: + RemoteOutboundRtp = other.RemoteOutboundRtp.Clone(); + break; + case StatsOneofCase.MediaSource: + MediaSource = other.MediaSource.Clone(); + break; + case StatsOneofCase.MediaPlayout: + MediaPlayout = other.MediaPlayout.Clone(); + break; + case StatsOneofCase.PeerConnection: + PeerConnection = other.PeerConnection.Clone(); + break; + case StatsOneofCase.DataChannel: + DataChannel = other.DataChannel.Clone(); + break; + case StatsOneofCase.Transport: + Transport = other.Transport.Clone(); + break; + case StatsOneofCase.CandidatePair: + CandidatePair = other.CandidatePair.Clone(); + break; + case StatsOneofCase.LocalCandidate: + LocalCandidate = other.LocalCandidate.Clone(); + break; + case StatsOneofCase.RemoteCandidate: + RemoteCandidate = other.RemoteCandidate.Clone(); + break; + case StatsOneofCase.Certificate: + Certificate = other.Certificate.Clone(); + break; + case StatsOneofCase.Stream: + Stream = other.Stream.Clone(); + break; + case StatsOneofCase.Track: + Track = other.Track.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcStats Clone() { + return new RtcStats(this); + } + + /// Field number for the "codec" field. + public const int CodecFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.Codec Codec { + get { return statsCase_ == StatsOneofCase.Codec ? (global::LiveKit.Proto.RtcStats.Types.Codec) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.Codec; + } + } + + /// Field number for the "inbound_rtp" field. + public const int InboundRtpFieldNumber = 4; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.InboundRtp InboundRtp { + get { return statsCase_ == StatsOneofCase.InboundRtp ? (global::LiveKit.Proto.RtcStats.Types.InboundRtp) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.InboundRtp; + } + } + + /// Field number for the "outbound_rtp" field. + public const int OutboundRtpFieldNumber = 5; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.OutboundRtp OutboundRtp { + get { return statsCase_ == StatsOneofCase.OutboundRtp ? (global::LiveKit.Proto.RtcStats.Types.OutboundRtp) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.OutboundRtp; + } + } + + /// Field number for the "remote_inbound_rtp" field. + public const int RemoteInboundRtpFieldNumber = 6; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp RemoteInboundRtp { + get { return statsCase_ == StatsOneofCase.RemoteInboundRtp ? (global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.RemoteInboundRtp; + } + } + + /// Field number for the "remote_outbound_rtp" field. + public const int RemoteOutboundRtpFieldNumber = 7; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp RemoteOutboundRtp { + get { return statsCase_ == StatsOneofCase.RemoteOutboundRtp ? (global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.RemoteOutboundRtp; + } + } + + /// Field number for the "media_source" field. + public const int MediaSourceFieldNumber = 8; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.MediaSource MediaSource { + get { return statsCase_ == StatsOneofCase.MediaSource ? (global::LiveKit.Proto.RtcStats.Types.MediaSource) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.MediaSource; + } + } + + /// Field number for the "media_playout" field. + public const int MediaPlayoutFieldNumber = 9; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.MediaPlayout MediaPlayout { + get { return statsCase_ == StatsOneofCase.MediaPlayout ? (global::LiveKit.Proto.RtcStats.Types.MediaPlayout) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.MediaPlayout; + } + } + + /// Field number for the "peer_connection" field. + public const int PeerConnectionFieldNumber = 10; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.PeerConnection PeerConnection { + get { return statsCase_ == StatsOneofCase.PeerConnection ? (global::LiveKit.Proto.RtcStats.Types.PeerConnection) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.PeerConnection; + } + } + + /// Field number for the "data_channel" field. + public const int DataChannelFieldNumber = 11; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.DataChannel DataChannel { + get { return statsCase_ == StatsOneofCase.DataChannel ? (global::LiveKit.Proto.RtcStats.Types.DataChannel) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.DataChannel; + } + } + + /// Field number for the "transport" field. + public const int TransportFieldNumber = 12; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.Transport Transport { + get { return statsCase_ == StatsOneofCase.Transport ? (global::LiveKit.Proto.RtcStats.Types.Transport) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.Transport; + } + } + + /// Field number for the "candidate_pair" field. + public const int CandidatePairFieldNumber = 13; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.CandidatePair CandidatePair { + get { return statsCase_ == StatsOneofCase.CandidatePair ? (global::LiveKit.Proto.RtcStats.Types.CandidatePair) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.CandidatePair; + } + } + + /// Field number for the "local_candidate" field. + public const int LocalCandidateFieldNumber = 14; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.LocalCandidate LocalCandidate { + get { return statsCase_ == StatsOneofCase.LocalCandidate ? (global::LiveKit.Proto.RtcStats.Types.LocalCandidate) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.LocalCandidate; + } + } + + /// Field number for the "remote_candidate" field. + public const int RemoteCandidateFieldNumber = 15; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.RemoteCandidate RemoteCandidate { + get { return statsCase_ == StatsOneofCase.RemoteCandidate ? (global::LiveKit.Proto.RtcStats.Types.RemoteCandidate) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.RemoteCandidate; + } + } + + /// Field number for the "certificate" field. + public const int CertificateFieldNumber = 16; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.Certificate Certificate { + get { return statsCase_ == StatsOneofCase.Certificate ? (global::LiveKit.Proto.RtcStats.Types.Certificate) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.Certificate; + } + } + + /// Field number for the "stream" field. + public const int StreamFieldNumber = 17; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.Stream Stream { + get { return statsCase_ == StatsOneofCase.Stream ? (global::LiveKit.Proto.RtcStats.Types.Stream) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.Stream; + } + } + + /// Field number for the "track" field. + public const int TrackFieldNumber = 18; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStats.Types.Track Track { + get { return statsCase_ == StatsOneofCase.Track ? (global::LiveKit.Proto.RtcStats.Types.Track) stats_ : null; } + set { + stats_ = value; + statsCase_ = value == null ? StatsOneofCase.None : StatsOneofCase.Track; + } + } + + private object stats_; + /// Enum of possible cases for the "stats" oneof. + public enum StatsOneofCase { + None = 0, + Codec = 3, + InboundRtp = 4, + OutboundRtp = 5, + RemoteInboundRtp = 6, + RemoteOutboundRtp = 7, + MediaSource = 8, + MediaPlayout = 9, + PeerConnection = 10, + DataChannel = 11, + Transport = 12, + CandidatePair = 13, + LocalCandidate = 14, + RemoteCandidate = 15, + Certificate = 16, + Stream = 17, + Track = 18, + } + private StatsOneofCase statsCase_ = StatsOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StatsOneofCase StatsCase { + get { return statsCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStats() { + statsCase_ = StatsOneofCase.None; + stats_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RtcStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RtcStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Codec, other.Codec)) return false; + if (!object.Equals(InboundRtp, other.InboundRtp)) return false; + if (!object.Equals(OutboundRtp, other.OutboundRtp)) return false; + if (!object.Equals(RemoteInboundRtp, other.RemoteInboundRtp)) return false; + if (!object.Equals(RemoteOutboundRtp, other.RemoteOutboundRtp)) return false; + if (!object.Equals(MediaSource, other.MediaSource)) return false; + if (!object.Equals(MediaPlayout, other.MediaPlayout)) return false; + if (!object.Equals(PeerConnection, other.PeerConnection)) return false; + if (!object.Equals(DataChannel, other.DataChannel)) return false; + if (!object.Equals(Transport, other.Transport)) return false; + if (!object.Equals(CandidatePair, other.CandidatePair)) return false; + if (!object.Equals(LocalCandidate, other.LocalCandidate)) return false; + if (!object.Equals(RemoteCandidate, other.RemoteCandidate)) return false; + if (!object.Equals(Certificate, other.Certificate)) return false; + if (!object.Equals(Stream, other.Stream)) return false; + if (!object.Equals(Track, other.Track)) return false; + if (StatsCase != other.StatsCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (statsCase_ == StatsOneofCase.Codec) hash ^= Codec.GetHashCode(); + if (statsCase_ == StatsOneofCase.InboundRtp) hash ^= InboundRtp.GetHashCode(); + if (statsCase_ == StatsOneofCase.OutboundRtp) hash ^= OutboundRtp.GetHashCode(); + if (statsCase_ == StatsOneofCase.RemoteInboundRtp) hash ^= RemoteInboundRtp.GetHashCode(); + if (statsCase_ == StatsOneofCase.RemoteOutboundRtp) hash ^= RemoteOutboundRtp.GetHashCode(); + if (statsCase_ == StatsOneofCase.MediaSource) hash ^= MediaSource.GetHashCode(); + if (statsCase_ == StatsOneofCase.MediaPlayout) hash ^= MediaPlayout.GetHashCode(); + if (statsCase_ == StatsOneofCase.PeerConnection) hash ^= PeerConnection.GetHashCode(); + if (statsCase_ == StatsOneofCase.DataChannel) hash ^= DataChannel.GetHashCode(); + if (statsCase_ == StatsOneofCase.Transport) hash ^= Transport.GetHashCode(); + if (statsCase_ == StatsOneofCase.CandidatePair) hash ^= CandidatePair.GetHashCode(); + if (statsCase_ == StatsOneofCase.LocalCandidate) hash ^= LocalCandidate.GetHashCode(); + if (statsCase_ == StatsOneofCase.RemoteCandidate) hash ^= RemoteCandidate.GetHashCode(); + if (statsCase_ == StatsOneofCase.Certificate) hash ^= Certificate.GetHashCode(); + if (statsCase_ == StatsOneofCase.Stream) hash ^= Stream.GetHashCode(); + if (statsCase_ == StatsOneofCase.Track) hash ^= Track.GetHashCode(); + hash ^= (int) statsCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (statsCase_ == StatsOneofCase.Codec) { + output.WriteRawTag(26); + output.WriteMessage(Codec); + } + if (statsCase_ == StatsOneofCase.InboundRtp) { + output.WriteRawTag(34); + output.WriteMessage(InboundRtp); + } + if (statsCase_ == StatsOneofCase.OutboundRtp) { + output.WriteRawTag(42); + output.WriteMessage(OutboundRtp); + } + if (statsCase_ == StatsOneofCase.RemoteInboundRtp) { + output.WriteRawTag(50); + output.WriteMessage(RemoteInboundRtp); + } + if (statsCase_ == StatsOneofCase.RemoteOutboundRtp) { + output.WriteRawTag(58); + output.WriteMessage(RemoteOutboundRtp); + } + if (statsCase_ == StatsOneofCase.MediaSource) { + output.WriteRawTag(66); + output.WriteMessage(MediaSource); + } + if (statsCase_ == StatsOneofCase.MediaPlayout) { + output.WriteRawTag(74); + output.WriteMessage(MediaPlayout); + } + if (statsCase_ == StatsOneofCase.PeerConnection) { + output.WriteRawTag(82); + output.WriteMessage(PeerConnection); + } + if (statsCase_ == StatsOneofCase.DataChannel) { + output.WriteRawTag(90); + output.WriteMessage(DataChannel); + } + if (statsCase_ == StatsOneofCase.Transport) { + output.WriteRawTag(98); + output.WriteMessage(Transport); + } + if (statsCase_ == StatsOneofCase.CandidatePair) { + output.WriteRawTag(106); + output.WriteMessage(CandidatePair); + } + if (statsCase_ == StatsOneofCase.LocalCandidate) { + output.WriteRawTag(114); + output.WriteMessage(LocalCandidate); + } + if (statsCase_ == StatsOneofCase.RemoteCandidate) { + output.WriteRawTag(122); + output.WriteMessage(RemoteCandidate); + } + if (statsCase_ == StatsOneofCase.Certificate) { + output.WriteRawTag(130, 1); + output.WriteMessage(Certificate); + } + if (statsCase_ == StatsOneofCase.Stream) { + output.WriteRawTag(138, 1); + output.WriteMessage(Stream); + } + if (statsCase_ == StatsOneofCase.Track) { + output.WriteRawTag(146, 1); + output.WriteMessage(Track); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (statsCase_ == StatsOneofCase.Codec) { + output.WriteRawTag(26); + output.WriteMessage(Codec); + } + if (statsCase_ == StatsOneofCase.InboundRtp) { + output.WriteRawTag(34); + output.WriteMessage(InboundRtp); + } + if (statsCase_ == StatsOneofCase.OutboundRtp) { + output.WriteRawTag(42); + output.WriteMessage(OutboundRtp); + } + if (statsCase_ == StatsOneofCase.RemoteInboundRtp) { + output.WriteRawTag(50); + output.WriteMessage(RemoteInboundRtp); + } + if (statsCase_ == StatsOneofCase.RemoteOutboundRtp) { + output.WriteRawTag(58); + output.WriteMessage(RemoteOutboundRtp); + } + if (statsCase_ == StatsOneofCase.MediaSource) { + output.WriteRawTag(66); + output.WriteMessage(MediaSource); + } + if (statsCase_ == StatsOneofCase.MediaPlayout) { + output.WriteRawTag(74); + output.WriteMessage(MediaPlayout); + } + if (statsCase_ == StatsOneofCase.PeerConnection) { + output.WriteRawTag(82); + output.WriteMessage(PeerConnection); + } + if (statsCase_ == StatsOneofCase.DataChannel) { + output.WriteRawTag(90); + output.WriteMessage(DataChannel); + } + if (statsCase_ == StatsOneofCase.Transport) { + output.WriteRawTag(98); + output.WriteMessage(Transport); + } + if (statsCase_ == StatsOneofCase.CandidatePair) { + output.WriteRawTag(106); + output.WriteMessage(CandidatePair); + } + if (statsCase_ == StatsOneofCase.LocalCandidate) { + output.WriteRawTag(114); + output.WriteMessage(LocalCandidate); + } + if (statsCase_ == StatsOneofCase.RemoteCandidate) { + output.WriteRawTag(122); + output.WriteMessage(RemoteCandidate); + } + if (statsCase_ == StatsOneofCase.Certificate) { + output.WriteRawTag(130, 1); + output.WriteMessage(Certificate); + } + if (statsCase_ == StatsOneofCase.Stream) { + output.WriteRawTag(138, 1); + output.WriteMessage(Stream); + } + if (statsCase_ == StatsOneofCase.Track) { + output.WriteRawTag(146, 1); + output.WriteMessage(Track); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (statsCase_ == StatsOneofCase.Codec) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Codec); + } + if (statsCase_ == StatsOneofCase.InboundRtp) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(InboundRtp); + } + if (statsCase_ == StatsOneofCase.OutboundRtp) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(OutboundRtp); + } + if (statsCase_ == StatsOneofCase.RemoteInboundRtp) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemoteInboundRtp); + } + if (statsCase_ == StatsOneofCase.RemoteOutboundRtp) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemoteOutboundRtp); + } + if (statsCase_ == StatsOneofCase.MediaSource) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(MediaSource); + } + if (statsCase_ == StatsOneofCase.MediaPlayout) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(MediaPlayout); + } + if (statsCase_ == StatsOneofCase.PeerConnection) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(PeerConnection); + } + if (statsCase_ == StatsOneofCase.DataChannel) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(DataChannel); + } + if (statsCase_ == StatsOneofCase.Transport) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Transport); + } + if (statsCase_ == StatsOneofCase.CandidatePair) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CandidatePair); + } + if (statsCase_ == StatsOneofCase.LocalCandidate) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalCandidate); + } + if (statsCase_ == StatsOneofCase.RemoteCandidate) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemoteCandidate); + } + if (statsCase_ == StatsOneofCase.Certificate) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Certificate); + } + if (statsCase_ == StatsOneofCase.Stream) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Stream); + } + if (statsCase_ == StatsOneofCase.Track) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(Track); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RtcStats other) { + if (other == null) { + return; + } + switch (other.StatsCase) { + case StatsOneofCase.Codec: + if (Codec == null) { + Codec = new global::LiveKit.Proto.RtcStats.Types.Codec(); + } + Codec.MergeFrom(other.Codec); + break; + case StatsOneofCase.InboundRtp: + if (InboundRtp == null) { + InboundRtp = new global::LiveKit.Proto.RtcStats.Types.InboundRtp(); + } + InboundRtp.MergeFrom(other.InboundRtp); + break; + case StatsOneofCase.OutboundRtp: + if (OutboundRtp == null) { + OutboundRtp = new global::LiveKit.Proto.RtcStats.Types.OutboundRtp(); + } + OutboundRtp.MergeFrom(other.OutboundRtp); + break; + case StatsOneofCase.RemoteInboundRtp: + if (RemoteInboundRtp == null) { + RemoteInboundRtp = new global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp(); + } + RemoteInboundRtp.MergeFrom(other.RemoteInboundRtp); + break; + case StatsOneofCase.RemoteOutboundRtp: + if (RemoteOutboundRtp == null) { + RemoteOutboundRtp = new global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp(); + } + RemoteOutboundRtp.MergeFrom(other.RemoteOutboundRtp); + break; + case StatsOneofCase.MediaSource: + if (MediaSource == null) { + MediaSource = new global::LiveKit.Proto.RtcStats.Types.MediaSource(); + } + MediaSource.MergeFrom(other.MediaSource); + break; + case StatsOneofCase.MediaPlayout: + if (MediaPlayout == null) { + MediaPlayout = new global::LiveKit.Proto.RtcStats.Types.MediaPlayout(); + } + MediaPlayout.MergeFrom(other.MediaPlayout); + break; + case StatsOneofCase.PeerConnection: + if (PeerConnection == null) { + PeerConnection = new global::LiveKit.Proto.RtcStats.Types.PeerConnection(); + } + PeerConnection.MergeFrom(other.PeerConnection); + break; + case StatsOneofCase.DataChannel: + if (DataChannel == null) { + DataChannel = new global::LiveKit.Proto.RtcStats.Types.DataChannel(); + } + DataChannel.MergeFrom(other.DataChannel); + break; + case StatsOneofCase.Transport: + if (Transport == null) { + Transport = new global::LiveKit.Proto.RtcStats.Types.Transport(); + } + Transport.MergeFrom(other.Transport); + break; + case StatsOneofCase.CandidatePair: + if (CandidatePair == null) { + CandidatePair = new global::LiveKit.Proto.RtcStats.Types.CandidatePair(); + } + CandidatePair.MergeFrom(other.CandidatePair); + break; + case StatsOneofCase.LocalCandidate: + if (LocalCandidate == null) { + LocalCandidate = new global::LiveKit.Proto.RtcStats.Types.LocalCandidate(); + } + LocalCandidate.MergeFrom(other.LocalCandidate); + break; + case StatsOneofCase.RemoteCandidate: + if (RemoteCandidate == null) { + RemoteCandidate = new global::LiveKit.Proto.RtcStats.Types.RemoteCandidate(); + } + RemoteCandidate.MergeFrom(other.RemoteCandidate); + break; + case StatsOneofCase.Certificate: + if (Certificate == null) { + Certificate = new global::LiveKit.Proto.RtcStats.Types.Certificate(); + } + Certificate.MergeFrom(other.Certificate); + break; + case StatsOneofCase.Stream: + if (Stream == null) { + Stream = new global::LiveKit.Proto.RtcStats.Types.Stream(); + } + Stream.MergeFrom(other.Stream); + break; + case StatsOneofCase.Track: + if (Track == null) { + Track = new global::LiveKit.Proto.RtcStats.Types.Track(); + } + Track.MergeFrom(other.Track); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 26: { + global::LiveKit.Proto.RtcStats.Types.Codec subBuilder = new global::LiveKit.Proto.RtcStats.Types.Codec(); + if (statsCase_ == StatsOneofCase.Codec) { + subBuilder.MergeFrom(Codec); + } + input.ReadMessage(subBuilder); + Codec = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.RtcStats.Types.InboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.InboundRtp(); + if (statsCase_ == StatsOneofCase.InboundRtp) { + subBuilder.MergeFrom(InboundRtp); + } + input.ReadMessage(subBuilder); + InboundRtp = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.RtcStats.Types.OutboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.OutboundRtp(); + if (statsCase_ == StatsOneofCase.OutboundRtp) { + subBuilder.MergeFrom(OutboundRtp); + } + input.ReadMessage(subBuilder); + OutboundRtp = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp(); + if (statsCase_ == StatsOneofCase.RemoteInboundRtp) { + subBuilder.MergeFrom(RemoteInboundRtp); + } + input.ReadMessage(subBuilder); + RemoteInboundRtp = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp(); + if (statsCase_ == StatsOneofCase.RemoteOutboundRtp) { + subBuilder.MergeFrom(RemoteOutboundRtp); + } + input.ReadMessage(subBuilder); + RemoteOutboundRtp = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.RtcStats.Types.MediaSource subBuilder = new global::LiveKit.Proto.RtcStats.Types.MediaSource(); + if (statsCase_ == StatsOneofCase.MediaSource) { + subBuilder.MergeFrom(MediaSource); + } + input.ReadMessage(subBuilder); + MediaSource = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.RtcStats.Types.MediaPlayout subBuilder = new global::LiveKit.Proto.RtcStats.Types.MediaPlayout(); + if (statsCase_ == StatsOneofCase.MediaPlayout) { + subBuilder.MergeFrom(MediaPlayout); + } + input.ReadMessage(subBuilder); + MediaPlayout = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.RtcStats.Types.PeerConnection subBuilder = new global::LiveKit.Proto.RtcStats.Types.PeerConnection(); + if (statsCase_ == StatsOneofCase.PeerConnection) { + subBuilder.MergeFrom(PeerConnection); + } + input.ReadMessage(subBuilder); + PeerConnection = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.RtcStats.Types.DataChannel subBuilder = new global::LiveKit.Proto.RtcStats.Types.DataChannel(); + if (statsCase_ == StatsOneofCase.DataChannel) { + subBuilder.MergeFrom(DataChannel); + } + input.ReadMessage(subBuilder); + DataChannel = subBuilder; + break; + } + case 98: { + global::LiveKit.Proto.RtcStats.Types.Transport subBuilder = new global::LiveKit.Proto.RtcStats.Types.Transport(); + if (statsCase_ == StatsOneofCase.Transport) { + subBuilder.MergeFrom(Transport); + } + input.ReadMessage(subBuilder); + Transport = subBuilder; + break; + } + case 106: { + global::LiveKit.Proto.RtcStats.Types.CandidatePair subBuilder = new global::LiveKit.Proto.RtcStats.Types.CandidatePair(); + if (statsCase_ == StatsOneofCase.CandidatePair) { + subBuilder.MergeFrom(CandidatePair); + } + input.ReadMessage(subBuilder); + CandidatePair = subBuilder; + break; + } + case 114: { + global::LiveKit.Proto.RtcStats.Types.LocalCandidate subBuilder = new global::LiveKit.Proto.RtcStats.Types.LocalCandidate(); + if (statsCase_ == StatsOneofCase.LocalCandidate) { + subBuilder.MergeFrom(LocalCandidate); + } + input.ReadMessage(subBuilder); + LocalCandidate = subBuilder; + break; + } + case 122: { + global::LiveKit.Proto.RtcStats.Types.RemoteCandidate subBuilder = new global::LiveKit.Proto.RtcStats.Types.RemoteCandidate(); + if (statsCase_ == StatsOneofCase.RemoteCandidate) { + subBuilder.MergeFrom(RemoteCandidate); + } + input.ReadMessage(subBuilder); + RemoteCandidate = subBuilder; + break; + } + case 130: { + global::LiveKit.Proto.RtcStats.Types.Certificate subBuilder = new global::LiveKit.Proto.RtcStats.Types.Certificate(); + if (statsCase_ == StatsOneofCase.Certificate) { + subBuilder.MergeFrom(Certificate); + } + input.ReadMessage(subBuilder); + Certificate = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.RtcStats.Types.Stream subBuilder = new global::LiveKit.Proto.RtcStats.Types.Stream(); + if (statsCase_ == StatsOneofCase.Stream) { + subBuilder.MergeFrom(Stream); + } + input.ReadMessage(subBuilder); + Stream = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.RtcStats.Types.Track subBuilder = new global::LiveKit.Proto.RtcStats.Types.Track(); + if (statsCase_ == StatsOneofCase.Track) { + subBuilder.MergeFrom(Track); + } + input.ReadMessage(subBuilder); + Track = subBuilder; + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 26: { + global::LiveKit.Proto.RtcStats.Types.Codec subBuilder = new global::LiveKit.Proto.RtcStats.Types.Codec(); + if (statsCase_ == StatsOneofCase.Codec) { + subBuilder.MergeFrom(Codec); + } + input.ReadMessage(subBuilder); + Codec = subBuilder; + break; + } + case 34: { + global::LiveKit.Proto.RtcStats.Types.InboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.InboundRtp(); + if (statsCase_ == StatsOneofCase.InboundRtp) { + subBuilder.MergeFrom(InboundRtp); + } + input.ReadMessage(subBuilder); + InboundRtp = subBuilder; + break; + } + case 42: { + global::LiveKit.Proto.RtcStats.Types.OutboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.OutboundRtp(); + if (statsCase_ == StatsOneofCase.OutboundRtp) { + subBuilder.MergeFrom(OutboundRtp); + } + input.ReadMessage(subBuilder); + OutboundRtp = subBuilder; + break; + } + case 50: { + global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.RemoteInboundRtp(); + if (statsCase_ == StatsOneofCase.RemoteInboundRtp) { + subBuilder.MergeFrom(RemoteInboundRtp); + } + input.ReadMessage(subBuilder); + RemoteInboundRtp = subBuilder; + break; + } + case 58: { + global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp subBuilder = new global::LiveKit.Proto.RtcStats.Types.RemoteOutboundRtp(); + if (statsCase_ == StatsOneofCase.RemoteOutboundRtp) { + subBuilder.MergeFrom(RemoteOutboundRtp); + } + input.ReadMessage(subBuilder); + RemoteOutboundRtp = subBuilder; + break; + } + case 66: { + global::LiveKit.Proto.RtcStats.Types.MediaSource subBuilder = new global::LiveKit.Proto.RtcStats.Types.MediaSource(); + if (statsCase_ == StatsOneofCase.MediaSource) { + subBuilder.MergeFrom(MediaSource); + } + input.ReadMessage(subBuilder); + MediaSource = subBuilder; + break; + } + case 74: { + global::LiveKit.Proto.RtcStats.Types.MediaPlayout subBuilder = new global::LiveKit.Proto.RtcStats.Types.MediaPlayout(); + if (statsCase_ == StatsOneofCase.MediaPlayout) { + subBuilder.MergeFrom(MediaPlayout); + } + input.ReadMessage(subBuilder); + MediaPlayout = subBuilder; + break; + } + case 82: { + global::LiveKit.Proto.RtcStats.Types.PeerConnection subBuilder = new global::LiveKit.Proto.RtcStats.Types.PeerConnection(); + if (statsCase_ == StatsOneofCase.PeerConnection) { + subBuilder.MergeFrom(PeerConnection); + } + input.ReadMessage(subBuilder); + PeerConnection = subBuilder; + break; + } + case 90: { + global::LiveKit.Proto.RtcStats.Types.DataChannel subBuilder = new global::LiveKit.Proto.RtcStats.Types.DataChannel(); + if (statsCase_ == StatsOneofCase.DataChannel) { + subBuilder.MergeFrom(DataChannel); + } + input.ReadMessage(subBuilder); + DataChannel = subBuilder; + break; + } + case 98: { + global::LiveKit.Proto.RtcStats.Types.Transport subBuilder = new global::LiveKit.Proto.RtcStats.Types.Transport(); + if (statsCase_ == StatsOneofCase.Transport) { + subBuilder.MergeFrom(Transport); + } + input.ReadMessage(subBuilder); + Transport = subBuilder; + break; + } + case 106: { + global::LiveKit.Proto.RtcStats.Types.CandidatePair subBuilder = new global::LiveKit.Proto.RtcStats.Types.CandidatePair(); + if (statsCase_ == StatsOneofCase.CandidatePair) { + subBuilder.MergeFrom(CandidatePair); + } + input.ReadMessage(subBuilder); + CandidatePair = subBuilder; + break; + } + case 114: { + global::LiveKit.Proto.RtcStats.Types.LocalCandidate subBuilder = new global::LiveKit.Proto.RtcStats.Types.LocalCandidate(); + if (statsCase_ == StatsOneofCase.LocalCandidate) { + subBuilder.MergeFrom(LocalCandidate); + } + input.ReadMessage(subBuilder); + LocalCandidate = subBuilder; + break; + } + case 122: { + global::LiveKit.Proto.RtcStats.Types.RemoteCandidate subBuilder = new global::LiveKit.Proto.RtcStats.Types.RemoteCandidate(); + if (statsCase_ == StatsOneofCase.RemoteCandidate) { + subBuilder.MergeFrom(RemoteCandidate); + } + input.ReadMessage(subBuilder); + RemoteCandidate = subBuilder; + break; + } + case 130: { + global::LiveKit.Proto.RtcStats.Types.Certificate subBuilder = new global::LiveKit.Proto.RtcStats.Types.Certificate(); + if (statsCase_ == StatsOneofCase.Certificate) { + subBuilder.MergeFrom(Certificate); + } + input.ReadMessage(subBuilder); + Certificate = subBuilder; + break; + } + case 138: { + global::LiveKit.Proto.RtcStats.Types.Stream subBuilder = new global::LiveKit.Proto.RtcStats.Types.Stream(); + if (statsCase_ == StatsOneofCase.Stream) { + subBuilder.MergeFrom(Stream); + } + input.ReadMessage(subBuilder); + Stream = subBuilder; + break; + } + case 146: { + global::LiveKit.Proto.RtcStats.Types.Track subBuilder = new global::LiveKit.Proto.RtcStats.Types.Track(); + if (statsCase_ == StatsOneofCase.Track) { + subBuilder.MergeFrom(Track); + } + input.ReadMessage(subBuilder); + Track = subBuilder; + break; + } + } + } + } + #endif + + #region Nested types + /// Container for nested types declared in the RtcStats message type. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Codec : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Codec()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Codec() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Codec(Codec other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + codec_ = other.codec_ != null ? other.codec_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Codec Clone() { + return new Codec(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "codec" field. + public const int Codec_FieldNumber = 2; + private global::LiveKit.Proto.CodecStats codec_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.CodecStats Codec_ { + get { return codec_; } + set { + codec_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Codec); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Codec other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Codec_, other.Codec_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (codec_ != null) hash ^= Codec_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (codec_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Codec_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (codec_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Codec_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (codec_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Codec_); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Codec other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.codec_ != null) { + if (codec_ == null) { + Codec_ = new global::LiveKit.Proto.CodecStats(); + } + Codec_.MergeFrom(other.Codec_); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (codec_ == null) { + Codec_ = new global::LiveKit.Proto.CodecStats(); + } + input.ReadMessage(Codec_); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (codec_ == null) { + Codec_ = new global::LiveKit.Proto.CodecStats(); + } + input.ReadMessage(Codec_); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class InboundRtp : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new InboundRtp()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public InboundRtp() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public InboundRtp(InboundRtp other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + stream_ = other.stream_ != null ? other.stream_.Clone() : null; + received_ = other.received_ != null ? other.received_.Clone() : null; + inbound_ = other.inbound_ != null ? other.inbound_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public InboundRtp Clone() { + return new InboundRtp(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "stream" field. + public const int StreamFieldNumber = 2; + private global::LiveKit.Proto.RtpStreamStats stream_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtpStreamStats Stream { + get { return stream_; } + set { + stream_ = value; + } + } + + /// Field number for the "received" field. + public const int ReceivedFieldNumber = 3; + private global::LiveKit.Proto.ReceivedRtpStreamStats received_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ReceivedRtpStreamStats Received { + get { return received_; } + set { + received_ = value; + } + } + + /// Field number for the "inbound" field. + public const int InboundFieldNumber = 4; + private global::LiveKit.Proto.InboundRtpStreamStats inbound_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.InboundRtpStreamStats Inbound { + get { return inbound_; } + set { + inbound_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as InboundRtp); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(InboundRtp other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Stream, other.Stream)) return false; + if (!object.Equals(Received, other.Received)) return false; + if (!object.Equals(Inbound, other.Inbound)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (stream_ != null) hash ^= Stream.GetHashCode(); + if (received_ != null) hash ^= Received.GetHashCode(); + if (inbound_ != null) hash ^= Inbound.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (received_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Received); + } + if (inbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Inbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (received_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Received); + } + if (inbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Inbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (stream_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stream); + } + if (received_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Received); + } + if (inbound_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Inbound); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(InboundRtp other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.stream_ != null) { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + Stream.MergeFrom(other.Stream); + } + if (other.received_ != null) { + if (received_ == null) { + Received = new global::LiveKit.Proto.ReceivedRtpStreamStats(); + } + Received.MergeFrom(other.Received); + } + if (other.inbound_ != null) { + if (inbound_ == null) { + Inbound = new global::LiveKit.Proto.InboundRtpStreamStats(); + } + Inbound.MergeFrom(other.Inbound); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (received_ == null) { + Received = new global::LiveKit.Proto.ReceivedRtpStreamStats(); + } + input.ReadMessage(Received); + break; + } + case 34: { + if (inbound_ == null) { + Inbound = new global::LiveKit.Proto.InboundRtpStreamStats(); + } + input.ReadMessage(Inbound); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (received_ == null) { + Received = new global::LiveKit.Proto.ReceivedRtpStreamStats(); + } + input.ReadMessage(Received); + break; + } + case 34: { + if (inbound_ == null) { + Inbound = new global::LiveKit.Proto.InboundRtpStreamStats(); + } + input.ReadMessage(Inbound); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OutboundRtp : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OutboundRtp()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OutboundRtp() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OutboundRtp(OutboundRtp other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + stream_ = other.stream_ != null ? other.stream_.Clone() : null; + sent_ = other.sent_ != null ? other.sent_.Clone() : null; + outbound_ = other.outbound_ != null ? other.outbound_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OutboundRtp Clone() { + return new OutboundRtp(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "stream" field. + public const int StreamFieldNumber = 2; + private global::LiveKit.Proto.RtpStreamStats stream_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtpStreamStats Stream { + get { return stream_; } + set { + stream_ = value; + } + } + + /// Field number for the "sent" field. + public const int SentFieldNumber = 3; + private global::LiveKit.Proto.SentRtpStreamStats sent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SentRtpStreamStats Sent { + get { return sent_; } + set { + sent_ = value; + } + } + + /// Field number for the "outbound" field. + public const int OutboundFieldNumber = 4; + private global::LiveKit.Proto.OutboundRtpStreamStats outbound_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OutboundRtpStreamStats Outbound { + get { return outbound_; } + set { + outbound_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OutboundRtp); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OutboundRtp other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Stream, other.Stream)) return false; + if (!object.Equals(Sent, other.Sent)) return false; + if (!object.Equals(Outbound, other.Outbound)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (stream_ != null) hash ^= Stream.GetHashCode(); + if (sent_ != null) hash ^= Sent.GetHashCode(); + if (outbound_ != null) hash ^= Outbound.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (sent_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Sent); + } + if (outbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Outbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (sent_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Sent); + } + if (outbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Outbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (stream_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stream); + } + if (sent_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Sent); + } + if (outbound_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Outbound); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OutboundRtp other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.stream_ != null) { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + Stream.MergeFrom(other.Stream); + } + if (other.sent_ != null) { + if (sent_ == null) { + Sent = new global::LiveKit.Proto.SentRtpStreamStats(); + } + Sent.MergeFrom(other.Sent); + } + if (other.outbound_ != null) { + if (outbound_ == null) { + Outbound = new global::LiveKit.Proto.OutboundRtpStreamStats(); + } + Outbound.MergeFrom(other.Outbound); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (sent_ == null) { + Sent = new global::LiveKit.Proto.SentRtpStreamStats(); + } + input.ReadMessage(Sent); + break; + } + case 34: { + if (outbound_ == null) { + Outbound = new global::LiveKit.Proto.OutboundRtpStreamStats(); + } + input.ReadMessage(Outbound); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (sent_ == null) { + Sent = new global::LiveKit.Proto.SentRtpStreamStats(); + } + input.ReadMessage(Sent); + break; + } + case 34: { + if (outbound_ == null) { + Outbound = new global::LiveKit.Proto.OutboundRtpStreamStats(); + } + input.ReadMessage(Outbound); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RemoteInboundRtp : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteInboundRtp()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteInboundRtp() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteInboundRtp(RemoteInboundRtp other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + stream_ = other.stream_ != null ? other.stream_.Clone() : null; + received_ = other.received_ != null ? other.received_.Clone() : null; + remoteInbound_ = other.remoteInbound_ != null ? other.remoteInbound_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteInboundRtp Clone() { + return new RemoteInboundRtp(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "stream" field. + public const int StreamFieldNumber = 2; + private global::LiveKit.Proto.RtpStreamStats stream_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtpStreamStats Stream { + get { return stream_; } + set { + stream_ = value; + } + } + + /// Field number for the "received" field. + public const int ReceivedFieldNumber = 3; + private global::LiveKit.Proto.ReceivedRtpStreamStats received_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.ReceivedRtpStreamStats Received { + get { return received_; } + set { + received_ = value; + } + } + + /// Field number for the "remote_inbound" field. + public const int RemoteInboundFieldNumber = 4; + private global::LiveKit.Proto.RemoteInboundRtpStreamStats remoteInbound_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RemoteInboundRtpStreamStats RemoteInbound { + get { return remoteInbound_; } + set { + remoteInbound_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RemoteInboundRtp); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RemoteInboundRtp other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Stream, other.Stream)) return false; + if (!object.Equals(Received, other.Received)) return false; + if (!object.Equals(RemoteInbound, other.RemoteInbound)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (stream_ != null) hash ^= Stream.GetHashCode(); + if (received_ != null) hash ^= Received.GetHashCode(); + if (remoteInbound_ != null) hash ^= RemoteInbound.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (received_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Received); + } + if (remoteInbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(RemoteInbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (received_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Received); + } + if (remoteInbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(RemoteInbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (stream_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stream); + } + if (received_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Received); + } + if (remoteInbound_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemoteInbound); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RemoteInboundRtp other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.stream_ != null) { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + Stream.MergeFrom(other.Stream); + } + if (other.received_ != null) { + if (received_ == null) { + Received = new global::LiveKit.Proto.ReceivedRtpStreamStats(); + } + Received.MergeFrom(other.Received); + } + if (other.remoteInbound_ != null) { + if (remoteInbound_ == null) { + RemoteInbound = new global::LiveKit.Proto.RemoteInboundRtpStreamStats(); + } + RemoteInbound.MergeFrom(other.RemoteInbound); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (received_ == null) { + Received = new global::LiveKit.Proto.ReceivedRtpStreamStats(); + } + input.ReadMessage(Received); + break; + } + case 34: { + if (remoteInbound_ == null) { + RemoteInbound = new global::LiveKit.Proto.RemoteInboundRtpStreamStats(); + } + input.ReadMessage(RemoteInbound); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (received_ == null) { + Received = new global::LiveKit.Proto.ReceivedRtpStreamStats(); + } + input.ReadMessage(Received); + break; + } + case 34: { + if (remoteInbound_ == null) { + RemoteInbound = new global::LiveKit.Proto.RemoteInboundRtpStreamStats(); + } + input.ReadMessage(RemoteInbound); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RemoteOutboundRtp : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteOutboundRtp()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[4]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteOutboundRtp() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteOutboundRtp(RemoteOutboundRtp other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + stream_ = other.stream_ != null ? other.stream_.Clone() : null; + sent_ = other.sent_ != null ? other.sent_.Clone() : null; + remoteOutbound_ = other.remoteOutbound_ != null ? other.remoteOutbound_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteOutboundRtp Clone() { + return new RemoteOutboundRtp(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "stream" field. + public const int StreamFieldNumber = 2; + private global::LiveKit.Proto.RtpStreamStats stream_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtpStreamStats Stream { + get { return stream_; } + set { + stream_ = value; + } + } + + /// Field number for the "sent" field. + public const int SentFieldNumber = 3; + private global::LiveKit.Proto.SentRtpStreamStats sent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.SentRtpStreamStats Sent { + get { return sent_; } + set { + sent_ = value; + } + } + + /// Field number for the "remote_outbound" field. + public const int RemoteOutboundFieldNumber = 4; + private global::LiveKit.Proto.RemoteOutboundRtpStreamStats remoteOutbound_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RemoteOutboundRtpStreamStats RemoteOutbound { + get { return remoteOutbound_; } + set { + remoteOutbound_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RemoteOutboundRtp); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RemoteOutboundRtp other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Stream, other.Stream)) return false; + if (!object.Equals(Sent, other.Sent)) return false; + if (!object.Equals(RemoteOutbound, other.RemoteOutbound)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (stream_ != null) hash ^= Stream.GetHashCode(); + if (sent_ != null) hash ^= Sent.GetHashCode(); + if (remoteOutbound_ != null) hash ^= RemoteOutbound.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (sent_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Sent); + } + if (remoteOutbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(RemoteOutbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream); + } + if (sent_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Sent); + } + if (remoteOutbound_ != null) { + output.WriteRawTag(34); + output.WriteMessage(RemoteOutbound); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (stream_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stream); + } + if (sent_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Sent); + } + if (remoteOutbound_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemoteOutbound); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RemoteOutboundRtp other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.stream_ != null) { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + Stream.MergeFrom(other.Stream); + } + if (other.sent_ != null) { + if (sent_ == null) { + Sent = new global::LiveKit.Proto.SentRtpStreamStats(); + } + Sent.MergeFrom(other.Sent); + } + if (other.remoteOutbound_ != null) { + if (remoteOutbound_ == null) { + RemoteOutbound = new global::LiveKit.Proto.RemoteOutboundRtpStreamStats(); + } + RemoteOutbound.MergeFrom(other.RemoteOutbound); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (sent_ == null) { + Sent = new global::LiveKit.Proto.SentRtpStreamStats(); + } + input.ReadMessage(Sent); + break; + } + case 34: { + if (remoteOutbound_ == null) { + RemoteOutbound = new global::LiveKit.Proto.RemoteOutboundRtpStreamStats(); + } + input.ReadMessage(RemoteOutbound); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.RtpStreamStats(); + } + input.ReadMessage(Stream); + break; + } + case 26: { + if (sent_ == null) { + Sent = new global::LiveKit.Proto.SentRtpStreamStats(); + } + input.ReadMessage(Sent); + break; + } + case 34: { + if (remoteOutbound_ == null) { + RemoteOutbound = new global::LiveKit.Proto.RemoteOutboundRtpStreamStats(); + } + input.ReadMessage(RemoteOutbound); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class MediaSource : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new MediaSource()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[5]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaSource() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaSource(MediaSource other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + source_ = other.source_ != null ? other.source_.Clone() : null; + audio_ = other.audio_ != null ? other.audio_.Clone() : null; + video_ = other.video_ != null ? other.video_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaSource Clone() { + return new MediaSource(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "source" field. + public const int SourceFieldNumber = 2; + private global::LiveKit.Proto.MediaSourceStats source_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.MediaSourceStats Source { + get { return source_; } + set { + source_ = value; + } + } + + /// Field number for the "audio" field. + public const int AudioFieldNumber = 3; + private global::LiveKit.Proto.AudioSourceStats audio_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioSourceStats Audio { + get { return audio_; } + set { + audio_ = value; + } + } + + /// Field number for the "video" field. + public const int VideoFieldNumber = 4; + private global::LiveKit.Proto.VideoSourceStats video_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoSourceStats Video { + get { return video_; } + set { + video_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as MediaSource); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(MediaSource other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Source, other.Source)) return false; + if (!object.Equals(Audio, other.Audio)) return false; + if (!object.Equals(Video, other.Video)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (source_ != null) hash ^= Source.GetHashCode(); + if (audio_ != null) hash ^= Audio.GetHashCode(); + if (video_ != null) hash ^= Video.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (source_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Source); + } + if (audio_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Audio); + } + if (video_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Video); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (source_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Source); + } + if (audio_ != null) { + output.WriteRawTag(26); + output.WriteMessage(Audio); + } + if (video_ != null) { + output.WriteRawTag(34); + output.WriteMessage(Video); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (source_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Source); + } + if (audio_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Audio); + } + if (video_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Video); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(MediaSource other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.source_ != null) { + if (source_ == null) { + Source = new global::LiveKit.Proto.MediaSourceStats(); + } + Source.MergeFrom(other.Source); + } + if (other.audio_ != null) { + if (audio_ == null) { + Audio = new global::LiveKit.Proto.AudioSourceStats(); + } + Audio.MergeFrom(other.Audio); + } + if (other.video_ != null) { + if (video_ == null) { + Video = new global::LiveKit.Proto.VideoSourceStats(); + } + Video.MergeFrom(other.Video); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (source_ == null) { + Source = new global::LiveKit.Proto.MediaSourceStats(); + } + input.ReadMessage(Source); + break; + } + case 26: { + if (audio_ == null) { + Audio = new global::LiveKit.Proto.AudioSourceStats(); + } + input.ReadMessage(Audio); + break; + } + case 34: { + if (video_ == null) { + Video = new global::LiveKit.Proto.VideoSourceStats(); + } + input.ReadMessage(Video); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (source_ == null) { + Source = new global::LiveKit.Proto.MediaSourceStats(); + } + input.ReadMessage(Source); + break; + } + case 26: { + if (audio_ == null) { + Audio = new global::LiveKit.Proto.AudioSourceStats(); + } + input.ReadMessage(Audio); + break; + } + case 34: { + if (video_ == null) { + Video = new global::LiveKit.Proto.VideoSourceStats(); + } + input.ReadMessage(Video); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class MediaPlayout : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new MediaPlayout()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[6]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaPlayout() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaPlayout(MediaPlayout other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + audioPlayout_ = other.audioPlayout_ != null ? other.audioPlayout_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaPlayout Clone() { + return new MediaPlayout(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "audio_playout" field. + public const int AudioPlayoutFieldNumber = 2; + private global::LiveKit.Proto.AudioPlayoutStats audioPlayout_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.AudioPlayoutStats AudioPlayout { + get { return audioPlayout_; } + set { + audioPlayout_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as MediaPlayout); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(MediaPlayout other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(AudioPlayout, other.AudioPlayout)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (audioPlayout_ != null) hash ^= AudioPlayout.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (audioPlayout_ != null) { + output.WriteRawTag(18); + output.WriteMessage(AudioPlayout); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (audioPlayout_ != null) { + output.WriteRawTag(18); + output.WriteMessage(AudioPlayout); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (audioPlayout_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(AudioPlayout); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(MediaPlayout other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.audioPlayout_ != null) { + if (audioPlayout_ == null) { + AudioPlayout = new global::LiveKit.Proto.AudioPlayoutStats(); + } + AudioPlayout.MergeFrom(other.AudioPlayout); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (audioPlayout_ == null) { + AudioPlayout = new global::LiveKit.Proto.AudioPlayoutStats(); + } + input.ReadMessage(AudioPlayout); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (audioPlayout_ == null) { + AudioPlayout = new global::LiveKit.Proto.AudioPlayoutStats(); + } + input.ReadMessage(AudioPlayout); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PeerConnection : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PeerConnection()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[7]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PeerConnection() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PeerConnection(PeerConnection other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + pc_ = other.pc_ != null ? other.pc_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PeerConnection Clone() { + return new PeerConnection(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "pc" field. + public const int PcFieldNumber = 2; + private global::LiveKit.Proto.PeerConnectionStats pc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.PeerConnectionStats Pc { + get { return pc_; } + set { + pc_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PeerConnection); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PeerConnection other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Pc, other.Pc)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (pc_ != null) hash ^= Pc.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (pc_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Pc); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (pc_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Pc); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (pc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Pc); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PeerConnection other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.pc_ != null) { + if (pc_ == null) { + Pc = new global::LiveKit.Proto.PeerConnectionStats(); + } + Pc.MergeFrom(other.Pc); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (pc_ == null) { + Pc = new global::LiveKit.Proto.PeerConnectionStats(); + } + input.ReadMessage(Pc); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (pc_ == null) { + Pc = new global::LiveKit.Proto.PeerConnectionStats(); + } + input.ReadMessage(Pc); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataChannel : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataChannel()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[8]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataChannel() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataChannel(DataChannel other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + dc_ = other.dc_ != null ? other.dc_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataChannel Clone() { + return new DataChannel(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "dc" field. + public const int DcFieldNumber = 2; + private global::LiveKit.Proto.DataChannelStats dc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataChannelStats Dc { + get { return dc_; } + set { + dc_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as DataChannel); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(DataChannel other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Dc, other.Dc)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (dc_ != null) hash ^= Dc.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (dc_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Dc); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (dc_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Dc); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (dc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dc); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(DataChannel other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.dc_ != null) { + if (dc_ == null) { + Dc = new global::LiveKit.Proto.DataChannelStats(); + } + Dc.MergeFrom(other.Dc); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (dc_ == null) { + Dc = new global::LiveKit.Proto.DataChannelStats(); + } + input.ReadMessage(Dc); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (dc_ == null) { + Dc = new global::LiveKit.Proto.DataChannelStats(); + } + input.ReadMessage(Dc); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Transport : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Transport()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[9]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Transport() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Transport(Transport other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + transport_ = other.transport_ != null ? other.transport_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Transport Clone() { + return new Transport(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "transport" field. + public const int Transport_FieldNumber = 2; + private global::LiveKit.Proto.TransportStats transport_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TransportStats Transport_ { + get { return transport_; } + set { + transport_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Transport); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Transport other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Transport_, other.Transport_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (transport_ != null) hash ^= Transport_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (transport_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Transport_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (transport_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Transport_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (transport_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Transport_); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Transport other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.transport_ != null) { + if (transport_ == null) { + Transport_ = new global::LiveKit.Proto.TransportStats(); + } + Transport_.MergeFrom(other.Transport_); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (transport_ == null) { + Transport_ = new global::LiveKit.Proto.TransportStats(); + } + input.ReadMessage(Transport_); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (transport_ == null) { + Transport_ = new global::LiveKit.Proto.TransportStats(); + } + input.ReadMessage(Transport_); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CandidatePair : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CandidatePair()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[10]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CandidatePair() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CandidatePair(CandidatePair other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + candidatePair_ = other.candidatePair_ != null ? other.candidatePair_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CandidatePair Clone() { + return new CandidatePair(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "candidate_pair" field. + public const int CandidatePair_FieldNumber = 2; + private global::LiveKit.Proto.CandidatePairStats candidatePair_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.CandidatePairStats CandidatePair_ { + get { return candidatePair_; } + set { + candidatePair_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as CandidatePair); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(CandidatePair other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(CandidatePair_, other.CandidatePair_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (candidatePair_ != null) hash ^= CandidatePair_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (candidatePair_ != null) { + output.WriteRawTag(18); + output.WriteMessage(CandidatePair_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (candidatePair_ != null) { + output.WriteRawTag(18); + output.WriteMessage(CandidatePair_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (candidatePair_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CandidatePair_); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(CandidatePair other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.candidatePair_ != null) { + if (candidatePair_ == null) { + CandidatePair_ = new global::LiveKit.Proto.CandidatePairStats(); + } + CandidatePair_.MergeFrom(other.CandidatePair_); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (candidatePair_ == null) { + CandidatePair_ = new global::LiveKit.Proto.CandidatePairStats(); + } + input.ReadMessage(CandidatePair_); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (candidatePair_ == null) { + CandidatePair_ = new global::LiveKit.Proto.CandidatePairStats(); + } + input.ReadMessage(CandidatePair_); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LocalCandidate : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalCandidate()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[11]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalCandidate() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalCandidate(LocalCandidate other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + candidate_ = other.candidate_ != null ? other.candidate_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalCandidate Clone() { + return new LocalCandidate(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "candidate" field. + public const int CandidateFieldNumber = 2; + private global::LiveKit.Proto.IceCandidateStats candidate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceCandidateStats Candidate { + get { return candidate_; } + set { + candidate_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as LocalCandidate); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(LocalCandidate other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Candidate, other.Candidate)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (candidate_ != null) hash ^= Candidate.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (candidate_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Candidate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (candidate_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Candidate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (candidate_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Candidate); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(LocalCandidate other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.candidate_ != null) { + if (candidate_ == null) { + Candidate = new global::LiveKit.Proto.IceCandidateStats(); + } + Candidate.MergeFrom(other.Candidate); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (candidate_ == null) { + Candidate = new global::LiveKit.Proto.IceCandidateStats(); + } + input.ReadMessage(Candidate); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (candidate_ == null) { + Candidate = new global::LiveKit.Proto.IceCandidateStats(); + } + input.ReadMessage(Candidate); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RemoteCandidate : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteCandidate()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[12]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteCandidate() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteCandidate(RemoteCandidate other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + candidate_ = other.candidate_ != null ? other.candidate_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteCandidate Clone() { + return new RemoteCandidate(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "candidate" field. + public const int CandidateFieldNumber = 2; + private global::LiveKit.Proto.IceCandidateStats candidate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceCandidateStats Candidate { + get { return candidate_; } + set { + candidate_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RemoteCandidate); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RemoteCandidate other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Candidate, other.Candidate)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (candidate_ != null) hash ^= Candidate.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (candidate_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Candidate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (candidate_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Candidate); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (candidate_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Candidate); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RemoteCandidate other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.candidate_ != null) { + if (candidate_ == null) { + Candidate = new global::LiveKit.Proto.IceCandidateStats(); + } + Candidate.MergeFrom(other.Candidate); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (candidate_ == null) { + Candidate = new global::LiveKit.Proto.IceCandidateStats(); + } + input.ReadMessage(Candidate); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (candidate_ == null) { + Candidate = new global::LiveKit.Proto.IceCandidateStats(); + } + input.ReadMessage(Candidate); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Certificate : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Certificate()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[13]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Certificate() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Certificate(Certificate other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + certificate_ = other.certificate_ != null ? other.certificate_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Certificate Clone() { + return new Certificate(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "certificate" field. + public const int Certificate_FieldNumber = 2; + private global::LiveKit.Proto.CertificateStats certificate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.CertificateStats Certificate_ { + get { return certificate_; } + set { + certificate_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Certificate); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Certificate other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Certificate_, other.Certificate_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (certificate_ != null) hash ^= Certificate_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (certificate_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Certificate_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (certificate_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Certificate_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (certificate_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Certificate_); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Certificate other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.certificate_ != null) { + if (certificate_ == null) { + Certificate_ = new global::LiveKit.Proto.CertificateStats(); + } + Certificate_.MergeFrom(other.Certificate_); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (certificate_ == null) { + Certificate_ = new global::LiveKit.Proto.CertificateStats(); + } + input.ReadMessage(Certificate_); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (certificate_ == null) { + Certificate_ = new global::LiveKit.Proto.CertificateStats(); + } + input.ReadMessage(Certificate_); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Stream : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Stream()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Stream() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Stream(Stream other) : this() { + rtc_ = other.rtc_ != null ? other.rtc_.Clone() : null; + stream_ = other.stream_ != null ? other.stream_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Stream Clone() { + return new Stream(this); + } + + /// Field number for the "rtc" field. + public const int RtcFieldNumber = 1; + private global::LiveKit.Proto.RtcStatsData rtc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.RtcStatsData Rtc { + get { return rtc_; } + set { + rtc_ = value; + } + } + + /// Field number for the "stream" field. + public const int Stream_FieldNumber = 2; + private global::LiveKit.Proto.StreamStats stream_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamStats Stream_ { + get { return stream_; } + set { + stream_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Stream); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Stream other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Rtc, other.Rtc)) return false; + if (!object.Equals(Stream_, other.Stream_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (rtc_ != null) hash ^= Rtc.GetHashCode(); + if (stream_ != null) hash ^= Stream_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (rtc_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Rtc); + } + if (stream_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Stream_); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (rtc_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rtc); + } + if (stream_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stream_); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Stream other) { + if (other == null) { + return; + } + if (other.rtc_ != null) { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + Rtc.MergeFrom(other.Rtc); + } + if (other.stream_ != null) { + if (stream_ == null) { + Stream_ = new global::LiveKit.Proto.StreamStats(); + } + Stream_.MergeFrom(other.Stream_); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream_ = new global::LiveKit.Proto.StreamStats(); + } + input.ReadMessage(Stream_); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (rtc_ == null) { + Rtc = new global::LiveKit.Proto.RtcStatsData(); + } + input.ReadMessage(Rtc); + break; + } + case 18: { + if (stream_ == null) { + Stream_ = new global::LiveKit.Proto.StreamStats(); + } + input.ReadMessage(Stream_); + break; + } + } + } + } + #endif + + } + + /// + /// Deprecated + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class Track : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Track()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.RtcStats.Descriptor.NestedTypes[15]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Track() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Track(Track other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public Track Clone() { + return new Track(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as Track); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(Track other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(Track other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + } + #endregion + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RtcStatsData : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RtcStatsData()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcStatsData() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcStatsData(RtcStatsData other) : this() { + _hasBits0 = other._hasBits0; + id_ = other.id_; + timestamp_ = other.timestamp_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtcStatsData Clone() { + return new RtcStatsData(this); + } + + /// Field number for the "id" field. + public const int IdFieldNumber = 1; + private readonly static string IdDefaultValue = ""; + + private string id_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Id { + get { return id_ ?? IdDefaultValue; } + set { + id_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasId { + get { return id_ != null; } + } + /// Clears the value of the "id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearId() { + id_ = null; + } + + /// Field number for the "timestamp" field. + public const int TimestampFieldNumber = 2; + private readonly static long TimestampDefaultValue = 0L; + + private long timestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long Timestamp { + get { if ((_hasBits0 & 1) != 0) { return timestamp_; } else { return TimestampDefaultValue; } } + set { + _hasBits0 |= 1; + timestamp_ = value; + } + } + /// Gets whether the "timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimestamp { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimestamp() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RtcStatsData); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RtcStatsData other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Id != other.Id) return false; + if (Timestamp != other.Timestamp) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasId) hash ^= Id.GetHashCode(); + if (HasTimestamp) hash ^= Timestamp.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasTimestamp) { + output.WriteRawTag(16); + output.WriteInt64(Timestamp); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Id); + } + if (HasTimestamp) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RtcStatsData other) { + if (other == null) { + return; + } + if (other.HasId) { + Id = other.Id; + } + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 16: { + Timestamp = input.ReadInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CodecStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CodecStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CodecStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CodecStats(CodecStats other) : this() { + _hasBits0 = other._hasBits0; + payloadType_ = other.payloadType_; + transportId_ = other.transportId_; + mimeType_ = other.mimeType_; + clockRate_ = other.clockRate_; + channels_ = other.channels_; + sdpFmtpLine_ = other.sdpFmtpLine_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CodecStats Clone() { + return new CodecStats(this); + } + + /// Field number for the "payload_type" field. + public const int PayloadTypeFieldNumber = 1; + private readonly static uint PayloadTypeDefaultValue = 0; + + private uint payloadType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint PayloadType { + get { if ((_hasBits0 & 1) != 0) { return payloadType_; } else { return PayloadTypeDefaultValue; } } + set { + _hasBits0 |= 1; + payloadType_ = value; + } + } + /// Gets whether the "payload_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPayloadType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "payload_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPayloadType() { + _hasBits0 &= ~1; + } + + /// Field number for the "transport_id" field. + public const int TransportIdFieldNumber = 2; + private readonly static string TransportIdDefaultValue = ""; + + private string transportId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TransportId { + get { return transportId_ ?? TransportIdDefaultValue; } + set { + transportId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "transport_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTransportId { + get { return transportId_ != null; } + } + /// Clears the value of the "transport_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTransportId() { + transportId_ = null; + } + + /// Field number for the "mime_type" field. + public const int MimeTypeFieldNumber = 3; + private readonly static string MimeTypeDefaultValue = ""; + + private string mimeType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MimeType { + get { return mimeType_ ?? MimeTypeDefaultValue; } + set { + mimeType_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mime_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMimeType { + get { return mimeType_ != null; } + } + /// Clears the value of the "mime_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMimeType() { + mimeType_ = null; + } + + /// Field number for the "clock_rate" field. + public const int ClockRateFieldNumber = 4; + private readonly static uint ClockRateDefaultValue = 0; + + private uint clockRate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint ClockRate { + get { if ((_hasBits0 & 2) != 0) { return clockRate_; } else { return ClockRateDefaultValue; } } + set { + _hasBits0 |= 2; + clockRate_ = value; + } + } + /// Gets whether the "clock_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasClockRate { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "clock_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearClockRate() { + _hasBits0 &= ~2; + } + + /// Field number for the "channels" field. + public const int ChannelsFieldNumber = 5; + private readonly static uint ChannelsDefaultValue = 0; + + private uint channels_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Channels { + get { if ((_hasBits0 & 4) != 0) { return channels_; } else { return ChannelsDefaultValue; } } + set { + _hasBits0 |= 4; + channels_ = value; + } + } + /// Gets whether the "channels" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasChannels { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "channels" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearChannels() { + _hasBits0 &= ~4; + } + + /// Field number for the "sdp_fmtp_line" field. + public const int SdpFmtpLineFieldNumber = 6; + private readonly static string SdpFmtpLineDefaultValue = ""; + + private string sdpFmtpLine_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SdpFmtpLine { + get { return sdpFmtpLine_ ?? SdpFmtpLineDefaultValue; } + set { + sdpFmtpLine_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "sdp_fmtp_line" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSdpFmtpLine { + get { return sdpFmtpLine_ != null; } + } + /// Clears the value of the "sdp_fmtp_line" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSdpFmtpLine() { + sdpFmtpLine_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as CodecStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(CodecStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PayloadType != other.PayloadType) return false; + if (TransportId != other.TransportId) return false; + if (MimeType != other.MimeType) return false; + if (ClockRate != other.ClockRate) return false; + if (Channels != other.Channels) return false; + if (SdpFmtpLine != other.SdpFmtpLine) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPayloadType) hash ^= PayloadType.GetHashCode(); + if (HasTransportId) hash ^= TransportId.GetHashCode(); + if (HasMimeType) hash ^= MimeType.GetHashCode(); + if (HasClockRate) hash ^= ClockRate.GetHashCode(); + if (HasChannels) hash ^= Channels.GetHashCode(); + if (HasSdpFmtpLine) hash ^= SdpFmtpLine.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteUInt32(PayloadType); + } + if (HasTransportId) { + output.WriteRawTag(18); + output.WriteString(TransportId); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasClockRate) { + output.WriteRawTag(32); + output.WriteUInt32(ClockRate); + } + if (HasChannels) { + output.WriteRawTag(40); + output.WriteUInt32(Channels); + } + if (HasSdpFmtpLine) { + output.WriteRawTag(50); + output.WriteString(SdpFmtpLine); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPayloadType) { + output.WriteRawTag(8); + output.WriteUInt32(PayloadType); + } + if (HasTransportId) { + output.WriteRawTag(18); + output.WriteString(TransportId); + } + if (HasMimeType) { + output.WriteRawTag(26); + output.WriteString(MimeType); + } + if (HasClockRate) { + output.WriteRawTag(32); + output.WriteUInt32(ClockRate); + } + if (HasChannels) { + output.WriteRawTag(40); + output.WriteUInt32(Channels); + } + if (HasSdpFmtpLine) { + output.WriteRawTag(50); + output.WriteString(SdpFmtpLine); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPayloadType) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PayloadType); + } + if (HasTransportId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TransportId); + } + if (HasMimeType) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MimeType); + } + if (HasClockRate) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ClockRate); + } + if (HasChannels) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Channels); + } + if (HasSdpFmtpLine) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SdpFmtpLine); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(CodecStats other) { + if (other == null) { + return; + } + if (other.HasPayloadType) { + PayloadType = other.PayloadType; + } + if (other.HasTransportId) { + TransportId = other.TransportId; + } + if (other.HasMimeType) { + MimeType = other.MimeType; + } + if (other.HasClockRate) { + ClockRate = other.ClockRate; + } + if (other.HasChannels) { + Channels = other.Channels; + } + if (other.HasSdpFmtpLine) { + SdpFmtpLine = other.SdpFmtpLine; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PayloadType = input.ReadUInt32(); + break; + } + case 18: { + TransportId = input.ReadString(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 32: { + ClockRate = input.ReadUInt32(); + break; + } + case 40: { + Channels = input.ReadUInt32(); + break; + } + case 50: { + SdpFmtpLine = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PayloadType = input.ReadUInt32(); + break; + } + case 18: { + TransportId = input.ReadString(); + break; + } + case 26: { + MimeType = input.ReadString(); + break; + } + case 32: { + ClockRate = input.ReadUInt32(); + break; + } + case 40: { + Channels = input.ReadUInt32(); + break; + } + case 50: { + SdpFmtpLine = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RtpStreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RtpStreamStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtpStreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtpStreamStats(RtpStreamStats other) : this() { + _hasBits0 = other._hasBits0; + ssrc_ = other.ssrc_; + kind_ = other.kind_; + transportId_ = other.transportId_; + codecId_ = other.codecId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RtpStreamStats Clone() { + return new RtpStreamStats(this); + } + + /// Field number for the "ssrc" field. + public const int SsrcFieldNumber = 1; + private readonly static uint SsrcDefaultValue = 0; + + private uint ssrc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Ssrc { + get { if ((_hasBits0 & 1) != 0) { return ssrc_; } else { return SsrcDefaultValue; } } + set { + _hasBits0 |= 1; + ssrc_ = value; + } + } + /// Gets whether the "ssrc" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSsrc { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "ssrc" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSsrc() { + _hasBits0 &= ~1; + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 2; + private readonly static string KindDefaultValue = ""; + + private string kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Kind { + get { return kind_ ?? KindDefaultValue; } + set { + kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return kind_ != null; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + kind_ = null; + } + + /// Field number for the "transport_id" field. + public const int TransportIdFieldNumber = 3; + private readonly static string TransportIdDefaultValue = ""; + + private string transportId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TransportId { + get { return transportId_ ?? TransportIdDefaultValue; } + set { + transportId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "transport_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTransportId { + get { return transportId_ != null; } + } + /// Clears the value of the "transport_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTransportId() { + transportId_ = null; + } + + /// Field number for the "codec_id" field. + public const int CodecIdFieldNumber = 4; + private readonly static string CodecIdDefaultValue = ""; + + private string codecId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string CodecId { + get { return codecId_ ?? CodecIdDefaultValue; } + set { + codecId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "codec_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCodecId { + get { return codecId_ != null; } + } + /// Clears the value of the "codec_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCodecId() { + codecId_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RtpStreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RtpStreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Ssrc != other.Ssrc) return false; + if (Kind != other.Kind) return false; + if (TransportId != other.TransportId) return false; + if (CodecId != other.CodecId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSsrc) hash ^= Ssrc.GetHashCode(); + if (HasKind) hash ^= Kind.GetHashCode(); + if (HasTransportId) hash ^= TransportId.GetHashCode(); + if (HasCodecId) hash ^= CodecId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSsrc) { + output.WriteRawTag(8); + output.WriteUInt32(Ssrc); + } + if (HasKind) { + output.WriteRawTag(18); + output.WriteString(Kind); + } + if (HasTransportId) { + output.WriteRawTag(26); + output.WriteString(TransportId); + } + if (HasCodecId) { + output.WriteRawTag(34); + output.WriteString(CodecId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSsrc) { + output.WriteRawTag(8); + output.WriteUInt32(Ssrc); + } + if (HasKind) { + output.WriteRawTag(18); + output.WriteString(Kind); + } + if (HasTransportId) { + output.WriteRawTag(26); + output.WriteString(TransportId); + } + if (HasCodecId) { + output.WriteRawTag(34); + output.WriteString(CodecId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSsrc) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Ssrc); + } + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Kind); + } + if (HasTransportId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TransportId); + } + if (HasCodecId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(CodecId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RtpStreamStats other) { + if (other == null) { + return; + } + if (other.HasSsrc) { + Ssrc = other.Ssrc; + } + if (other.HasKind) { + Kind = other.Kind; + } + if (other.HasTransportId) { + TransportId = other.TransportId; + } + if (other.HasCodecId) { + CodecId = other.CodecId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Ssrc = input.ReadUInt32(); + break; + } + case 18: { + Kind = input.ReadString(); + break; + } + case 26: { + TransportId = input.ReadString(); + break; + } + case 34: { + CodecId = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Ssrc = input.ReadUInt32(); + break; + } + case 18: { + Kind = input.ReadString(); + break; + } + case 26: { + TransportId = input.ReadString(); + break; + } + case 34: { + CodecId = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ReceivedRtpStreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ReceivedRtpStreamStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[4]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ReceivedRtpStreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ReceivedRtpStreamStats(ReceivedRtpStreamStats other) : this() { + _hasBits0 = other._hasBits0; + packetsReceived_ = other.packetsReceived_; + packetsLost_ = other.packetsLost_; + jitter_ = other.jitter_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ReceivedRtpStreamStats Clone() { + return new ReceivedRtpStreamStats(this); + } + + /// Field number for the "packets_received" field. + public const int PacketsReceivedFieldNumber = 1; + private readonly static ulong PacketsReceivedDefaultValue = 0UL; + + private ulong packetsReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PacketsReceived { + get { if ((_hasBits0 & 1) != 0) { return packetsReceived_; } else { return PacketsReceivedDefaultValue; } } + set { + _hasBits0 |= 1; + packetsReceived_ = value; + } + } + /// Gets whether the "packets_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsReceived { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "packets_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsReceived() { + _hasBits0 &= ~1; + } + + /// Field number for the "packets_lost" field. + public const int PacketsLostFieldNumber = 2; + private readonly static long PacketsLostDefaultValue = 0L; + + private long packetsLost_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long PacketsLost { + get { if ((_hasBits0 & 2) != 0) { return packetsLost_; } else { return PacketsLostDefaultValue; } } + set { + _hasBits0 |= 2; + packetsLost_ = value; + } + } + /// Gets whether the "packets_lost" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsLost { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "packets_lost" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsLost() { + _hasBits0 &= ~2; + } + + /// Field number for the "jitter" field. + public const int JitterFieldNumber = 3; + private readonly static double JitterDefaultValue = 0D; + + private double jitter_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double Jitter { + get { if ((_hasBits0 & 4) != 0) { return jitter_; } else { return JitterDefaultValue; } } + set { + _hasBits0 |= 4; + jitter_ = value; + } + } + /// Gets whether the "jitter" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasJitter { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "jitter" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearJitter() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ReceivedRtpStreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ReceivedRtpStreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PacketsReceived != other.PacketsReceived) return false; + if (PacketsLost != other.PacketsLost) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Jitter, other.Jitter)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPacketsReceived) hash ^= PacketsReceived.GetHashCode(); + if (HasPacketsLost) hash ^= PacketsLost.GetHashCode(); + if (HasJitter) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Jitter); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPacketsReceived) { + output.WriteRawTag(8); + output.WriteUInt64(PacketsReceived); + } + if (HasPacketsLost) { + output.WriteRawTag(16); + output.WriteInt64(PacketsLost); + } + if (HasJitter) { + output.WriteRawTag(25); + output.WriteDouble(Jitter); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPacketsReceived) { + output.WriteRawTag(8); + output.WriteUInt64(PacketsReceived); + } + if (HasPacketsLost) { + output.WriteRawTag(16); + output.WriteInt64(PacketsLost); + } + if (HasJitter) { + output.WriteRawTag(25); + output.WriteDouble(Jitter); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPacketsReceived) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PacketsReceived); + } + if (HasPacketsLost) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(PacketsLost); + } + if (HasJitter) { + size += 1 + 8; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ReceivedRtpStreamStats other) { + if (other == null) { + return; + } + if (other.HasPacketsReceived) { + PacketsReceived = other.PacketsReceived; + } + if (other.HasPacketsLost) { + PacketsLost = other.PacketsLost; + } + if (other.HasJitter) { + Jitter = other.Jitter; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PacketsReceived = input.ReadUInt64(); + break; + } + case 16: { + PacketsLost = input.ReadInt64(); + break; + } + case 25: { + Jitter = input.ReadDouble(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PacketsReceived = input.ReadUInt64(); + break; + } + case 16: { + PacketsLost = input.ReadInt64(); + break; + } + case 25: { + Jitter = input.ReadDouble(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class InboundRtpStreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new InboundRtpStreamStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + private int _hasBits1; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[5]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public InboundRtpStreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public InboundRtpStreamStats(InboundRtpStreamStats other) : this() { + _hasBits0 = other._hasBits0; + _hasBits1 = other._hasBits1; + trackIdentifier_ = other.trackIdentifier_; + mid_ = other.mid_; + remoteId_ = other.remoteId_; + framesDecoded_ = other.framesDecoded_; + keyFramesDecoded_ = other.keyFramesDecoded_; + framesRendered_ = other.framesRendered_; + framesDropped_ = other.framesDropped_; + frameWidth_ = other.frameWidth_; + frameHeight_ = other.frameHeight_; + framesPerSecond_ = other.framesPerSecond_; + qpSum_ = other.qpSum_; + totalDecodeTime_ = other.totalDecodeTime_; + totalInterFrameDelay_ = other.totalInterFrameDelay_; + totalSquaredInterFrameDelay_ = other.totalSquaredInterFrameDelay_; + pauseCount_ = other.pauseCount_; + totalPauseDuration_ = other.totalPauseDuration_; + freezeCount_ = other.freezeCount_; + totalFreezeDuration_ = other.totalFreezeDuration_; + lastPacketReceivedTimestamp_ = other.lastPacketReceivedTimestamp_; + headerBytesReceived_ = other.headerBytesReceived_; + packetsDiscarded_ = other.packetsDiscarded_; + fecBytesReceived_ = other.fecBytesReceived_; + fecPacketsReceived_ = other.fecPacketsReceived_; + fecPacketsDiscarded_ = other.fecPacketsDiscarded_; + bytesReceived_ = other.bytesReceived_; + nackCount_ = other.nackCount_; + firCount_ = other.firCount_; + pliCount_ = other.pliCount_; + totalProcessingDelay_ = other.totalProcessingDelay_; + estimatedPlayoutTimestamp_ = other.estimatedPlayoutTimestamp_; + jitterBufferDelay_ = other.jitterBufferDelay_; + jitterBufferTargetDelay_ = other.jitterBufferTargetDelay_; + jitterBufferEmittedCount_ = other.jitterBufferEmittedCount_; + jitterBufferMinimumDelay_ = other.jitterBufferMinimumDelay_; + totalSamplesReceived_ = other.totalSamplesReceived_; + concealedSamples_ = other.concealedSamples_; + silentConcealedSamples_ = other.silentConcealedSamples_; + concealmentEvents_ = other.concealmentEvents_; + insertedSamplesForDeceleration_ = other.insertedSamplesForDeceleration_; + removedSamplesForAcceleration_ = other.removedSamplesForAcceleration_; + audioLevel_ = other.audioLevel_; + totalAudioEnergy_ = other.totalAudioEnergy_; + totalSamplesDuration_ = other.totalSamplesDuration_; + framesReceived_ = other.framesReceived_; + decoderImplementation_ = other.decoderImplementation_; + playoutId_ = other.playoutId_; + powerEfficientDecoder_ = other.powerEfficientDecoder_; + framesAssembledFromMultiplePackets_ = other.framesAssembledFromMultiplePackets_; + totalAssemblyTime_ = other.totalAssemblyTime_; + retransmittedPacketsReceived_ = other.retransmittedPacketsReceived_; + retransmittedBytesReceived_ = other.retransmittedBytesReceived_; + rtxSsrc_ = other.rtxSsrc_; + fecSsrc_ = other.fecSsrc_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public InboundRtpStreamStats Clone() { + return new InboundRtpStreamStats(this); + } + + /// Field number for the "track_identifier" field. + public const int TrackIdentifierFieldNumber = 1; + private readonly static string TrackIdentifierDefaultValue = ""; + + private string trackIdentifier_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackIdentifier { + get { return trackIdentifier_ ?? TrackIdentifierDefaultValue; } + set { + trackIdentifier_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_identifier" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackIdentifier { + get { return trackIdentifier_ != null; } + } + /// Clears the value of the "track_identifier" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackIdentifier() { + trackIdentifier_ = null; + } + + /// Field number for the "mid" field. + public const int MidFieldNumber = 2; + private readonly static string MidDefaultValue = ""; + + private string mid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Mid { + get { return mid_ ?? MidDefaultValue; } + set { + mid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMid { + get { return mid_ != null; } + } + /// Clears the value of the "mid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMid() { + mid_ = null; + } + + /// Field number for the "remote_id" field. + public const int RemoteIdFieldNumber = 3; + private readonly static string RemoteIdDefaultValue = ""; + + private string remoteId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string RemoteId { + get { return remoteId_ ?? RemoteIdDefaultValue; } + set { + remoteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "remote_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemoteId { + get { return remoteId_ != null; } + } + /// Clears the value of the "remote_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemoteId() { + remoteId_ = null; + } + + /// Field number for the "frames_decoded" field. + public const int FramesDecodedFieldNumber = 4; + private readonly static uint FramesDecodedDefaultValue = 0; + + private uint framesDecoded_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FramesDecoded { + get { if ((_hasBits0 & 1) != 0) { return framesDecoded_; } else { return FramesDecodedDefaultValue; } } + set { + _hasBits0 |= 1; + framesDecoded_ = value; + } + } + /// Gets whether the "frames_decoded" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesDecoded { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "frames_decoded" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesDecoded() { + _hasBits0 &= ~1; + } + + /// Field number for the "key_frames_decoded" field. + public const int KeyFramesDecodedFieldNumber = 5; + private readonly static uint KeyFramesDecodedDefaultValue = 0; + + private uint keyFramesDecoded_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint KeyFramesDecoded { + get { if ((_hasBits0 & 2) != 0) { return keyFramesDecoded_; } else { return KeyFramesDecodedDefaultValue; } } + set { + _hasBits0 |= 2; + keyFramesDecoded_ = value; + } + } + /// Gets whether the "key_frames_decoded" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyFramesDecoded { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "key_frames_decoded" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyFramesDecoded() { + _hasBits0 &= ~2; + } + + /// Field number for the "frames_rendered" field. + public const int FramesRenderedFieldNumber = 6; + private readonly static uint FramesRenderedDefaultValue = 0; + + private uint framesRendered_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FramesRendered { + get { if ((_hasBits0 & 4) != 0) { return framesRendered_; } else { return FramesRenderedDefaultValue; } } + set { + _hasBits0 |= 4; + framesRendered_ = value; + } + } + /// Gets whether the "frames_rendered" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesRendered { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "frames_rendered" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesRendered() { + _hasBits0 &= ~4; + } + + /// Field number for the "frames_dropped" field. + public const int FramesDroppedFieldNumber = 7; + private readonly static uint FramesDroppedDefaultValue = 0; + + private uint framesDropped_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FramesDropped { + get { if ((_hasBits0 & 8) != 0) { return framesDropped_; } else { return FramesDroppedDefaultValue; } } + set { + _hasBits0 |= 8; + framesDropped_ = value; + } + } + /// Gets whether the "frames_dropped" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesDropped { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "frames_dropped" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesDropped() { + _hasBits0 &= ~8; + } + + /// Field number for the "frame_width" field. + public const int FrameWidthFieldNumber = 8; + private readonly static uint FrameWidthDefaultValue = 0; + + private uint frameWidth_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FrameWidth { + get { if ((_hasBits0 & 16) != 0) { return frameWidth_; } else { return FrameWidthDefaultValue; } } + set { + _hasBits0 |= 16; + frameWidth_ = value; + } + } + /// Gets whether the "frame_width" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrameWidth { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "frame_width" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrameWidth() { + _hasBits0 &= ~16; + } + + /// Field number for the "frame_height" field. + public const int FrameHeightFieldNumber = 9; + private readonly static uint FrameHeightDefaultValue = 0; + + private uint frameHeight_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FrameHeight { + get { if ((_hasBits0 & 32) != 0) { return frameHeight_; } else { return FrameHeightDefaultValue; } } + set { + _hasBits0 |= 32; + frameHeight_ = value; + } + } + /// Gets whether the "frame_height" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrameHeight { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "frame_height" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrameHeight() { + _hasBits0 &= ~32; + } + + /// Field number for the "frames_per_second" field. + public const int FramesPerSecondFieldNumber = 10; + private readonly static double FramesPerSecondDefaultValue = 0D; + + private double framesPerSecond_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double FramesPerSecond { + get { if ((_hasBits0 & 64) != 0) { return framesPerSecond_; } else { return FramesPerSecondDefaultValue; } } + set { + _hasBits0 |= 64; + framesPerSecond_ = value; + } + } + /// Gets whether the "frames_per_second" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesPerSecond { + get { return (_hasBits0 & 64) != 0; } + } + /// Clears the value of the "frames_per_second" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesPerSecond() { + _hasBits0 &= ~64; + } + + /// Field number for the "qp_sum" field. + public const int QpSumFieldNumber = 11; + private readonly static ulong QpSumDefaultValue = 0UL; + + private ulong qpSum_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong QpSum { + get { if ((_hasBits0 & 128) != 0) { return qpSum_; } else { return QpSumDefaultValue; } } + set { + _hasBits0 |= 128; + qpSum_ = value; + } + } + /// Gets whether the "qp_sum" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQpSum { + get { return (_hasBits0 & 128) != 0; } + } + /// Clears the value of the "qp_sum" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQpSum() { + _hasBits0 &= ~128; + } + + /// Field number for the "total_decode_time" field. + public const int TotalDecodeTimeFieldNumber = 12; + private readonly static double TotalDecodeTimeDefaultValue = 0D; + + private double totalDecodeTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalDecodeTime { + get { if ((_hasBits0 & 256) != 0) { return totalDecodeTime_; } else { return TotalDecodeTimeDefaultValue; } } + set { + _hasBits0 |= 256; + totalDecodeTime_ = value; + } + } + /// Gets whether the "total_decode_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalDecodeTime { + get { return (_hasBits0 & 256) != 0; } + } + /// Clears the value of the "total_decode_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalDecodeTime() { + _hasBits0 &= ~256; + } + + /// Field number for the "total_inter_frame_delay" field. + public const int TotalInterFrameDelayFieldNumber = 13; + private readonly static double TotalInterFrameDelayDefaultValue = 0D; + + private double totalInterFrameDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalInterFrameDelay { + get { if ((_hasBits0 & 512) != 0) { return totalInterFrameDelay_; } else { return TotalInterFrameDelayDefaultValue; } } + set { + _hasBits0 |= 512; + totalInterFrameDelay_ = value; + } + } + /// Gets whether the "total_inter_frame_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalInterFrameDelay { + get { return (_hasBits0 & 512) != 0; } + } + /// Clears the value of the "total_inter_frame_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalInterFrameDelay() { + _hasBits0 &= ~512; + } + + /// Field number for the "total_squared_inter_frame_delay" field. + public const int TotalSquaredInterFrameDelayFieldNumber = 14; + private readonly static double TotalSquaredInterFrameDelayDefaultValue = 0D; + + private double totalSquaredInterFrameDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalSquaredInterFrameDelay { + get { if ((_hasBits0 & 1024) != 0) { return totalSquaredInterFrameDelay_; } else { return TotalSquaredInterFrameDelayDefaultValue; } } + set { + _hasBits0 |= 1024; + totalSquaredInterFrameDelay_ = value; + } + } + /// Gets whether the "total_squared_inter_frame_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalSquaredInterFrameDelay { + get { return (_hasBits0 & 1024) != 0; } + } + /// Clears the value of the "total_squared_inter_frame_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalSquaredInterFrameDelay() { + _hasBits0 &= ~1024; + } + + /// Field number for the "pause_count" field. + public const int PauseCountFieldNumber = 15; + private readonly static uint PauseCountDefaultValue = 0; + + private uint pauseCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint PauseCount { + get { if ((_hasBits0 & 2048) != 0) { return pauseCount_; } else { return PauseCountDefaultValue; } } + set { + _hasBits0 |= 2048; + pauseCount_ = value; + } + } + /// Gets whether the "pause_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPauseCount { + get { return (_hasBits0 & 2048) != 0; } + } + /// Clears the value of the "pause_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPauseCount() { + _hasBits0 &= ~2048; + } + + /// Field number for the "total_pause_duration" field. + public const int TotalPauseDurationFieldNumber = 16; + private readonly static double TotalPauseDurationDefaultValue = 0D; + + private double totalPauseDuration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalPauseDuration { + get { if ((_hasBits0 & 4096) != 0) { return totalPauseDuration_; } else { return TotalPauseDurationDefaultValue; } } + set { + _hasBits0 |= 4096; + totalPauseDuration_ = value; + } + } + /// Gets whether the "total_pause_duration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalPauseDuration { + get { return (_hasBits0 & 4096) != 0; } + } + /// Clears the value of the "total_pause_duration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalPauseDuration() { + _hasBits0 &= ~4096; + } + + /// Field number for the "freeze_count" field. + public const int FreezeCountFieldNumber = 17; + private readonly static uint FreezeCountDefaultValue = 0; + + private uint freezeCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FreezeCount { + get { if ((_hasBits0 & 8192) != 0) { return freezeCount_; } else { return FreezeCountDefaultValue; } } + set { + _hasBits0 |= 8192; + freezeCount_ = value; + } + } + /// Gets whether the "freeze_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFreezeCount { + get { return (_hasBits0 & 8192) != 0; } + } + /// Clears the value of the "freeze_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFreezeCount() { + _hasBits0 &= ~8192; + } + + /// Field number for the "total_freeze_duration" field. + public const int TotalFreezeDurationFieldNumber = 18; + private readonly static double TotalFreezeDurationDefaultValue = 0D; + + private double totalFreezeDuration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalFreezeDuration { + get { if ((_hasBits0 & 16384) != 0) { return totalFreezeDuration_; } else { return TotalFreezeDurationDefaultValue; } } + set { + _hasBits0 |= 16384; + totalFreezeDuration_ = value; + } + } + /// Gets whether the "total_freeze_duration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalFreezeDuration { + get { return (_hasBits0 & 16384) != 0; } + } + /// Clears the value of the "total_freeze_duration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalFreezeDuration() { + _hasBits0 &= ~16384; + } + + /// Field number for the "last_packet_received_timestamp" field. + public const int LastPacketReceivedTimestampFieldNumber = 19; + private readonly static double LastPacketReceivedTimestampDefaultValue = 0D; + + private double lastPacketReceivedTimestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double LastPacketReceivedTimestamp { + get { if ((_hasBits0 & 32768) != 0) { return lastPacketReceivedTimestamp_; } else { return LastPacketReceivedTimestampDefaultValue; } } + set { + _hasBits0 |= 32768; + lastPacketReceivedTimestamp_ = value; + } + } + /// Gets whether the "last_packet_received_timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLastPacketReceivedTimestamp { + get { return (_hasBits0 & 32768) != 0; } + } + /// Clears the value of the "last_packet_received_timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLastPacketReceivedTimestamp() { + _hasBits0 &= ~32768; + } + + /// Field number for the "header_bytes_received" field. + public const int HeaderBytesReceivedFieldNumber = 20; + private readonly static ulong HeaderBytesReceivedDefaultValue = 0UL; + + private ulong headerBytesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong HeaderBytesReceived { + get { if ((_hasBits0 & 65536) != 0) { return headerBytesReceived_; } else { return HeaderBytesReceivedDefaultValue; } } + set { + _hasBits0 |= 65536; + headerBytesReceived_ = value; + } + } + /// Gets whether the "header_bytes_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHeaderBytesReceived { + get { return (_hasBits0 & 65536) != 0; } + } + /// Clears the value of the "header_bytes_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHeaderBytesReceived() { + _hasBits0 &= ~65536; + } + + /// Field number for the "packets_discarded" field. + public const int PacketsDiscardedFieldNumber = 21; + private readonly static ulong PacketsDiscardedDefaultValue = 0UL; + + private ulong packetsDiscarded_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PacketsDiscarded { + get { if ((_hasBits0 & 131072) != 0) { return packetsDiscarded_; } else { return PacketsDiscardedDefaultValue; } } + set { + _hasBits0 |= 131072; + packetsDiscarded_ = value; + } + } + /// Gets whether the "packets_discarded" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsDiscarded { + get { return (_hasBits0 & 131072) != 0; } + } + /// Clears the value of the "packets_discarded" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsDiscarded() { + _hasBits0 &= ~131072; + } + + /// Field number for the "fec_bytes_received" field. + public const int FecBytesReceivedFieldNumber = 22; + private readonly static ulong FecBytesReceivedDefaultValue = 0UL; + + private ulong fecBytesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong FecBytesReceived { + get { if ((_hasBits0 & 262144) != 0) { return fecBytesReceived_; } else { return FecBytesReceivedDefaultValue; } } + set { + _hasBits0 |= 262144; + fecBytesReceived_ = value; + } + } + /// Gets whether the "fec_bytes_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFecBytesReceived { + get { return (_hasBits0 & 262144) != 0; } + } + /// Clears the value of the "fec_bytes_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFecBytesReceived() { + _hasBits0 &= ~262144; + } + + /// Field number for the "fec_packets_received" field. + public const int FecPacketsReceivedFieldNumber = 23; + private readonly static ulong FecPacketsReceivedDefaultValue = 0UL; + + private ulong fecPacketsReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong FecPacketsReceived { + get { if ((_hasBits0 & 524288) != 0) { return fecPacketsReceived_; } else { return FecPacketsReceivedDefaultValue; } } + set { + _hasBits0 |= 524288; + fecPacketsReceived_ = value; + } + } + /// Gets whether the "fec_packets_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFecPacketsReceived { + get { return (_hasBits0 & 524288) != 0; } + } + /// Clears the value of the "fec_packets_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFecPacketsReceived() { + _hasBits0 &= ~524288; + } + + /// Field number for the "fec_packets_discarded" field. + public const int FecPacketsDiscardedFieldNumber = 24; + private readonly static ulong FecPacketsDiscardedDefaultValue = 0UL; + + private ulong fecPacketsDiscarded_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong FecPacketsDiscarded { + get { if ((_hasBits0 & 1048576) != 0) { return fecPacketsDiscarded_; } else { return FecPacketsDiscardedDefaultValue; } } + set { + _hasBits0 |= 1048576; + fecPacketsDiscarded_ = value; + } + } + /// Gets whether the "fec_packets_discarded" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFecPacketsDiscarded { + get { return (_hasBits0 & 1048576) != 0; } + } + /// Clears the value of the "fec_packets_discarded" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFecPacketsDiscarded() { + _hasBits0 &= ~1048576; + } + + /// Field number for the "bytes_received" field. + public const int BytesReceivedFieldNumber = 25; + private readonly static ulong BytesReceivedDefaultValue = 0UL; + + private ulong bytesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesReceived { + get { if ((_hasBits0 & 2097152) != 0) { return bytesReceived_; } else { return BytesReceivedDefaultValue; } } + set { + _hasBits0 |= 2097152; + bytesReceived_ = value; + } + } + /// Gets whether the "bytes_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesReceived { + get { return (_hasBits0 & 2097152) != 0; } + } + /// Clears the value of the "bytes_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesReceived() { + _hasBits0 &= ~2097152; + } + + /// Field number for the "nack_count" field. + public const int NackCountFieldNumber = 26; + private readonly static uint NackCountDefaultValue = 0; + + private uint nackCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NackCount { + get { if ((_hasBits0 & 4194304) != 0) { return nackCount_; } else { return NackCountDefaultValue; } } + set { + _hasBits0 |= 4194304; + nackCount_ = value; + } + } + /// Gets whether the "nack_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNackCount { + get { return (_hasBits0 & 4194304) != 0; } + } + /// Clears the value of the "nack_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNackCount() { + _hasBits0 &= ~4194304; + } + + /// Field number for the "fir_count" field. + public const int FirCountFieldNumber = 27; + private readonly static uint FirCountDefaultValue = 0; + + private uint firCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FirCount { + get { if ((_hasBits0 & 8388608) != 0) { return firCount_; } else { return FirCountDefaultValue; } } + set { + _hasBits0 |= 8388608; + firCount_ = value; + } + } + /// Gets whether the "fir_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFirCount { + get { return (_hasBits0 & 8388608) != 0; } + } + /// Clears the value of the "fir_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFirCount() { + _hasBits0 &= ~8388608; + } + + /// Field number for the "pli_count" field. + public const int PliCountFieldNumber = 28; + private readonly static uint PliCountDefaultValue = 0; + + private uint pliCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint PliCount { + get { if ((_hasBits0 & 16777216) != 0) { return pliCount_; } else { return PliCountDefaultValue; } } + set { + _hasBits0 |= 16777216; + pliCount_ = value; + } + } + /// Gets whether the "pli_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPliCount { + get { return (_hasBits0 & 16777216) != 0; } + } + /// Clears the value of the "pli_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPliCount() { + _hasBits0 &= ~16777216; + } + + /// Field number for the "total_processing_delay" field. + public const int TotalProcessingDelayFieldNumber = 29; + private readonly static double TotalProcessingDelayDefaultValue = 0D; + + private double totalProcessingDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalProcessingDelay { + get { if ((_hasBits0 & 33554432) != 0) { return totalProcessingDelay_; } else { return TotalProcessingDelayDefaultValue; } } + set { + _hasBits0 |= 33554432; + totalProcessingDelay_ = value; + } + } + /// Gets whether the "total_processing_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalProcessingDelay { + get { return (_hasBits0 & 33554432) != 0; } + } + /// Clears the value of the "total_processing_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalProcessingDelay() { + _hasBits0 &= ~33554432; + } + + /// Field number for the "estimated_playout_timestamp" field. + public const int EstimatedPlayoutTimestampFieldNumber = 30; + private readonly static double EstimatedPlayoutTimestampDefaultValue = 0D; + + private double estimatedPlayoutTimestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double EstimatedPlayoutTimestamp { + get { if ((_hasBits0 & 67108864) != 0) { return estimatedPlayoutTimestamp_; } else { return EstimatedPlayoutTimestampDefaultValue; } } + set { + _hasBits0 |= 67108864; + estimatedPlayoutTimestamp_ = value; + } + } + /// Gets whether the "estimated_playout_timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEstimatedPlayoutTimestamp { + get { return (_hasBits0 & 67108864) != 0; } + } + /// Clears the value of the "estimated_playout_timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEstimatedPlayoutTimestamp() { + _hasBits0 &= ~67108864; + } + + /// Field number for the "jitter_buffer_delay" field. + public const int JitterBufferDelayFieldNumber = 31; + private readonly static double JitterBufferDelayDefaultValue = 0D; + + private double jitterBufferDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double JitterBufferDelay { + get { if ((_hasBits0 & 134217728) != 0) { return jitterBufferDelay_; } else { return JitterBufferDelayDefaultValue; } } + set { + _hasBits0 |= 134217728; + jitterBufferDelay_ = value; + } + } + /// Gets whether the "jitter_buffer_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasJitterBufferDelay { + get { return (_hasBits0 & 134217728) != 0; } + } + /// Clears the value of the "jitter_buffer_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearJitterBufferDelay() { + _hasBits0 &= ~134217728; + } + + /// Field number for the "jitter_buffer_target_delay" field. + public const int JitterBufferTargetDelayFieldNumber = 32; + private readonly static double JitterBufferTargetDelayDefaultValue = 0D; + + private double jitterBufferTargetDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double JitterBufferTargetDelay { + get { if ((_hasBits0 & 268435456) != 0) { return jitterBufferTargetDelay_; } else { return JitterBufferTargetDelayDefaultValue; } } + set { + _hasBits0 |= 268435456; + jitterBufferTargetDelay_ = value; + } + } + /// Gets whether the "jitter_buffer_target_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasJitterBufferTargetDelay { + get { return (_hasBits0 & 268435456) != 0; } + } + /// Clears the value of the "jitter_buffer_target_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearJitterBufferTargetDelay() { + _hasBits0 &= ~268435456; + } + + /// Field number for the "jitter_buffer_emitted_count" field. + public const int JitterBufferEmittedCountFieldNumber = 33; + private readonly static ulong JitterBufferEmittedCountDefaultValue = 0UL; + + private ulong jitterBufferEmittedCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong JitterBufferEmittedCount { + get { if ((_hasBits0 & 536870912) != 0) { return jitterBufferEmittedCount_; } else { return JitterBufferEmittedCountDefaultValue; } } + set { + _hasBits0 |= 536870912; + jitterBufferEmittedCount_ = value; + } + } + /// Gets whether the "jitter_buffer_emitted_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasJitterBufferEmittedCount { + get { return (_hasBits0 & 536870912) != 0; } + } + /// Clears the value of the "jitter_buffer_emitted_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearJitterBufferEmittedCount() { + _hasBits0 &= ~536870912; + } + + /// Field number for the "jitter_buffer_minimum_delay" field. + public const int JitterBufferMinimumDelayFieldNumber = 34; + private readonly static double JitterBufferMinimumDelayDefaultValue = 0D; + + private double jitterBufferMinimumDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double JitterBufferMinimumDelay { + get { if ((_hasBits0 & 1073741824) != 0) { return jitterBufferMinimumDelay_; } else { return JitterBufferMinimumDelayDefaultValue; } } + set { + _hasBits0 |= 1073741824; + jitterBufferMinimumDelay_ = value; + } + } + /// Gets whether the "jitter_buffer_minimum_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasJitterBufferMinimumDelay { + get { return (_hasBits0 & 1073741824) != 0; } + } + /// Clears the value of the "jitter_buffer_minimum_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearJitterBufferMinimumDelay() { + _hasBits0 &= ~1073741824; + } + + /// Field number for the "total_samples_received" field. + public const int TotalSamplesReceivedFieldNumber = 35; + private readonly static ulong TotalSamplesReceivedDefaultValue = 0UL; + + private ulong totalSamplesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalSamplesReceived { + get { if ((_hasBits0 & -2147483648) != 0) { return totalSamplesReceived_; } else { return TotalSamplesReceivedDefaultValue; } } + set { + _hasBits0 |= -2147483648; + totalSamplesReceived_ = value; + } + } + /// Gets whether the "total_samples_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalSamplesReceived { + get { return (_hasBits0 & -2147483648) != 0; } + } + /// Clears the value of the "total_samples_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalSamplesReceived() { + _hasBits0 &= ~-2147483648; + } + + /// Field number for the "concealed_samples" field. + public const int ConcealedSamplesFieldNumber = 36; + private readonly static ulong ConcealedSamplesDefaultValue = 0UL; + + private ulong concealedSamples_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ConcealedSamples { + get { if ((_hasBits1 & 1) != 0) { return concealedSamples_; } else { return ConcealedSamplesDefaultValue; } } + set { + _hasBits1 |= 1; + concealedSamples_ = value; + } + } + /// Gets whether the "concealed_samples" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasConcealedSamples { + get { return (_hasBits1 & 1) != 0; } + } + /// Clears the value of the "concealed_samples" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearConcealedSamples() { + _hasBits1 &= ~1; + } + + /// Field number for the "silent_concealed_samples" field. + public const int SilentConcealedSamplesFieldNumber = 37; + private readonly static ulong SilentConcealedSamplesDefaultValue = 0UL; + + private ulong silentConcealedSamples_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong SilentConcealedSamples { + get { if ((_hasBits1 & 2) != 0) { return silentConcealedSamples_; } else { return SilentConcealedSamplesDefaultValue; } } + set { + _hasBits1 |= 2; + silentConcealedSamples_ = value; + } + } + /// Gets whether the "silent_concealed_samples" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSilentConcealedSamples { + get { return (_hasBits1 & 2) != 0; } + } + /// Clears the value of the "silent_concealed_samples" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSilentConcealedSamples() { + _hasBits1 &= ~2; + } + + /// Field number for the "concealment_events" field. + public const int ConcealmentEventsFieldNumber = 38; + private readonly static ulong ConcealmentEventsDefaultValue = 0UL; + + private ulong concealmentEvents_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ConcealmentEvents { + get { if ((_hasBits1 & 4) != 0) { return concealmentEvents_; } else { return ConcealmentEventsDefaultValue; } } + set { + _hasBits1 |= 4; + concealmentEvents_ = value; + } + } + /// Gets whether the "concealment_events" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasConcealmentEvents { + get { return (_hasBits1 & 4) != 0; } + } + /// Clears the value of the "concealment_events" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearConcealmentEvents() { + _hasBits1 &= ~4; + } + + /// Field number for the "inserted_samples_for_deceleration" field. + public const int InsertedSamplesForDecelerationFieldNumber = 39; + private readonly static ulong InsertedSamplesForDecelerationDefaultValue = 0UL; + + private ulong insertedSamplesForDeceleration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong InsertedSamplesForDeceleration { + get { if ((_hasBits1 & 8) != 0) { return insertedSamplesForDeceleration_; } else { return InsertedSamplesForDecelerationDefaultValue; } } + set { + _hasBits1 |= 8; + insertedSamplesForDeceleration_ = value; + } + } + /// Gets whether the "inserted_samples_for_deceleration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasInsertedSamplesForDeceleration { + get { return (_hasBits1 & 8) != 0; } + } + /// Clears the value of the "inserted_samples_for_deceleration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearInsertedSamplesForDeceleration() { + _hasBits1 &= ~8; + } + + /// Field number for the "removed_samples_for_acceleration" field. + public const int RemovedSamplesForAccelerationFieldNumber = 40; + private readonly static ulong RemovedSamplesForAccelerationDefaultValue = 0UL; + + private ulong removedSamplesForAcceleration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RemovedSamplesForAcceleration { + get { if ((_hasBits1 & 16) != 0) { return removedSamplesForAcceleration_; } else { return RemovedSamplesForAccelerationDefaultValue; } } + set { + _hasBits1 |= 16; + removedSamplesForAcceleration_ = value; + } + } + /// Gets whether the "removed_samples_for_acceleration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemovedSamplesForAcceleration { + get { return (_hasBits1 & 16) != 0; } + } + /// Clears the value of the "removed_samples_for_acceleration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemovedSamplesForAcceleration() { + _hasBits1 &= ~16; + } + + /// Field number for the "audio_level" field. + public const int AudioLevelFieldNumber = 41; + private readonly static double AudioLevelDefaultValue = 0D; + + private double audioLevel_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double AudioLevel { + get { if ((_hasBits1 & 32) != 0) { return audioLevel_; } else { return AudioLevelDefaultValue; } } + set { + _hasBits1 |= 32; + audioLevel_ = value; + } + } + /// Gets whether the "audio_level" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAudioLevel { + get { return (_hasBits1 & 32) != 0; } + } + /// Clears the value of the "audio_level" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAudioLevel() { + _hasBits1 &= ~32; + } + + /// Field number for the "total_audio_energy" field. + public const int TotalAudioEnergyFieldNumber = 42; + private readonly static double TotalAudioEnergyDefaultValue = 0D; + + private double totalAudioEnergy_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalAudioEnergy { + get { if ((_hasBits1 & 64) != 0) { return totalAudioEnergy_; } else { return TotalAudioEnergyDefaultValue; } } + set { + _hasBits1 |= 64; + totalAudioEnergy_ = value; + } + } + /// Gets whether the "total_audio_energy" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalAudioEnergy { + get { return (_hasBits1 & 64) != 0; } + } + /// Clears the value of the "total_audio_energy" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalAudioEnergy() { + _hasBits1 &= ~64; + } + + /// Field number for the "total_samples_duration" field. + public const int TotalSamplesDurationFieldNumber = 43; + private readonly static double TotalSamplesDurationDefaultValue = 0D; + + private double totalSamplesDuration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalSamplesDuration { + get { if ((_hasBits1 & 128) != 0) { return totalSamplesDuration_; } else { return TotalSamplesDurationDefaultValue; } } + set { + _hasBits1 |= 128; + totalSamplesDuration_ = value; + } + } + /// Gets whether the "total_samples_duration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalSamplesDuration { + get { return (_hasBits1 & 128) != 0; } + } + /// Clears the value of the "total_samples_duration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalSamplesDuration() { + _hasBits1 &= ~128; + } + + /// Field number for the "frames_received" field. + public const int FramesReceivedFieldNumber = 44; + private readonly static ulong FramesReceivedDefaultValue = 0UL; + + private ulong framesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong FramesReceived { + get { if ((_hasBits1 & 256) != 0) { return framesReceived_; } else { return FramesReceivedDefaultValue; } } + set { + _hasBits1 |= 256; + framesReceived_ = value; + } + } + /// Gets whether the "frames_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesReceived { + get { return (_hasBits1 & 256) != 0; } + } + /// Clears the value of the "frames_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesReceived() { + _hasBits1 &= ~256; + } + + /// Field number for the "decoder_implementation" field. + public const int DecoderImplementationFieldNumber = 45; + private readonly static string DecoderImplementationDefaultValue = ""; + + private string decoderImplementation_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string DecoderImplementation { + get { return decoderImplementation_ ?? DecoderImplementationDefaultValue; } + set { + decoderImplementation_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "decoder_implementation" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDecoderImplementation { + get { return decoderImplementation_ != null; } + } + /// Clears the value of the "decoder_implementation" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDecoderImplementation() { + decoderImplementation_ = null; + } + + /// Field number for the "playout_id" field. + public const int PlayoutIdFieldNumber = 46; + private readonly static string PlayoutIdDefaultValue = ""; + + private string playoutId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string PlayoutId { + get { return playoutId_ ?? PlayoutIdDefaultValue; } + set { + playoutId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "playout_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPlayoutId { + get { return playoutId_ != null; } + } + /// Clears the value of the "playout_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPlayoutId() { + playoutId_ = null; + } + + /// Field number for the "power_efficient_decoder" field. + public const int PowerEfficientDecoderFieldNumber = 47; + private readonly static bool PowerEfficientDecoderDefaultValue = false; + + private bool powerEfficientDecoder_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool PowerEfficientDecoder { + get { if ((_hasBits1 & 512) != 0) { return powerEfficientDecoder_; } else { return PowerEfficientDecoderDefaultValue; } } + set { + _hasBits1 |= 512; + powerEfficientDecoder_ = value; + } + } + /// Gets whether the "power_efficient_decoder" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPowerEfficientDecoder { + get { return (_hasBits1 & 512) != 0; } + } + /// Clears the value of the "power_efficient_decoder" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPowerEfficientDecoder() { + _hasBits1 &= ~512; + } + + /// Field number for the "frames_assembled_from_multiple_packets" field. + public const int FramesAssembledFromMultiplePacketsFieldNumber = 48; + private readonly static ulong FramesAssembledFromMultiplePacketsDefaultValue = 0UL; + + private ulong framesAssembledFromMultiplePackets_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong FramesAssembledFromMultiplePackets { + get { if ((_hasBits1 & 1024) != 0) { return framesAssembledFromMultiplePackets_; } else { return FramesAssembledFromMultiplePacketsDefaultValue; } } + set { + _hasBits1 |= 1024; + framesAssembledFromMultiplePackets_ = value; + } + } + /// Gets whether the "frames_assembled_from_multiple_packets" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesAssembledFromMultiplePackets { + get { return (_hasBits1 & 1024) != 0; } + } + /// Clears the value of the "frames_assembled_from_multiple_packets" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesAssembledFromMultiplePackets() { + _hasBits1 &= ~1024; + } + + /// Field number for the "total_assembly_time" field. + public const int TotalAssemblyTimeFieldNumber = 49; + private readonly static double TotalAssemblyTimeDefaultValue = 0D; + + private double totalAssemblyTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalAssemblyTime { + get { if ((_hasBits1 & 2048) != 0) { return totalAssemblyTime_; } else { return TotalAssemblyTimeDefaultValue; } } + set { + _hasBits1 |= 2048; + totalAssemblyTime_ = value; + } + } + /// Gets whether the "total_assembly_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalAssemblyTime { + get { return (_hasBits1 & 2048) != 0; } + } + /// Clears the value of the "total_assembly_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalAssemblyTime() { + _hasBits1 &= ~2048; + } + + /// Field number for the "retransmitted_packets_received" field. + public const int RetransmittedPacketsReceivedFieldNumber = 50; + private readonly static ulong RetransmittedPacketsReceivedDefaultValue = 0UL; + + private ulong retransmittedPacketsReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RetransmittedPacketsReceived { + get { if ((_hasBits1 & 4096) != 0) { return retransmittedPacketsReceived_; } else { return RetransmittedPacketsReceivedDefaultValue; } } + set { + _hasBits1 |= 4096; + retransmittedPacketsReceived_ = value; + } + } + /// Gets whether the "retransmitted_packets_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRetransmittedPacketsReceived { + get { return (_hasBits1 & 4096) != 0; } + } + /// Clears the value of the "retransmitted_packets_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRetransmittedPacketsReceived() { + _hasBits1 &= ~4096; + } + + /// Field number for the "retransmitted_bytes_received" field. + public const int RetransmittedBytesReceivedFieldNumber = 51; + private readonly static ulong RetransmittedBytesReceivedDefaultValue = 0UL; + + private ulong retransmittedBytesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RetransmittedBytesReceived { + get { if ((_hasBits1 & 8192) != 0) { return retransmittedBytesReceived_; } else { return RetransmittedBytesReceivedDefaultValue; } } + set { + _hasBits1 |= 8192; + retransmittedBytesReceived_ = value; + } + } + /// Gets whether the "retransmitted_bytes_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRetransmittedBytesReceived { + get { return (_hasBits1 & 8192) != 0; } + } + /// Clears the value of the "retransmitted_bytes_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRetransmittedBytesReceived() { + _hasBits1 &= ~8192; + } + + /// Field number for the "rtx_ssrc" field. + public const int RtxSsrcFieldNumber = 52; + private readonly static uint RtxSsrcDefaultValue = 0; + + private uint rtxSsrc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint RtxSsrc { + get { if ((_hasBits1 & 16384) != 0) { return rtxSsrc_; } else { return RtxSsrcDefaultValue; } } + set { + _hasBits1 |= 16384; + rtxSsrc_ = value; + } + } + /// Gets whether the "rtx_ssrc" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRtxSsrc { + get { return (_hasBits1 & 16384) != 0; } + } + /// Clears the value of the "rtx_ssrc" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRtxSsrc() { + _hasBits1 &= ~16384; + } + + /// Field number for the "fec_ssrc" field. + public const int FecSsrcFieldNumber = 53; + private readonly static uint FecSsrcDefaultValue = 0; + + private uint fecSsrc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FecSsrc { + get { if ((_hasBits1 & 32768) != 0) { return fecSsrc_; } else { return FecSsrcDefaultValue; } } + set { + _hasBits1 |= 32768; + fecSsrc_ = value; + } + } + /// Gets whether the "fec_ssrc" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFecSsrc { + get { return (_hasBits1 & 32768) != 0; } + } + /// Clears the value of the "fec_ssrc" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFecSsrc() { + _hasBits1 &= ~32768; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as InboundRtpStreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(InboundRtpStreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackIdentifier != other.TrackIdentifier) return false; + if (Mid != other.Mid) return false; + if (RemoteId != other.RemoteId) return false; + if (FramesDecoded != other.FramesDecoded) return false; + if (KeyFramesDecoded != other.KeyFramesDecoded) return false; + if (FramesRendered != other.FramesRendered) return false; + if (FramesDropped != other.FramesDropped) return false; + if (FrameWidth != other.FrameWidth) return false; + if (FrameHeight != other.FrameHeight) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FramesPerSecond, other.FramesPerSecond)) return false; + if (QpSum != other.QpSum) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalDecodeTime, other.TotalDecodeTime)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalInterFrameDelay, other.TotalInterFrameDelay)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalSquaredInterFrameDelay, other.TotalSquaredInterFrameDelay)) return false; + if (PauseCount != other.PauseCount) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalPauseDuration, other.TotalPauseDuration)) return false; + if (FreezeCount != other.FreezeCount) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalFreezeDuration, other.TotalFreezeDuration)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LastPacketReceivedTimestamp, other.LastPacketReceivedTimestamp)) return false; + if (HeaderBytesReceived != other.HeaderBytesReceived) return false; + if (PacketsDiscarded != other.PacketsDiscarded) return false; + if (FecBytesReceived != other.FecBytesReceived) return false; + if (FecPacketsReceived != other.FecPacketsReceived) return false; + if (FecPacketsDiscarded != other.FecPacketsDiscarded) return false; + if (BytesReceived != other.BytesReceived) return false; + if (NackCount != other.NackCount) return false; + if (FirCount != other.FirCount) return false; + if (PliCount != other.PliCount) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalProcessingDelay, other.TotalProcessingDelay)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EstimatedPlayoutTimestamp, other.EstimatedPlayoutTimestamp)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(JitterBufferDelay, other.JitterBufferDelay)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(JitterBufferTargetDelay, other.JitterBufferTargetDelay)) return false; + if (JitterBufferEmittedCount != other.JitterBufferEmittedCount) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(JitterBufferMinimumDelay, other.JitterBufferMinimumDelay)) return false; + if (TotalSamplesReceived != other.TotalSamplesReceived) return false; + if (ConcealedSamples != other.ConcealedSamples) return false; + if (SilentConcealedSamples != other.SilentConcealedSamples) return false; + if (ConcealmentEvents != other.ConcealmentEvents) return false; + if (InsertedSamplesForDeceleration != other.InsertedSamplesForDeceleration) return false; + if (RemovedSamplesForAcceleration != other.RemovedSamplesForAcceleration) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(AudioLevel, other.AudioLevel)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalAudioEnergy, other.TotalAudioEnergy)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalSamplesDuration, other.TotalSamplesDuration)) return false; + if (FramesReceived != other.FramesReceived) return false; + if (DecoderImplementation != other.DecoderImplementation) return false; + if (PlayoutId != other.PlayoutId) return false; + if (PowerEfficientDecoder != other.PowerEfficientDecoder) return false; + if (FramesAssembledFromMultiplePackets != other.FramesAssembledFromMultiplePackets) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalAssemblyTime, other.TotalAssemblyTime)) return false; + if (RetransmittedPacketsReceived != other.RetransmittedPacketsReceived) return false; + if (RetransmittedBytesReceived != other.RetransmittedBytesReceived) return false; + if (RtxSsrc != other.RtxSsrc) return false; + if (FecSsrc != other.FecSsrc) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackIdentifier) hash ^= TrackIdentifier.GetHashCode(); + if (HasMid) hash ^= Mid.GetHashCode(); + if (HasRemoteId) hash ^= RemoteId.GetHashCode(); + if (HasFramesDecoded) hash ^= FramesDecoded.GetHashCode(); + if (HasKeyFramesDecoded) hash ^= KeyFramesDecoded.GetHashCode(); + if (HasFramesRendered) hash ^= FramesRendered.GetHashCode(); + if (HasFramesDropped) hash ^= FramesDropped.GetHashCode(); + if (HasFrameWidth) hash ^= FrameWidth.GetHashCode(); + if (HasFrameHeight) hash ^= FrameHeight.GetHashCode(); + if (HasFramesPerSecond) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FramesPerSecond); + if (HasQpSum) hash ^= QpSum.GetHashCode(); + if (HasTotalDecodeTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalDecodeTime); + if (HasTotalInterFrameDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalInterFrameDelay); + if (HasTotalSquaredInterFrameDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalSquaredInterFrameDelay); + if (HasPauseCount) hash ^= PauseCount.GetHashCode(); + if (HasTotalPauseDuration) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalPauseDuration); + if (HasFreezeCount) hash ^= FreezeCount.GetHashCode(); + if (HasTotalFreezeDuration) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalFreezeDuration); + if (HasLastPacketReceivedTimestamp) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LastPacketReceivedTimestamp); + if (HasHeaderBytesReceived) hash ^= HeaderBytesReceived.GetHashCode(); + if (HasPacketsDiscarded) hash ^= PacketsDiscarded.GetHashCode(); + if (HasFecBytesReceived) hash ^= FecBytesReceived.GetHashCode(); + if (HasFecPacketsReceived) hash ^= FecPacketsReceived.GetHashCode(); + if (HasFecPacketsDiscarded) hash ^= FecPacketsDiscarded.GetHashCode(); + if (HasBytesReceived) hash ^= BytesReceived.GetHashCode(); + if (HasNackCount) hash ^= NackCount.GetHashCode(); + if (HasFirCount) hash ^= FirCount.GetHashCode(); + if (HasPliCount) hash ^= PliCount.GetHashCode(); + if (HasTotalProcessingDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalProcessingDelay); + if (HasEstimatedPlayoutTimestamp) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EstimatedPlayoutTimestamp); + if (HasJitterBufferDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(JitterBufferDelay); + if (HasJitterBufferTargetDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(JitterBufferTargetDelay); + if (HasJitterBufferEmittedCount) hash ^= JitterBufferEmittedCount.GetHashCode(); + if (HasJitterBufferMinimumDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(JitterBufferMinimumDelay); + if (HasTotalSamplesReceived) hash ^= TotalSamplesReceived.GetHashCode(); + if (HasConcealedSamples) hash ^= ConcealedSamples.GetHashCode(); + if (HasSilentConcealedSamples) hash ^= SilentConcealedSamples.GetHashCode(); + if (HasConcealmentEvents) hash ^= ConcealmentEvents.GetHashCode(); + if (HasInsertedSamplesForDeceleration) hash ^= InsertedSamplesForDeceleration.GetHashCode(); + if (HasRemovedSamplesForAcceleration) hash ^= RemovedSamplesForAcceleration.GetHashCode(); + if (HasAudioLevel) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(AudioLevel); + if (HasTotalAudioEnergy) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalAudioEnergy); + if (HasTotalSamplesDuration) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalSamplesDuration); + if (HasFramesReceived) hash ^= FramesReceived.GetHashCode(); + if (HasDecoderImplementation) hash ^= DecoderImplementation.GetHashCode(); + if (HasPlayoutId) hash ^= PlayoutId.GetHashCode(); + if (HasPowerEfficientDecoder) hash ^= PowerEfficientDecoder.GetHashCode(); + if (HasFramesAssembledFromMultiplePackets) hash ^= FramesAssembledFromMultiplePackets.GetHashCode(); + if (HasTotalAssemblyTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalAssemblyTime); + if (HasRetransmittedPacketsReceived) hash ^= RetransmittedPacketsReceived.GetHashCode(); + if (HasRetransmittedBytesReceived) hash ^= RetransmittedBytesReceived.GetHashCode(); + if (HasRtxSsrc) hash ^= RtxSsrc.GetHashCode(); + if (HasFecSsrc) hash ^= FecSsrc.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackIdentifier) { + output.WriteRawTag(10); + output.WriteString(TrackIdentifier); + } + if (HasMid) { + output.WriteRawTag(18); + output.WriteString(Mid); + } + if (HasRemoteId) { + output.WriteRawTag(26); + output.WriteString(RemoteId); + } + if (HasFramesDecoded) { + output.WriteRawTag(32); + output.WriteUInt32(FramesDecoded); + } + if (HasKeyFramesDecoded) { + output.WriteRawTag(40); + output.WriteUInt32(KeyFramesDecoded); + } + if (HasFramesRendered) { + output.WriteRawTag(48); + output.WriteUInt32(FramesRendered); + } + if (HasFramesDropped) { + output.WriteRawTag(56); + output.WriteUInt32(FramesDropped); + } + if (HasFrameWidth) { + output.WriteRawTag(64); + output.WriteUInt32(FrameWidth); + } + if (HasFrameHeight) { + output.WriteRawTag(72); + output.WriteUInt32(FrameHeight); + } + if (HasFramesPerSecond) { + output.WriteRawTag(81); + output.WriteDouble(FramesPerSecond); + } + if (HasQpSum) { + output.WriteRawTag(88); + output.WriteUInt64(QpSum); + } + if (HasTotalDecodeTime) { + output.WriteRawTag(97); + output.WriteDouble(TotalDecodeTime); + } + if (HasTotalInterFrameDelay) { + output.WriteRawTag(105); + output.WriteDouble(TotalInterFrameDelay); + } + if (HasTotalSquaredInterFrameDelay) { + output.WriteRawTag(113); + output.WriteDouble(TotalSquaredInterFrameDelay); + } + if (HasPauseCount) { + output.WriteRawTag(120); + output.WriteUInt32(PauseCount); + } + if (HasTotalPauseDuration) { + output.WriteRawTag(129, 1); + output.WriteDouble(TotalPauseDuration); + } + if (HasFreezeCount) { + output.WriteRawTag(136, 1); + output.WriteUInt32(FreezeCount); + } + if (HasTotalFreezeDuration) { + output.WriteRawTag(145, 1); + output.WriteDouble(TotalFreezeDuration); + } + if (HasLastPacketReceivedTimestamp) { + output.WriteRawTag(153, 1); + output.WriteDouble(LastPacketReceivedTimestamp); + } + if (HasHeaderBytesReceived) { + output.WriteRawTag(160, 1); + output.WriteUInt64(HeaderBytesReceived); + } + if (HasPacketsDiscarded) { + output.WriteRawTag(168, 1); + output.WriteUInt64(PacketsDiscarded); + } + if (HasFecBytesReceived) { + output.WriteRawTag(176, 1); + output.WriteUInt64(FecBytesReceived); + } + if (HasFecPacketsReceived) { + output.WriteRawTag(184, 1); + output.WriteUInt64(FecPacketsReceived); + } + if (HasFecPacketsDiscarded) { + output.WriteRawTag(192, 1); + output.WriteUInt64(FecPacketsDiscarded); + } + if (HasBytesReceived) { + output.WriteRawTag(200, 1); + output.WriteUInt64(BytesReceived); + } + if (HasNackCount) { + output.WriteRawTag(208, 1); + output.WriteUInt32(NackCount); + } + if (HasFirCount) { + output.WriteRawTag(216, 1); + output.WriteUInt32(FirCount); + } + if (HasPliCount) { + output.WriteRawTag(224, 1); + output.WriteUInt32(PliCount); + } + if (HasTotalProcessingDelay) { + output.WriteRawTag(233, 1); + output.WriteDouble(TotalProcessingDelay); + } + if (HasEstimatedPlayoutTimestamp) { + output.WriteRawTag(241, 1); + output.WriteDouble(EstimatedPlayoutTimestamp); + } + if (HasJitterBufferDelay) { + output.WriteRawTag(249, 1); + output.WriteDouble(JitterBufferDelay); + } + if (HasJitterBufferTargetDelay) { + output.WriteRawTag(129, 2); + output.WriteDouble(JitterBufferTargetDelay); + } + if (HasJitterBufferEmittedCount) { + output.WriteRawTag(136, 2); + output.WriteUInt64(JitterBufferEmittedCount); + } + if (HasJitterBufferMinimumDelay) { + output.WriteRawTag(145, 2); + output.WriteDouble(JitterBufferMinimumDelay); + } + if (HasTotalSamplesReceived) { + output.WriteRawTag(152, 2); + output.WriteUInt64(TotalSamplesReceived); + } + if (HasConcealedSamples) { + output.WriteRawTag(160, 2); + output.WriteUInt64(ConcealedSamples); + } + if (HasSilentConcealedSamples) { + output.WriteRawTag(168, 2); + output.WriteUInt64(SilentConcealedSamples); + } + if (HasConcealmentEvents) { + output.WriteRawTag(176, 2); + output.WriteUInt64(ConcealmentEvents); + } + if (HasInsertedSamplesForDeceleration) { + output.WriteRawTag(184, 2); + output.WriteUInt64(InsertedSamplesForDeceleration); + } + if (HasRemovedSamplesForAcceleration) { + output.WriteRawTag(192, 2); + output.WriteUInt64(RemovedSamplesForAcceleration); + } + if (HasAudioLevel) { + output.WriteRawTag(201, 2); + output.WriteDouble(AudioLevel); + } + if (HasTotalAudioEnergy) { + output.WriteRawTag(209, 2); + output.WriteDouble(TotalAudioEnergy); + } + if (HasTotalSamplesDuration) { + output.WriteRawTag(217, 2); + output.WriteDouble(TotalSamplesDuration); + } + if (HasFramesReceived) { + output.WriteRawTag(224, 2); + output.WriteUInt64(FramesReceived); + } + if (HasDecoderImplementation) { + output.WriteRawTag(234, 2); + output.WriteString(DecoderImplementation); + } + if (HasPlayoutId) { + output.WriteRawTag(242, 2); + output.WriteString(PlayoutId); + } + if (HasPowerEfficientDecoder) { + output.WriteRawTag(248, 2); + output.WriteBool(PowerEfficientDecoder); + } + if (HasFramesAssembledFromMultiplePackets) { + output.WriteRawTag(128, 3); + output.WriteUInt64(FramesAssembledFromMultiplePackets); + } + if (HasTotalAssemblyTime) { + output.WriteRawTag(137, 3); + output.WriteDouble(TotalAssemblyTime); + } + if (HasRetransmittedPacketsReceived) { + output.WriteRawTag(144, 3); + output.WriteUInt64(RetransmittedPacketsReceived); + } + if (HasRetransmittedBytesReceived) { + output.WriteRawTag(152, 3); + output.WriteUInt64(RetransmittedBytesReceived); + } + if (HasRtxSsrc) { + output.WriteRawTag(160, 3); + output.WriteUInt32(RtxSsrc); + } + if (HasFecSsrc) { + output.WriteRawTag(168, 3); + output.WriteUInt32(FecSsrc); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackIdentifier) { + output.WriteRawTag(10); + output.WriteString(TrackIdentifier); + } + if (HasMid) { + output.WriteRawTag(18); + output.WriteString(Mid); + } + if (HasRemoteId) { + output.WriteRawTag(26); + output.WriteString(RemoteId); + } + if (HasFramesDecoded) { + output.WriteRawTag(32); + output.WriteUInt32(FramesDecoded); + } + if (HasKeyFramesDecoded) { + output.WriteRawTag(40); + output.WriteUInt32(KeyFramesDecoded); + } + if (HasFramesRendered) { + output.WriteRawTag(48); + output.WriteUInt32(FramesRendered); + } + if (HasFramesDropped) { + output.WriteRawTag(56); + output.WriteUInt32(FramesDropped); + } + if (HasFrameWidth) { + output.WriteRawTag(64); + output.WriteUInt32(FrameWidth); + } + if (HasFrameHeight) { + output.WriteRawTag(72); + output.WriteUInt32(FrameHeight); + } + if (HasFramesPerSecond) { + output.WriteRawTag(81); + output.WriteDouble(FramesPerSecond); + } + if (HasQpSum) { + output.WriteRawTag(88); + output.WriteUInt64(QpSum); + } + if (HasTotalDecodeTime) { + output.WriteRawTag(97); + output.WriteDouble(TotalDecodeTime); + } + if (HasTotalInterFrameDelay) { + output.WriteRawTag(105); + output.WriteDouble(TotalInterFrameDelay); + } + if (HasTotalSquaredInterFrameDelay) { + output.WriteRawTag(113); + output.WriteDouble(TotalSquaredInterFrameDelay); + } + if (HasPauseCount) { + output.WriteRawTag(120); + output.WriteUInt32(PauseCount); + } + if (HasTotalPauseDuration) { + output.WriteRawTag(129, 1); + output.WriteDouble(TotalPauseDuration); + } + if (HasFreezeCount) { + output.WriteRawTag(136, 1); + output.WriteUInt32(FreezeCount); + } + if (HasTotalFreezeDuration) { + output.WriteRawTag(145, 1); + output.WriteDouble(TotalFreezeDuration); + } + if (HasLastPacketReceivedTimestamp) { + output.WriteRawTag(153, 1); + output.WriteDouble(LastPacketReceivedTimestamp); + } + if (HasHeaderBytesReceived) { + output.WriteRawTag(160, 1); + output.WriteUInt64(HeaderBytesReceived); + } + if (HasPacketsDiscarded) { + output.WriteRawTag(168, 1); + output.WriteUInt64(PacketsDiscarded); + } + if (HasFecBytesReceived) { + output.WriteRawTag(176, 1); + output.WriteUInt64(FecBytesReceived); + } + if (HasFecPacketsReceived) { + output.WriteRawTag(184, 1); + output.WriteUInt64(FecPacketsReceived); + } + if (HasFecPacketsDiscarded) { + output.WriteRawTag(192, 1); + output.WriteUInt64(FecPacketsDiscarded); + } + if (HasBytesReceived) { + output.WriteRawTag(200, 1); + output.WriteUInt64(BytesReceived); + } + if (HasNackCount) { + output.WriteRawTag(208, 1); + output.WriteUInt32(NackCount); + } + if (HasFirCount) { + output.WriteRawTag(216, 1); + output.WriteUInt32(FirCount); + } + if (HasPliCount) { + output.WriteRawTag(224, 1); + output.WriteUInt32(PliCount); + } + if (HasTotalProcessingDelay) { + output.WriteRawTag(233, 1); + output.WriteDouble(TotalProcessingDelay); + } + if (HasEstimatedPlayoutTimestamp) { + output.WriteRawTag(241, 1); + output.WriteDouble(EstimatedPlayoutTimestamp); + } + if (HasJitterBufferDelay) { + output.WriteRawTag(249, 1); + output.WriteDouble(JitterBufferDelay); + } + if (HasJitterBufferTargetDelay) { + output.WriteRawTag(129, 2); + output.WriteDouble(JitterBufferTargetDelay); + } + if (HasJitterBufferEmittedCount) { + output.WriteRawTag(136, 2); + output.WriteUInt64(JitterBufferEmittedCount); + } + if (HasJitterBufferMinimumDelay) { + output.WriteRawTag(145, 2); + output.WriteDouble(JitterBufferMinimumDelay); + } + if (HasTotalSamplesReceived) { + output.WriteRawTag(152, 2); + output.WriteUInt64(TotalSamplesReceived); + } + if (HasConcealedSamples) { + output.WriteRawTag(160, 2); + output.WriteUInt64(ConcealedSamples); + } + if (HasSilentConcealedSamples) { + output.WriteRawTag(168, 2); + output.WriteUInt64(SilentConcealedSamples); + } + if (HasConcealmentEvents) { + output.WriteRawTag(176, 2); + output.WriteUInt64(ConcealmentEvents); + } + if (HasInsertedSamplesForDeceleration) { + output.WriteRawTag(184, 2); + output.WriteUInt64(InsertedSamplesForDeceleration); + } + if (HasRemovedSamplesForAcceleration) { + output.WriteRawTag(192, 2); + output.WriteUInt64(RemovedSamplesForAcceleration); + } + if (HasAudioLevel) { + output.WriteRawTag(201, 2); + output.WriteDouble(AudioLevel); + } + if (HasTotalAudioEnergy) { + output.WriteRawTag(209, 2); + output.WriteDouble(TotalAudioEnergy); + } + if (HasTotalSamplesDuration) { + output.WriteRawTag(217, 2); + output.WriteDouble(TotalSamplesDuration); + } + if (HasFramesReceived) { + output.WriteRawTag(224, 2); + output.WriteUInt64(FramesReceived); + } + if (HasDecoderImplementation) { + output.WriteRawTag(234, 2); + output.WriteString(DecoderImplementation); + } + if (HasPlayoutId) { + output.WriteRawTag(242, 2); + output.WriteString(PlayoutId); + } + if (HasPowerEfficientDecoder) { + output.WriteRawTag(248, 2); + output.WriteBool(PowerEfficientDecoder); + } + if (HasFramesAssembledFromMultiplePackets) { + output.WriteRawTag(128, 3); + output.WriteUInt64(FramesAssembledFromMultiplePackets); + } + if (HasTotalAssemblyTime) { + output.WriteRawTag(137, 3); + output.WriteDouble(TotalAssemblyTime); + } + if (HasRetransmittedPacketsReceived) { + output.WriteRawTag(144, 3); + output.WriteUInt64(RetransmittedPacketsReceived); + } + if (HasRetransmittedBytesReceived) { + output.WriteRawTag(152, 3); + output.WriteUInt64(RetransmittedBytesReceived); + } + if (HasRtxSsrc) { + output.WriteRawTag(160, 3); + output.WriteUInt32(RtxSsrc); + } + if (HasFecSsrc) { + output.WriteRawTag(168, 3); + output.WriteUInt32(FecSsrc); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackIdentifier) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackIdentifier); + } + if (HasMid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Mid); + } + if (HasRemoteId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(RemoteId); + } + if (HasFramesDecoded) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FramesDecoded); + } + if (HasKeyFramesDecoded) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(KeyFramesDecoded); + } + if (HasFramesRendered) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FramesRendered); + } + if (HasFramesDropped) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FramesDropped); + } + if (HasFrameWidth) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameWidth); + } + if (HasFrameHeight) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameHeight); + } + if (HasFramesPerSecond) { + size += 1 + 8; + } + if (HasQpSum) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(QpSum); + } + if (HasTotalDecodeTime) { + size += 1 + 8; + } + if (HasTotalInterFrameDelay) { + size += 1 + 8; + } + if (HasTotalSquaredInterFrameDelay) { + size += 1 + 8; + } + if (HasPauseCount) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PauseCount); + } + if (HasTotalPauseDuration) { + size += 2 + 8; + } + if (HasFreezeCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(FreezeCount); + } + if (HasTotalFreezeDuration) { + size += 2 + 8; + } + if (HasLastPacketReceivedTimestamp) { + size += 2 + 8; + } + if (HasHeaderBytesReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(HeaderBytesReceived); + } + if (HasPacketsDiscarded) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(PacketsDiscarded); + } + if (HasFecBytesReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(FecBytesReceived); + } + if (HasFecPacketsReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(FecPacketsReceived); + } + if (HasFecPacketsDiscarded) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(FecPacketsDiscarded); + } + if (HasBytesReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(BytesReceived); + } + if (HasNackCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(NackCount); + } + if (HasFirCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(FirCount); + } + if (HasPliCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(PliCount); + } + if (HasTotalProcessingDelay) { + size += 2 + 8; + } + if (HasEstimatedPlayoutTimestamp) { + size += 2 + 8; + } + if (HasJitterBufferDelay) { + size += 2 + 8; + } + if (HasJitterBufferTargetDelay) { + size += 2 + 8; + } + if (HasJitterBufferEmittedCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(JitterBufferEmittedCount); + } + if (HasJitterBufferMinimumDelay) { + size += 2 + 8; + } + if (HasTotalSamplesReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(TotalSamplesReceived); + } + if (HasConcealedSamples) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(ConcealedSamples); + } + if (HasSilentConcealedSamples) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(SilentConcealedSamples); + } + if (HasConcealmentEvents) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(ConcealmentEvents); + } + if (HasInsertedSamplesForDeceleration) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(InsertedSamplesForDeceleration); + } + if (HasRemovedSamplesForAcceleration) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(RemovedSamplesForAcceleration); + } + if (HasAudioLevel) { + size += 2 + 8; + } + if (HasTotalAudioEnergy) { + size += 2 + 8; + } + if (HasTotalSamplesDuration) { + size += 2 + 8; + } + if (HasFramesReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(FramesReceived); + } + if (HasDecoderImplementation) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(DecoderImplementation); + } + if (HasPlayoutId) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(PlayoutId); + } + if (HasPowerEfficientDecoder) { + size += 2 + 1; + } + if (HasFramesAssembledFromMultiplePackets) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(FramesAssembledFromMultiplePackets); + } + if (HasTotalAssemblyTime) { + size += 2 + 8; + } + if (HasRetransmittedPacketsReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(RetransmittedPacketsReceived); + } + if (HasRetransmittedBytesReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(RetransmittedBytesReceived); + } + if (HasRtxSsrc) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(RtxSsrc); + } + if (HasFecSsrc) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(FecSsrc); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(InboundRtpStreamStats other) { + if (other == null) { + return; + } + if (other.HasTrackIdentifier) { + TrackIdentifier = other.TrackIdentifier; + } + if (other.HasMid) { + Mid = other.Mid; + } + if (other.HasRemoteId) { + RemoteId = other.RemoteId; + } + if (other.HasFramesDecoded) { + FramesDecoded = other.FramesDecoded; + } + if (other.HasKeyFramesDecoded) { + KeyFramesDecoded = other.KeyFramesDecoded; + } + if (other.HasFramesRendered) { + FramesRendered = other.FramesRendered; + } + if (other.HasFramesDropped) { + FramesDropped = other.FramesDropped; + } + if (other.HasFrameWidth) { + FrameWidth = other.FrameWidth; + } + if (other.HasFrameHeight) { + FrameHeight = other.FrameHeight; + } + if (other.HasFramesPerSecond) { + FramesPerSecond = other.FramesPerSecond; + } + if (other.HasQpSum) { + QpSum = other.QpSum; + } + if (other.HasTotalDecodeTime) { + TotalDecodeTime = other.TotalDecodeTime; + } + if (other.HasTotalInterFrameDelay) { + TotalInterFrameDelay = other.TotalInterFrameDelay; + } + if (other.HasTotalSquaredInterFrameDelay) { + TotalSquaredInterFrameDelay = other.TotalSquaredInterFrameDelay; + } + if (other.HasPauseCount) { + PauseCount = other.PauseCount; + } + if (other.HasTotalPauseDuration) { + TotalPauseDuration = other.TotalPauseDuration; + } + if (other.HasFreezeCount) { + FreezeCount = other.FreezeCount; + } + if (other.HasTotalFreezeDuration) { + TotalFreezeDuration = other.TotalFreezeDuration; + } + if (other.HasLastPacketReceivedTimestamp) { + LastPacketReceivedTimestamp = other.LastPacketReceivedTimestamp; + } + if (other.HasHeaderBytesReceived) { + HeaderBytesReceived = other.HeaderBytesReceived; + } + if (other.HasPacketsDiscarded) { + PacketsDiscarded = other.PacketsDiscarded; + } + if (other.HasFecBytesReceived) { + FecBytesReceived = other.FecBytesReceived; + } + if (other.HasFecPacketsReceived) { + FecPacketsReceived = other.FecPacketsReceived; + } + if (other.HasFecPacketsDiscarded) { + FecPacketsDiscarded = other.FecPacketsDiscarded; + } + if (other.HasBytesReceived) { + BytesReceived = other.BytesReceived; + } + if (other.HasNackCount) { + NackCount = other.NackCount; + } + if (other.HasFirCount) { + FirCount = other.FirCount; + } + if (other.HasPliCount) { + PliCount = other.PliCount; + } + if (other.HasTotalProcessingDelay) { + TotalProcessingDelay = other.TotalProcessingDelay; + } + if (other.HasEstimatedPlayoutTimestamp) { + EstimatedPlayoutTimestamp = other.EstimatedPlayoutTimestamp; + } + if (other.HasJitterBufferDelay) { + JitterBufferDelay = other.JitterBufferDelay; + } + if (other.HasJitterBufferTargetDelay) { + JitterBufferTargetDelay = other.JitterBufferTargetDelay; + } + if (other.HasJitterBufferEmittedCount) { + JitterBufferEmittedCount = other.JitterBufferEmittedCount; + } + if (other.HasJitterBufferMinimumDelay) { + JitterBufferMinimumDelay = other.JitterBufferMinimumDelay; + } + if (other.HasTotalSamplesReceived) { + TotalSamplesReceived = other.TotalSamplesReceived; + } + if (other.HasConcealedSamples) { + ConcealedSamples = other.ConcealedSamples; + } + if (other.HasSilentConcealedSamples) { + SilentConcealedSamples = other.SilentConcealedSamples; + } + if (other.HasConcealmentEvents) { + ConcealmentEvents = other.ConcealmentEvents; + } + if (other.HasInsertedSamplesForDeceleration) { + InsertedSamplesForDeceleration = other.InsertedSamplesForDeceleration; + } + if (other.HasRemovedSamplesForAcceleration) { + RemovedSamplesForAcceleration = other.RemovedSamplesForAcceleration; + } + if (other.HasAudioLevel) { + AudioLevel = other.AudioLevel; + } + if (other.HasTotalAudioEnergy) { + TotalAudioEnergy = other.TotalAudioEnergy; + } + if (other.HasTotalSamplesDuration) { + TotalSamplesDuration = other.TotalSamplesDuration; + } + if (other.HasFramesReceived) { + FramesReceived = other.FramesReceived; + } + if (other.HasDecoderImplementation) { + DecoderImplementation = other.DecoderImplementation; + } + if (other.HasPlayoutId) { + PlayoutId = other.PlayoutId; + } + if (other.HasPowerEfficientDecoder) { + PowerEfficientDecoder = other.PowerEfficientDecoder; + } + if (other.HasFramesAssembledFromMultiplePackets) { + FramesAssembledFromMultiplePackets = other.FramesAssembledFromMultiplePackets; + } + if (other.HasTotalAssemblyTime) { + TotalAssemblyTime = other.TotalAssemblyTime; + } + if (other.HasRetransmittedPacketsReceived) { + RetransmittedPacketsReceived = other.RetransmittedPacketsReceived; + } + if (other.HasRetransmittedBytesReceived) { + RetransmittedBytesReceived = other.RetransmittedBytesReceived; + } + if (other.HasRtxSsrc) { + RtxSsrc = other.RtxSsrc; + } + if (other.HasFecSsrc) { + FecSsrc = other.FecSsrc; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + TrackIdentifier = input.ReadString(); + break; + } + case 18: { + Mid = input.ReadString(); + break; + } + case 26: { + RemoteId = input.ReadString(); + break; + } + case 32: { + FramesDecoded = input.ReadUInt32(); + break; + } + case 40: { + KeyFramesDecoded = input.ReadUInt32(); + break; + } + case 48: { + FramesRendered = input.ReadUInt32(); + break; + } + case 56: { + FramesDropped = input.ReadUInt32(); + break; + } + case 64: { + FrameWidth = input.ReadUInt32(); + break; + } + case 72: { + FrameHeight = input.ReadUInt32(); + break; + } + case 81: { + FramesPerSecond = input.ReadDouble(); + break; + } + case 88: { + QpSum = input.ReadUInt64(); + break; + } + case 97: { + TotalDecodeTime = input.ReadDouble(); + break; + } + case 105: { + TotalInterFrameDelay = input.ReadDouble(); + break; + } + case 113: { + TotalSquaredInterFrameDelay = input.ReadDouble(); + break; + } + case 120: { + PauseCount = input.ReadUInt32(); + break; + } + case 129: { + TotalPauseDuration = input.ReadDouble(); + break; + } + case 136: { + FreezeCount = input.ReadUInt32(); + break; + } + case 145: { + TotalFreezeDuration = input.ReadDouble(); + break; + } + case 153: { + LastPacketReceivedTimestamp = input.ReadDouble(); + break; + } + case 160: { + HeaderBytesReceived = input.ReadUInt64(); + break; + } + case 168: { + PacketsDiscarded = input.ReadUInt64(); + break; + } + case 176: { + FecBytesReceived = input.ReadUInt64(); + break; + } + case 184: { + FecPacketsReceived = input.ReadUInt64(); + break; + } + case 192: { + FecPacketsDiscarded = input.ReadUInt64(); + break; + } + case 200: { + BytesReceived = input.ReadUInt64(); + break; + } + case 208: { + NackCount = input.ReadUInt32(); + break; + } + case 216: { + FirCount = input.ReadUInt32(); + break; + } + case 224: { + PliCount = input.ReadUInt32(); + break; + } + case 233: { + TotalProcessingDelay = input.ReadDouble(); + break; + } + case 241: { + EstimatedPlayoutTimestamp = input.ReadDouble(); + break; + } + case 249: { + JitterBufferDelay = input.ReadDouble(); + break; + } + case 257: { + JitterBufferTargetDelay = input.ReadDouble(); + break; + } + case 264: { + JitterBufferEmittedCount = input.ReadUInt64(); + break; + } + case 273: { + JitterBufferMinimumDelay = input.ReadDouble(); + break; + } + case 280: { + TotalSamplesReceived = input.ReadUInt64(); + break; + } + case 288: { + ConcealedSamples = input.ReadUInt64(); + break; + } + case 296: { + SilentConcealedSamples = input.ReadUInt64(); + break; + } + case 304: { + ConcealmentEvents = input.ReadUInt64(); + break; + } + case 312: { + InsertedSamplesForDeceleration = input.ReadUInt64(); + break; + } + case 320: { + RemovedSamplesForAcceleration = input.ReadUInt64(); + break; + } + case 329: { + AudioLevel = input.ReadDouble(); + break; + } + case 337: { + TotalAudioEnergy = input.ReadDouble(); + break; + } + case 345: { + TotalSamplesDuration = input.ReadDouble(); + break; + } + case 352: { + FramesReceived = input.ReadUInt64(); + break; + } + case 362: { + DecoderImplementation = input.ReadString(); + break; + } + case 370: { + PlayoutId = input.ReadString(); + break; + } + case 376: { + PowerEfficientDecoder = input.ReadBool(); + break; + } + case 384: { + FramesAssembledFromMultiplePackets = input.ReadUInt64(); + break; + } + case 393: { + TotalAssemblyTime = input.ReadDouble(); + break; + } + case 400: { + RetransmittedPacketsReceived = input.ReadUInt64(); + break; + } + case 408: { + RetransmittedBytesReceived = input.ReadUInt64(); + break; + } + case 416: { + RtxSsrc = input.ReadUInt32(); + break; + } + case 424: { + FecSsrc = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + TrackIdentifier = input.ReadString(); + break; + } + case 18: { + Mid = input.ReadString(); + break; + } + case 26: { + RemoteId = input.ReadString(); + break; + } + case 32: { + FramesDecoded = input.ReadUInt32(); + break; + } + case 40: { + KeyFramesDecoded = input.ReadUInt32(); + break; + } + case 48: { + FramesRendered = input.ReadUInt32(); + break; + } + case 56: { + FramesDropped = input.ReadUInt32(); + break; + } + case 64: { + FrameWidth = input.ReadUInt32(); + break; + } + case 72: { + FrameHeight = input.ReadUInt32(); + break; + } + case 81: { + FramesPerSecond = input.ReadDouble(); + break; + } + case 88: { + QpSum = input.ReadUInt64(); + break; + } + case 97: { + TotalDecodeTime = input.ReadDouble(); + break; + } + case 105: { + TotalInterFrameDelay = input.ReadDouble(); + break; + } + case 113: { + TotalSquaredInterFrameDelay = input.ReadDouble(); + break; + } + case 120: { + PauseCount = input.ReadUInt32(); + break; + } + case 129: { + TotalPauseDuration = input.ReadDouble(); + break; + } + case 136: { + FreezeCount = input.ReadUInt32(); + break; + } + case 145: { + TotalFreezeDuration = input.ReadDouble(); + break; + } + case 153: { + LastPacketReceivedTimestamp = input.ReadDouble(); + break; + } + case 160: { + HeaderBytesReceived = input.ReadUInt64(); + break; + } + case 168: { + PacketsDiscarded = input.ReadUInt64(); + break; + } + case 176: { + FecBytesReceived = input.ReadUInt64(); + break; + } + case 184: { + FecPacketsReceived = input.ReadUInt64(); + break; + } + case 192: { + FecPacketsDiscarded = input.ReadUInt64(); + break; + } + case 200: { + BytesReceived = input.ReadUInt64(); + break; + } + case 208: { + NackCount = input.ReadUInt32(); + break; + } + case 216: { + FirCount = input.ReadUInt32(); + break; + } + case 224: { + PliCount = input.ReadUInt32(); + break; + } + case 233: { + TotalProcessingDelay = input.ReadDouble(); + break; + } + case 241: { + EstimatedPlayoutTimestamp = input.ReadDouble(); + break; + } + case 249: { + JitterBufferDelay = input.ReadDouble(); + break; + } + case 257: { + JitterBufferTargetDelay = input.ReadDouble(); + break; + } + case 264: { + JitterBufferEmittedCount = input.ReadUInt64(); + break; + } + case 273: { + JitterBufferMinimumDelay = input.ReadDouble(); + break; + } + case 280: { + TotalSamplesReceived = input.ReadUInt64(); + break; + } + case 288: { + ConcealedSamples = input.ReadUInt64(); + break; + } + case 296: { + SilentConcealedSamples = input.ReadUInt64(); + break; + } + case 304: { + ConcealmentEvents = input.ReadUInt64(); + break; + } + case 312: { + InsertedSamplesForDeceleration = input.ReadUInt64(); + break; + } + case 320: { + RemovedSamplesForAcceleration = input.ReadUInt64(); + break; + } + case 329: { + AudioLevel = input.ReadDouble(); + break; + } + case 337: { + TotalAudioEnergy = input.ReadDouble(); + break; + } + case 345: { + TotalSamplesDuration = input.ReadDouble(); + break; + } + case 352: { + FramesReceived = input.ReadUInt64(); + break; + } + case 362: { + DecoderImplementation = input.ReadString(); + break; + } + case 370: { + PlayoutId = input.ReadString(); + break; + } + case 376: { + PowerEfficientDecoder = input.ReadBool(); + break; + } + case 384: { + FramesAssembledFromMultiplePackets = input.ReadUInt64(); + break; + } + case 393: { + TotalAssemblyTime = input.ReadDouble(); + break; + } + case 400: { + RetransmittedPacketsReceived = input.ReadUInt64(); + break; + } + case 408: { + RetransmittedBytesReceived = input.ReadUInt64(); + break; + } + case 416: { + RtxSsrc = input.ReadUInt32(); + break; + } + case 424: { + FecSsrc = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SentRtpStreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SentRtpStreamStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[6]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SentRtpStreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SentRtpStreamStats(SentRtpStreamStats other) : this() { + _hasBits0 = other._hasBits0; + packetsSent_ = other.packetsSent_; + bytesSent_ = other.bytesSent_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SentRtpStreamStats Clone() { + return new SentRtpStreamStats(this); + } + + /// Field number for the "packets_sent" field. + public const int PacketsSentFieldNumber = 1; + private readonly static ulong PacketsSentDefaultValue = 0UL; + + private ulong packetsSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PacketsSent { + get { if ((_hasBits0 & 1) != 0) { return packetsSent_; } else { return PacketsSentDefaultValue; } } + set { + _hasBits0 |= 1; + packetsSent_ = value; + } + } + /// Gets whether the "packets_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsSent { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "packets_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsSent() { + _hasBits0 &= ~1; + } + + /// Field number for the "bytes_sent" field. + public const int BytesSentFieldNumber = 2; + private readonly static ulong BytesSentDefaultValue = 0UL; + + private ulong bytesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesSent { + get { if ((_hasBits0 & 2) != 0) { return bytesSent_; } else { return BytesSentDefaultValue; } } + set { + _hasBits0 |= 2; + bytesSent_ = value; + } + } + /// Gets whether the "bytes_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesSent { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "bytes_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesSent() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SentRtpStreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SentRtpStreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PacketsSent != other.PacketsSent) return false; + if (BytesSent != other.BytesSent) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPacketsSent) hash ^= PacketsSent.GetHashCode(); + if (HasBytesSent) hash ^= BytesSent.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPacketsSent) { + output.WriteRawTag(8); + output.WriteUInt64(PacketsSent); + } + if (HasBytesSent) { + output.WriteRawTag(16); + output.WriteUInt64(BytesSent); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPacketsSent) { + output.WriteRawTag(8); + output.WriteUInt64(PacketsSent); + } + if (HasBytesSent) { + output.WriteRawTag(16); + output.WriteUInt64(BytesSent); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPacketsSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PacketsSent); + } + if (HasBytesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BytesSent); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SentRtpStreamStats other) { + if (other == null) { + return; + } + if (other.HasPacketsSent) { + PacketsSent = other.PacketsSent; + } + if (other.HasBytesSent) { + BytesSent = other.BytesSent; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PacketsSent = input.ReadUInt64(); + break; + } + case 16: { + BytesSent = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PacketsSent = input.ReadUInt64(); + break; + } + case 16: { + BytesSent = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OutboundRtpStreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OutboundRtpStreamStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[7]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OutboundRtpStreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OutboundRtpStreamStats(OutboundRtpStreamStats other) : this() { + _hasBits0 = other._hasBits0; + mid_ = other.mid_; + mediaSourceId_ = other.mediaSourceId_; + remoteId_ = other.remoteId_; + rid_ = other.rid_; + headerBytesSent_ = other.headerBytesSent_; + retransmittedPacketsSent_ = other.retransmittedPacketsSent_; + retransmittedBytesSent_ = other.retransmittedBytesSent_; + rtxSsrc_ = other.rtxSsrc_; + targetBitrate_ = other.targetBitrate_; + totalEncodedBytesTarget_ = other.totalEncodedBytesTarget_; + frameWidth_ = other.frameWidth_; + frameHeight_ = other.frameHeight_; + framesPerSecond_ = other.framesPerSecond_; + framesSent_ = other.framesSent_; + hugeFramesSent_ = other.hugeFramesSent_; + framesEncoded_ = other.framesEncoded_; + keyFramesEncoded_ = other.keyFramesEncoded_; + qpSum_ = other.qpSum_; + totalEncodeTime_ = other.totalEncodeTime_; + totalPacketSendDelay_ = other.totalPacketSendDelay_; + qualityLimitationReason_ = other.qualityLimitationReason_; + qualityLimitationDurations_ = other.qualityLimitationDurations_.Clone(); + qualityLimitationResolutionChanges_ = other.qualityLimitationResolutionChanges_; + nackCount_ = other.nackCount_; + firCount_ = other.firCount_; + pliCount_ = other.pliCount_; + encoderImplementation_ = other.encoderImplementation_; + powerEfficientEncoder_ = other.powerEfficientEncoder_; + active_ = other.active_; + scalabilityMode_ = other.scalabilityMode_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OutboundRtpStreamStats Clone() { + return new OutboundRtpStreamStats(this); + } + + /// Field number for the "mid" field. + public const int MidFieldNumber = 1; + private readonly static string MidDefaultValue = ""; + + private string mid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Mid { + get { return mid_ ?? MidDefaultValue; } + set { + mid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMid { + get { return mid_ != null; } + } + /// Clears the value of the "mid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMid() { + mid_ = null; + } + + /// Field number for the "media_source_id" field. + public const int MediaSourceIdFieldNumber = 2; + private readonly static string MediaSourceIdDefaultValue = ""; + + private string mediaSourceId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MediaSourceId { + get { return mediaSourceId_ ?? MediaSourceIdDefaultValue; } + set { + mediaSourceId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "media_source_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMediaSourceId { + get { return mediaSourceId_ != null; } + } + /// Clears the value of the "media_source_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMediaSourceId() { + mediaSourceId_ = null; + } + + /// Field number for the "remote_id" field. + public const int RemoteIdFieldNumber = 3; + private readonly static string RemoteIdDefaultValue = ""; + + private string remoteId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string RemoteId { + get { return remoteId_ ?? RemoteIdDefaultValue; } + set { + remoteId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "remote_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemoteId { + get { return remoteId_ != null; } + } + /// Clears the value of the "remote_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemoteId() { + remoteId_ = null; + } + + /// Field number for the "rid" field. + public const int RidFieldNumber = 4; + private readonly static string RidDefaultValue = ""; + + private string rid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Rid { + get { return rid_ ?? RidDefaultValue; } + set { + rid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "rid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRid { + get { return rid_ != null; } + } + /// Clears the value of the "rid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRid() { + rid_ = null; + } + + /// Field number for the "header_bytes_sent" field. + public const int HeaderBytesSentFieldNumber = 5; + private readonly static ulong HeaderBytesSentDefaultValue = 0UL; + + private ulong headerBytesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong HeaderBytesSent { + get { if ((_hasBits0 & 1) != 0) { return headerBytesSent_; } else { return HeaderBytesSentDefaultValue; } } + set { + _hasBits0 |= 1; + headerBytesSent_ = value; + } + } + /// Gets whether the "header_bytes_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHeaderBytesSent { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "header_bytes_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHeaderBytesSent() { + _hasBits0 &= ~1; + } + + /// Field number for the "retransmitted_packets_sent" field. + public const int RetransmittedPacketsSentFieldNumber = 6; + private readonly static ulong RetransmittedPacketsSentDefaultValue = 0UL; + + private ulong retransmittedPacketsSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RetransmittedPacketsSent { + get { if ((_hasBits0 & 2) != 0) { return retransmittedPacketsSent_; } else { return RetransmittedPacketsSentDefaultValue; } } + set { + _hasBits0 |= 2; + retransmittedPacketsSent_ = value; + } + } + /// Gets whether the "retransmitted_packets_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRetransmittedPacketsSent { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "retransmitted_packets_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRetransmittedPacketsSent() { + _hasBits0 &= ~2; + } + + /// Field number for the "retransmitted_bytes_sent" field. + public const int RetransmittedBytesSentFieldNumber = 7; + private readonly static ulong RetransmittedBytesSentDefaultValue = 0UL; + + private ulong retransmittedBytesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RetransmittedBytesSent { + get { if ((_hasBits0 & 4) != 0) { return retransmittedBytesSent_; } else { return RetransmittedBytesSentDefaultValue; } } + set { + _hasBits0 |= 4; + retransmittedBytesSent_ = value; + } + } + /// Gets whether the "retransmitted_bytes_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRetransmittedBytesSent { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "retransmitted_bytes_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRetransmittedBytesSent() { + _hasBits0 &= ~4; + } + + /// Field number for the "rtx_ssrc" field. + public const int RtxSsrcFieldNumber = 8; + private readonly static uint RtxSsrcDefaultValue = 0; + + private uint rtxSsrc_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint RtxSsrc { + get { if ((_hasBits0 & 8) != 0) { return rtxSsrc_; } else { return RtxSsrcDefaultValue; } } + set { + _hasBits0 |= 8; + rtxSsrc_ = value; + } + } + /// Gets whether the "rtx_ssrc" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRtxSsrc { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "rtx_ssrc" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRtxSsrc() { + _hasBits0 &= ~8; + } + + /// Field number for the "target_bitrate" field. + public const int TargetBitrateFieldNumber = 9; + private readonly static double TargetBitrateDefaultValue = 0D; + + private double targetBitrate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TargetBitrate { + get { if ((_hasBits0 & 16) != 0) { return targetBitrate_; } else { return TargetBitrateDefaultValue; } } + set { + _hasBits0 |= 16; + targetBitrate_ = value; + } + } + /// Gets whether the "target_bitrate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTargetBitrate { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "target_bitrate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTargetBitrate() { + _hasBits0 &= ~16; + } + + /// Field number for the "total_encoded_bytes_target" field. + public const int TotalEncodedBytesTargetFieldNumber = 10; + private readonly static ulong TotalEncodedBytesTargetDefaultValue = 0UL; + + private ulong totalEncodedBytesTarget_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalEncodedBytesTarget { + get { if ((_hasBits0 & 32) != 0) { return totalEncodedBytesTarget_; } else { return TotalEncodedBytesTargetDefaultValue; } } + set { + _hasBits0 |= 32; + totalEncodedBytesTarget_ = value; + } + } + /// Gets whether the "total_encoded_bytes_target" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalEncodedBytesTarget { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "total_encoded_bytes_target" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalEncodedBytesTarget() { + _hasBits0 &= ~32; + } + + /// Field number for the "frame_width" field. + public const int FrameWidthFieldNumber = 11; + private readonly static uint FrameWidthDefaultValue = 0; + + private uint frameWidth_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FrameWidth { + get { if ((_hasBits0 & 64) != 0) { return frameWidth_; } else { return FrameWidthDefaultValue; } } + set { + _hasBits0 |= 64; + frameWidth_ = value; + } + } + /// Gets whether the "frame_width" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrameWidth { + get { return (_hasBits0 & 64) != 0; } + } + /// Clears the value of the "frame_width" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrameWidth() { + _hasBits0 &= ~64; + } + + /// Field number for the "frame_height" field. + public const int FrameHeightFieldNumber = 12; + private readonly static uint FrameHeightDefaultValue = 0; + + private uint frameHeight_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FrameHeight { + get { if ((_hasBits0 & 128) != 0) { return frameHeight_; } else { return FrameHeightDefaultValue; } } + set { + _hasBits0 |= 128; + frameHeight_ = value; + } + } + /// Gets whether the "frame_height" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrameHeight { + get { return (_hasBits0 & 128) != 0; } + } + /// Clears the value of the "frame_height" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrameHeight() { + _hasBits0 &= ~128; + } + + /// Field number for the "frames_per_second" field. + public const int FramesPerSecondFieldNumber = 13; + private readonly static double FramesPerSecondDefaultValue = 0D; + + private double framesPerSecond_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double FramesPerSecond { + get { if ((_hasBits0 & 256) != 0) { return framesPerSecond_; } else { return FramesPerSecondDefaultValue; } } + set { + _hasBits0 |= 256; + framesPerSecond_ = value; + } + } + /// Gets whether the "frames_per_second" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesPerSecond { + get { return (_hasBits0 & 256) != 0; } + } + /// Clears the value of the "frames_per_second" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesPerSecond() { + _hasBits0 &= ~256; + } + + /// Field number for the "frames_sent" field. + public const int FramesSentFieldNumber = 14; + private readonly static uint FramesSentDefaultValue = 0; + + private uint framesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FramesSent { + get { if ((_hasBits0 & 512) != 0) { return framesSent_; } else { return FramesSentDefaultValue; } } + set { + _hasBits0 |= 512; + framesSent_ = value; + } + } + /// Gets whether the "frames_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesSent { + get { return (_hasBits0 & 512) != 0; } + } + /// Clears the value of the "frames_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesSent() { + _hasBits0 &= ~512; + } + + /// Field number for the "huge_frames_sent" field. + public const int HugeFramesSentFieldNumber = 15; + private readonly static uint HugeFramesSentDefaultValue = 0; + + private uint hugeFramesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint HugeFramesSent { + get { if ((_hasBits0 & 1024) != 0) { return hugeFramesSent_; } else { return HugeFramesSentDefaultValue; } } + set { + _hasBits0 |= 1024; + hugeFramesSent_ = value; + } + } + /// Gets whether the "huge_frames_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHugeFramesSent { + get { return (_hasBits0 & 1024) != 0; } + } + /// Clears the value of the "huge_frames_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHugeFramesSent() { + _hasBits0 &= ~1024; + } + + /// Field number for the "frames_encoded" field. + public const int FramesEncodedFieldNumber = 16; + private readonly static uint FramesEncodedDefaultValue = 0; + + private uint framesEncoded_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FramesEncoded { + get { if ((_hasBits0 & 2048) != 0) { return framesEncoded_; } else { return FramesEncodedDefaultValue; } } + set { + _hasBits0 |= 2048; + framesEncoded_ = value; + } + } + /// Gets whether the "frames_encoded" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesEncoded { + get { return (_hasBits0 & 2048) != 0; } + } + /// Clears the value of the "frames_encoded" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesEncoded() { + _hasBits0 &= ~2048; + } + + /// Field number for the "key_frames_encoded" field. + public const int KeyFramesEncodedFieldNumber = 17; + private readonly static uint KeyFramesEncodedDefaultValue = 0; + + private uint keyFramesEncoded_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint KeyFramesEncoded { + get { if ((_hasBits0 & 4096) != 0) { return keyFramesEncoded_; } else { return KeyFramesEncodedDefaultValue; } } + set { + _hasBits0 |= 4096; + keyFramesEncoded_ = value; + } + } + /// Gets whether the "key_frames_encoded" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKeyFramesEncoded { + get { return (_hasBits0 & 4096) != 0; } + } + /// Clears the value of the "key_frames_encoded" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKeyFramesEncoded() { + _hasBits0 &= ~4096; + } + + /// Field number for the "qp_sum" field. + public const int QpSumFieldNumber = 18; + private readonly static ulong QpSumDefaultValue = 0UL; + + private ulong qpSum_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong QpSum { + get { if ((_hasBits0 & 8192) != 0) { return qpSum_; } else { return QpSumDefaultValue; } } + set { + _hasBits0 |= 8192; + qpSum_ = value; + } + } + /// Gets whether the "qp_sum" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQpSum { + get { return (_hasBits0 & 8192) != 0; } + } + /// Clears the value of the "qp_sum" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQpSum() { + _hasBits0 &= ~8192; + } + + /// Field number for the "total_encode_time" field. + public const int TotalEncodeTimeFieldNumber = 19; + private readonly static double TotalEncodeTimeDefaultValue = 0D; + + private double totalEncodeTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalEncodeTime { + get { if ((_hasBits0 & 16384) != 0) { return totalEncodeTime_; } else { return TotalEncodeTimeDefaultValue; } } + set { + _hasBits0 |= 16384; + totalEncodeTime_ = value; + } + } + /// Gets whether the "total_encode_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalEncodeTime { + get { return (_hasBits0 & 16384) != 0; } + } + /// Clears the value of the "total_encode_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalEncodeTime() { + _hasBits0 &= ~16384; + } + + /// Field number for the "total_packet_send_delay" field. + public const int TotalPacketSendDelayFieldNumber = 20; + private readonly static double TotalPacketSendDelayDefaultValue = 0D; + + private double totalPacketSendDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalPacketSendDelay { + get { if ((_hasBits0 & 32768) != 0) { return totalPacketSendDelay_; } else { return TotalPacketSendDelayDefaultValue; } } + set { + _hasBits0 |= 32768; + totalPacketSendDelay_ = value; + } + } + /// Gets whether the "total_packet_send_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalPacketSendDelay { + get { return (_hasBits0 & 32768) != 0; } + } + /// Clears the value of the "total_packet_send_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalPacketSendDelay() { + _hasBits0 &= ~32768; + } + + /// Field number for the "quality_limitation_reason" field. + public const int QualityLimitationReasonFieldNumber = 21; + private readonly static global::LiveKit.Proto.QualityLimitationReason QualityLimitationReasonDefaultValue = global::LiveKit.Proto.QualityLimitationReason.LimitationNone; + + private global::LiveKit.Proto.QualityLimitationReason qualityLimitationReason_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.QualityLimitationReason QualityLimitationReason { + get { if ((_hasBits0 & 65536) != 0) { return qualityLimitationReason_; } else { return QualityLimitationReasonDefaultValue; } } + set { + _hasBits0 |= 65536; + qualityLimitationReason_ = value; + } + } + /// Gets whether the "quality_limitation_reason" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQualityLimitationReason { + get { return (_hasBits0 & 65536) != 0; } + } + /// Clears the value of the "quality_limitation_reason" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQualityLimitationReason() { + _hasBits0 &= ~65536; + } + + /// Field number for the "quality_limitation_durations" field. + public const int QualityLimitationDurationsFieldNumber = 22; + private static readonly pbc::MapField.Codec _map_qualityLimitationDurations_codec + = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForDouble(17, 0D), 178); + private readonly pbc::MapField qualityLimitationDurations_ = new pbc::MapField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::MapField QualityLimitationDurations { + get { return qualityLimitationDurations_; } + } + + /// Field number for the "quality_limitation_resolution_changes" field. + public const int QualityLimitationResolutionChangesFieldNumber = 23; + private readonly static uint QualityLimitationResolutionChangesDefaultValue = 0; + + private uint qualityLimitationResolutionChanges_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint QualityLimitationResolutionChanges { + get { if ((_hasBits0 & 131072) != 0) { return qualityLimitationResolutionChanges_; } else { return QualityLimitationResolutionChangesDefaultValue; } } + set { + _hasBits0 |= 131072; + qualityLimitationResolutionChanges_ = value; + } + } + /// Gets whether the "quality_limitation_resolution_changes" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasQualityLimitationResolutionChanges { + get { return (_hasBits0 & 131072) != 0; } + } + /// Clears the value of the "quality_limitation_resolution_changes" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearQualityLimitationResolutionChanges() { + _hasBits0 &= ~131072; + } + + /// Field number for the "nack_count" field. + public const int NackCountFieldNumber = 24; + private readonly static uint NackCountDefaultValue = 0; + + private uint nackCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NackCount { + get { if ((_hasBits0 & 262144) != 0) { return nackCount_; } else { return NackCountDefaultValue; } } + set { + _hasBits0 |= 262144; + nackCount_ = value; + } + } + /// Gets whether the "nack_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNackCount { + get { return (_hasBits0 & 262144) != 0; } + } + /// Clears the value of the "nack_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNackCount() { + _hasBits0 &= ~262144; + } + + /// Field number for the "fir_count" field. + public const int FirCountFieldNumber = 25; + private readonly static uint FirCountDefaultValue = 0; + + private uint firCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint FirCount { + get { if ((_hasBits0 & 524288) != 0) { return firCount_; } else { return FirCountDefaultValue; } } + set { + _hasBits0 |= 524288; + firCount_ = value; + } + } + /// Gets whether the "fir_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFirCount { + get { return (_hasBits0 & 524288) != 0; } + } + /// Clears the value of the "fir_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFirCount() { + _hasBits0 &= ~524288; + } + + /// Field number for the "pli_count" field. + public const int PliCountFieldNumber = 26; + private readonly static uint PliCountDefaultValue = 0; + + private uint pliCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint PliCount { + get { if ((_hasBits0 & 1048576) != 0) { return pliCount_; } else { return PliCountDefaultValue; } } + set { + _hasBits0 |= 1048576; + pliCount_ = value; + } + } + /// Gets whether the "pli_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPliCount { + get { return (_hasBits0 & 1048576) != 0; } + } + /// Clears the value of the "pli_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPliCount() { + _hasBits0 &= ~1048576; + } + + /// Field number for the "encoder_implementation" field. + public const int EncoderImplementationFieldNumber = 27; + private readonly static string EncoderImplementationDefaultValue = ""; + + private string encoderImplementation_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string EncoderImplementation { + get { return encoderImplementation_ ?? EncoderImplementationDefaultValue; } + set { + encoderImplementation_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "encoder_implementation" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEncoderImplementation { + get { return encoderImplementation_ != null; } + } + /// Clears the value of the "encoder_implementation" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEncoderImplementation() { + encoderImplementation_ = null; + } + + /// Field number for the "power_efficient_encoder" field. + public const int PowerEfficientEncoderFieldNumber = 28; + private readonly static bool PowerEfficientEncoderDefaultValue = false; + + private bool powerEfficientEncoder_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool PowerEfficientEncoder { + get { if ((_hasBits0 & 2097152) != 0) { return powerEfficientEncoder_; } else { return PowerEfficientEncoderDefaultValue; } } + set { + _hasBits0 |= 2097152; + powerEfficientEncoder_ = value; + } + } + /// Gets whether the "power_efficient_encoder" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPowerEfficientEncoder { + get { return (_hasBits0 & 2097152) != 0; } + } + /// Clears the value of the "power_efficient_encoder" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPowerEfficientEncoder() { + _hasBits0 &= ~2097152; + } + + /// Field number for the "active" field. + public const int ActiveFieldNumber = 29; + private readonly static bool ActiveDefaultValue = false; + + private bool active_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Active { + get { if ((_hasBits0 & 4194304) != 0) { return active_; } else { return ActiveDefaultValue; } } + set { + _hasBits0 |= 4194304; + active_ = value; + } + } + /// Gets whether the "active" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasActive { + get { return (_hasBits0 & 4194304) != 0; } + } + /// Clears the value of the "active" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearActive() { + _hasBits0 &= ~4194304; + } + + /// Field number for the "scalability_mode" field. + public const int ScalabilityModeFieldNumber = 30; + private readonly static string ScalabilityModeDefaultValue = ""; + + private string scalabilityMode_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ScalabilityMode { + get { return scalabilityMode_ ?? ScalabilityModeDefaultValue; } + set { + scalabilityMode_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "scalability_mode" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasScalabilityMode { + get { return scalabilityMode_ != null; } + } + /// Clears the value of the "scalability_mode" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearScalabilityMode() { + scalabilityMode_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OutboundRtpStreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OutboundRtpStreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Mid != other.Mid) return false; + if (MediaSourceId != other.MediaSourceId) return false; + if (RemoteId != other.RemoteId) return false; + if (Rid != other.Rid) return false; + if (HeaderBytesSent != other.HeaderBytesSent) return false; + if (RetransmittedPacketsSent != other.RetransmittedPacketsSent) return false; + if (RetransmittedBytesSent != other.RetransmittedBytesSent) return false; + if (RtxSsrc != other.RtxSsrc) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TargetBitrate, other.TargetBitrate)) return false; + if (TotalEncodedBytesTarget != other.TotalEncodedBytesTarget) return false; + if (FrameWidth != other.FrameWidth) return false; + if (FrameHeight != other.FrameHeight) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FramesPerSecond, other.FramesPerSecond)) return false; + if (FramesSent != other.FramesSent) return false; + if (HugeFramesSent != other.HugeFramesSent) return false; + if (FramesEncoded != other.FramesEncoded) return false; + if (KeyFramesEncoded != other.KeyFramesEncoded) return false; + if (QpSum != other.QpSum) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalEncodeTime, other.TotalEncodeTime)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalPacketSendDelay, other.TotalPacketSendDelay)) return false; + if (QualityLimitationReason != other.QualityLimitationReason) return false; + if (!QualityLimitationDurations.Equals(other.QualityLimitationDurations)) return false; + if (QualityLimitationResolutionChanges != other.QualityLimitationResolutionChanges) return false; + if (NackCount != other.NackCount) return false; + if (FirCount != other.FirCount) return false; + if (PliCount != other.PliCount) return false; + if (EncoderImplementation != other.EncoderImplementation) return false; + if (PowerEfficientEncoder != other.PowerEfficientEncoder) return false; + if (Active != other.Active) return false; + if (ScalabilityMode != other.ScalabilityMode) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasMid) hash ^= Mid.GetHashCode(); + if (HasMediaSourceId) hash ^= MediaSourceId.GetHashCode(); + if (HasRemoteId) hash ^= RemoteId.GetHashCode(); + if (HasRid) hash ^= Rid.GetHashCode(); + if (HasHeaderBytesSent) hash ^= HeaderBytesSent.GetHashCode(); + if (HasRetransmittedPacketsSent) hash ^= RetransmittedPacketsSent.GetHashCode(); + if (HasRetransmittedBytesSent) hash ^= RetransmittedBytesSent.GetHashCode(); + if (HasRtxSsrc) hash ^= RtxSsrc.GetHashCode(); + if (HasTargetBitrate) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TargetBitrate); + if (HasTotalEncodedBytesTarget) hash ^= TotalEncodedBytesTarget.GetHashCode(); + if (HasFrameWidth) hash ^= FrameWidth.GetHashCode(); + if (HasFrameHeight) hash ^= FrameHeight.GetHashCode(); + if (HasFramesPerSecond) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FramesPerSecond); + if (HasFramesSent) hash ^= FramesSent.GetHashCode(); + if (HasHugeFramesSent) hash ^= HugeFramesSent.GetHashCode(); + if (HasFramesEncoded) hash ^= FramesEncoded.GetHashCode(); + if (HasKeyFramesEncoded) hash ^= KeyFramesEncoded.GetHashCode(); + if (HasQpSum) hash ^= QpSum.GetHashCode(); + if (HasTotalEncodeTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalEncodeTime); + if (HasTotalPacketSendDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalPacketSendDelay); + if (HasQualityLimitationReason) hash ^= QualityLimitationReason.GetHashCode(); + hash ^= QualityLimitationDurations.GetHashCode(); + if (HasQualityLimitationResolutionChanges) hash ^= QualityLimitationResolutionChanges.GetHashCode(); + if (HasNackCount) hash ^= NackCount.GetHashCode(); + if (HasFirCount) hash ^= FirCount.GetHashCode(); + if (HasPliCount) hash ^= PliCount.GetHashCode(); + if (HasEncoderImplementation) hash ^= EncoderImplementation.GetHashCode(); + if (HasPowerEfficientEncoder) hash ^= PowerEfficientEncoder.GetHashCode(); + if (HasActive) hash ^= Active.GetHashCode(); + if (HasScalabilityMode) hash ^= ScalabilityMode.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasMid) { + output.WriteRawTag(10); + output.WriteString(Mid); + } + if (HasMediaSourceId) { + output.WriteRawTag(18); + output.WriteString(MediaSourceId); + } + if (HasRemoteId) { + output.WriteRawTag(26); + output.WriteString(RemoteId); + } + if (HasRid) { + output.WriteRawTag(34); + output.WriteString(Rid); + } + if (HasHeaderBytesSent) { + output.WriteRawTag(40); + output.WriteUInt64(HeaderBytesSent); + } + if (HasRetransmittedPacketsSent) { + output.WriteRawTag(48); + output.WriteUInt64(RetransmittedPacketsSent); + } + if (HasRetransmittedBytesSent) { + output.WriteRawTag(56); + output.WriteUInt64(RetransmittedBytesSent); + } + if (HasRtxSsrc) { + output.WriteRawTag(64); + output.WriteUInt32(RtxSsrc); + } + if (HasTargetBitrate) { + output.WriteRawTag(73); + output.WriteDouble(TargetBitrate); + } + if (HasTotalEncodedBytesTarget) { + output.WriteRawTag(80); + output.WriteUInt64(TotalEncodedBytesTarget); + } + if (HasFrameWidth) { + output.WriteRawTag(88); + output.WriteUInt32(FrameWidth); + } + if (HasFrameHeight) { + output.WriteRawTag(96); + output.WriteUInt32(FrameHeight); + } + if (HasFramesPerSecond) { + output.WriteRawTag(105); + output.WriteDouble(FramesPerSecond); + } + if (HasFramesSent) { + output.WriteRawTag(112); + output.WriteUInt32(FramesSent); + } + if (HasHugeFramesSent) { + output.WriteRawTag(120); + output.WriteUInt32(HugeFramesSent); + } + if (HasFramesEncoded) { + output.WriteRawTag(128, 1); + output.WriteUInt32(FramesEncoded); + } + if (HasKeyFramesEncoded) { + output.WriteRawTag(136, 1); + output.WriteUInt32(KeyFramesEncoded); + } + if (HasQpSum) { + output.WriteRawTag(144, 1); + output.WriteUInt64(QpSum); + } + if (HasTotalEncodeTime) { + output.WriteRawTag(153, 1); + output.WriteDouble(TotalEncodeTime); + } + if (HasTotalPacketSendDelay) { + output.WriteRawTag(161, 1); + output.WriteDouble(TotalPacketSendDelay); + } + if (HasQualityLimitationReason) { + output.WriteRawTag(168, 1); + output.WriteEnum((int) QualityLimitationReason); + } + qualityLimitationDurations_.WriteTo(output, _map_qualityLimitationDurations_codec); + if (HasQualityLimitationResolutionChanges) { + output.WriteRawTag(184, 1); + output.WriteUInt32(QualityLimitationResolutionChanges); + } + if (HasNackCount) { + output.WriteRawTag(192, 1); + output.WriteUInt32(NackCount); + } + if (HasFirCount) { + output.WriteRawTag(200, 1); + output.WriteUInt32(FirCount); + } + if (HasPliCount) { + output.WriteRawTag(208, 1); + output.WriteUInt32(PliCount); + } + if (HasEncoderImplementation) { + output.WriteRawTag(218, 1); + output.WriteString(EncoderImplementation); + } + if (HasPowerEfficientEncoder) { + output.WriteRawTag(224, 1); + output.WriteBool(PowerEfficientEncoder); + } + if (HasActive) { + output.WriteRawTag(232, 1); + output.WriteBool(Active); + } + if (HasScalabilityMode) { + output.WriteRawTag(242, 1); + output.WriteString(ScalabilityMode); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasMid) { + output.WriteRawTag(10); + output.WriteString(Mid); + } + if (HasMediaSourceId) { + output.WriteRawTag(18); + output.WriteString(MediaSourceId); + } + if (HasRemoteId) { + output.WriteRawTag(26); + output.WriteString(RemoteId); + } + if (HasRid) { + output.WriteRawTag(34); + output.WriteString(Rid); + } + if (HasHeaderBytesSent) { + output.WriteRawTag(40); + output.WriteUInt64(HeaderBytesSent); + } + if (HasRetransmittedPacketsSent) { + output.WriteRawTag(48); + output.WriteUInt64(RetransmittedPacketsSent); + } + if (HasRetransmittedBytesSent) { + output.WriteRawTag(56); + output.WriteUInt64(RetransmittedBytesSent); + } + if (HasRtxSsrc) { + output.WriteRawTag(64); + output.WriteUInt32(RtxSsrc); + } + if (HasTargetBitrate) { + output.WriteRawTag(73); + output.WriteDouble(TargetBitrate); + } + if (HasTotalEncodedBytesTarget) { + output.WriteRawTag(80); + output.WriteUInt64(TotalEncodedBytesTarget); + } + if (HasFrameWidth) { + output.WriteRawTag(88); + output.WriteUInt32(FrameWidth); + } + if (HasFrameHeight) { + output.WriteRawTag(96); + output.WriteUInt32(FrameHeight); + } + if (HasFramesPerSecond) { + output.WriteRawTag(105); + output.WriteDouble(FramesPerSecond); + } + if (HasFramesSent) { + output.WriteRawTag(112); + output.WriteUInt32(FramesSent); + } + if (HasHugeFramesSent) { + output.WriteRawTag(120); + output.WriteUInt32(HugeFramesSent); + } + if (HasFramesEncoded) { + output.WriteRawTag(128, 1); + output.WriteUInt32(FramesEncoded); + } + if (HasKeyFramesEncoded) { + output.WriteRawTag(136, 1); + output.WriteUInt32(KeyFramesEncoded); + } + if (HasQpSum) { + output.WriteRawTag(144, 1); + output.WriteUInt64(QpSum); + } + if (HasTotalEncodeTime) { + output.WriteRawTag(153, 1); + output.WriteDouble(TotalEncodeTime); + } + if (HasTotalPacketSendDelay) { + output.WriteRawTag(161, 1); + output.WriteDouble(TotalPacketSendDelay); + } + if (HasQualityLimitationReason) { + output.WriteRawTag(168, 1); + output.WriteEnum((int) QualityLimitationReason); + } + qualityLimitationDurations_.WriteTo(ref output, _map_qualityLimitationDurations_codec); + if (HasQualityLimitationResolutionChanges) { + output.WriteRawTag(184, 1); + output.WriteUInt32(QualityLimitationResolutionChanges); + } + if (HasNackCount) { + output.WriteRawTag(192, 1); + output.WriteUInt32(NackCount); + } + if (HasFirCount) { + output.WriteRawTag(200, 1); + output.WriteUInt32(FirCount); + } + if (HasPliCount) { + output.WriteRawTag(208, 1); + output.WriteUInt32(PliCount); + } + if (HasEncoderImplementation) { + output.WriteRawTag(218, 1); + output.WriteString(EncoderImplementation); + } + if (HasPowerEfficientEncoder) { + output.WriteRawTag(224, 1); + output.WriteBool(PowerEfficientEncoder); + } + if (HasActive) { + output.WriteRawTag(232, 1); + output.WriteBool(Active); + } + if (HasScalabilityMode) { + output.WriteRawTag(242, 1); + output.WriteString(ScalabilityMode); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasMid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Mid); + } + if (HasMediaSourceId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MediaSourceId); + } + if (HasRemoteId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(RemoteId); + } + if (HasRid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Rid); + } + if (HasHeaderBytesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(HeaderBytesSent); + } + if (HasRetransmittedPacketsSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RetransmittedPacketsSent); + } + if (HasRetransmittedBytesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RetransmittedBytesSent); + } + if (HasRtxSsrc) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RtxSsrc); + } + if (HasTargetBitrate) { + size += 1 + 8; + } + if (HasTotalEncodedBytesTarget) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TotalEncodedBytesTarget); + } + if (HasFrameWidth) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameWidth); + } + if (HasFrameHeight) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameHeight); + } + if (HasFramesPerSecond) { + size += 1 + 8; + } + if (HasFramesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FramesSent); + } + if (HasHugeFramesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(HugeFramesSent); + } + if (HasFramesEncoded) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(FramesEncoded); + } + if (HasKeyFramesEncoded) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(KeyFramesEncoded); + } + if (HasQpSum) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(QpSum); + } + if (HasTotalEncodeTime) { + size += 2 + 8; + } + if (HasTotalPacketSendDelay) { + size += 2 + 8; + } + if (HasQualityLimitationReason) { + size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) QualityLimitationReason); + } + size += qualityLimitationDurations_.CalculateSize(_map_qualityLimitationDurations_codec); + if (HasQualityLimitationResolutionChanges) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(QualityLimitationResolutionChanges); + } + if (HasNackCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(NackCount); + } + if (HasFirCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(FirCount); + } + if (HasPliCount) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(PliCount); + } + if (HasEncoderImplementation) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(EncoderImplementation); + } + if (HasPowerEfficientEncoder) { + size += 2 + 1; + } + if (HasActive) { + size += 2 + 1; + } + if (HasScalabilityMode) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(ScalabilityMode); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OutboundRtpStreamStats other) { + if (other == null) { + return; + } + if (other.HasMid) { + Mid = other.Mid; + } + if (other.HasMediaSourceId) { + MediaSourceId = other.MediaSourceId; + } + if (other.HasRemoteId) { + RemoteId = other.RemoteId; + } + if (other.HasRid) { + Rid = other.Rid; + } + if (other.HasHeaderBytesSent) { + HeaderBytesSent = other.HeaderBytesSent; + } + if (other.HasRetransmittedPacketsSent) { + RetransmittedPacketsSent = other.RetransmittedPacketsSent; + } + if (other.HasRetransmittedBytesSent) { + RetransmittedBytesSent = other.RetransmittedBytesSent; + } + if (other.HasRtxSsrc) { + RtxSsrc = other.RtxSsrc; + } + if (other.HasTargetBitrate) { + TargetBitrate = other.TargetBitrate; + } + if (other.HasTotalEncodedBytesTarget) { + TotalEncodedBytesTarget = other.TotalEncodedBytesTarget; + } + if (other.HasFrameWidth) { + FrameWidth = other.FrameWidth; + } + if (other.HasFrameHeight) { + FrameHeight = other.FrameHeight; + } + if (other.HasFramesPerSecond) { + FramesPerSecond = other.FramesPerSecond; + } + if (other.HasFramesSent) { + FramesSent = other.FramesSent; + } + if (other.HasHugeFramesSent) { + HugeFramesSent = other.HugeFramesSent; + } + if (other.HasFramesEncoded) { + FramesEncoded = other.FramesEncoded; + } + if (other.HasKeyFramesEncoded) { + KeyFramesEncoded = other.KeyFramesEncoded; + } + if (other.HasQpSum) { + QpSum = other.QpSum; + } + if (other.HasTotalEncodeTime) { + TotalEncodeTime = other.TotalEncodeTime; + } + if (other.HasTotalPacketSendDelay) { + TotalPacketSendDelay = other.TotalPacketSendDelay; + } + if (other.HasQualityLimitationReason) { + QualityLimitationReason = other.QualityLimitationReason; + } + qualityLimitationDurations_.MergeFrom(other.qualityLimitationDurations_); + if (other.HasQualityLimitationResolutionChanges) { + QualityLimitationResolutionChanges = other.QualityLimitationResolutionChanges; + } + if (other.HasNackCount) { + NackCount = other.NackCount; + } + if (other.HasFirCount) { + FirCount = other.FirCount; + } + if (other.HasPliCount) { + PliCount = other.PliCount; + } + if (other.HasEncoderImplementation) { + EncoderImplementation = other.EncoderImplementation; + } + if (other.HasPowerEfficientEncoder) { + PowerEfficientEncoder = other.PowerEfficientEncoder; + } + if (other.HasActive) { + Active = other.Active; + } + if (other.HasScalabilityMode) { + ScalabilityMode = other.ScalabilityMode; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Mid = input.ReadString(); + break; + } + case 18: { + MediaSourceId = input.ReadString(); + break; + } + case 26: { + RemoteId = input.ReadString(); + break; + } + case 34: { + Rid = input.ReadString(); + break; + } + case 40: { + HeaderBytesSent = input.ReadUInt64(); + break; + } + case 48: { + RetransmittedPacketsSent = input.ReadUInt64(); + break; + } + case 56: { + RetransmittedBytesSent = input.ReadUInt64(); + break; + } + case 64: { + RtxSsrc = input.ReadUInt32(); + break; + } + case 73: { + TargetBitrate = input.ReadDouble(); + break; + } + case 80: { + TotalEncodedBytesTarget = input.ReadUInt64(); + break; + } + case 88: { + FrameWidth = input.ReadUInt32(); + break; + } + case 96: { + FrameHeight = input.ReadUInt32(); + break; + } + case 105: { + FramesPerSecond = input.ReadDouble(); + break; + } + case 112: { + FramesSent = input.ReadUInt32(); + break; + } + case 120: { + HugeFramesSent = input.ReadUInt32(); + break; + } + case 128: { + FramesEncoded = input.ReadUInt32(); + break; + } + case 136: { + KeyFramesEncoded = input.ReadUInt32(); + break; + } + case 144: { + QpSum = input.ReadUInt64(); + break; + } + case 153: { + TotalEncodeTime = input.ReadDouble(); + break; + } + case 161: { + TotalPacketSendDelay = input.ReadDouble(); + break; + } + case 168: { + QualityLimitationReason = (global::LiveKit.Proto.QualityLimitationReason) input.ReadEnum(); + break; + } + case 178: { + qualityLimitationDurations_.AddEntriesFrom(input, _map_qualityLimitationDurations_codec); + break; + } + case 184: { + QualityLimitationResolutionChanges = input.ReadUInt32(); + break; + } + case 192: { + NackCount = input.ReadUInt32(); + break; + } + case 200: { + FirCount = input.ReadUInt32(); + break; + } + case 208: { + PliCount = input.ReadUInt32(); + break; + } + case 218: { + EncoderImplementation = input.ReadString(); + break; + } + case 224: { + PowerEfficientEncoder = input.ReadBool(); + break; + } + case 232: { + Active = input.ReadBool(); + break; + } + case 242: { + ScalabilityMode = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Mid = input.ReadString(); + break; + } + case 18: { + MediaSourceId = input.ReadString(); + break; + } + case 26: { + RemoteId = input.ReadString(); + break; + } + case 34: { + Rid = input.ReadString(); + break; + } + case 40: { + HeaderBytesSent = input.ReadUInt64(); + break; + } + case 48: { + RetransmittedPacketsSent = input.ReadUInt64(); + break; + } + case 56: { + RetransmittedBytesSent = input.ReadUInt64(); + break; + } + case 64: { + RtxSsrc = input.ReadUInt32(); + break; + } + case 73: { + TargetBitrate = input.ReadDouble(); + break; + } + case 80: { + TotalEncodedBytesTarget = input.ReadUInt64(); + break; + } + case 88: { + FrameWidth = input.ReadUInt32(); + break; + } + case 96: { + FrameHeight = input.ReadUInt32(); + break; + } + case 105: { + FramesPerSecond = input.ReadDouble(); + break; + } + case 112: { + FramesSent = input.ReadUInt32(); + break; + } + case 120: { + HugeFramesSent = input.ReadUInt32(); + break; + } + case 128: { + FramesEncoded = input.ReadUInt32(); + break; + } + case 136: { + KeyFramesEncoded = input.ReadUInt32(); + break; + } + case 144: { + QpSum = input.ReadUInt64(); + break; + } + case 153: { + TotalEncodeTime = input.ReadDouble(); + break; + } + case 161: { + TotalPacketSendDelay = input.ReadDouble(); + break; + } + case 168: { + QualityLimitationReason = (global::LiveKit.Proto.QualityLimitationReason) input.ReadEnum(); + break; + } + case 178: { + qualityLimitationDurations_.AddEntriesFrom(ref input, _map_qualityLimitationDurations_codec); + break; + } + case 184: { + QualityLimitationResolutionChanges = input.ReadUInt32(); + break; + } + case 192: { + NackCount = input.ReadUInt32(); + break; + } + case 200: { + FirCount = input.ReadUInt32(); + break; + } + case 208: { + PliCount = input.ReadUInt32(); + break; + } + case 218: { + EncoderImplementation = input.ReadString(); + break; + } + case 224: { + PowerEfficientEncoder = input.ReadBool(); + break; + } + case 232: { + Active = input.ReadBool(); + break; + } + case 242: { + ScalabilityMode = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RemoteInboundRtpStreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteInboundRtpStreamStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[8]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteInboundRtpStreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteInboundRtpStreamStats(RemoteInboundRtpStreamStats other) : this() { + _hasBits0 = other._hasBits0; + localId_ = other.localId_; + roundTripTime_ = other.roundTripTime_; + totalRoundTripTime_ = other.totalRoundTripTime_; + fractionLost_ = other.fractionLost_; + roundTripTimeMeasurements_ = other.roundTripTimeMeasurements_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteInboundRtpStreamStats Clone() { + return new RemoteInboundRtpStreamStats(this); + } + + /// Field number for the "local_id" field. + public const int LocalIdFieldNumber = 1; + private readonly static string LocalIdDefaultValue = ""; + + private string localId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string LocalId { + get { return localId_ ?? LocalIdDefaultValue; } + set { + localId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "local_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalId { + get { return localId_ != null; } + } + /// Clears the value of the "local_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalId() { + localId_ = null; + } + + /// Field number for the "round_trip_time" field. + public const int RoundTripTimeFieldNumber = 2; + private readonly static double RoundTripTimeDefaultValue = 0D; + + private double roundTripTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double RoundTripTime { + get { if ((_hasBits0 & 1) != 0) { return roundTripTime_; } else { return RoundTripTimeDefaultValue; } } + set { + _hasBits0 |= 1; + roundTripTime_ = value; + } + } + /// Gets whether the "round_trip_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoundTripTime { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "round_trip_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoundTripTime() { + _hasBits0 &= ~1; + } + + /// Field number for the "total_round_trip_time" field. + public const int TotalRoundTripTimeFieldNumber = 3; + private readonly static double TotalRoundTripTimeDefaultValue = 0D; + + private double totalRoundTripTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalRoundTripTime { + get { if ((_hasBits0 & 2) != 0) { return totalRoundTripTime_; } else { return TotalRoundTripTimeDefaultValue; } } + set { + _hasBits0 |= 2; + totalRoundTripTime_ = value; + } + } + /// Gets whether the "total_round_trip_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalRoundTripTime { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "total_round_trip_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalRoundTripTime() { + _hasBits0 &= ~2; + } + + /// Field number for the "fraction_lost" field. + public const int FractionLostFieldNumber = 4; + private readonly static double FractionLostDefaultValue = 0D; + + private double fractionLost_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double FractionLost { + get { if ((_hasBits0 & 4) != 0) { return fractionLost_; } else { return FractionLostDefaultValue; } } + set { + _hasBits0 |= 4; + fractionLost_ = value; + } + } + /// Gets whether the "fraction_lost" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFractionLost { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "fraction_lost" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFractionLost() { + _hasBits0 &= ~4; + } + + /// Field number for the "round_trip_time_measurements" field. + public const int RoundTripTimeMeasurementsFieldNumber = 5; + private readonly static ulong RoundTripTimeMeasurementsDefaultValue = 0UL; + + private ulong roundTripTimeMeasurements_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RoundTripTimeMeasurements { + get { if ((_hasBits0 & 8) != 0) { return roundTripTimeMeasurements_; } else { return RoundTripTimeMeasurementsDefaultValue; } } + set { + _hasBits0 |= 8; + roundTripTimeMeasurements_ = value; + } + } + /// Gets whether the "round_trip_time_measurements" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoundTripTimeMeasurements { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "round_trip_time_measurements" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoundTripTimeMeasurements() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RemoteInboundRtpStreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RemoteInboundRtpStreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalId != other.LocalId) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(RoundTripTime, other.RoundTripTime)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalRoundTripTime, other.TotalRoundTripTime)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FractionLost, other.FractionLost)) return false; + if (RoundTripTimeMeasurements != other.RoundTripTimeMeasurements) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalId) hash ^= LocalId.GetHashCode(); + if (HasRoundTripTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(RoundTripTime); + if (HasTotalRoundTripTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalRoundTripTime); + if (HasFractionLost) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FractionLost); + if (HasRoundTripTimeMeasurements) hash ^= RoundTripTimeMeasurements.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalId) { + output.WriteRawTag(10); + output.WriteString(LocalId); + } + if (HasRoundTripTime) { + output.WriteRawTag(17); + output.WriteDouble(RoundTripTime); + } + if (HasTotalRoundTripTime) { + output.WriteRawTag(25); + output.WriteDouble(TotalRoundTripTime); + } + if (HasFractionLost) { + output.WriteRawTag(33); + output.WriteDouble(FractionLost); + } + if (HasRoundTripTimeMeasurements) { + output.WriteRawTag(40); + output.WriteUInt64(RoundTripTimeMeasurements); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalId) { + output.WriteRawTag(10); + output.WriteString(LocalId); + } + if (HasRoundTripTime) { + output.WriteRawTag(17); + output.WriteDouble(RoundTripTime); + } + if (HasTotalRoundTripTime) { + output.WriteRawTag(25); + output.WriteDouble(TotalRoundTripTime); + } + if (HasFractionLost) { + output.WriteRawTag(33); + output.WriteDouble(FractionLost); + } + if (HasRoundTripTimeMeasurements) { + output.WriteRawTag(40); + output.WriteUInt64(RoundTripTimeMeasurements); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(LocalId); + } + if (HasRoundTripTime) { + size += 1 + 8; + } + if (HasTotalRoundTripTime) { + size += 1 + 8; + } + if (HasFractionLost) { + size += 1 + 8; + } + if (HasRoundTripTimeMeasurements) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoundTripTimeMeasurements); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RemoteInboundRtpStreamStats other) { + if (other == null) { + return; + } + if (other.HasLocalId) { + LocalId = other.LocalId; + } + if (other.HasRoundTripTime) { + RoundTripTime = other.RoundTripTime; + } + if (other.HasTotalRoundTripTime) { + TotalRoundTripTime = other.TotalRoundTripTime; + } + if (other.HasFractionLost) { + FractionLost = other.FractionLost; + } + if (other.HasRoundTripTimeMeasurements) { + RoundTripTimeMeasurements = other.RoundTripTimeMeasurements; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + LocalId = input.ReadString(); + break; + } + case 17: { + RoundTripTime = input.ReadDouble(); + break; + } + case 25: { + TotalRoundTripTime = input.ReadDouble(); + break; + } + case 33: { + FractionLost = input.ReadDouble(); + break; + } + case 40: { + RoundTripTimeMeasurements = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + LocalId = input.ReadString(); + break; + } + case 17: { + RoundTripTime = input.ReadDouble(); + break; + } + case 25: { + TotalRoundTripTime = input.ReadDouble(); + break; + } + case 33: { + FractionLost = input.ReadDouble(); + break; + } + case 40: { + RoundTripTimeMeasurements = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class RemoteOutboundRtpStreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteOutboundRtpStreamStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[9]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteOutboundRtpStreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteOutboundRtpStreamStats(RemoteOutboundRtpStreamStats other) : this() { + _hasBits0 = other._hasBits0; + localId_ = other.localId_; + remoteTimestamp_ = other.remoteTimestamp_; + reportsSent_ = other.reportsSent_; + roundTripTime_ = other.roundTripTime_; + totalRoundTripTime_ = other.totalRoundTripTime_; + roundTripTimeMeasurements_ = other.roundTripTimeMeasurements_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public RemoteOutboundRtpStreamStats Clone() { + return new RemoteOutboundRtpStreamStats(this); + } + + /// Field number for the "local_id" field. + public const int LocalIdFieldNumber = 1; + private readonly static string LocalIdDefaultValue = ""; + + private string localId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string LocalId { + get { return localId_ ?? LocalIdDefaultValue; } + set { + localId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "local_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalId { + get { return localId_ != null; } + } + /// Clears the value of the "local_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalId() { + localId_ = null; + } + + /// Field number for the "remote_timestamp" field. + public const int RemoteTimestampFieldNumber = 2; + private readonly static double RemoteTimestampDefaultValue = 0D; + + private double remoteTimestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double RemoteTimestamp { + get { if ((_hasBits0 & 1) != 0) { return remoteTimestamp_; } else { return RemoteTimestampDefaultValue; } } + set { + _hasBits0 |= 1; + remoteTimestamp_ = value; + } + } + /// Gets whether the "remote_timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemoteTimestamp { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "remote_timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemoteTimestamp() { + _hasBits0 &= ~1; + } + + /// Field number for the "reports_sent" field. + public const int ReportsSentFieldNumber = 3; + private readonly static ulong ReportsSentDefaultValue = 0UL; + + private ulong reportsSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ReportsSent { + get { if ((_hasBits0 & 2) != 0) { return reportsSent_; } else { return ReportsSentDefaultValue; } } + set { + _hasBits0 |= 2; + reportsSent_ = value; + } + } + /// Gets whether the "reports_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasReportsSent { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "reports_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearReportsSent() { + _hasBits0 &= ~2; + } + + /// Field number for the "round_trip_time" field. + public const int RoundTripTimeFieldNumber = 4; + private readonly static double RoundTripTimeDefaultValue = 0D; + + private double roundTripTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double RoundTripTime { + get { if ((_hasBits0 & 4) != 0) { return roundTripTime_; } else { return RoundTripTimeDefaultValue; } } + set { + _hasBits0 |= 4; + roundTripTime_ = value; + } + } + /// Gets whether the "round_trip_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoundTripTime { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "round_trip_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoundTripTime() { + _hasBits0 &= ~4; + } + + /// Field number for the "total_round_trip_time" field. + public const int TotalRoundTripTimeFieldNumber = 5; + private readonly static double TotalRoundTripTimeDefaultValue = 0D; + + private double totalRoundTripTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalRoundTripTime { + get { if ((_hasBits0 & 8) != 0) { return totalRoundTripTime_; } else { return TotalRoundTripTimeDefaultValue; } } + set { + _hasBits0 |= 8; + totalRoundTripTime_ = value; + } + } + /// Gets whether the "total_round_trip_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalRoundTripTime { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "total_round_trip_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalRoundTripTime() { + _hasBits0 &= ~8; + } + + /// Field number for the "round_trip_time_measurements" field. + public const int RoundTripTimeMeasurementsFieldNumber = 6; + private readonly static ulong RoundTripTimeMeasurementsDefaultValue = 0UL; + + private ulong roundTripTimeMeasurements_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RoundTripTimeMeasurements { + get { if ((_hasBits0 & 16) != 0) { return roundTripTimeMeasurements_; } else { return RoundTripTimeMeasurementsDefaultValue; } } + set { + _hasBits0 |= 16; + roundTripTimeMeasurements_ = value; + } + } + /// Gets whether the "round_trip_time_measurements" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRoundTripTimeMeasurements { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "round_trip_time_measurements" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRoundTripTimeMeasurements() { + _hasBits0 &= ~16; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as RemoteOutboundRtpStreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(RemoteOutboundRtpStreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalId != other.LocalId) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(RemoteTimestamp, other.RemoteTimestamp)) return false; + if (ReportsSent != other.ReportsSent) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(RoundTripTime, other.RoundTripTime)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalRoundTripTime, other.TotalRoundTripTime)) return false; + if (RoundTripTimeMeasurements != other.RoundTripTimeMeasurements) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalId) hash ^= LocalId.GetHashCode(); + if (HasRemoteTimestamp) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(RemoteTimestamp); + if (HasReportsSent) hash ^= ReportsSent.GetHashCode(); + if (HasRoundTripTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(RoundTripTime); + if (HasTotalRoundTripTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalRoundTripTime); + if (HasRoundTripTimeMeasurements) hash ^= RoundTripTimeMeasurements.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalId) { + output.WriteRawTag(10); + output.WriteString(LocalId); + } + if (HasRemoteTimestamp) { + output.WriteRawTag(17); + output.WriteDouble(RemoteTimestamp); + } + if (HasReportsSent) { + output.WriteRawTag(24); + output.WriteUInt64(ReportsSent); + } + if (HasRoundTripTime) { + output.WriteRawTag(33); + output.WriteDouble(RoundTripTime); + } + if (HasTotalRoundTripTime) { + output.WriteRawTag(41); + output.WriteDouble(TotalRoundTripTime); + } + if (HasRoundTripTimeMeasurements) { + output.WriteRawTag(48); + output.WriteUInt64(RoundTripTimeMeasurements); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalId) { + output.WriteRawTag(10); + output.WriteString(LocalId); + } + if (HasRemoteTimestamp) { + output.WriteRawTag(17); + output.WriteDouble(RemoteTimestamp); + } + if (HasReportsSent) { + output.WriteRawTag(24); + output.WriteUInt64(ReportsSent); + } + if (HasRoundTripTime) { + output.WriteRawTag(33); + output.WriteDouble(RoundTripTime); + } + if (HasTotalRoundTripTime) { + output.WriteRawTag(41); + output.WriteDouble(TotalRoundTripTime); + } + if (HasRoundTripTimeMeasurements) { + output.WriteRawTag(48); + output.WriteUInt64(RoundTripTimeMeasurements); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(LocalId); + } + if (HasRemoteTimestamp) { + size += 1 + 8; + } + if (HasReportsSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReportsSent); + } + if (HasRoundTripTime) { + size += 1 + 8; + } + if (HasTotalRoundTripTime) { + size += 1 + 8; + } + if (HasRoundTripTimeMeasurements) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoundTripTimeMeasurements); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(RemoteOutboundRtpStreamStats other) { + if (other == null) { + return; + } + if (other.HasLocalId) { + LocalId = other.LocalId; + } + if (other.HasRemoteTimestamp) { + RemoteTimestamp = other.RemoteTimestamp; + } + if (other.HasReportsSent) { + ReportsSent = other.ReportsSent; + } + if (other.HasRoundTripTime) { + RoundTripTime = other.RoundTripTime; + } + if (other.HasTotalRoundTripTime) { + TotalRoundTripTime = other.TotalRoundTripTime; + } + if (other.HasRoundTripTimeMeasurements) { + RoundTripTimeMeasurements = other.RoundTripTimeMeasurements; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + LocalId = input.ReadString(); + break; + } + case 17: { + RemoteTimestamp = input.ReadDouble(); + break; + } + case 24: { + ReportsSent = input.ReadUInt64(); + break; + } + case 33: { + RoundTripTime = input.ReadDouble(); + break; + } + case 41: { + TotalRoundTripTime = input.ReadDouble(); + break; + } + case 48: { + RoundTripTimeMeasurements = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + LocalId = input.ReadString(); + break; + } + case 17: { + RemoteTimestamp = input.ReadDouble(); + break; + } + case 24: { + ReportsSent = input.ReadUInt64(); + break; + } + case 33: { + RoundTripTime = input.ReadDouble(); + break; + } + case 41: { + TotalRoundTripTime = input.ReadDouble(); + break; + } + case 48: { + RoundTripTimeMeasurements = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class MediaSourceStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new MediaSourceStats()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[10]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaSourceStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaSourceStats(MediaSourceStats other) : this() { + trackIdentifier_ = other.trackIdentifier_; + kind_ = other.kind_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MediaSourceStats Clone() { + return new MediaSourceStats(this); + } + + /// Field number for the "track_identifier" field. + public const int TrackIdentifierFieldNumber = 1; + private readonly static string TrackIdentifierDefaultValue = ""; + + private string trackIdentifier_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TrackIdentifier { + get { return trackIdentifier_ ?? TrackIdentifierDefaultValue; } + set { + trackIdentifier_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "track_identifier" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackIdentifier { + get { return trackIdentifier_ != null; } + } + /// Clears the value of the "track_identifier" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackIdentifier() { + trackIdentifier_ = null; + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 2; + private readonly static string KindDefaultValue = ""; + + private string kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Kind { + get { return kind_ ?? KindDefaultValue; } + set { + kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return kind_ != null; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + kind_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as MediaSourceStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(MediaSourceStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackIdentifier != other.TrackIdentifier) return false; + if (Kind != other.Kind) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackIdentifier) hash ^= TrackIdentifier.GetHashCode(); + if (HasKind) hash ^= Kind.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackIdentifier) { + output.WriteRawTag(10); + output.WriteString(TrackIdentifier); + } + if (HasKind) { + output.WriteRawTag(18); + output.WriteString(Kind); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackIdentifier) { + output.WriteRawTag(10); + output.WriteString(TrackIdentifier); + } + if (HasKind) { + output.WriteRawTag(18); + output.WriteString(Kind); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackIdentifier) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackIdentifier); + } + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Kind); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(MediaSourceStats other) { + if (other == null) { + return; + } + if (other.HasTrackIdentifier) { + TrackIdentifier = other.TrackIdentifier; + } + if (other.HasKind) { + Kind = other.Kind; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + TrackIdentifier = input.ReadString(); + break; + } + case 18: { + Kind = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + TrackIdentifier = input.ReadString(); + break; + } + case 18: { + Kind = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioSourceStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioSourceStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[11]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceStats(AudioSourceStats other) : this() { + _hasBits0 = other._hasBits0; + audioLevel_ = other.audioLevel_; + totalAudioEnergy_ = other.totalAudioEnergy_; + totalSamplesDuration_ = other.totalSamplesDuration_; + echoReturnLoss_ = other.echoReturnLoss_; + echoReturnLossEnhancement_ = other.echoReturnLossEnhancement_; + droppedSamplesDuration_ = other.droppedSamplesDuration_; + droppedSamplesEvents_ = other.droppedSamplesEvents_; + totalCaptureDelay_ = other.totalCaptureDelay_; + totalSamplesCaptured_ = other.totalSamplesCaptured_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioSourceStats Clone() { + return new AudioSourceStats(this); + } + + /// Field number for the "audio_level" field. + public const int AudioLevelFieldNumber = 1; + private readonly static double AudioLevelDefaultValue = 0D; + + private double audioLevel_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double AudioLevel { + get { if ((_hasBits0 & 1) != 0) { return audioLevel_; } else { return AudioLevelDefaultValue; } } + set { + _hasBits0 |= 1; + audioLevel_ = value; + } + } + /// Gets whether the "audio_level" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAudioLevel { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "audio_level" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAudioLevel() { + _hasBits0 &= ~1; + } + + /// Field number for the "total_audio_energy" field. + public const int TotalAudioEnergyFieldNumber = 2; + private readonly static double TotalAudioEnergyDefaultValue = 0D; + + private double totalAudioEnergy_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalAudioEnergy { + get { if ((_hasBits0 & 2) != 0) { return totalAudioEnergy_; } else { return TotalAudioEnergyDefaultValue; } } + set { + _hasBits0 |= 2; + totalAudioEnergy_ = value; + } + } + /// Gets whether the "total_audio_energy" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalAudioEnergy { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "total_audio_energy" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalAudioEnergy() { + _hasBits0 &= ~2; + } + + /// Field number for the "total_samples_duration" field. + public const int TotalSamplesDurationFieldNumber = 3; + private readonly static double TotalSamplesDurationDefaultValue = 0D; + + private double totalSamplesDuration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalSamplesDuration { + get { if ((_hasBits0 & 4) != 0) { return totalSamplesDuration_; } else { return TotalSamplesDurationDefaultValue; } } + set { + _hasBits0 |= 4; + totalSamplesDuration_ = value; + } + } + /// Gets whether the "total_samples_duration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalSamplesDuration { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "total_samples_duration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalSamplesDuration() { + _hasBits0 &= ~4; + } + + /// Field number for the "echo_return_loss" field. + public const int EchoReturnLossFieldNumber = 4; + private readonly static double EchoReturnLossDefaultValue = 0D; + + private double echoReturnLoss_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double EchoReturnLoss { + get { if ((_hasBits0 & 8) != 0) { return echoReturnLoss_; } else { return EchoReturnLossDefaultValue; } } + set { + _hasBits0 |= 8; + echoReturnLoss_ = value; + } + } + /// Gets whether the "echo_return_loss" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEchoReturnLoss { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "echo_return_loss" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEchoReturnLoss() { + _hasBits0 &= ~8; + } + + /// Field number for the "echo_return_loss_enhancement" field. + public const int EchoReturnLossEnhancementFieldNumber = 5; + private readonly static double EchoReturnLossEnhancementDefaultValue = 0D; + + private double echoReturnLossEnhancement_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double EchoReturnLossEnhancement { + get { if ((_hasBits0 & 16) != 0) { return echoReturnLossEnhancement_; } else { return EchoReturnLossEnhancementDefaultValue; } } + set { + _hasBits0 |= 16; + echoReturnLossEnhancement_ = value; + } + } + /// Gets whether the "echo_return_loss_enhancement" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEchoReturnLossEnhancement { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "echo_return_loss_enhancement" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEchoReturnLossEnhancement() { + _hasBits0 &= ~16; + } + + /// Field number for the "dropped_samples_duration" field. + public const int DroppedSamplesDurationFieldNumber = 6; + private readonly static double DroppedSamplesDurationDefaultValue = 0D; + + private double droppedSamplesDuration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double DroppedSamplesDuration { + get { if ((_hasBits0 & 32) != 0) { return droppedSamplesDuration_; } else { return DroppedSamplesDurationDefaultValue; } } + set { + _hasBits0 |= 32; + droppedSamplesDuration_ = value; + } + } + /// Gets whether the "dropped_samples_duration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDroppedSamplesDuration { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "dropped_samples_duration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDroppedSamplesDuration() { + _hasBits0 &= ~32; + } + + /// Field number for the "dropped_samples_events" field. + public const int DroppedSamplesEventsFieldNumber = 7; + private readonly static uint DroppedSamplesEventsDefaultValue = 0; + + private uint droppedSamplesEvents_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint DroppedSamplesEvents { + get { if ((_hasBits0 & 64) != 0) { return droppedSamplesEvents_; } else { return DroppedSamplesEventsDefaultValue; } } + set { + _hasBits0 |= 64; + droppedSamplesEvents_ = value; + } + } + /// Gets whether the "dropped_samples_events" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDroppedSamplesEvents { + get { return (_hasBits0 & 64) != 0; } + } + /// Clears the value of the "dropped_samples_events" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDroppedSamplesEvents() { + _hasBits0 &= ~64; + } + + /// Field number for the "total_capture_delay" field. + public const int TotalCaptureDelayFieldNumber = 8; + private readonly static double TotalCaptureDelayDefaultValue = 0D; + + private double totalCaptureDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalCaptureDelay { + get { if ((_hasBits0 & 128) != 0) { return totalCaptureDelay_; } else { return TotalCaptureDelayDefaultValue; } } + set { + _hasBits0 |= 128; + totalCaptureDelay_ = value; + } + } + /// Gets whether the "total_capture_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalCaptureDelay { + get { return (_hasBits0 & 128) != 0; } + } + /// Clears the value of the "total_capture_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalCaptureDelay() { + _hasBits0 &= ~128; + } + + /// Field number for the "total_samples_captured" field. + public const int TotalSamplesCapturedFieldNumber = 9; + private readonly static ulong TotalSamplesCapturedDefaultValue = 0UL; + + private ulong totalSamplesCaptured_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalSamplesCaptured { + get { if ((_hasBits0 & 256) != 0) { return totalSamplesCaptured_; } else { return TotalSamplesCapturedDefaultValue; } } + set { + _hasBits0 |= 256; + totalSamplesCaptured_ = value; + } + } + /// Gets whether the "total_samples_captured" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalSamplesCaptured { + get { return (_hasBits0 & 256) != 0; } + } + /// Clears the value of the "total_samples_captured" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalSamplesCaptured() { + _hasBits0 &= ~256; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioSourceStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioSourceStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(AudioLevel, other.AudioLevel)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalAudioEnergy, other.TotalAudioEnergy)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalSamplesDuration, other.TotalSamplesDuration)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EchoReturnLoss, other.EchoReturnLoss)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EchoReturnLossEnhancement, other.EchoReturnLossEnhancement)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DroppedSamplesDuration, other.DroppedSamplesDuration)) return false; + if (DroppedSamplesEvents != other.DroppedSamplesEvents) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalCaptureDelay, other.TotalCaptureDelay)) return false; + if (TotalSamplesCaptured != other.TotalSamplesCaptured) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasAudioLevel) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(AudioLevel); + if (HasTotalAudioEnergy) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalAudioEnergy); + if (HasTotalSamplesDuration) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalSamplesDuration); + if (HasEchoReturnLoss) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EchoReturnLoss); + if (HasEchoReturnLossEnhancement) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EchoReturnLossEnhancement); + if (HasDroppedSamplesDuration) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DroppedSamplesDuration); + if (HasDroppedSamplesEvents) hash ^= DroppedSamplesEvents.GetHashCode(); + if (HasTotalCaptureDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalCaptureDelay); + if (HasTotalSamplesCaptured) hash ^= TotalSamplesCaptured.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasAudioLevel) { + output.WriteRawTag(9); + output.WriteDouble(AudioLevel); + } + if (HasTotalAudioEnergy) { + output.WriteRawTag(17); + output.WriteDouble(TotalAudioEnergy); + } + if (HasTotalSamplesDuration) { + output.WriteRawTag(25); + output.WriteDouble(TotalSamplesDuration); + } + if (HasEchoReturnLoss) { + output.WriteRawTag(33); + output.WriteDouble(EchoReturnLoss); + } + if (HasEchoReturnLossEnhancement) { + output.WriteRawTag(41); + output.WriteDouble(EchoReturnLossEnhancement); + } + if (HasDroppedSamplesDuration) { + output.WriteRawTag(49); + output.WriteDouble(DroppedSamplesDuration); + } + if (HasDroppedSamplesEvents) { + output.WriteRawTag(56); + output.WriteUInt32(DroppedSamplesEvents); + } + if (HasTotalCaptureDelay) { + output.WriteRawTag(65); + output.WriteDouble(TotalCaptureDelay); + } + if (HasTotalSamplesCaptured) { + output.WriteRawTag(72); + output.WriteUInt64(TotalSamplesCaptured); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAudioLevel) { + output.WriteRawTag(9); + output.WriteDouble(AudioLevel); + } + if (HasTotalAudioEnergy) { + output.WriteRawTag(17); + output.WriteDouble(TotalAudioEnergy); + } + if (HasTotalSamplesDuration) { + output.WriteRawTag(25); + output.WriteDouble(TotalSamplesDuration); + } + if (HasEchoReturnLoss) { + output.WriteRawTag(33); + output.WriteDouble(EchoReturnLoss); + } + if (HasEchoReturnLossEnhancement) { + output.WriteRawTag(41); + output.WriteDouble(EchoReturnLossEnhancement); + } + if (HasDroppedSamplesDuration) { + output.WriteRawTag(49); + output.WriteDouble(DroppedSamplesDuration); + } + if (HasDroppedSamplesEvents) { + output.WriteRawTag(56); + output.WriteUInt32(DroppedSamplesEvents); + } + if (HasTotalCaptureDelay) { + output.WriteRawTag(65); + output.WriteDouble(TotalCaptureDelay); + } + if (HasTotalSamplesCaptured) { + output.WriteRawTag(72); + output.WriteUInt64(TotalSamplesCaptured); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasAudioLevel) { + size += 1 + 8; + } + if (HasTotalAudioEnergy) { + size += 1 + 8; + } + if (HasTotalSamplesDuration) { + size += 1 + 8; + } + if (HasEchoReturnLoss) { + size += 1 + 8; + } + if (HasEchoReturnLossEnhancement) { + size += 1 + 8; + } + if (HasDroppedSamplesDuration) { + size += 1 + 8; + } + if (HasDroppedSamplesEvents) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DroppedSamplesEvents); + } + if (HasTotalCaptureDelay) { + size += 1 + 8; + } + if (HasTotalSamplesCaptured) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TotalSamplesCaptured); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioSourceStats other) { + if (other == null) { + return; + } + if (other.HasAudioLevel) { + AudioLevel = other.AudioLevel; + } + if (other.HasTotalAudioEnergy) { + TotalAudioEnergy = other.TotalAudioEnergy; + } + if (other.HasTotalSamplesDuration) { + TotalSamplesDuration = other.TotalSamplesDuration; + } + if (other.HasEchoReturnLoss) { + EchoReturnLoss = other.EchoReturnLoss; + } + if (other.HasEchoReturnLossEnhancement) { + EchoReturnLossEnhancement = other.EchoReturnLossEnhancement; + } + if (other.HasDroppedSamplesDuration) { + DroppedSamplesDuration = other.DroppedSamplesDuration; + } + if (other.HasDroppedSamplesEvents) { + DroppedSamplesEvents = other.DroppedSamplesEvents; + } + if (other.HasTotalCaptureDelay) { + TotalCaptureDelay = other.TotalCaptureDelay; + } + if (other.HasTotalSamplesCaptured) { + TotalSamplesCaptured = other.TotalSamplesCaptured; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 9: { + AudioLevel = input.ReadDouble(); + break; + } + case 17: { + TotalAudioEnergy = input.ReadDouble(); + break; + } + case 25: { + TotalSamplesDuration = input.ReadDouble(); + break; + } + case 33: { + EchoReturnLoss = input.ReadDouble(); + break; + } + case 41: { + EchoReturnLossEnhancement = input.ReadDouble(); + break; + } + case 49: { + DroppedSamplesDuration = input.ReadDouble(); + break; + } + case 56: { + DroppedSamplesEvents = input.ReadUInt32(); + break; + } + case 65: { + TotalCaptureDelay = input.ReadDouble(); + break; + } + case 72: { + TotalSamplesCaptured = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 9: { + AudioLevel = input.ReadDouble(); + break; + } + case 17: { + TotalAudioEnergy = input.ReadDouble(); + break; + } + case 25: { + TotalSamplesDuration = input.ReadDouble(); + break; + } + case 33: { + EchoReturnLoss = input.ReadDouble(); + break; + } + case 41: { + EchoReturnLossEnhancement = input.ReadDouble(); + break; + } + case 49: { + DroppedSamplesDuration = input.ReadDouble(); + break; + } + case 56: { + DroppedSamplesEvents = input.ReadUInt32(); + break; + } + case 65: { + TotalCaptureDelay = input.ReadDouble(); + break; + } + case 72: { + TotalSamplesCaptured = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoSourceStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoSourceStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[12]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public VideoSourceStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public VideoSourceStats(VideoSourceStats other) : this() { + _hasBits0 = other._hasBits0; + width_ = other.width_; + height_ = other.height_; + frames_ = other.frames_; + framesPerSecond_ = other.framesPerSecond_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public VideoSourceStats Clone() { + return new VideoSourceStats(this); + } + + /// Field number for the "width" field. + public const int WidthFieldNumber = 1; + private readonly static uint WidthDefaultValue = 0; + + private uint width_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Width { + get { if ((_hasBits0 & 1) != 0) { return width_; } else { return WidthDefaultValue; } } + set { + _hasBits0 |= 1; + width_ = value; + } + } + /// Gets whether the "width" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasWidth { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "width" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearWidth() { + _hasBits0 &= ~1; + } + + /// Field number for the "height" field. + public const int HeightFieldNumber = 2; + private readonly static uint HeightDefaultValue = 0; + + private uint height_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Height { + get { if ((_hasBits0 & 2) != 0) { return height_; } else { return HeightDefaultValue; } } + set { + _hasBits0 |= 2; + height_ = value; + } + } + /// Gets whether the "height" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHeight { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "height" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHeight() { + _hasBits0 &= ~2; + } + + /// Field number for the "frames" field. + public const int FramesFieldNumber = 3; + private readonly static uint FramesDefaultValue = 0; + + private uint frames_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Frames { + get { if ((_hasBits0 & 4) != 0) { return frames_; } else { return FramesDefaultValue; } } + set { + _hasBits0 |= 4; + frames_ = value; + } + } + /// Gets whether the "frames" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrames { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "frames" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrames() { + _hasBits0 &= ~4; + } + + /// Field number for the "frames_per_second" field. + public const int FramesPerSecondFieldNumber = 4; + private readonly static double FramesPerSecondDefaultValue = 0D; + + private double framesPerSecond_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double FramesPerSecond { + get { if ((_hasBits0 & 8) != 0) { return framesPerSecond_; } else { return FramesPerSecondDefaultValue; } } + set { + _hasBits0 |= 8; + framesPerSecond_ = value; + } + } + /// Gets whether the "frames_per_second" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFramesPerSecond { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "frames_per_second" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFramesPerSecond() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as VideoSourceStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(VideoSourceStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Width != other.Width) return false; + if (Height != other.Height) return false; + if (Frames != other.Frames) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FramesPerSecond, other.FramesPerSecond)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasWidth) hash ^= Width.GetHashCode(); + if (HasHeight) hash ^= Height.GetHashCode(); + if (HasFrames) hash ^= Frames.GetHashCode(); + if (HasFramesPerSecond) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FramesPerSecond); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasWidth) { + output.WriteRawTag(8); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(16); + output.WriteUInt32(Height); + } + if (HasFrames) { + output.WriteRawTag(24); + output.WriteUInt32(Frames); + } + if (HasFramesPerSecond) { + output.WriteRawTag(33); + output.WriteDouble(FramesPerSecond); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasWidth) { + output.WriteRawTag(8); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(16); + output.WriteUInt32(Height); + } + if (HasFrames) { + output.WriteRawTag(24); + output.WriteUInt32(Frames); + } + if (HasFramesPerSecond) { + output.WriteRawTag(33); + output.WriteDouble(FramesPerSecond); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasWidth) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); + } + if (HasHeight) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); + } + if (HasFrames) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Frames); + } + if (HasFramesPerSecond) { + size += 1 + 8; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(VideoSourceStats other) { + if (other == null) { + return; + } + if (other.HasWidth) { + Width = other.Width; + } + if (other.HasHeight) { + Height = other.Height; + } + if (other.HasFrames) { + Frames = other.Frames; + } + if (other.HasFramesPerSecond) { + FramesPerSecond = other.FramesPerSecond; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Width = input.ReadUInt32(); + break; + } + case 16: { + Height = input.ReadUInt32(); + break; + } + case 24: { + Frames = input.ReadUInt32(); + break; + } + case 33: { + FramesPerSecond = input.ReadDouble(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Width = input.ReadUInt32(); + break; + } + case 16: { + Height = input.ReadUInt32(); + break; + } + case 24: { + Frames = input.ReadUInt32(); + break; + } + case 33: { + FramesPerSecond = input.ReadDouble(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class AudioPlayoutStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioPlayoutStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[13]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioPlayoutStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioPlayoutStats(AudioPlayoutStats other) : this() { + _hasBits0 = other._hasBits0; + kind_ = other.kind_; + synthesizedSamplesDuration_ = other.synthesizedSamplesDuration_; + synthesizedSamplesEvents_ = other.synthesizedSamplesEvents_; + totalSamplesDuration_ = other.totalSamplesDuration_; + totalPlayoutDelay_ = other.totalPlayoutDelay_; + totalSamplesCount_ = other.totalSamplesCount_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public AudioPlayoutStats Clone() { + return new AudioPlayoutStats(this); + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 1; + private readonly static string KindDefaultValue = ""; + + private string kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Kind { + get { return kind_ ?? KindDefaultValue; } + set { + kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return kind_ != null; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + kind_ = null; + } + + /// Field number for the "synthesized_samples_duration" field. + public const int SynthesizedSamplesDurationFieldNumber = 2; + private readonly static double SynthesizedSamplesDurationDefaultValue = 0D; + + private double synthesizedSamplesDuration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double SynthesizedSamplesDuration { + get { if ((_hasBits0 & 1) != 0) { return synthesizedSamplesDuration_; } else { return SynthesizedSamplesDurationDefaultValue; } } + set { + _hasBits0 |= 1; + synthesizedSamplesDuration_ = value; + } + } + /// Gets whether the "synthesized_samples_duration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSynthesizedSamplesDuration { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "synthesized_samples_duration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSynthesizedSamplesDuration() { + _hasBits0 &= ~1; + } + + /// Field number for the "synthesized_samples_events" field. + public const int SynthesizedSamplesEventsFieldNumber = 3; + private readonly static uint SynthesizedSamplesEventsDefaultValue = 0; + + private uint synthesizedSamplesEvents_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint SynthesizedSamplesEvents { + get { if ((_hasBits0 & 2) != 0) { return synthesizedSamplesEvents_; } else { return SynthesizedSamplesEventsDefaultValue; } } + set { + _hasBits0 |= 2; + synthesizedSamplesEvents_ = value; + } + } + /// Gets whether the "synthesized_samples_events" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSynthesizedSamplesEvents { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "synthesized_samples_events" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSynthesizedSamplesEvents() { + _hasBits0 &= ~2; + } + + /// Field number for the "total_samples_duration" field. + public const int TotalSamplesDurationFieldNumber = 4; + private readonly static double TotalSamplesDurationDefaultValue = 0D; + + private double totalSamplesDuration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalSamplesDuration { + get { if ((_hasBits0 & 4) != 0) { return totalSamplesDuration_; } else { return TotalSamplesDurationDefaultValue; } } + set { + _hasBits0 |= 4; + totalSamplesDuration_ = value; + } + } + /// Gets whether the "total_samples_duration" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalSamplesDuration { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "total_samples_duration" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalSamplesDuration() { + _hasBits0 &= ~4; + } + + /// Field number for the "total_playout_delay" field. + public const int TotalPlayoutDelayFieldNumber = 5; + private readonly static double TotalPlayoutDelayDefaultValue = 0D; + + private double totalPlayoutDelay_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalPlayoutDelay { + get { if ((_hasBits0 & 8) != 0) { return totalPlayoutDelay_; } else { return TotalPlayoutDelayDefaultValue; } } + set { + _hasBits0 |= 8; + totalPlayoutDelay_ = value; + } + } + /// Gets whether the "total_playout_delay" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalPlayoutDelay { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "total_playout_delay" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalPlayoutDelay() { + _hasBits0 &= ~8; + } + + /// Field number for the "total_samples_count" field. + public const int TotalSamplesCountFieldNumber = 6; + private readonly static ulong TotalSamplesCountDefaultValue = 0UL; + + private ulong totalSamplesCount_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TotalSamplesCount { + get { if ((_hasBits0 & 16) != 0) { return totalSamplesCount_; } else { return TotalSamplesCountDefaultValue; } } + set { + _hasBits0 |= 16; + totalSamplesCount_ = value; + } + } + /// Gets whether the "total_samples_count" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalSamplesCount { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "total_samples_count" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalSamplesCount() { + _hasBits0 &= ~16; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as AudioPlayoutStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(AudioPlayoutStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Kind != other.Kind) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SynthesizedSamplesDuration, other.SynthesizedSamplesDuration)) return false; + if (SynthesizedSamplesEvents != other.SynthesizedSamplesEvents) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalSamplesDuration, other.TotalSamplesDuration)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalPlayoutDelay, other.TotalPlayoutDelay)) return false; + if (TotalSamplesCount != other.TotalSamplesCount) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasKind) hash ^= Kind.GetHashCode(); + if (HasSynthesizedSamplesDuration) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SynthesizedSamplesDuration); + if (HasSynthesizedSamplesEvents) hash ^= SynthesizedSamplesEvents.GetHashCode(); + if (HasTotalSamplesDuration) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalSamplesDuration); + if (HasTotalPlayoutDelay) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalPlayoutDelay); + if (HasTotalSamplesCount) hash ^= TotalSamplesCount.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasKind) { + output.WriteRawTag(10); + output.WriteString(Kind); + } + if (HasSynthesizedSamplesDuration) { + output.WriteRawTag(17); + output.WriteDouble(SynthesizedSamplesDuration); + } + if (HasSynthesizedSamplesEvents) { + output.WriteRawTag(24); + output.WriteUInt32(SynthesizedSamplesEvents); + } + if (HasTotalSamplesDuration) { + output.WriteRawTag(33); + output.WriteDouble(TotalSamplesDuration); + } + if (HasTotalPlayoutDelay) { + output.WriteRawTag(41); + output.WriteDouble(TotalPlayoutDelay); + } + if (HasTotalSamplesCount) { + output.WriteRawTag(48); + output.WriteUInt64(TotalSamplesCount); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasKind) { + output.WriteRawTag(10); + output.WriteString(Kind); + } + if (HasSynthesizedSamplesDuration) { + output.WriteRawTag(17); + output.WriteDouble(SynthesizedSamplesDuration); + } + if (HasSynthesizedSamplesEvents) { + output.WriteRawTag(24); + output.WriteUInt32(SynthesizedSamplesEvents); + } + if (HasTotalSamplesDuration) { + output.WriteRawTag(33); + output.WriteDouble(TotalSamplesDuration); + } + if (HasTotalPlayoutDelay) { + output.WriteRawTag(41); + output.WriteDouble(TotalPlayoutDelay); + } + if (HasTotalSamplesCount) { + output.WriteRawTag(48); + output.WriteUInt64(TotalSamplesCount); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Kind); + } + if (HasSynthesizedSamplesDuration) { + size += 1 + 8; + } + if (HasSynthesizedSamplesEvents) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SynthesizedSamplesEvents); + } + if (HasTotalSamplesDuration) { + size += 1 + 8; + } + if (HasTotalPlayoutDelay) { + size += 1 + 8; + } + if (HasTotalSamplesCount) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TotalSamplesCount); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(AudioPlayoutStats other) { + if (other == null) { + return; + } + if (other.HasKind) { + Kind = other.Kind; + } + if (other.HasSynthesizedSamplesDuration) { + SynthesizedSamplesDuration = other.SynthesizedSamplesDuration; + } + if (other.HasSynthesizedSamplesEvents) { + SynthesizedSamplesEvents = other.SynthesizedSamplesEvents; + } + if (other.HasTotalSamplesDuration) { + TotalSamplesDuration = other.TotalSamplesDuration; + } + if (other.HasTotalPlayoutDelay) { + TotalPlayoutDelay = other.TotalPlayoutDelay; + } + if (other.HasTotalSamplesCount) { + TotalSamplesCount = other.TotalSamplesCount; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Kind = input.ReadString(); + break; + } + case 17: { + SynthesizedSamplesDuration = input.ReadDouble(); + break; + } + case 24: { + SynthesizedSamplesEvents = input.ReadUInt32(); + break; + } + case 33: { + TotalSamplesDuration = input.ReadDouble(); + break; + } + case 41: { + TotalPlayoutDelay = input.ReadDouble(); + break; + } + case 48: { + TotalSamplesCount = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Kind = input.ReadString(); + break; + } + case 17: { + SynthesizedSamplesDuration = input.ReadDouble(); + break; + } + case 24: { + SynthesizedSamplesEvents = input.ReadUInt32(); + break; + } + case 33: { + TotalSamplesDuration = input.ReadDouble(); + break; + } + case 41: { + TotalPlayoutDelay = input.ReadDouble(); + break; + } + case 48: { + TotalSamplesCount = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class PeerConnectionStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PeerConnectionStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PeerConnectionStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PeerConnectionStats(PeerConnectionStats other) : this() { + _hasBits0 = other._hasBits0; + dataChannelsOpened_ = other.dataChannelsOpened_; + dataChannelsClosed_ = other.dataChannelsClosed_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public PeerConnectionStats Clone() { + return new PeerConnectionStats(this); + } + + /// Field number for the "data_channels_opened" field. + public const int DataChannelsOpenedFieldNumber = 1; + private readonly static uint DataChannelsOpenedDefaultValue = 0; + + private uint dataChannelsOpened_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint DataChannelsOpened { + get { if ((_hasBits0 & 1) != 0) { return dataChannelsOpened_; } else { return DataChannelsOpenedDefaultValue; } } + set { + _hasBits0 |= 1; + dataChannelsOpened_ = value; + } + } + /// Gets whether the "data_channels_opened" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataChannelsOpened { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "data_channels_opened" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataChannelsOpened() { + _hasBits0 &= ~1; + } + + /// Field number for the "data_channels_closed" field. + public const int DataChannelsClosedFieldNumber = 2; + private readonly static uint DataChannelsClosedDefaultValue = 0; + + private uint dataChannelsClosed_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint DataChannelsClosed { + get { if ((_hasBits0 & 2) != 0) { return dataChannelsClosed_; } else { return DataChannelsClosedDefaultValue; } } + set { + _hasBits0 |= 2; + dataChannelsClosed_ = value; + } + } + /// Gets whether the "data_channels_closed" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataChannelsClosed { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "data_channels_closed" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataChannelsClosed() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as PeerConnectionStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(PeerConnectionStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (DataChannelsOpened != other.DataChannelsOpened) return false; + if (DataChannelsClosed != other.DataChannelsClosed) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasDataChannelsOpened) hash ^= DataChannelsOpened.GetHashCode(); + if (HasDataChannelsClosed) hash ^= DataChannelsClosed.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasDataChannelsOpened) { + output.WriteRawTag(8); + output.WriteUInt32(DataChannelsOpened); + } + if (HasDataChannelsClosed) { + output.WriteRawTag(16); + output.WriteUInt32(DataChannelsClosed); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasDataChannelsOpened) { + output.WriteRawTag(8); + output.WriteUInt32(DataChannelsOpened); + } + if (HasDataChannelsClosed) { + output.WriteRawTag(16); + output.WriteUInt32(DataChannelsClosed); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasDataChannelsOpened) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DataChannelsOpened); + } + if (HasDataChannelsClosed) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DataChannelsClosed); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(PeerConnectionStats other) { + if (other == null) { + return; + } + if (other.HasDataChannelsOpened) { + DataChannelsOpened = other.DataChannelsOpened; + } + if (other.HasDataChannelsClosed) { + DataChannelsClosed = other.DataChannelsClosed; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + DataChannelsOpened = input.ReadUInt32(); + break; + } + case 16: { + DataChannelsClosed = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + DataChannelsOpened = input.ReadUInt32(); + break; + } + case 16: { + DataChannelsClosed = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class DataChannelStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataChannelStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[15]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataChannelStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataChannelStats(DataChannelStats other) : this() { + _hasBits0 = other._hasBits0; + label_ = other.label_; + protocol_ = other.protocol_; + dataChannelIdentifier_ = other.dataChannelIdentifier_; + state_ = other.state_; + messagesSent_ = other.messagesSent_; + bytesSent_ = other.bytesSent_; + messagesReceived_ = other.messagesReceived_; + bytesReceived_ = other.bytesReceived_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public DataChannelStats Clone() { + return new DataChannelStats(this); + } + + /// Field number for the "label" field. + public const int LabelFieldNumber = 1; + private readonly static string LabelDefaultValue = ""; + + private string label_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Label { + get { return label_ ?? LabelDefaultValue; } + set { + label_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "label" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLabel { + get { return label_ != null; } + } + /// Clears the value of the "label" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLabel() { + label_ = null; + } + + /// Field number for the "protocol" field. + public const int ProtocolFieldNumber = 2; + private readonly static string ProtocolDefaultValue = ""; + + private string protocol_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Protocol { + get { return protocol_ ?? ProtocolDefaultValue; } + set { + protocol_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "protocol" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasProtocol { + get { return protocol_ != null; } + } + /// Clears the value of the "protocol" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearProtocol() { + protocol_ = null; + } + + /// Field number for the "data_channel_identifier" field. + public const int DataChannelIdentifierFieldNumber = 3; + private readonly static int DataChannelIdentifierDefaultValue = 0; + + private int dataChannelIdentifier_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int DataChannelIdentifier { + get { if ((_hasBits0 & 1) != 0) { return dataChannelIdentifier_; } else { return DataChannelIdentifierDefaultValue; } } + set { + _hasBits0 |= 1; + dataChannelIdentifier_ = value; + } + } + /// Gets whether the "data_channel_identifier" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataChannelIdentifier { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "data_channel_identifier" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataChannelIdentifier() { + _hasBits0 &= ~1; + } + + /// Field number for the "state" field. + public const int StateFieldNumber = 4; + private readonly static global::LiveKit.Proto.DataChannelState StateDefaultValue = global::LiveKit.Proto.DataChannelState.DcConnecting; + + private global::LiveKit.Proto.DataChannelState state_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DataChannelState State { + get { if ((_hasBits0 & 2) != 0) { return state_; } else { return StateDefaultValue; } } + set { + _hasBits0 |= 2; + state_ = value; + } + } + /// Gets whether the "state" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasState { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "state" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearState() { + _hasBits0 &= ~2; + } + + /// Field number for the "messages_sent" field. + public const int MessagesSentFieldNumber = 5; + private readonly static uint MessagesSentDefaultValue = 0; + + private uint messagesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint MessagesSent { + get { if ((_hasBits0 & 4) != 0) { return messagesSent_; } else { return MessagesSentDefaultValue; } } + set { + _hasBits0 |= 4; + messagesSent_ = value; + } + } + /// Gets whether the "messages_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMessagesSent { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "messages_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessagesSent() { + _hasBits0 &= ~4; + } + + /// Field number for the "bytes_sent" field. + public const int BytesSentFieldNumber = 6; + private readonly static ulong BytesSentDefaultValue = 0UL; + + private ulong bytesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesSent { + get { if ((_hasBits0 & 8) != 0) { return bytesSent_; } else { return BytesSentDefaultValue; } } + set { + _hasBits0 |= 8; + bytesSent_ = value; + } + } + /// Gets whether the "bytes_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesSent { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "bytes_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesSent() { + _hasBits0 &= ~8; + } + + /// Field number for the "messages_received" field. + public const int MessagesReceivedFieldNumber = 7; + private readonly static uint MessagesReceivedDefaultValue = 0; + + private uint messagesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint MessagesReceived { + get { if ((_hasBits0 & 16) != 0) { return messagesReceived_; } else { return MessagesReceivedDefaultValue; } } + set { + _hasBits0 |= 16; + messagesReceived_ = value; + } + } + /// Gets whether the "messages_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMessagesReceived { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "messages_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessagesReceived() { + _hasBits0 &= ~16; + } + + /// Field number for the "bytes_received" field. + public const int BytesReceivedFieldNumber = 8; + private readonly static ulong BytesReceivedDefaultValue = 0UL; + + private ulong bytesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesReceived { + get { if ((_hasBits0 & 32) != 0) { return bytesReceived_; } else { return BytesReceivedDefaultValue; } } + set { + _hasBits0 |= 32; + bytesReceived_ = value; + } + } + /// Gets whether the "bytes_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesReceived { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "bytes_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesReceived() { + _hasBits0 &= ~32; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as DataChannelStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(DataChannelStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Label != other.Label) return false; + if (Protocol != other.Protocol) return false; + if (DataChannelIdentifier != other.DataChannelIdentifier) return false; + if (State != other.State) return false; + if (MessagesSent != other.MessagesSent) return false; + if (BytesSent != other.BytesSent) return false; + if (MessagesReceived != other.MessagesReceived) return false; + if (BytesReceived != other.BytesReceived) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLabel) hash ^= Label.GetHashCode(); + if (HasProtocol) hash ^= Protocol.GetHashCode(); + if (HasDataChannelIdentifier) hash ^= DataChannelIdentifier.GetHashCode(); + if (HasState) hash ^= State.GetHashCode(); + if (HasMessagesSent) hash ^= MessagesSent.GetHashCode(); + if (HasBytesSent) hash ^= BytesSent.GetHashCode(); + if (HasMessagesReceived) hash ^= MessagesReceived.GetHashCode(); + if (HasBytesReceived) hash ^= BytesReceived.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLabel) { + output.WriteRawTag(10); + output.WriteString(Label); + } + if (HasProtocol) { + output.WriteRawTag(18); + output.WriteString(Protocol); + } + if (HasDataChannelIdentifier) { + output.WriteRawTag(24); + output.WriteInt32(DataChannelIdentifier); + } + if (HasState) { + output.WriteRawTag(32); + output.WriteEnum((int) State); + } + if (HasMessagesSent) { + output.WriteRawTag(40); + output.WriteUInt32(MessagesSent); + } + if (HasBytesSent) { + output.WriteRawTag(48); + output.WriteUInt64(BytesSent); + } + if (HasMessagesReceived) { + output.WriteRawTag(56); + output.WriteUInt32(MessagesReceived); + } + if (HasBytesReceived) { + output.WriteRawTag(64); + output.WriteUInt64(BytesReceived); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLabel) { + output.WriteRawTag(10); + output.WriteString(Label); + } + if (HasProtocol) { + output.WriteRawTag(18); + output.WriteString(Protocol); + } + if (HasDataChannelIdentifier) { + output.WriteRawTag(24); + output.WriteInt32(DataChannelIdentifier); + } + if (HasState) { + output.WriteRawTag(32); + output.WriteEnum((int) State); + } + if (HasMessagesSent) { + output.WriteRawTag(40); + output.WriteUInt32(MessagesSent); + } + if (HasBytesSent) { + output.WriteRawTag(48); + output.WriteUInt64(BytesSent); + } + if (HasMessagesReceived) { + output.WriteRawTag(56); + output.WriteUInt32(MessagesReceived); + } + if (HasBytesReceived) { + output.WriteRawTag(64); + output.WriteUInt64(BytesReceived); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLabel) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Label); + } + if (HasProtocol) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Protocol); + } + if (HasDataChannelIdentifier) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(DataChannelIdentifier); + } + if (HasState) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State); + } + if (HasMessagesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MessagesSent); + } + if (HasBytesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BytesSent); + } + if (HasMessagesReceived) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MessagesReceived); + } + if (HasBytesReceived) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BytesReceived); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(DataChannelStats other) { + if (other == null) { + return; + } + if (other.HasLabel) { + Label = other.Label; + } + if (other.HasProtocol) { + Protocol = other.Protocol; + } + if (other.HasDataChannelIdentifier) { + DataChannelIdentifier = other.DataChannelIdentifier; + } + if (other.HasState) { + State = other.State; + } + if (other.HasMessagesSent) { + MessagesSent = other.MessagesSent; + } + if (other.HasBytesSent) { + BytesSent = other.BytesSent; + } + if (other.HasMessagesReceived) { + MessagesReceived = other.MessagesReceived; + } + if (other.HasBytesReceived) { + BytesReceived = other.BytesReceived; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Label = input.ReadString(); + break; + } + case 18: { + Protocol = input.ReadString(); + break; + } + case 24: { + DataChannelIdentifier = input.ReadInt32(); + break; + } + case 32: { + State = (global::LiveKit.Proto.DataChannelState) input.ReadEnum(); + break; + } + case 40: { + MessagesSent = input.ReadUInt32(); + break; + } + case 48: { + BytesSent = input.ReadUInt64(); + break; + } + case 56: { + MessagesReceived = input.ReadUInt32(); + break; + } + case 64: { + BytesReceived = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Label = input.ReadString(); + break; + } + case 18: { + Protocol = input.ReadString(); + break; + } + case 24: { + DataChannelIdentifier = input.ReadInt32(); + break; + } + case 32: { + State = (global::LiveKit.Proto.DataChannelState) input.ReadEnum(); + break; + } + case 40: { + MessagesSent = input.ReadUInt32(); + break; + } + case 48: { + BytesSent = input.ReadUInt64(); + break; + } + case 56: { + MessagesReceived = input.ReadUInt32(); + break; + } + case 64: { + BytesReceived = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TransportStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TransportStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[16]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TransportStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TransportStats(TransportStats other) : this() { + _hasBits0 = other._hasBits0; + packetsSent_ = other.packetsSent_; + packetsReceived_ = other.packetsReceived_; + bytesSent_ = other.bytesSent_; + bytesReceived_ = other.bytesReceived_; + iceRole_ = other.iceRole_; + iceLocalUsernameFragment_ = other.iceLocalUsernameFragment_; + dtlsState_ = other.dtlsState_; + iceState_ = other.iceState_; + selectedCandidatePairId_ = other.selectedCandidatePairId_; + localCertificateId_ = other.localCertificateId_; + remoteCertificateId_ = other.remoteCertificateId_; + tlsVersion_ = other.tlsVersion_; + dtlsCipher_ = other.dtlsCipher_; + dtlsRole_ = other.dtlsRole_; + srtpCipher_ = other.srtpCipher_; + selectedCandidatePairChanges_ = other.selectedCandidatePairChanges_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TransportStats Clone() { + return new TransportStats(this); + } + + /// Field number for the "packets_sent" field. + public const int PacketsSentFieldNumber = 1; + private readonly static ulong PacketsSentDefaultValue = 0UL; + + private ulong packetsSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PacketsSent { + get { if ((_hasBits0 & 1) != 0) { return packetsSent_; } else { return PacketsSentDefaultValue; } } + set { + _hasBits0 |= 1; + packetsSent_ = value; + } + } + /// Gets whether the "packets_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsSent { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "packets_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsSent() { + _hasBits0 &= ~1; + } + + /// Field number for the "packets_received" field. + public const int PacketsReceivedFieldNumber = 2; + private readonly static ulong PacketsReceivedDefaultValue = 0UL; + + private ulong packetsReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PacketsReceived { + get { if ((_hasBits0 & 2) != 0) { return packetsReceived_; } else { return PacketsReceivedDefaultValue; } } + set { + _hasBits0 |= 2; + packetsReceived_ = value; + } + } + /// Gets whether the "packets_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsReceived { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "packets_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsReceived() { + _hasBits0 &= ~2; + } + + /// Field number for the "bytes_sent" field. + public const int BytesSentFieldNumber = 3; + private readonly static ulong BytesSentDefaultValue = 0UL; + + private ulong bytesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesSent { + get { if ((_hasBits0 & 4) != 0) { return bytesSent_; } else { return BytesSentDefaultValue; } } + set { + _hasBits0 |= 4; + bytesSent_ = value; + } + } + /// Gets whether the "bytes_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesSent { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "bytes_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesSent() { + _hasBits0 &= ~4; + } + + /// Field number for the "bytes_received" field. + public const int BytesReceivedFieldNumber = 4; + private readonly static ulong BytesReceivedDefaultValue = 0UL; + + private ulong bytesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesReceived { + get { if ((_hasBits0 & 8) != 0) { return bytesReceived_; } else { return BytesReceivedDefaultValue; } } + set { + _hasBits0 |= 8; + bytesReceived_ = value; + } + } + /// Gets whether the "bytes_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesReceived { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "bytes_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesReceived() { + _hasBits0 &= ~8; + } + + /// Field number for the "ice_role" field. + public const int IceRoleFieldNumber = 5; + private readonly static global::LiveKit.Proto.IceRole IceRoleDefaultValue = global::LiveKit.Proto.IceRole.IceUnknown; + + private global::LiveKit.Proto.IceRole iceRole_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceRole IceRole { + get { if ((_hasBits0 & 16) != 0) { return iceRole_; } else { return IceRoleDefaultValue; } } + set { + _hasBits0 |= 16; + iceRole_ = value; + } + } + /// Gets whether the "ice_role" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIceRole { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "ice_role" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIceRole() { + _hasBits0 &= ~16; + } + + /// Field number for the "ice_local_username_fragment" field. + public const int IceLocalUsernameFragmentFieldNumber = 6; + private readonly static string IceLocalUsernameFragmentDefaultValue = ""; + + private string iceLocalUsernameFragment_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string IceLocalUsernameFragment { + get { return iceLocalUsernameFragment_ ?? IceLocalUsernameFragmentDefaultValue; } + set { + iceLocalUsernameFragment_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "ice_local_username_fragment" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIceLocalUsernameFragment { + get { return iceLocalUsernameFragment_ != null; } + } + /// Clears the value of the "ice_local_username_fragment" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIceLocalUsernameFragment() { + iceLocalUsernameFragment_ = null; + } + + /// Field number for the "dtls_state" field. + public const int DtlsStateFieldNumber = 7; + private readonly static global::LiveKit.Proto.DtlsTransportState DtlsStateDefaultValue = global::LiveKit.Proto.DtlsTransportState.DtlsTransportNew; + + private global::LiveKit.Proto.DtlsTransportState dtlsState_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DtlsTransportState DtlsState { + get { if ((_hasBits0 & 32) != 0) { return dtlsState_; } else { return DtlsStateDefaultValue; } } + set { + _hasBits0 |= 32; + dtlsState_ = value; + } + } + /// Gets whether the "dtls_state" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDtlsState { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "dtls_state" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDtlsState() { + _hasBits0 &= ~32; + } + + /// Field number for the "ice_state" field. + public const int IceStateFieldNumber = 8; + private readonly static global::LiveKit.Proto.IceTransportState IceStateDefaultValue = global::LiveKit.Proto.IceTransportState.IceTransportNew; + + private global::LiveKit.Proto.IceTransportState iceState_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceTransportState IceState { + get { if ((_hasBits0 & 64) != 0) { return iceState_; } else { return IceStateDefaultValue; } } + set { + _hasBits0 |= 64; + iceState_ = value; + } + } + /// Gets whether the "ice_state" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIceState { + get { return (_hasBits0 & 64) != 0; } + } + /// Clears the value of the "ice_state" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIceState() { + _hasBits0 &= ~64; + } + + /// Field number for the "selected_candidate_pair_id" field. + public const int SelectedCandidatePairIdFieldNumber = 9; + private readonly static string SelectedCandidatePairIdDefaultValue = ""; + + private string selectedCandidatePairId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SelectedCandidatePairId { + get { return selectedCandidatePairId_ ?? SelectedCandidatePairIdDefaultValue; } + set { + selectedCandidatePairId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "selected_candidate_pair_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSelectedCandidatePairId { + get { return selectedCandidatePairId_ != null; } + } + /// Clears the value of the "selected_candidate_pair_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSelectedCandidatePairId() { + selectedCandidatePairId_ = null; + } + + /// Field number for the "local_certificate_id" field. + public const int LocalCertificateIdFieldNumber = 10; + private readonly static string LocalCertificateIdDefaultValue = ""; + + private string localCertificateId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string LocalCertificateId { + get { return localCertificateId_ ?? LocalCertificateIdDefaultValue; } + set { + localCertificateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "local_certificate_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalCertificateId { + get { return localCertificateId_ != null; } + } + /// Clears the value of the "local_certificate_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalCertificateId() { + localCertificateId_ = null; + } + + /// Field number for the "remote_certificate_id" field. + public const int RemoteCertificateIdFieldNumber = 11; + private readonly static string RemoteCertificateIdDefaultValue = ""; + + private string remoteCertificateId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string RemoteCertificateId { + get { return remoteCertificateId_ ?? RemoteCertificateIdDefaultValue; } + set { + remoteCertificateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "remote_certificate_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemoteCertificateId { + get { return remoteCertificateId_ != null; } + } + /// Clears the value of the "remote_certificate_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemoteCertificateId() { + remoteCertificateId_ = null; + } + + /// Field number for the "tls_version" field. + public const int TlsVersionFieldNumber = 12; + private readonly static string TlsVersionDefaultValue = ""; + + private string tlsVersion_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TlsVersion { + get { return tlsVersion_ ?? TlsVersionDefaultValue; } + set { + tlsVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "tls_version" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTlsVersion { + get { return tlsVersion_ != null; } + } + /// Clears the value of the "tls_version" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTlsVersion() { + tlsVersion_ = null; + } + + /// Field number for the "dtls_cipher" field. + public const int DtlsCipherFieldNumber = 13; + private readonly static string DtlsCipherDefaultValue = ""; + + private string dtlsCipher_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string DtlsCipher { + get { return dtlsCipher_ ?? DtlsCipherDefaultValue; } + set { + dtlsCipher_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "dtls_cipher" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDtlsCipher { + get { return dtlsCipher_ != null; } + } + /// Clears the value of the "dtls_cipher" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDtlsCipher() { + dtlsCipher_ = null; + } + + /// Field number for the "dtls_role" field. + public const int DtlsRoleFieldNumber = 14; + private readonly static global::LiveKit.Proto.DtlsRole DtlsRoleDefaultValue = global::LiveKit.Proto.DtlsRole.DtlsClient; + + private global::LiveKit.Proto.DtlsRole dtlsRole_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.DtlsRole DtlsRole { + get { if ((_hasBits0 & 128) != 0) { return dtlsRole_; } else { return DtlsRoleDefaultValue; } } + set { + _hasBits0 |= 128; + dtlsRole_ = value; + } + } + /// Gets whether the "dtls_role" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDtlsRole { + get { return (_hasBits0 & 128) != 0; } + } + /// Clears the value of the "dtls_role" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDtlsRole() { + _hasBits0 &= ~128; + } + + /// Field number for the "srtp_cipher" field. + public const int SrtpCipherFieldNumber = 15; + private readonly static string SrtpCipherDefaultValue = ""; + + private string srtpCipher_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SrtpCipher { + get { return srtpCipher_ ?? SrtpCipherDefaultValue; } + set { + srtpCipher_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "srtp_cipher" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSrtpCipher { + get { return srtpCipher_ != null; } + } + /// Clears the value of the "srtp_cipher" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSrtpCipher() { + srtpCipher_ = null; + } + + /// Field number for the "selected_candidate_pair_changes" field. + public const int SelectedCandidatePairChangesFieldNumber = 16; + private readonly static uint SelectedCandidatePairChangesDefaultValue = 0; + + private uint selectedCandidatePairChanges_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint SelectedCandidatePairChanges { + get { if ((_hasBits0 & 256) != 0) { return selectedCandidatePairChanges_; } else { return SelectedCandidatePairChangesDefaultValue; } } + set { + _hasBits0 |= 256; + selectedCandidatePairChanges_ = value; + } + } + /// Gets whether the "selected_candidate_pair_changes" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSelectedCandidatePairChanges { + get { return (_hasBits0 & 256) != 0; } + } + /// Clears the value of the "selected_candidate_pair_changes" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSelectedCandidatePairChanges() { + _hasBits0 &= ~256; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TransportStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TransportStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (PacketsSent != other.PacketsSent) return false; + if (PacketsReceived != other.PacketsReceived) return false; + if (BytesSent != other.BytesSent) return false; + if (BytesReceived != other.BytesReceived) return false; + if (IceRole != other.IceRole) return false; + if (IceLocalUsernameFragment != other.IceLocalUsernameFragment) return false; + if (DtlsState != other.DtlsState) return false; + if (IceState != other.IceState) return false; + if (SelectedCandidatePairId != other.SelectedCandidatePairId) return false; + if (LocalCertificateId != other.LocalCertificateId) return false; + if (RemoteCertificateId != other.RemoteCertificateId) return false; + if (TlsVersion != other.TlsVersion) return false; + if (DtlsCipher != other.DtlsCipher) return false; + if (DtlsRole != other.DtlsRole) return false; + if (SrtpCipher != other.SrtpCipher) return false; + if (SelectedCandidatePairChanges != other.SelectedCandidatePairChanges) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasPacketsSent) hash ^= PacketsSent.GetHashCode(); + if (HasPacketsReceived) hash ^= PacketsReceived.GetHashCode(); + if (HasBytesSent) hash ^= BytesSent.GetHashCode(); + if (HasBytesReceived) hash ^= BytesReceived.GetHashCode(); + if (HasIceRole) hash ^= IceRole.GetHashCode(); + if (HasIceLocalUsernameFragment) hash ^= IceLocalUsernameFragment.GetHashCode(); + if (HasDtlsState) hash ^= DtlsState.GetHashCode(); + if (HasIceState) hash ^= IceState.GetHashCode(); + if (HasSelectedCandidatePairId) hash ^= SelectedCandidatePairId.GetHashCode(); + if (HasLocalCertificateId) hash ^= LocalCertificateId.GetHashCode(); + if (HasRemoteCertificateId) hash ^= RemoteCertificateId.GetHashCode(); + if (HasTlsVersion) hash ^= TlsVersion.GetHashCode(); + if (HasDtlsCipher) hash ^= DtlsCipher.GetHashCode(); + if (HasDtlsRole) hash ^= DtlsRole.GetHashCode(); + if (HasSrtpCipher) hash ^= SrtpCipher.GetHashCode(); + if (HasSelectedCandidatePairChanges) hash ^= SelectedCandidatePairChanges.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasPacketsSent) { + output.WriteRawTag(8); + output.WriteUInt64(PacketsSent); + } + if (HasPacketsReceived) { + output.WriteRawTag(16); + output.WriteUInt64(PacketsReceived); + } + if (HasBytesSent) { + output.WriteRawTag(24); + output.WriteUInt64(BytesSent); + } + if (HasBytesReceived) { + output.WriteRawTag(32); + output.WriteUInt64(BytesReceived); + } + if (HasIceRole) { + output.WriteRawTag(40); + output.WriteEnum((int) IceRole); + } + if (HasIceLocalUsernameFragment) { + output.WriteRawTag(50); + output.WriteString(IceLocalUsernameFragment); + } + if (HasDtlsState) { + output.WriteRawTag(56); + output.WriteEnum((int) DtlsState); + } + if (HasIceState) { + output.WriteRawTag(64); + output.WriteEnum((int) IceState); + } + if (HasSelectedCandidatePairId) { + output.WriteRawTag(74); + output.WriteString(SelectedCandidatePairId); + } + if (HasLocalCertificateId) { + output.WriteRawTag(82); + output.WriteString(LocalCertificateId); + } + if (HasRemoteCertificateId) { + output.WriteRawTag(90); + output.WriteString(RemoteCertificateId); + } + if (HasTlsVersion) { + output.WriteRawTag(98); + output.WriteString(TlsVersion); + } + if (HasDtlsCipher) { + output.WriteRawTag(106); + output.WriteString(DtlsCipher); + } + if (HasDtlsRole) { + output.WriteRawTag(112); + output.WriteEnum((int) DtlsRole); + } + if (HasSrtpCipher) { + output.WriteRawTag(122); + output.WriteString(SrtpCipher); + } + if (HasSelectedCandidatePairChanges) { + output.WriteRawTag(128, 1); + output.WriteUInt32(SelectedCandidatePairChanges); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasPacketsSent) { + output.WriteRawTag(8); + output.WriteUInt64(PacketsSent); + } + if (HasPacketsReceived) { + output.WriteRawTag(16); + output.WriteUInt64(PacketsReceived); + } + if (HasBytesSent) { + output.WriteRawTag(24); + output.WriteUInt64(BytesSent); + } + if (HasBytesReceived) { + output.WriteRawTag(32); + output.WriteUInt64(BytesReceived); + } + if (HasIceRole) { + output.WriteRawTag(40); + output.WriteEnum((int) IceRole); + } + if (HasIceLocalUsernameFragment) { + output.WriteRawTag(50); + output.WriteString(IceLocalUsernameFragment); + } + if (HasDtlsState) { + output.WriteRawTag(56); + output.WriteEnum((int) DtlsState); + } + if (HasIceState) { + output.WriteRawTag(64); + output.WriteEnum((int) IceState); + } + if (HasSelectedCandidatePairId) { + output.WriteRawTag(74); + output.WriteString(SelectedCandidatePairId); + } + if (HasLocalCertificateId) { + output.WriteRawTag(82); + output.WriteString(LocalCertificateId); + } + if (HasRemoteCertificateId) { + output.WriteRawTag(90); + output.WriteString(RemoteCertificateId); + } + if (HasTlsVersion) { + output.WriteRawTag(98); + output.WriteString(TlsVersion); + } + if (HasDtlsCipher) { + output.WriteRawTag(106); + output.WriteString(DtlsCipher); + } + if (HasDtlsRole) { + output.WriteRawTag(112); + output.WriteEnum((int) DtlsRole); + } + if (HasSrtpCipher) { + output.WriteRawTag(122); + output.WriteString(SrtpCipher); + } + if (HasSelectedCandidatePairChanges) { + output.WriteRawTag(128, 1); + output.WriteUInt32(SelectedCandidatePairChanges); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasPacketsSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PacketsSent); + } + if (HasPacketsReceived) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PacketsReceived); + } + if (HasBytesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BytesSent); + } + if (HasBytesReceived) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BytesReceived); + } + if (HasIceRole) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) IceRole); + } + if (HasIceLocalUsernameFragment) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(IceLocalUsernameFragment); + } + if (HasDtlsState) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DtlsState); + } + if (HasIceState) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) IceState); + } + if (HasSelectedCandidatePairId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SelectedCandidatePairId); + } + if (HasLocalCertificateId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(LocalCertificateId); + } + if (HasRemoteCertificateId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(RemoteCertificateId); + } + if (HasTlsVersion) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TlsVersion); + } + if (HasDtlsCipher) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(DtlsCipher); + } + if (HasDtlsRole) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DtlsRole); + } + if (HasSrtpCipher) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SrtpCipher); + } + if (HasSelectedCandidatePairChanges) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(SelectedCandidatePairChanges); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TransportStats other) { + if (other == null) { + return; + } + if (other.HasPacketsSent) { + PacketsSent = other.PacketsSent; + } + if (other.HasPacketsReceived) { + PacketsReceived = other.PacketsReceived; + } + if (other.HasBytesSent) { + BytesSent = other.BytesSent; + } + if (other.HasBytesReceived) { + BytesReceived = other.BytesReceived; + } + if (other.HasIceRole) { + IceRole = other.IceRole; + } + if (other.HasIceLocalUsernameFragment) { + IceLocalUsernameFragment = other.IceLocalUsernameFragment; + } + if (other.HasDtlsState) { + DtlsState = other.DtlsState; + } + if (other.HasIceState) { + IceState = other.IceState; + } + if (other.HasSelectedCandidatePairId) { + SelectedCandidatePairId = other.SelectedCandidatePairId; + } + if (other.HasLocalCertificateId) { + LocalCertificateId = other.LocalCertificateId; + } + if (other.HasRemoteCertificateId) { + RemoteCertificateId = other.RemoteCertificateId; + } + if (other.HasTlsVersion) { + TlsVersion = other.TlsVersion; + } + if (other.HasDtlsCipher) { + DtlsCipher = other.DtlsCipher; + } + if (other.HasDtlsRole) { + DtlsRole = other.DtlsRole; + } + if (other.HasSrtpCipher) { + SrtpCipher = other.SrtpCipher; + } + if (other.HasSelectedCandidatePairChanges) { + SelectedCandidatePairChanges = other.SelectedCandidatePairChanges; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + PacketsSent = input.ReadUInt64(); + break; + } + case 16: { + PacketsReceived = input.ReadUInt64(); + break; + } + case 24: { + BytesSent = input.ReadUInt64(); + break; + } + case 32: { + BytesReceived = input.ReadUInt64(); + break; + } + case 40: { + IceRole = (global::LiveKit.Proto.IceRole) input.ReadEnum(); + break; + } + case 50: { + IceLocalUsernameFragment = input.ReadString(); + break; + } + case 56: { + DtlsState = (global::LiveKit.Proto.DtlsTransportState) input.ReadEnum(); + break; + } + case 64: { + IceState = (global::LiveKit.Proto.IceTransportState) input.ReadEnum(); + break; + } + case 74: { + SelectedCandidatePairId = input.ReadString(); + break; + } + case 82: { + LocalCertificateId = input.ReadString(); + break; + } + case 90: { + RemoteCertificateId = input.ReadString(); + break; + } + case 98: { + TlsVersion = input.ReadString(); + break; + } + case 106: { + DtlsCipher = input.ReadString(); + break; + } + case 112: { + DtlsRole = (global::LiveKit.Proto.DtlsRole) input.ReadEnum(); + break; + } + case 122: { + SrtpCipher = input.ReadString(); + break; + } + case 128: { + SelectedCandidatePairChanges = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + PacketsSent = input.ReadUInt64(); + break; + } + case 16: { + PacketsReceived = input.ReadUInt64(); + break; + } + case 24: { + BytesSent = input.ReadUInt64(); + break; + } + case 32: { + BytesReceived = input.ReadUInt64(); + break; + } + case 40: { + IceRole = (global::LiveKit.Proto.IceRole) input.ReadEnum(); + break; + } + case 50: { + IceLocalUsernameFragment = input.ReadString(); + break; + } + case 56: { + DtlsState = (global::LiveKit.Proto.DtlsTransportState) input.ReadEnum(); + break; + } + case 64: { + IceState = (global::LiveKit.Proto.IceTransportState) input.ReadEnum(); + break; + } + case 74: { + SelectedCandidatePairId = input.ReadString(); + break; + } + case 82: { + LocalCertificateId = input.ReadString(); + break; + } + case 90: { + RemoteCertificateId = input.ReadString(); + break; + } + case 98: { + TlsVersion = input.ReadString(); + break; + } + case 106: { + DtlsCipher = input.ReadString(); + break; + } + case 112: { + DtlsRole = (global::LiveKit.Proto.DtlsRole) input.ReadEnum(); + break; + } + case 122: { + SrtpCipher = input.ReadString(); + break; + } + case 128: { + SelectedCandidatePairChanges = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CandidatePairStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CandidatePairStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[17]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CandidatePairStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CandidatePairStats(CandidatePairStats other) : this() { + _hasBits0 = other._hasBits0; + transportId_ = other.transportId_; + localCandidateId_ = other.localCandidateId_; + remoteCandidateId_ = other.remoteCandidateId_; + state_ = other.state_; + nominated_ = other.nominated_; + packetsSent_ = other.packetsSent_; + packetsReceived_ = other.packetsReceived_; + bytesSent_ = other.bytesSent_; + bytesReceived_ = other.bytesReceived_; + lastPacketSentTimestamp_ = other.lastPacketSentTimestamp_; + lastPacketReceivedTimestamp_ = other.lastPacketReceivedTimestamp_; + totalRoundTripTime_ = other.totalRoundTripTime_; + currentRoundTripTime_ = other.currentRoundTripTime_; + availableOutgoingBitrate_ = other.availableOutgoingBitrate_; + availableIncomingBitrate_ = other.availableIncomingBitrate_; + requestsReceived_ = other.requestsReceived_; + requestsSent_ = other.requestsSent_; + responsesReceived_ = other.responsesReceived_; + responsesSent_ = other.responsesSent_; + consentRequestsSent_ = other.consentRequestsSent_; + packetsDiscardedOnSend_ = other.packetsDiscardedOnSend_; + bytesDiscardedOnSend_ = other.bytesDiscardedOnSend_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CandidatePairStats Clone() { + return new CandidatePairStats(this); + } + + /// Field number for the "transport_id" field. + public const int TransportIdFieldNumber = 1; + private readonly static string TransportIdDefaultValue = ""; + + private string transportId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TransportId { + get { return transportId_ ?? TransportIdDefaultValue; } + set { + transportId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "transport_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTransportId { + get { return transportId_ != null; } + } + /// Clears the value of the "transport_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTransportId() { + transportId_ = null; + } + + /// Field number for the "local_candidate_id" field. + public const int LocalCandidateIdFieldNumber = 2; + private readonly static string LocalCandidateIdDefaultValue = ""; + + private string localCandidateId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string LocalCandidateId { + get { return localCandidateId_ ?? LocalCandidateIdDefaultValue; } + set { + localCandidateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "local_candidate_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalCandidateId { + get { return localCandidateId_ != null; } + } + /// Clears the value of the "local_candidate_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalCandidateId() { + localCandidateId_ = null; + } + + /// Field number for the "remote_candidate_id" field. + public const int RemoteCandidateIdFieldNumber = 3; + private readonly static string RemoteCandidateIdDefaultValue = ""; + + private string remoteCandidateId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string RemoteCandidateId { + get { return remoteCandidateId_ ?? RemoteCandidateIdDefaultValue; } + set { + remoteCandidateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "remote_candidate_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemoteCandidateId { + get { return remoteCandidateId_ != null; } + } + /// Clears the value of the "remote_candidate_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemoteCandidateId() { + remoteCandidateId_ = null; + } + + /// Field number for the "state" field. + public const int StateFieldNumber = 4; + private readonly static global::LiveKit.Proto.IceCandidatePairState StateDefaultValue = global::LiveKit.Proto.IceCandidatePairState.PairFrozen; + + private global::LiveKit.Proto.IceCandidatePairState state_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceCandidatePairState State { + get { if ((_hasBits0 & 1) != 0) { return state_; } else { return StateDefaultValue; } } + set { + _hasBits0 |= 1; + state_ = value; + } + } + /// Gets whether the "state" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasState { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "state" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearState() { + _hasBits0 &= ~1; + } + + /// Field number for the "nominated" field. + public const int NominatedFieldNumber = 5; + private readonly static bool NominatedDefaultValue = false; + + private bool nominated_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Nominated { + get { if ((_hasBits0 & 2) != 0) { return nominated_; } else { return NominatedDefaultValue; } } + set { + _hasBits0 |= 2; + nominated_ = value; + } + } + /// Gets whether the "nominated" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNominated { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "nominated" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNominated() { + _hasBits0 &= ~2; + } + + /// Field number for the "packets_sent" field. + public const int PacketsSentFieldNumber = 6; + private readonly static ulong PacketsSentDefaultValue = 0UL; + + private ulong packetsSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PacketsSent { + get { if ((_hasBits0 & 4) != 0) { return packetsSent_; } else { return PacketsSentDefaultValue; } } + set { + _hasBits0 |= 4; + packetsSent_ = value; + } + } + /// Gets whether the "packets_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsSent { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "packets_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsSent() { + _hasBits0 &= ~4; + } + + /// Field number for the "packets_received" field. + public const int PacketsReceivedFieldNumber = 7; + private readonly static ulong PacketsReceivedDefaultValue = 0UL; + + private ulong packetsReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong PacketsReceived { + get { if ((_hasBits0 & 8) != 0) { return packetsReceived_; } else { return PacketsReceivedDefaultValue; } } + set { + _hasBits0 |= 8; + packetsReceived_ = value; + } + } + /// Gets whether the "packets_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsReceived { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "packets_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsReceived() { + _hasBits0 &= ~8; + } + + /// Field number for the "bytes_sent" field. + public const int BytesSentFieldNumber = 8; + private readonly static ulong BytesSentDefaultValue = 0UL; + + private ulong bytesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesSent { + get { if ((_hasBits0 & 16) != 0) { return bytesSent_; } else { return BytesSentDefaultValue; } } + set { + _hasBits0 |= 16; + bytesSent_ = value; + } + } + /// Gets whether the "bytes_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesSent { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "bytes_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesSent() { + _hasBits0 &= ~16; + } + + /// Field number for the "bytes_received" field. + public const int BytesReceivedFieldNumber = 9; + private readonly static ulong BytesReceivedDefaultValue = 0UL; + + private ulong bytesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesReceived { + get { if ((_hasBits0 & 32) != 0) { return bytesReceived_; } else { return BytesReceivedDefaultValue; } } + set { + _hasBits0 |= 32; + bytesReceived_ = value; + } + } + /// Gets whether the "bytes_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesReceived { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "bytes_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesReceived() { + _hasBits0 &= ~32; + } + + /// Field number for the "last_packet_sent_timestamp" field. + public const int LastPacketSentTimestampFieldNumber = 10; + private readonly static double LastPacketSentTimestampDefaultValue = 0D; + + private double lastPacketSentTimestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double LastPacketSentTimestamp { + get { if ((_hasBits0 & 64) != 0) { return lastPacketSentTimestamp_; } else { return LastPacketSentTimestampDefaultValue; } } + set { + _hasBits0 |= 64; + lastPacketSentTimestamp_ = value; + } + } + /// Gets whether the "last_packet_sent_timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLastPacketSentTimestamp { + get { return (_hasBits0 & 64) != 0; } + } + /// Clears the value of the "last_packet_sent_timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLastPacketSentTimestamp() { + _hasBits0 &= ~64; + } + + /// Field number for the "last_packet_received_timestamp" field. + public const int LastPacketReceivedTimestampFieldNumber = 11; + private readonly static double LastPacketReceivedTimestampDefaultValue = 0D; + + private double lastPacketReceivedTimestamp_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double LastPacketReceivedTimestamp { + get { if ((_hasBits0 & 128) != 0) { return lastPacketReceivedTimestamp_; } else { return LastPacketReceivedTimestampDefaultValue; } } + set { + _hasBits0 |= 128; + lastPacketReceivedTimestamp_ = value; + } + } + /// Gets whether the "last_packet_received_timestamp" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLastPacketReceivedTimestamp { + get { return (_hasBits0 & 128) != 0; } + } + /// Clears the value of the "last_packet_received_timestamp" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLastPacketReceivedTimestamp() { + _hasBits0 &= ~128; + } + + /// Field number for the "total_round_trip_time" field. + public const int TotalRoundTripTimeFieldNumber = 12; + private readonly static double TotalRoundTripTimeDefaultValue = 0D; + + private double totalRoundTripTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double TotalRoundTripTime { + get { if ((_hasBits0 & 256) != 0) { return totalRoundTripTime_; } else { return TotalRoundTripTimeDefaultValue; } } + set { + _hasBits0 |= 256; + totalRoundTripTime_ = value; + } + } + /// Gets whether the "total_round_trip_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTotalRoundTripTime { + get { return (_hasBits0 & 256) != 0; } + } + /// Clears the value of the "total_round_trip_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTotalRoundTripTime() { + _hasBits0 &= ~256; + } + + /// Field number for the "current_round_trip_time" field. + public const int CurrentRoundTripTimeFieldNumber = 13; + private readonly static double CurrentRoundTripTimeDefaultValue = 0D; + + private double currentRoundTripTime_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double CurrentRoundTripTime { + get { if ((_hasBits0 & 512) != 0) { return currentRoundTripTime_; } else { return CurrentRoundTripTimeDefaultValue; } } + set { + _hasBits0 |= 512; + currentRoundTripTime_ = value; + } + } + /// Gets whether the "current_round_trip_time" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCurrentRoundTripTime { + get { return (_hasBits0 & 512) != 0; } + } + /// Clears the value of the "current_round_trip_time" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCurrentRoundTripTime() { + _hasBits0 &= ~512; + } + + /// Field number for the "available_outgoing_bitrate" field. + public const int AvailableOutgoingBitrateFieldNumber = 14; + private readonly static double AvailableOutgoingBitrateDefaultValue = 0D; + + private double availableOutgoingBitrate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double AvailableOutgoingBitrate { + get { if ((_hasBits0 & 1024) != 0) { return availableOutgoingBitrate_; } else { return AvailableOutgoingBitrateDefaultValue; } } + set { + _hasBits0 |= 1024; + availableOutgoingBitrate_ = value; + } + } + /// Gets whether the "available_outgoing_bitrate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAvailableOutgoingBitrate { + get { return (_hasBits0 & 1024) != 0; } + } + /// Clears the value of the "available_outgoing_bitrate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAvailableOutgoingBitrate() { + _hasBits0 &= ~1024; + } + + /// Field number for the "available_incoming_bitrate" field. + public const int AvailableIncomingBitrateFieldNumber = 15; + private readonly static double AvailableIncomingBitrateDefaultValue = 0D; + + private double availableIncomingBitrate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public double AvailableIncomingBitrate { + get { if ((_hasBits0 & 2048) != 0) { return availableIncomingBitrate_; } else { return AvailableIncomingBitrateDefaultValue; } } + set { + _hasBits0 |= 2048; + availableIncomingBitrate_ = value; + } + } + /// Gets whether the "available_incoming_bitrate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAvailableIncomingBitrate { + get { return (_hasBits0 & 2048) != 0; } + } + /// Clears the value of the "available_incoming_bitrate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAvailableIncomingBitrate() { + _hasBits0 &= ~2048; + } + + /// Field number for the "requests_received" field. + public const int RequestsReceivedFieldNumber = 16; + private readonly static ulong RequestsReceivedDefaultValue = 0UL; + + private ulong requestsReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RequestsReceived { + get { if ((_hasBits0 & 4096) != 0) { return requestsReceived_; } else { return RequestsReceivedDefaultValue; } } + set { + _hasBits0 |= 4096; + requestsReceived_ = value; + } + } + /// Gets whether the "requests_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRequestsReceived { + get { return (_hasBits0 & 4096) != 0; } + } + /// Clears the value of the "requests_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRequestsReceived() { + _hasBits0 &= ~4096; + } + + /// Field number for the "requests_sent" field. + public const int RequestsSentFieldNumber = 17; + private readonly static ulong RequestsSentDefaultValue = 0UL; + + private ulong requestsSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RequestsSent { + get { if ((_hasBits0 & 8192) != 0) { return requestsSent_; } else { return RequestsSentDefaultValue; } } + set { + _hasBits0 |= 8192; + requestsSent_ = value; + } + } + /// Gets whether the "requests_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRequestsSent { + get { return (_hasBits0 & 8192) != 0; } + } + /// Clears the value of the "requests_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRequestsSent() { + _hasBits0 &= ~8192; + } + + /// Field number for the "responses_received" field. + public const int ResponsesReceivedFieldNumber = 18; + private readonly static ulong ResponsesReceivedDefaultValue = 0UL; + + private ulong responsesReceived_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ResponsesReceived { + get { if ((_hasBits0 & 16384) != 0) { return responsesReceived_; } else { return ResponsesReceivedDefaultValue; } } + set { + _hasBits0 |= 16384; + responsesReceived_ = value; + } + } + /// Gets whether the "responses_received" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasResponsesReceived { + get { return (_hasBits0 & 16384) != 0; } + } + /// Clears the value of the "responses_received" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResponsesReceived() { + _hasBits0 &= ~16384; + } + + /// Field number for the "responses_sent" field. + public const int ResponsesSentFieldNumber = 19; + private readonly static ulong ResponsesSentDefaultValue = 0UL; + + private ulong responsesSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ResponsesSent { + get { if ((_hasBits0 & 32768) != 0) { return responsesSent_; } else { return ResponsesSentDefaultValue; } } + set { + _hasBits0 |= 32768; + responsesSent_ = value; + } + } + /// Gets whether the "responses_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasResponsesSent { + get { return (_hasBits0 & 32768) != 0; } + } + /// Clears the value of the "responses_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearResponsesSent() { + _hasBits0 &= ~32768; + } + + /// Field number for the "consent_requests_sent" field. + public const int ConsentRequestsSentFieldNumber = 20; + private readonly static ulong ConsentRequestsSentDefaultValue = 0UL; + + private ulong consentRequestsSent_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ConsentRequestsSent { + get { if ((_hasBits0 & 65536) != 0) { return consentRequestsSent_; } else { return ConsentRequestsSentDefaultValue; } } + set { + _hasBits0 |= 65536; + consentRequestsSent_ = value; + } + } + /// Gets whether the "consent_requests_sent" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasConsentRequestsSent { + get { return (_hasBits0 & 65536) != 0; } + } + /// Clears the value of the "consent_requests_sent" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearConsentRequestsSent() { + _hasBits0 &= ~65536; + } + + /// Field number for the "packets_discarded_on_send" field. + public const int PacketsDiscardedOnSendFieldNumber = 21; + private readonly static uint PacketsDiscardedOnSendDefaultValue = 0; + + private uint packetsDiscardedOnSend_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint PacketsDiscardedOnSend { + get { if ((_hasBits0 & 131072) != 0) { return packetsDiscardedOnSend_; } else { return PacketsDiscardedOnSendDefaultValue; } } + set { + _hasBits0 |= 131072; + packetsDiscardedOnSend_ = value; + } + } + /// Gets whether the "packets_discarded_on_send" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPacketsDiscardedOnSend { + get { return (_hasBits0 & 131072) != 0; } + } + /// Clears the value of the "packets_discarded_on_send" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPacketsDiscardedOnSend() { + _hasBits0 &= ~131072; + } + + /// Field number for the "bytes_discarded_on_send" field. + public const int BytesDiscardedOnSendFieldNumber = 22; + private readonly static ulong BytesDiscardedOnSendDefaultValue = 0UL; + + private ulong bytesDiscardedOnSend_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong BytesDiscardedOnSend { + get { if ((_hasBits0 & 262144) != 0) { return bytesDiscardedOnSend_; } else { return BytesDiscardedOnSendDefaultValue; } } + set { + _hasBits0 |= 262144; + bytesDiscardedOnSend_ = value; + } + } + /// Gets whether the "bytes_discarded_on_send" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBytesDiscardedOnSend { + get { return (_hasBits0 & 262144) != 0; } + } + /// Clears the value of the "bytes_discarded_on_send" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBytesDiscardedOnSend() { + _hasBits0 &= ~262144; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as CandidatePairStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(CandidatePairStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TransportId != other.TransportId) return false; + if (LocalCandidateId != other.LocalCandidateId) return false; + if (RemoteCandidateId != other.RemoteCandidateId) return false; + if (State != other.State) return false; + if (Nominated != other.Nominated) return false; + if (PacketsSent != other.PacketsSent) return false; + if (PacketsReceived != other.PacketsReceived) return false; + if (BytesSent != other.BytesSent) return false; + if (BytesReceived != other.BytesReceived) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LastPacketSentTimestamp, other.LastPacketSentTimestamp)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LastPacketReceivedTimestamp, other.LastPacketReceivedTimestamp)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TotalRoundTripTime, other.TotalRoundTripTime)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(CurrentRoundTripTime, other.CurrentRoundTripTime)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(AvailableOutgoingBitrate, other.AvailableOutgoingBitrate)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(AvailableIncomingBitrate, other.AvailableIncomingBitrate)) return false; + if (RequestsReceived != other.RequestsReceived) return false; + if (RequestsSent != other.RequestsSent) return false; + if (ResponsesReceived != other.ResponsesReceived) return false; + if (ResponsesSent != other.ResponsesSent) return false; + if (ConsentRequestsSent != other.ConsentRequestsSent) return false; + if (PacketsDiscardedOnSend != other.PacketsDiscardedOnSend) return false; + if (BytesDiscardedOnSend != other.BytesDiscardedOnSend) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTransportId) hash ^= TransportId.GetHashCode(); + if (HasLocalCandidateId) hash ^= LocalCandidateId.GetHashCode(); + if (HasRemoteCandidateId) hash ^= RemoteCandidateId.GetHashCode(); + if (HasState) hash ^= State.GetHashCode(); + if (HasNominated) hash ^= Nominated.GetHashCode(); + if (HasPacketsSent) hash ^= PacketsSent.GetHashCode(); + if (HasPacketsReceived) hash ^= PacketsReceived.GetHashCode(); + if (HasBytesSent) hash ^= BytesSent.GetHashCode(); + if (HasBytesReceived) hash ^= BytesReceived.GetHashCode(); + if (HasLastPacketSentTimestamp) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LastPacketSentTimestamp); + if (HasLastPacketReceivedTimestamp) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LastPacketReceivedTimestamp); + if (HasTotalRoundTripTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TotalRoundTripTime); + if (HasCurrentRoundTripTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(CurrentRoundTripTime); + if (HasAvailableOutgoingBitrate) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(AvailableOutgoingBitrate); + if (HasAvailableIncomingBitrate) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(AvailableIncomingBitrate); + if (HasRequestsReceived) hash ^= RequestsReceived.GetHashCode(); + if (HasRequestsSent) hash ^= RequestsSent.GetHashCode(); + if (HasResponsesReceived) hash ^= ResponsesReceived.GetHashCode(); + if (HasResponsesSent) hash ^= ResponsesSent.GetHashCode(); + if (HasConsentRequestsSent) hash ^= ConsentRequestsSent.GetHashCode(); + if (HasPacketsDiscardedOnSend) hash ^= PacketsDiscardedOnSend.GetHashCode(); + if (HasBytesDiscardedOnSend) hash ^= BytesDiscardedOnSend.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTransportId) { + output.WriteRawTag(10); + output.WriteString(TransportId); + } + if (HasLocalCandidateId) { + output.WriteRawTag(18); + output.WriteString(LocalCandidateId); + } + if (HasRemoteCandidateId) { + output.WriteRawTag(26); + output.WriteString(RemoteCandidateId); + } + if (HasState) { + output.WriteRawTag(32); + output.WriteEnum((int) State); + } + if (HasNominated) { + output.WriteRawTag(40); + output.WriteBool(Nominated); + } + if (HasPacketsSent) { + output.WriteRawTag(48); + output.WriteUInt64(PacketsSent); + } + if (HasPacketsReceived) { + output.WriteRawTag(56); + output.WriteUInt64(PacketsReceived); + } + if (HasBytesSent) { + output.WriteRawTag(64); + output.WriteUInt64(BytesSent); + } + if (HasBytesReceived) { + output.WriteRawTag(72); + output.WriteUInt64(BytesReceived); + } + if (HasLastPacketSentTimestamp) { + output.WriteRawTag(81); + output.WriteDouble(LastPacketSentTimestamp); + } + if (HasLastPacketReceivedTimestamp) { + output.WriteRawTag(89); + output.WriteDouble(LastPacketReceivedTimestamp); + } + if (HasTotalRoundTripTime) { + output.WriteRawTag(97); + output.WriteDouble(TotalRoundTripTime); + } + if (HasCurrentRoundTripTime) { + output.WriteRawTag(105); + output.WriteDouble(CurrentRoundTripTime); + } + if (HasAvailableOutgoingBitrate) { + output.WriteRawTag(113); + output.WriteDouble(AvailableOutgoingBitrate); + } + if (HasAvailableIncomingBitrate) { + output.WriteRawTag(121); + output.WriteDouble(AvailableIncomingBitrate); + } + if (HasRequestsReceived) { + output.WriteRawTag(128, 1); + output.WriteUInt64(RequestsReceived); + } + if (HasRequestsSent) { + output.WriteRawTag(136, 1); + output.WriteUInt64(RequestsSent); + } + if (HasResponsesReceived) { + output.WriteRawTag(144, 1); + output.WriteUInt64(ResponsesReceived); + } + if (HasResponsesSent) { + output.WriteRawTag(152, 1); + output.WriteUInt64(ResponsesSent); + } + if (HasConsentRequestsSent) { + output.WriteRawTag(160, 1); + output.WriteUInt64(ConsentRequestsSent); + } + if (HasPacketsDiscardedOnSend) { + output.WriteRawTag(168, 1); + output.WriteUInt32(PacketsDiscardedOnSend); + } + if (HasBytesDiscardedOnSend) { + output.WriteRawTag(176, 1); + output.WriteUInt64(BytesDiscardedOnSend); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTransportId) { + output.WriteRawTag(10); + output.WriteString(TransportId); + } + if (HasLocalCandidateId) { + output.WriteRawTag(18); + output.WriteString(LocalCandidateId); + } + if (HasRemoteCandidateId) { + output.WriteRawTag(26); + output.WriteString(RemoteCandidateId); + } + if (HasState) { + output.WriteRawTag(32); + output.WriteEnum((int) State); + } + if (HasNominated) { + output.WriteRawTag(40); + output.WriteBool(Nominated); + } + if (HasPacketsSent) { + output.WriteRawTag(48); + output.WriteUInt64(PacketsSent); + } + if (HasPacketsReceived) { + output.WriteRawTag(56); + output.WriteUInt64(PacketsReceived); + } + if (HasBytesSent) { + output.WriteRawTag(64); + output.WriteUInt64(BytesSent); + } + if (HasBytesReceived) { + output.WriteRawTag(72); + output.WriteUInt64(BytesReceived); + } + if (HasLastPacketSentTimestamp) { + output.WriteRawTag(81); + output.WriteDouble(LastPacketSentTimestamp); + } + if (HasLastPacketReceivedTimestamp) { + output.WriteRawTag(89); + output.WriteDouble(LastPacketReceivedTimestamp); + } + if (HasTotalRoundTripTime) { + output.WriteRawTag(97); + output.WriteDouble(TotalRoundTripTime); + } + if (HasCurrentRoundTripTime) { + output.WriteRawTag(105); + output.WriteDouble(CurrentRoundTripTime); + } + if (HasAvailableOutgoingBitrate) { + output.WriteRawTag(113); + output.WriteDouble(AvailableOutgoingBitrate); + } + if (HasAvailableIncomingBitrate) { + output.WriteRawTag(121); + output.WriteDouble(AvailableIncomingBitrate); + } + if (HasRequestsReceived) { + output.WriteRawTag(128, 1); + output.WriteUInt64(RequestsReceived); + } + if (HasRequestsSent) { + output.WriteRawTag(136, 1); + output.WriteUInt64(RequestsSent); + } + if (HasResponsesReceived) { + output.WriteRawTag(144, 1); + output.WriteUInt64(ResponsesReceived); + } + if (HasResponsesSent) { + output.WriteRawTag(152, 1); + output.WriteUInt64(ResponsesSent); + } + if (HasConsentRequestsSent) { + output.WriteRawTag(160, 1); + output.WriteUInt64(ConsentRequestsSent); + } + if (HasPacketsDiscardedOnSend) { + output.WriteRawTag(168, 1); + output.WriteUInt32(PacketsDiscardedOnSend); + } + if (HasBytesDiscardedOnSend) { + output.WriteRawTag(176, 1); + output.WriteUInt64(BytesDiscardedOnSend); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTransportId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TransportId); + } + if (HasLocalCandidateId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(LocalCandidateId); + } + if (HasRemoteCandidateId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(RemoteCandidateId); + } + if (HasState) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State); + } + if (HasNominated) { + size += 1 + 1; + } + if (HasPacketsSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PacketsSent); + } + if (HasPacketsReceived) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PacketsReceived); + } + if (HasBytesSent) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BytesSent); + } + if (HasBytesReceived) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BytesReceived); + } + if (HasLastPacketSentTimestamp) { + size += 1 + 8; + } + if (HasLastPacketReceivedTimestamp) { + size += 1 + 8; + } + if (HasTotalRoundTripTime) { + size += 1 + 8; + } + if (HasCurrentRoundTripTime) { + size += 1 + 8; + } + if (HasAvailableOutgoingBitrate) { + size += 1 + 8; + } + if (HasAvailableIncomingBitrate) { + size += 1 + 8; + } + if (HasRequestsReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(RequestsReceived); + } + if (HasRequestsSent) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(RequestsSent); + } + if (HasResponsesReceived) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(ResponsesReceived); + } + if (HasResponsesSent) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(ResponsesSent); + } + if (HasConsentRequestsSent) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(ConsentRequestsSent); + } + if (HasPacketsDiscardedOnSend) { + size += 2 + pb::CodedOutputStream.ComputeUInt32Size(PacketsDiscardedOnSend); + } + if (HasBytesDiscardedOnSend) { + size += 2 + pb::CodedOutputStream.ComputeUInt64Size(BytesDiscardedOnSend); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(CandidatePairStats other) { + if (other == null) { + return; + } + if (other.HasTransportId) { + TransportId = other.TransportId; + } + if (other.HasLocalCandidateId) { + LocalCandidateId = other.LocalCandidateId; + } + if (other.HasRemoteCandidateId) { + RemoteCandidateId = other.RemoteCandidateId; + } + if (other.HasState) { + State = other.State; + } + if (other.HasNominated) { + Nominated = other.Nominated; + } + if (other.HasPacketsSent) { + PacketsSent = other.PacketsSent; + } + if (other.HasPacketsReceived) { + PacketsReceived = other.PacketsReceived; + } + if (other.HasBytesSent) { + BytesSent = other.BytesSent; + } + if (other.HasBytesReceived) { + BytesReceived = other.BytesReceived; + } + if (other.HasLastPacketSentTimestamp) { + LastPacketSentTimestamp = other.LastPacketSentTimestamp; + } + if (other.HasLastPacketReceivedTimestamp) { + LastPacketReceivedTimestamp = other.LastPacketReceivedTimestamp; + } + if (other.HasTotalRoundTripTime) { + TotalRoundTripTime = other.TotalRoundTripTime; + } + if (other.HasCurrentRoundTripTime) { + CurrentRoundTripTime = other.CurrentRoundTripTime; + } + if (other.HasAvailableOutgoingBitrate) { + AvailableOutgoingBitrate = other.AvailableOutgoingBitrate; + } + if (other.HasAvailableIncomingBitrate) { + AvailableIncomingBitrate = other.AvailableIncomingBitrate; + } + if (other.HasRequestsReceived) { + RequestsReceived = other.RequestsReceived; + } + if (other.HasRequestsSent) { + RequestsSent = other.RequestsSent; + } + if (other.HasResponsesReceived) { + ResponsesReceived = other.ResponsesReceived; + } + if (other.HasResponsesSent) { + ResponsesSent = other.ResponsesSent; + } + if (other.HasConsentRequestsSent) { + ConsentRequestsSent = other.ConsentRequestsSent; + } + if (other.HasPacketsDiscardedOnSend) { + PacketsDiscardedOnSend = other.PacketsDiscardedOnSend; + } + if (other.HasBytesDiscardedOnSend) { + BytesDiscardedOnSend = other.BytesDiscardedOnSend; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + TransportId = input.ReadString(); + break; + } + case 18: { + LocalCandidateId = input.ReadString(); + break; + } + case 26: { + RemoteCandidateId = input.ReadString(); + break; + } + case 32: { + State = (global::LiveKit.Proto.IceCandidatePairState) input.ReadEnum(); + break; + } + case 40: { + Nominated = input.ReadBool(); + break; + } + case 48: { + PacketsSent = input.ReadUInt64(); + break; + } + case 56: { + PacketsReceived = input.ReadUInt64(); + break; + } + case 64: { + BytesSent = input.ReadUInt64(); + break; + } + case 72: { + BytesReceived = input.ReadUInt64(); + break; + } + case 81: { + LastPacketSentTimestamp = input.ReadDouble(); + break; + } + case 89: { + LastPacketReceivedTimestamp = input.ReadDouble(); + break; + } + case 97: { + TotalRoundTripTime = input.ReadDouble(); + break; + } + case 105: { + CurrentRoundTripTime = input.ReadDouble(); + break; + } + case 113: { + AvailableOutgoingBitrate = input.ReadDouble(); + break; + } + case 121: { + AvailableIncomingBitrate = input.ReadDouble(); + break; + } + case 128: { + RequestsReceived = input.ReadUInt64(); + break; + } + case 136: { + RequestsSent = input.ReadUInt64(); + break; + } + case 144: { + ResponsesReceived = input.ReadUInt64(); + break; + } + case 152: { + ResponsesSent = input.ReadUInt64(); + break; + } + case 160: { + ConsentRequestsSent = input.ReadUInt64(); + break; + } + case 168: { + PacketsDiscardedOnSend = input.ReadUInt32(); + break; + } + case 176: { + BytesDiscardedOnSend = input.ReadUInt64(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + TransportId = input.ReadString(); + break; + } + case 18: { + LocalCandidateId = input.ReadString(); + break; + } + case 26: { + RemoteCandidateId = input.ReadString(); + break; + } + case 32: { + State = (global::LiveKit.Proto.IceCandidatePairState) input.ReadEnum(); + break; + } + case 40: { + Nominated = input.ReadBool(); + break; + } + case 48: { + PacketsSent = input.ReadUInt64(); + break; + } + case 56: { + PacketsReceived = input.ReadUInt64(); + break; + } + case 64: { + BytesSent = input.ReadUInt64(); + break; + } + case 72: { + BytesReceived = input.ReadUInt64(); + break; + } + case 81: { + LastPacketSentTimestamp = input.ReadDouble(); + break; + } + case 89: { + LastPacketReceivedTimestamp = input.ReadDouble(); + break; + } + case 97: { + TotalRoundTripTime = input.ReadDouble(); + break; + } + case 105: { + CurrentRoundTripTime = input.ReadDouble(); + break; + } + case 113: { + AvailableOutgoingBitrate = input.ReadDouble(); + break; + } + case 121: { + AvailableIncomingBitrate = input.ReadDouble(); + break; + } + case 128: { + RequestsReceived = input.ReadUInt64(); + break; + } + case 136: { + RequestsSent = input.ReadUInt64(); + break; + } + case 144: { + ResponsesReceived = input.ReadUInt64(); + break; + } + case 152: { + ResponsesSent = input.ReadUInt64(); + break; + } + case 160: { + ConsentRequestsSent = input.ReadUInt64(); + break; + } + case 168: { + PacketsDiscardedOnSend = input.ReadUInt32(); + break; + } + case 176: { + BytesDiscardedOnSend = input.ReadUInt64(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class IceCandidateStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new IceCandidateStats()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[18]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public IceCandidateStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public IceCandidateStats(IceCandidateStats other) : this() { + _hasBits0 = other._hasBits0; + transportId_ = other.transportId_; + address_ = other.address_; + port_ = other.port_; + protocol_ = other.protocol_; + candidateType_ = other.candidateType_; + priority_ = other.priority_; + url_ = other.url_; + relayProtocol_ = other.relayProtocol_; + foundation_ = other.foundation_; + relatedAddress_ = other.relatedAddress_; + relatedPort_ = other.relatedPort_; + usernameFragment_ = other.usernameFragment_; + tcpType_ = other.tcpType_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public IceCandidateStats Clone() { + return new IceCandidateStats(this); + } + + /// Field number for the "transport_id" field. + public const int TransportIdFieldNumber = 1; + private readonly static string TransportIdDefaultValue = ""; + + private string transportId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string TransportId { + get { return transportId_ ?? TransportIdDefaultValue; } + set { + transportId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "transport_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTransportId { + get { return transportId_ != null; } + } + /// Clears the value of the "transport_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTransportId() { + transportId_ = null; + } + + /// Field number for the "address" field. + public const int AddressFieldNumber = 2; + private readonly static string AddressDefaultValue = ""; + + private string address_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Address { + get { return address_ ?? AddressDefaultValue; } + set { + address_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "address" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAddress { + get { return address_ != null; } + } + /// Clears the value of the "address" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAddress() { + address_ = null; + } + + /// Field number for the "port" field. + public const int PortFieldNumber = 3; + private readonly static int PortDefaultValue = 0; + + private int port_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int Port { + get { if ((_hasBits0 & 1) != 0) { return port_; } else { return PortDefaultValue; } } + set { + _hasBits0 |= 1; + port_ = value; + } + } + /// Gets whether the "port" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPort { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "port" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPort() { + _hasBits0 &= ~1; + } + + /// Field number for the "protocol" field. + public const int ProtocolFieldNumber = 4; + private readonly static string ProtocolDefaultValue = ""; + + private string protocol_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Protocol { + get { return protocol_ ?? ProtocolDefaultValue; } + set { + protocol_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "protocol" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasProtocol { + get { return protocol_ != null; } + } + /// Clears the value of the "protocol" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearProtocol() { + protocol_ = null; + } + + /// Field number for the "candidate_type" field. + public const int CandidateTypeFieldNumber = 5; + private readonly static global::LiveKit.Proto.IceCandidateType CandidateTypeDefaultValue = global::LiveKit.Proto.IceCandidateType.Host; + + private global::LiveKit.Proto.IceCandidateType candidateType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceCandidateType CandidateType { + get { if ((_hasBits0 & 2) != 0) { return candidateType_; } else { return CandidateTypeDefaultValue; } } + set { + _hasBits0 |= 2; + candidateType_ = value; + } + } + /// Gets whether the "candidate_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasCandidateType { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "candidate_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearCandidateType() { + _hasBits0 &= ~2; + } + + /// Field number for the "priority" field. + public const int PriorityFieldNumber = 6; + private readonly static int PriorityDefaultValue = 0; + + private int priority_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int Priority { + get { if ((_hasBits0 & 4) != 0) { return priority_; } else { return PriorityDefaultValue; } } + set { + _hasBits0 |= 4; + priority_ = value; + } + } + /// Gets whether the "priority" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasPriority { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "priority" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearPriority() { + _hasBits0 &= ~4; + } + + /// Field number for the "url" field. + public const int UrlFieldNumber = 7; + private readonly static string UrlDefaultValue = ""; + + private string url_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Url { + get { return url_ ?? UrlDefaultValue; } + set { + url_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "url" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasUrl { + get { return url_ != null; } + } + /// Clears the value of the "url" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearUrl() { + url_ = null; + } + + /// Field number for the "relay_protocol" field. + public const int RelayProtocolFieldNumber = 8; + private readonly static global::LiveKit.Proto.IceServerTransportProtocol RelayProtocolDefaultValue = global::LiveKit.Proto.IceServerTransportProtocol.TransportUdp; + + private global::LiveKit.Proto.IceServerTransportProtocol relayProtocol_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceServerTransportProtocol RelayProtocol { + get { if ((_hasBits0 & 8) != 0) { return relayProtocol_; } else { return RelayProtocolDefaultValue; } } + set { + _hasBits0 |= 8; + relayProtocol_ = value; + } + } + /// Gets whether the "relay_protocol" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRelayProtocol { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "relay_protocol" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRelayProtocol() { + _hasBits0 &= ~8; + } + + /// Field number for the "foundation" field. + public const int FoundationFieldNumber = 9; + private readonly static string FoundationDefaultValue = ""; + + private string foundation_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Foundation { + get { return foundation_ ?? FoundationDefaultValue; } + set { + foundation_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "foundation" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFoundation { + get { return foundation_ != null; } + } + /// Clears the value of the "foundation" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFoundation() { + foundation_ = null; + } + + /// Field number for the "related_address" field. + public const int RelatedAddressFieldNumber = 10; + private readonly static string RelatedAddressDefaultValue = ""; + + private string relatedAddress_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string RelatedAddress { + get { return relatedAddress_ ?? RelatedAddressDefaultValue; } + set { + relatedAddress_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "related_address" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRelatedAddress { + get { return relatedAddress_ != null; } + } + /// Clears the value of the "related_address" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRelatedAddress() { + relatedAddress_ = null; + } + + /// Field number for the "related_port" field. + public const int RelatedPortFieldNumber = 11; + private readonly static int RelatedPortDefaultValue = 0; + + private int relatedPort_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int RelatedPort { + get { if ((_hasBits0 & 16) != 0) { return relatedPort_; } else { return RelatedPortDefaultValue; } } + set { + _hasBits0 |= 16; + relatedPort_ = value; + } + } + /// Gets whether the "related_port" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRelatedPort { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "related_port" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRelatedPort() { + _hasBits0 &= ~16; + } + + /// Field number for the "username_fragment" field. + public const int UsernameFragmentFieldNumber = 12; + private readonly static string UsernameFragmentDefaultValue = ""; + + private string usernameFragment_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string UsernameFragment { + get { return usernameFragment_ ?? UsernameFragmentDefaultValue; } + set { + usernameFragment_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "username_fragment" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasUsernameFragment { + get { return usernameFragment_ != null; } + } + /// Clears the value of the "username_fragment" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearUsernameFragment() { + usernameFragment_ = null; + } + + /// Field number for the "tcp_type" field. + public const int TcpTypeFieldNumber = 13; + private readonly static global::LiveKit.Proto.IceTcpCandidateType TcpTypeDefaultValue = global::LiveKit.Proto.IceTcpCandidateType.CandidateActive; + + private global::LiveKit.Proto.IceTcpCandidateType tcpType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.IceTcpCandidateType TcpType { + get { if ((_hasBits0 & 32) != 0) { return tcpType_; } else { return TcpTypeDefaultValue; } } + set { + _hasBits0 |= 32; + tcpType_ = value; + } + } + /// Gets whether the "tcp_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTcpType { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "tcp_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTcpType() { + _hasBits0 &= ~32; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as IceCandidateStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(IceCandidateStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TransportId != other.TransportId) return false; + if (Address != other.Address) return false; + if (Port != other.Port) return false; + if (Protocol != other.Protocol) return false; + if (CandidateType != other.CandidateType) return false; + if (Priority != other.Priority) return false; + if (Url != other.Url) return false; + if (RelayProtocol != other.RelayProtocol) return false; + if (Foundation != other.Foundation) return false; + if (RelatedAddress != other.RelatedAddress) return false; + if (RelatedPort != other.RelatedPort) return false; + if (UsernameFragment != other.UsernameFragment) return false; + if (TcpType != other.TcpType) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTransportId) hash ^= TransportId.GetHashCode(); + if (HasAddress) hash ^= Address.GetHashCode(); + if (HasPort) hash ^= Port.GetHashCode(); + if (HasProtocol) hash ^= Protocol.GetHashCode(); + if (HasCandidateType) hash ^= CandidateType.GetHashCode(); + if (HasPriority) hash ^= Priority.GetHashCode(); + if (HasUrl) hash ^= Url.GetHashCode(); + if (HasRelayProtocol) hash ^= RelayProtocol.GetHashCode(); + if (HasFoundation) hash ^= Foundation.GetHashCode(); + if (HasRelatedAddress) hash ^= RelatedAddress.GetHashCode(); + if (HasRelatedPort) hash ^= RelatedPort.GetHashCode(); + if (HasUsernameFragment) hash ^= UsernameFragment.GetHashCode(); + if (HasTcpType) hash ^= TcpType.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTransportId) { + output.WriteRawTag(10); + output.WriteString(TransportId); + } + if (HasAddress) { + output.WriteRawTag(18); + output.WriteString(Address); + } + if (HasPort) { + output.WriteRawTag(24); + output.WriteInt32(Port); + } + if (HasProtocol) { + output.WriteRawTag(34); + output.WriteString(Protocol); + } + if (HasCandidateType) { + output.WriteRawTag(40); + output.WriteEnum((int) CandidateType); + } + if (HasPriority) { + output.WriteRawTag(48); + output.WriteInt32(Priority); + } + if (HasUrl) { + output.WriteRawTag(58); + output.WriteString(Url); + } + if (HasRelayProtocol) { + output.WriteRawTag(64); + output.WriteEnum((int) RelayProtocol); + } + if (HasFoundation) { + output.WriteRawTag(74); + output.WriteString(Foundation); + } + if (HasRelatedAddress) { + output.WriteRawTag(82); + output.WriteString(RelatedAddress); + } + if (HasRelatedPort) { + output.WriteRawTag(88); + output.WriteInt32(RelatedPort); + } + if (HasUsernameFragment) { + output.WriteRawTag(98); + output.WriteString(UsernameFragment); + } + if (HasTcpType) { + output.WriteRawTag(104); + output.WriteEnum((int) TcpType); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTransportId) { + output.WriteRawTag(10); + output.WriteString(TransportId); + } + if (HasAddress) { + output.WriteRawTag(18); + output.WriteString(Address); + } + if (HasPort) { + output.WriteRawTag(24); + output.WriteInt32(Port); + } + if (HasProtocol) { + output.WriteRawTag(34); + output.WriteString(Protocol); + } + if (HasCandidateType) { + output.WriteRawTag(40); + output.WriteEnum((int) CandidateType); + } + if (HasPriority) { + output.WriteRawTag(48); + output.WriteInt32(Priority); + } + if (HasUrl) { + output.WriteRawTag(58); + output.WriteString(Url); + } + if (HasRelayProtocol) { + output.WriteRawTag(64); + output.WriteEnum((int) RelayProtocol); + } + if (HasFoundation) { + output.WriteRawTag(74); + output.WriteString(Foundation); + } + if (HasRelatedAddress) { + output.WriteRawTag(82); + output.WriteString(RelatedAddress); + } + if (HasRelatedPort) { + output.WriteRawTag(88); + output.WriteInt32(RelatedPort); + } + if (HasUsernameFragment) { + output.WriteRawTag(98); + output.WriteString(UsernameFragment); + } + if (HasTcpType) { + output.WriteRawTag(104); + output.WriteEnum((int) TcpType); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTransportId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(TransportId); + } + if (HasAddress) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Address); + } + if (HasPort) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Port); + } + if (HasProtocol) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Protocol); + } + if (HasCandidateType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) CandidateType); + } + if (HasPriority) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priority); + } + if (HasUrl) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Url); + } + if (HasRelayProtocol) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RelayProtocol); + } + if (HasFoundation) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Foundation); + } + if (HasRelatedAddress) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(RelatedAddress); + } + if (HasRelatedPort) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(RelatedPort); + } + if (HasUsernameFragment) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(UsernameFragment); + } + if (HasTcpType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TcpType); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(IceCandidateStats other) { + if (other == null) { + return; + } + if (other.HasTransportId) { + TransportId = other.TransportId; + } + if (other.HasAddress) { + Address = other.Address; + } + if (other.HasPort) { + Port = other.Port; + } + if (other.HasProtocol) { + Protocol = other.Protocol; + } + if (other.HasCandidateType) { + CandidateType = other.CandidateType; + } + if (other.HasPriority) { + Priority = other.Priority; + } + if (other.HasUrl) { + Url = other.Url; + } + if (other.HasRelayProtocol) { + RelayProtocol = other.RelayProtocol; + } + if (other.HasFoundation) { + Foundation = other.Foundation; + } + if (other.HasRelatedAddress) { + RelatedAddress = other.RelatedAddress; + } + if (other.HasRelatedPort) { + RelatedPort = other.RelatedPort; + } + if (other.HasUsernameFragment) { + UsernameFragment = other.UsernameFragment; + } + if (other.HasTcpType) { + TcpType = other.TcpType; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + TransportId = input.ReadString(); + break; + } + case 18: { + Address = input.ReadString(); + break; + } + case 24: { + Port = input.ReadInt32(); + break; + } + case 34: { + Protocol = input.ReadString(); + break; + } + case 40: { + CandidateType = (global::LiveKit.Proto.IceCandidateType) input.ReadEnum(); + break; + } + case 48: { + Priority = input.ReadInt32(); + break; + } + case 58: { + Url = input.ReadString(); + break; + } + case 64: { + RelayProtocol = (global::LiveKit.Proto.IceServerTransportProtocol) input.ReadEnum(); + break; + } + case 74: { + Foundation = input.ReadString(); + break; + } + case 82: { + RelatedAddress = input.ReadString(); + break; + } + case 88: { + RelatedPort = input.ReadInt32(); + break; + } + case 98: { + UsernameFragment = input.ReadString(); + break; + } + case 104: { + TcpType = (global::LiveKit.Proto.IceTcpCandidateType) input.ReadEnum(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + TransportId = input.ReadString(); + break; + } + case 18: { + Address = input.ReadString(); + break; + } + case 24: { + Port = input.ReadInt32(); + break; + } + case 34: { + Protocol = input.ReadString(); + break; + } + case 40: { + CandidateType = (global::LiveKit.Proto.IceCandidateType) input.ReadEnum(); + break; + } + case 48: { + Priority = input.ReadInt32(); + break; + } + case 58: { + Url = input.ReadString(); + break; + } + case 64: { + RelayProtocol = (global::LiveKit.Proto.IceServerTransportProtocol) input.ReadEnum(); + break; + } + case 74: { + Foundation = input.ReadString(); + break; + } + case 82: { + RelatedAddress = input.ReadString(); + break; + } + case 88: { + RelatedPort = input.ReadInt32(); + break; + } + case 98: { + UsernameFragment = input.ReadString(); + break; + } + case 104: { + TcpType = (global::LiveKit.Proto.IceTcpCandidateType) input.ReadEnum(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CertificateStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CertificateStats()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[19]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CertificateStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CertificateStats(CertificateStats other) : this() { + fingerprint_ = other.fingerprint_; + fingerprintAlgorithm_ = other.fingerprintAlgorithm_; + base64Certificate_ = other.base64Certificate_; + issuerCertificateId_ = other.issuerCertificateId_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CertificateStats Clone() { + return new CertificateStats(this); + } + + /// Field number for the "fingerprint" field. + public const int FingerprintFieldNumber = 1; + private readonly static string FingerprintDefaultValue = ""; + + private string fingerprint_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Fingerprint { + get { return fingerprint_ ?? FingerprintDefaultValue; } + set { + fingerprint_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "fingerprint" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFingerprint { + get { return fingerprint_ != null; } + } + /// Clears the value of the "fingerprint" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFingerprint() { + fingerprint_ = null; + } + + /// Field number for the "fingerprint_algorithm" field. + public const int FingerprintAlgorithmFieldNumber = 2; + private readonly static string FingerprintAlgorithmDefaultValue = ""; + + private string fingerprintAlgorithm_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string FingerprintAlgorithm { + get { return fingerprintAlgorithm_ ?? FingerprintAlgorithmDefaultValue; } + set { + fingerprintAlgorithm_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "fingerprint_algorithm" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFingerprintAlgorithm { + get { return fingerprintAlgorithm_ != null; } + } + /// Clears the value of the "fingerprint_algorithm" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFingerprintAlgorithm() { + fingerprintAlgorithm_ = null; + } + + /// Field number for the "base64_certificate" field. + public const int Base64CertificateFieldNumber = 3; + private readonly static string Base64CertificateDefaultValue = ""; + + private string base64Certificate_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Base64Certificate { + get { return base64Certificate_ ?? Base64CertificateDefaultValue; } + set { + base64Certificate_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "base64_certificate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasBase64Certificate { + get { return base64Certificate_ != null; } + } + /// Clears the value of the "base64_certificate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearBase64Certificate() { + base64Certificate_ = null; + } + + /// Field number for the "issuer_certificate_id" field. + public const int IssuerCertificateIdFieldNumber = 4; + private readonly static string IssuerCertificateIdDefaultValue = ""; + + private string issuerCertificateId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string IssuerCertificateId { + get { return issuerCertificateId_ ?? IssuerCertificateIdDefaultValue; } + set { + issuerCertificateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "issuer_certificate_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasIssuerCertificateId { + get { return issuerCertificateId_ != null; } + } + /// Clears the value of the "issuer_certificate_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearIssuerCertificateId() { + issuerCertificateId_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as CertificateStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(CertificateStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Fingerprint != other.Fingerprint) return false; + if (FingerprintAlgorithm != other.FingerprintAlgorithm) return false; + if (Base64Certificate != other.Base64Certificate) return false; + if (IssuerCertificateId != other.IssuerCertificateId) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasFingerprint) hash ^= Fingerprint.GetHashCode(); + if (HasFingerprintAlgorithm) hash ^= FingerprintAlgorithm.GetHashCode(); + if (HasBase64Certificate) hash ^= Base64Certificate.GetHashCode(); + if (HasIssuerCertificateId) hash ^= IssuerCertificateId.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasFingerprint) { + output.WriteRawTag(10); + output.WriteString(Fingerprint); + } + if (HasFingerprintAlgorithm) { + output.WriteRawTag(18); + output.WriteString(FingerprintAlgorithm); + } + if (HasBase64Certificate) { + output.WriteRawTag(26); + output.WriteString(Base64Certificate); + } + if (HasIssuerCertificateId) { + output.WriteRawTag(34); + output.WriteString(IssuerCertificateId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasFingerprint) { + output.WriteRawTag(10); + output.WriteString(Fingerprint); + } + if (HasFingerprintAlgorithm) { + output.WriteRawTag(18); + output.WriteString(FingerprintAlgorithm); + } + if (HasBase64Certificate) { + output.WriteRawTag(26); + output.WriteString(Base64Certificate); + } + if (HasIssuerCertificateId) { + output.WriteRawTag(34); + output.WriteString(IssuerCertificateId); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasFingerprint) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Fingerprint); + } + if (HasFingerprintAlgorithm) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(FingerprintAlgorithm); + } + if (HasBase64Certificate) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Base64Certificate); + } + if (HasIssuerCertificateId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(IssuerCertificateId); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(CertificateStats other) { + if (other == null) { + return; + } + if (other.HasFingerprint) { + Fingerprint = other.Fingerprint; + } + if (other.HasFingerprintAlgorithm) { + FingerprintAlgorithm = other.FingerprintAlgorithm; + } + if (other.HasBase64Certificate) { + Base64Certificate = other.Base64Certificate; + } + if (other.HasIssuerCertificateId) { + IssuerCertificateId = other.IssuerCertificateId; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Fingerprint = input.ReadString(); + break; + } + case 18: { + FingerprintAlgorithm = input.ReadString(); + break; + } + case 26: { + Base64Certificate = input.ReadString(); + break; + } + case 34: { + IssuerCertificateId = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Fingerprint = input.ReadString(); + break; + } + case 18: { + FingerprintAlgorithm = input.ReadString(); + break; + } + case 26: { + Base64Certificate = input.ReadString(); + break; + } + case 34: { + IssuerCertificateId = input.ReadString(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class StreamStats : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new StreamStats()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.StatsReflection.Descriptor.MessageTypes[20]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamStats() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamStats(StreamStats other) : this() { + id_ = other.id_; + streamIdentifier_ = other.streamIdentifier_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public StreamStats Clone() { + return new StreamStats(this); + } + + /// Field number for the "id" field. + public const int IdFieldNumber = 1; + private readonly static string IdDefaultValue = ""; + + private string id_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Id { + get { return id_ ?? IdDefaultValue; } + set { + id_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasId { + get { return id_ != null; } + } + /// Clears the value of the "id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearId() { + id_ = null; + } + + /// Field number for the "stream_identifier" field. + public const int StreamIdentifierFieldNumber = 2; + private readonly static string StreamIdentifierDefaultValue = ""; + + private string streamIdentifier_; + /// + /// required int64 timestamp = 3; + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string StreamIdentifier { + get { return streamIdentifier_ ?? StreamIdentifierDefaultValue; } + set { + streamIdentifier_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "stream_identifier" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamIdentifier { + get { return streamIdentifier_ != null; } + } + /// Clears the value of the "stream_identifier" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamIdentifier() { + streamIdentifier_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as StreamStats); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(StreamStats other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Id != other.Id) return false; + if (StreamIdentifier != other.StreamIdentifier) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasId) hash ^= Id.GetHashCode(); + if (HasStreamIdentifier) hash ^= StreamIdentifier.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasStreamIdentifier) { + output.WriteRawTag(18); + output.WriteString(StreamIdentifier); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasId) { + output.WriteRawTag(10); + output.WriteString(Id); + } + if (HasStreamIdentifier) { + output.WriteRawTag(18); + output.WriteString(StreamIdentifier); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasId) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Id); + } + if (HasStreamIdentifier) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(StreamIdentifier); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(StreamStats other) { + if (other == null) { + return; + } + if (other.HasId) { + Id = other.Id; + } + if (other.HasStreamIdentifier) { + StreamIdentifier = other.StreamIdentifier; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 18: { + StreamIdentifier = input.ReadString(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Id = input.ReadString(); + break; + } + case 18: { + StreamIdentifier = input.ReadString(); + break; + } + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Runtime/Scripts/Proto/Stats.cs.meta b/Runtime/Scripts/Proto/Stats.cs.meta new file mode 100644 index 00000000..7360fb6e --- /dev/null +++ b/Runtime/Scripts/Proto/Stats.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3d7d5cd21e710a343b27fe5606eeefc2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Proto/Track.cs b/Runtime/Scripts/Proto/Track.cs index 6cfe72b0..8652c72c 100644 --- a/Runtime/Scripts/Proto/Track.cs +++ b/Runtime/Scripts/Proto/Track.cs @@ -24,49 +24,79 @@ public static partial class TrackReflection { static TrackReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "Cgt0cmFjay5wcm90bxIHbGl2ZWtpdBoMaGFuZGxlLnByb3RvGhF2aWRlb19m", - "cmFtZS5wcm90bxoRYXVkaW9fZnJhbWUucHJvdG8iQwoTVmlkZW9DYXB0dXJl", - "T3B0aW9ucxIsCgpyZXNvbHV0aW9uGAEgASgLMhgubGl2ZWtpdC5WaWRlb1Jl", - "c29sdXRpb24iZgoTQXVkaW9DYXB0dXJlT3B0aW9ucxIZChFlY2hvX2NhbmNl", - "bGxhdGlvbhgBIAEoCBIZChFub2lzZV9zdXBwcmVzc2lvbhgCIAEoCBIZChFh", - "dXRvX2dhaW5fY29udHJvbBgDIAEoCCKDAQoXQ3JlYXRlVmlkZW9UcmFja1Jl", - "cXVlc3QSDAoEbmFtZRgBIAEoCRItCgdvcHRpb25zGAIgASgLMhwubGl2ZWtp", - "dC5WaWRlb0NhcHR1cmVPcHRpb25zEisKDXNvdXJjZV9oYW5kbGUYAyABKAsy", - "FC5saXZla2l0LkZGSUhhbmRsZUlkIj0KGENyZWF0ZVZpZGVvVHJhY2tSZXNw", - "b25zZRIhCgV0cmFjaxgBIAEoCzISLmxpdmVraXQuVHJhY2tJbmZvIoMBChdD", - "cmVhdGVBdWRpb1RyYWNrUmVxdWVzdBIMCgRuYW1lGAEgASgJEi0KB29wdGlv", - "bnMYAiABKAsyHC5saXZla2l0LkF1ZGlvQ2FwdHVyZU9wdGlvbnMSKwoNc291", - "cmNlX2hhbmRsZRgDIAEoCzIULmxpdmVraXQuRkZJSGFuZGxlSWQiPQoYQ3Jl", - "YXRlQXVkaW9UcmFja1Jlc3BvbnNlEiEKBXRyYWNrGAEgASgLMhIubGl2ZWtp", - "dC5UcmFja0luZm8iDAoKVHJhY2tFdmVudCLfAQoUVHJhY2tQdWJsaWNhdGlv", - "bkluZm8SCwoDc2lkGAEgASgJEgwKBG5hbWUYAiABKAkSIAoEa2luZBgDIAEo", - "DjISLmxpdmVraXQuVHJhY2tLaW5kEiQKBnNvdXJjZRgEIAEoDjIULmxpdmVr", - "aXQuVHJhY2tTb3VyY2USEwoLc2ltdWxjYXN0ZWQYBSABKAgSDQoFd2lkdGgY", - "BiABKA0SDgoGaGVpZ2h0GAcgASgNEhEKCW1pbWVfdHlwZRgIIAEoCRINCgVt", - "dXRlZBgJIAEoCBIOCgZyZW1vdGUYCiABKAgivQEKCVRyYWNrSW5mbxIoCgpv", - "cHRfaGFuZGxlGAEgASgLMhQubGl2ZWtpdC5GRklIYW5kbGVJZBILCgNzaWQY", - "AiABKAkSDAoEbmFtZRgDIAEoCRIgCgRraW5kGAQgASgOMhIubGl2ZWtpdC5U", - "cmFja0tpbmQSKgoMc3RyZWFtX3N0YXRlGAUgASgOMhQubGl2ZWtpdC5TdHJl", - "YW1TdGF0ZRINCgVtdXRlZBgGIAEoCBIOCgZyZW1vdGUYByABKAgqPQoJVHJh", - "Y2tLaW5kEhAKDEtJTkRfVU5LTk9XThAAEg4KCktJTkRfQVVESU8QARIOCgpL", - "SU5EX1ZJREVPEAIqgQEKC1RyYWNrU291cmNlEhIKDlNPVVJDRV9VTktOT1dO", - "EAASEQoNU09VUkNFX0NBTUVSQRABEhUKEVNPVVJDRV9NSUNST1BIT05FEAIS", - "FgoSU09VUkNFX1NDUkVFTlNIQVJFEAMSHAoYU09VUkNFX1NDUkVFTlNIQVJF", - "X0FVRElPEAQqRAoLU3RyZWFtU3RhdGUSEQoNU1RBVEVfVU5LTk9XThAAEhAK", - "DFNUQVRFX0FDVElWRRABEhAKDFNUQVRFX1BBVVNFRBACQhCqAg1MaXZlS2l0", - "LlByb3RvYgZwcm90bzM=")); + "Cgt0cmFjay5wcm90bxINbGl2ZWtpdC5wcm90bxoKZTJlZS5wcm90bxoMaGFu", + "ZGxlLnByb3RvGgtzdGF0cy5wcm90byI+ChdDcmVhdGVWaWRlb1RyYWNrUmVx", + "dWVzdBIMCgRuYW1lGAEgAigJEhUKDXNvdXJjZV9oYW5kbGUYAiACKAQiRAoY", + "Q3JlYXRlVmlkZW9UcmFja1Jlc3BvbnNlEigKBXRyYWNrGAEgAigLMhkubGl2", + "ZWtpdC5wcm90by5Pd25lZFRyYWNrIj4KF0NyZWF0ZUF1ZGlvVHJhY2tSZXF1", + "ZXN0EgwKBG5hbWUYASACKAkSFQoNc291cmNlX2hhbmRsZRgCIAIoBCJEChhD", + "cmVhdGVBdWRpb1RyYWNrUmVzcG9uc2USKAoFdHJhY2sYASACKAsyGS5saXZl", + "a2l0LnByb3RvLk93bmVkVHJhY2siJwoPR2V0U3RhdHNSZXF1ZXN0EhQKDHRy", + "YWNrX2hhbmRsZRgBIAIoBCIkChBHZXRTdGF0c1Jlc3BvbnNlEhAKCGFzeW5j", + "X2lkGAEgAigEIlsKEEdldFN0YXRzQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASAC", + "KAQSDQoFZXJyb3IYAiABKAkSJgoFc3RhdHMYAyADKAsyFy5saXZla2l0LnBy", + "b3RvLlJ0Y1N0YXRzIgwKClRyYWNrRXZlbnQi3QIKFFRyYWNrUHVibGljYXRp", + "b25JbmZvEgsKA3NpZBgBIAIoCRIMCgRuYW1lGAIgAigJEiYKBGtpbmQYAyAC", + "KA4yGC5saXZla2l0LnByb3RvLlRyYWNrS2luZBIqCgZzb3VyY2UYBCACKA4y", + "Gi5saXZla2l0LnByb3RvLlRyYWNrU291cmNlEhMKC3NpbXVsY2FzdGVkGAUg", + "AigIEg0KBXdpZHRoGAYgAigNEg4KBmhlaWdodBgHIAIoDRIRCgltaW1lX3R5", + "cGUYCCACKAkSDQoFbXV0ZWQYCSACKAgSDgoGcmVtb3RlGAogAigIEjYKD2Vu", + "Y3J5cHRpb25fdHlwZRgLIAIoDjIdLmxpdmVraXQucHJvdG8uRW5jcnlwdGlv", + "blR5cGUSOAoOYXVkaW9fZmVhdHVyZXMYDCADKA4yIC5saXZla2l0LnByb3Rv", + "LkF1ZGlvVHJhY2tGZWF0dXJlInkKFU93bmVkVHJhY2tQdWJsaWNhdGlvbhIt", + "CgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxl", + "EjEKBGluZm8YAiACKAsyIy5saXZla2l0LnByb3RvLlRyYWNrUHVibGljYXRp", + "b25JbmZvIp8BCglUcmFja0luZm8SCwoDc2lkGAEgAigJEgwKBG5hbWUYAiAC", + "KAkSJgoEa2luZBgDIAIoDjIYLmxpdmVraXQucHJvdG8uVHJhY2tLaW5kEjAK", + "DHN0cmVhbV9zdGF0ZRgEIAIoDjIaLmxpdmVraXQucHJvdG8uU3RyZWFtU3Rh", + "dGUSDQoFbXV0ZWQYBSACKAgSDgoGcmVtb3RlGAYgAigIImMKCk93bmVkVHJh", + "Y2sSLQoGaGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhh", + "bmRsZRImCgRpbmZvGAIgAigLMhgubGl2ZWtpdC5wcm90by5UcmFja0luZm8i", + "OwoVTG9jYWxUcmFja011dGVSZXF1ZXN0EhQKDHRyYWNrX2hhbmRsZRgBIAIo", + "BBIMCgRtdXRlGAIgAigIIicKFkxvY2FsVHJhY2tNdXRlUmVzcG9uc2USDQoF", + "bXV0ZWQYASACKAgiQQoYRW5hYmxlUmVtb3RlVHJhY2tSZXF1ZXN0EhQKDHRy", + "YWNrX2hhbmRsZRgBIAIoBBIPCgdlbmFibGVkGAIgAigIIiwKGUVuYWJsZVJl", + "bW90ZVRyYWNrUmVzcG9uc2USDwoHZW5hYmxlZBgBIAIoCCKsAQomU2V0VHJh", + "Y2tTdWJzY3JpcHRpb25QZXJtaXNzaW9uc1JlcXVlc3QSIAoYbG9jYWxfcGFy", + "dGljaXBhbnRfaGFuZGxlGAEgAigEEiAKGGFsbF9wYXJ0aWNpcGFudHNfYWxs", + "b3dlZBgCIAIoCBI+CgtwZXJtaXNzaW9ucxgDIAMoCzIpLmxpdmVraXQucHJv", + "dG8uUGFydGljaXBhbnRUcmFja1Blcm1pc3Npb24iaQoaUGFydGljaXBhbnRU", + "cmFja1Blcm1pc3Npb24SHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkS", + "EQoJYWxsb3dfYWxsGAIgASgIEhoKEmFsbG93ZWRfdHJhY2tfc2lkcxgDIAMo", + "CSIpCidTZXRUcmFja1N1YnNjcmlwdGlvblBlcm1pc3Npb25zUmVzcG9uc2Uq", + "PQoJVHJhY2tLaW5kEhAKDEtJTkRfVU5LTk9XThAAEg4KCktJTkRfQVVESU8Q", + "ARIOCgpLSU5EX1ZJREVPEAIqgQEKC1RyYWNrU291cmNlEhIKDlNPVVJDRV9V", + "TktOT1dOEAASEQoNU09VUkNFX0NBTUVSQRABEhUKEVNPVVJDRV9NSUNST1BI", + "T05FEAISFgoSU09VUkNFX1NDUkVFTlNIQVJFEAMSHAoYU09VUkNFX1NDUkVF", + "TlNIQVJFX0FVRElPEAQqRAoLU3RyZWFtU3RhdGUSEQoNU1RBVEVfVU5LTk9X", + "ThAAEhAKDFNUQVRFX0FDVElWRRABEhAKDFNUQVRFX1BBVVNFRBACKr0BChFB", + "dWRpb1RyYWNrRmVhdHVyZRINCglURl9TVEVSRU8QABINCglURl9OT19EVFgQ", + "ARIYChRURl9BVVRPX0dBSU5fQ09OVFJPTBACEhgKFFRGX0VDSE9fQ0FOQ0VM", + "TEFUSU9OEAMSGAoUVEZfTk9JU0VfU1VQUFJFU1NJT04QBBIiCh5URl9FTkhB", + "TkNFRF9OT0lTRV9DQU5DRUxMQVRJT04QBRIYChRURl9QUkVDT05ORUNUX0JV", + "RkZFUhAGQhCqAg1MaXZlS2l0LlByb3Rv")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.VideoFrameReflection.Descriptor, global::LiveKit.Proto.AudioFrameReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.TrackKind), typeof(global::LiveKit.Proto.TrackSource), typeof(global::LiveKit.Proto.StreamState), }, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoCaptureOptions), global::LiveKit.Proto.VideoCaptureOptions.Parser, new[]{ "Resolution" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AudioCaptureOptions), global::LiveKit.Proto.AudioCaptureOptions.Parser, new[]{ "EchoCancellation", "NoiseSuppression", "AutoGainControl" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CreateVideoTrackRequest), global::LiveKit.Proto.CreateVideoTrackRequest.Parser, new[]{ "Name", "Options", "SourceHandle" }, null, null, null, null), + new pbr::FileDescriptor[] { global::LiveKit.Proto.E2EeReflection.Descriptor, global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.StatsReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.TrackKind), typeof(global::LiveKit.Proto.TrackSource), typeof(global::LiveKit.Proto.StreamState), typeof(global::LiveKit.Proto.AudioTrackFeature), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CreateVideoTrackRequest), global::LiveKit.Proto.CreateVideoTrackRequest.Parser, new[]{ "Name", "SourceHandle" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CreateVideoTrackResponse), global::LiveKit.Proto.CreateVideoTrackResponse.Parser, new[]{ "Track" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CreateAudioTrackRequest), global::LiveKit.Proto.CreateAudioTrackRequest.Parser, new[]{ "Name", "Options", "SourceHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CreateAudioTrackRequest), global::LiveKit.Proto.CreateAudioTrackRequest.Parser, new[]{ "Name", "SourceHandle" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CreateAudioTrackResponse), global::LiveKit.Proto.CreateAudioTrackResponse.Parser, new[]{ "Track" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetStatsRequest), global::LiveKit.Proto.GetStatsRequest.Parser, new[]{ "TrackHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetStatsResponse), global::LiveKit.Proto.GetStatsResponse.Parser, new[]{ "AsyncId" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.GetStatsCallback), global::LiveKit.Proto.GetStatsCallback.Parser, new[]{ "AsyncId", "Error", "Stats" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackEvent), global::LiveKit.Proto.TrackEvent.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackPublicationInfo), global::LiveKit.Proto.TrackPublicationInfo.Parser, new[]{ "Sid", "Name", "Kind", "Source", "Simulcasted", "Width", "Height", "MimeType", "Muted", "Remote" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackInfo), global::LiveKit.Proto.TrackInfo.Parser, new[]{ "OptHandle", "Sid", "Name", "Kind", "StreamState", "Muted", "Remote" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackPublicationInfo), global::LiveKit.Proto.TrackPublicationInfo.Parser, new[]{ "Sid", "Name", "Kind", "Source", "Simulcasted", "Width", "Height", "MimeType", "Muted", "Remote", "EncryptionType", "AudioFeatures" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedTrackPublication), global::LiveKit.Proto.OwnedTrackPublication.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackInfo), global::LiveKit.Proto.TrackInfo.Parser, new[]{ "Sid", "Name", "Kind", "StreamState", "Muted", "Remote" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedTrack), global::LiveKit.Proto.OwnedTrack.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalTrackMuteRequest), global::LiveKit.Proto.LocalTrackMuteRequest.Parser, new[]{ "TrackHandle", "Mute" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalTrackMuteResponse), global::LiveKit.Proto.LocalTrackMuteResponse.Parser, new[]{ "Muted" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.EnableRemoteTrackRequest), global::LiveKit.Proto.EnableRemoteTrackRequest.Parser, new[]{ "TrackHandle", "Enabled" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.EnableRemoteTrackResponse), global::LiveKit.Proto.EnableRemoteTrackResponse.Parser, new[]{ "Enabled" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest), global::LiveKit.Proto.SetTrackSubscriptionPermissionsRequest.Parser, new[]{ "LocalParticipantHandle", "AllParticipantsAllowed", "Permissions" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantTrackPermission), global::LiveKit.Proto.ParticipantTrackPermission.Parser, new[]{ "ParticipantIdentity", "AllowAll", "AllowedTrackSids" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse), global::LiveKit.Proto.SetTrackSubscriptionPermissionsResponse.Parser, null, null, null, null, null) })); } #endregion @@ -93,19 +123,37 @@ public enum StreamState { [pbr::OriginalName("STATE_PAUSED")] StatePaused = 2, } + public enum AudioTrackFeature { + [pbr::OriginalName("TF_STEREO")] TfStereo = 0, + [pbr::OriginalName("TF_NO_DTX")] TfNoDtx = 1, + [pbr::OriginalName("TF_AUTO_GAIN_CONTROL")] TfAutoGainControl = 2, + [pbr::OriginalName("TF_ECHO_CANCELLATION")] TfEchoCancellation = 3, + [pbr::OriginalName("TF_NOISE_SUPPRESSION")] TfNoiseSuppression = 4, + [pbr::OriginalName("TF_ENHANCED_NOISE_CANCELLATION")] TfEnhancedNoiseCancellation = 5, + /// + /// client will buffer audio once available and send it to the server via bytes stream once connected + /// + [pbr::OriginalName("TF_PRECONNECT_BUFFER")] TfPreconnectBuffer = 6, + } + #endregion #region Messages - public sealed partial class VideoCaptureOptions : pb::IMessage + /// + /// Create a new VideoTrack from a VideoSource + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CreateVideoTrackRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoCaptureOptions()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateVideoTrackRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -121,7 +169,7 @@ public sealed partial class VideoCaptureOptions : pb::IMessageField number for the "name" field. + public const int NameFieldNumber = 1; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; } - /// Field number for the "resolution" field. - public const int ResolutionFieldNumber = 1; - private global::LiveKit.Proto.VideoResolution resolution_; + /// Field number for the "source_handle" field. + public const int SourceHandleFieldNumber = 2; + private readonly static ulong SourceHandleDefaultValue = 0UL; + + private ulong sourceHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoResolution Resolution { - get { return resolution_; } + public ulong SourceHandle { + get { if ((_hasBits0 & 1) != 0) { return sourceHandle_; } else { return SourceHandleDefaultValue; } } set { - resolution_ = value; + _hasBits0 |= 1; + sourceHandle_ = value; } } + /// Gets whether the "source_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSourceHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "source_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSourceHandle() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoCaptureOptions); + return Equals(other as CreateVideoTrackRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoCaptureOptions other) { + public bool Equals(CreateVideoTrackRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Resolution, other.Resolution)) return false; + if (Name != other.Name) return false; + if (SourceHandle != other.SourceHandle) return false; return Equals(_unknownFields, other._unknownFields); } @@ -175,7 +267,8 @@ public bool Equals(VideoCaptureOptions other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (resolution_ != null) hash ^= Resolution.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasSourceHandle) hash ^= SourceHandle.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -194,9 +287,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (resolution_ != null) { + if (HasName) { output.WriteRawTag(10); - output.WriteMessage(Resolution); + output.WriteString(Name); + } + if (HasSourceHandle) { + output.WriteRawTag(16); + output.WriteUInt64(SourceHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -208,9 +305,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (resolution_ != null) { + if (HasName) { output.WriteRawTag(10); - output.WriteMessage(Resolution); + output.WriteString(Name); + } + if (HasSourceHandle) { + output.WriteRawTag(16); + output.WriteUInt64(SourceHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -222,8 +323,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (resolution_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Resolution); + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (HasSourceHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceHandle); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -233,15 +337,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoCaptureOptions other) { + public void MergeFrom(CreateVideoTrackRequest other) { if (other == null) { return; } - if (other.resolution_ != null) { - if (resolution_ == null) { - Resolution = new global::LiveKit.Proto.VideoResolution(); - } - Resolution.MergeFrom(other.Resolution); + if (other.HasName) { + Name = other.Name; + } + if (other.HasSourceHandle) { + SourceHandle = other.SourceHandle; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -254,15 +358,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (resolution_ == null) { - Resolution = new global::LiveKit.Proto.VideoResolution(); - } - input.ReadMessage(Resolution); + Name = input.ReadString(); + break; + } + case 16: { + SourceHandle = input.ReadUInt64(); break; } } @@ -276,15 +385,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (resolution_ == null) { - Resolution = new global::LiveKit.Proto.VideoResolution(); - } - input.ReadMessage(Resolution); + Name = input.ReadString(); + break; + } + case 16: { + SourceHandle = input.ReadUInt64(); break; } } @@ -294,16 +408,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AudioCaptureOptions : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CreateVideoTrackResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AudioCaptureOptions()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateVideoTrackResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -319,7 +434,7 @@ public sealed partial class AudioCaptureOptions : pb::IMessageField number for the "echo_cancellation" field. - public const int EchoCancellationFieldNumber = 1; - private bool echoCancellation_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool EchoCancellation { - get { return echoCancellation_; } - set { - echoCancellation_ = value; - } - } - - /// Field number for the "noise_suppression" field. - public const int NoiseSuppressionFieldNumber = 2; - private bool noiseSuppression_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool NoiseSuppression { - get { return noiseSuppression_; } - set { - noiseSuppression_ = value; - } + public CreateVideoTrackResponse Clone() { + return new CreateVideoTrackResponse(this); } - /// Field number for the "auto_gain_control" field. - public const int AutoGainControlFieldNumber = 3; - private bool autoGainControl_; + /// Field number for the "track" field. + public const int TrackFieldNumber = 1; + private global::LiveKit.Proto.OwnedTrack track_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool AutoGainControl { - get { return autoGainControl_; } + public global::LiveKit.Proto.OwnedTrack Track { + get { return track_; } set { - autoGainControl_ = value; + track_ = value; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AudioCaptureOptions); + return Equals(other as CreateVideoTrackResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AudioCaptureOptions other) { + public bool Equals(CreateVideoTrackResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (EchoCancellation != other.EchoCancellation) return false; - if (NoiseSuppression != other.NoiseSuppression) return false; - if (AutoGainControl != other.AutoGainControl) return false; + if (!object.Equals(Track, other.Track)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -401,9 +488,7 @@ public bool Equals(AudioCaptureOptions other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (EchoCancellation != false) hash ^= EchoCancellation.GetHashCode(); - if (NoiseSuppression != false) hash ^= NoiseSuppression.GetHashCode(); - if (AutoGainControl != false) hash ^= AutoGainControl.GetHashCode(); + if (track_ != null) hash ^= Track.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -422,17 +507,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (EchoCancellation != false) { - output.WriteRawTag(8); - output.WriteBool(EchoCancellation); - } - if (NoiseSuppression != false) { - output.WriteRawTag(16); - output.WriteBool(NoiseSuppression); - } - if (AutoGainControl != false) { - output.WriteRawTag(24); - output.WriteBool(AutoGainControl); + if (track_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Track); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -444,17 +521,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (EchoCancellation != false) { - output.WriteRawTag(8); - output.WriteBool(EchoCancellation); - } - if (NoiseSuppression != false) { - output.WriteRawTag(16); - output.WriteBool(NoiseSuppression); - } - if (AutoGainControl != false) { - output.WriteRawTag(24); - output.WriteBool(AutoGainControl); + if (track_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Track); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -466,14 +535,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (EchoCancellation != false) { - size += 1 + 1; - } - if (NoiseSuppression != false) { - size += 1 + 1; - } - if (AutoGainControl != false) { - size += 1 + 1; + if (track_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Track); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -483,18 +546,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AudioCaptureOptions other) { + public void MergeFrom(CreateVideoTrackResponse other) { if (other == null) { return; } - if (other.EchoCancellation != false) { - EchoCancellation = other.EchoCancellation; - } - if (other.NoiseSuppression != false) { - NoiseSuppression = other.NoiseSuppression; - } - if (other.AutoGainControl != false) { - AutoGainControl = other.AutoGainControl; + if (other.track_ != null) { + if (track_ == null) { + Track = new global::LiveKit.Proto.OwnedTrack(); + } + Track.MergeFrom(other.Track); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -507,20 +567,19 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 8: { - EchoCancellation = input.ReadBool(); - break; - } - case 16: { - NoiseSuppression = input.ReadBool(); - break; - } - case 24: { - AutoGainControl = input.ReadBool(); + case 10: { + if (track_ == null) { + Track = new global::LiveKit.Proto.OwnedTrack(); + } + input.ReadMessage(Track); break; } } @@ -534,20 +593,19 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 8: { - EchoCancellation = input.ReadBool(); - break; - } - case 16: { - NoiseSuppression = input.ReadBool(); - break; - } - case 24: { - AutoGainControl = input.ReadBool(); + case 10: { + if (track_ == null) { + Track = new global::LiveKit.Proto.OwnedTrack(); + } + input.ReadMessage(Track); break; } } @@ -558,18 +616,20 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// Create a new VideoTrack from a VideoSource + /// Create a new AudioTrack from a AudioSource /// - public sealed partial class CreateVideoTrackRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CreateAudioTrackRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateVideoTrackRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateAudioTrackRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -585,7 +645,7 @@ public sealed partial class CreateVideoTrackRequest : pb::IMessageField number for the "name" field. public const int NameFieldNumber = 1; - private string name_ = ""; + private readonly static string NameDefaultValue = ""; + + private string name_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public string Name { - get { return name_; } + get { return name_ ?? NameDefaultValue; } set { name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } - - /// Field number for the "options" field. - public const int OptionsFieldNumber = 2; - private global::LiveKit.Proto.VideoCaptureOptions options_; + /// Gets whether the "name" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoCaptureOptions Options { - get { return options_; } - set { - options_ = value; - } + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; } /// Field number for the "source_handle" field. - public const int SourceHandleFieldNumber = 3; - private global::LiveKit.Proto.FFIHandleId sourceHandle_; + public const int SourceHandleFieldNumber = 2; + private readonly static ulong SourceHandleDefaultValue = 0UL; + + private ulong sourceHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId SourceHandle { - get { return sourceHandle_; } + public ulong SourceHandle { + get { if ((_hasBits0 & 1) != 0) { return sourceHandle_; } else { return SourceHandleDefaultValue; } } set { + _hasBits0 |= 1; sourceHandle_ = value; } } + /// Gets whether the "source_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSourceHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "source_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSourceHandle() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as CreateVideoTrackRequest); + return Equals(other as CreateAudioTrackRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(CreateVideoTrackRequest other) { + public bool Equals(CreateAudioTrackRequest other) { if (ReferenceEquals(other, null)) { return false; } @@ -658,8 +735,7 @@ public bool Equals(CreateVideoTrackRequest other) { return true; } if (Name != other.Name) return false; - if (!object.Equals(Options, other.Options)) return false; - if (!object.Equals(SourceHandle, other.SourceHandle)) return false; + if (SourceHandle != other.SourceHandle) return false; return Equals(_unknownFields, other._unknownFields); } @@ -667,9 +743,8 @@ public bool Equals(CreateVideoTrackRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (options_ != null) hash ^= Options.GetHashCode(); - if (sourceHandle_ != null) hash ^= SourceHandle.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasSourceHandle) hash ^= SourceHandle.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -688,17 +763,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Name.Length != 0) { + if (HasName) { output.WriteRawTag(10); output.WriteString(Name); } - if (options_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Options); - } - if (sourceHandle_ != null) { - output.WriteRawTag(26); - output.WriteMessage(SourceHandle); + if (HasSourceHandle) { + output.WriteRawTag(16); + output.WriteUInt64(SourceHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -710,17 +781,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Name.Length != 0) { + if (HasName) { output.WriteRawTag(10); output.WriteString(Name); } - if (options_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Options); - } - if (sourceHandle_ != null) { - output.WriteRawTag(26); - output.WriteMessage(SourceHandle); + if (HasSourceHandle) { + output.WriteRawTag(16); + output.WriteUInt64(SourceHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -732,14 +799,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Name.Length != 0) { + if (HasName) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); } - if (options_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); - } - if (sourceHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceHandle); + if (HasSourceHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceHandle); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -749,24 +813,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(CreateVideoTrackRequest other) { + public void MergeFrom(CreateAudioTrackRequest other) { if (other == null) { return; } - if (other.Name.Length != 0) { + if (other.HasName) { Name = other.Name; } - if (other.options_ != null) { - if (options_ == null) { - Options = new global::LiveKit.Proto.VideoCaptureOptions(); - } - Options.MergeFrom(other.Options); - } - if (other.sourceHandle_ != null) { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - SourceHandle.MergeFrom(other.SourceHandle); + if (other.HasSourceHandle) { + SourceHandle = other.SourceHandle; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -779,7 +834,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -787,18 +846,8 @@ public void MergeFrom(pb::CodedInputStream input) { Name = input.ReadString(); break; } - case 18: { - if (options_ == null) { - Options = new global::LiveKit.Proto.VideoCaptureOptions(); - } - input.ReadMessage(Options); - break; - } - case 26: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 16: { + SourceHandle = input.ReadUInt64(); break; } } @@ -812,7 +861,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -820,18 +873,8 @@ public void MergeFrom(pb::CodedInputStream input) { Name = input.ReadString(); break; } - case 18: { - if (options_ == null) { - Options = new global::LiveKit.Proto.VideoCaptureOptions(); - } - input.ReadMessage(Options); - break; - } - case 26: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 16: { + SourceHandle = input.ReadUInt64(); break; } } @@ -841,16 +884,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class CreateVideoTrackResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class CreateAudioTrackResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateVideoTrackResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateAudioTrackResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -866,7 +910,7 @@ public sealed partial class CreateVideoTrackResponse : pb::IMessageField number for the "track" field. public const int TrackFieldNumber = 1; - private global::LiveKit.Proto.TrackInfo track_; + private global::LiveKit.Proto.OwnedTrack track_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackInfo Track { + public global::LiveKit.Proto.OwnedTrack Track { get { return track_; } set { track_ = value; @@ -900,12 +944,12 @@ public CreateVideoTrackResponse Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as CreateVideoTrackResponse); + return Equals(other as CreateAudioTrackResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(CreateVideoTrackResponse other) { + public bool Equals(CreateAudioTrackResponse other) { if (ReferenceEquals(other, null)) { return false; } @@ -978,13 +1022,13 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(CreateVideoTrackResponse other) { + public void MergeFrom(CreateAudioTrackResponse other) { if (other == null) { return; } if (other.track_ != null) { if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); + Track = new global::LiveKit.Proto.OwnedTrack(); } Track.MergeFrom(other.Track); } @@ -999,13 +1043,17 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); + Track = new global::LiveKit.Proto.OwnedTrack(); } input.ReadMessage(Track); break; @@ -1021,13 +1069,17 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); + Track = new global::LiveKit.Proto.OwnedTrack(); } input.ReadMessage(Track); break; @@ -1039,19 +1091,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Create a new AudioTrack from a AudioSource - /// - public sealed partial class CreateAudioTrackRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetStatsRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateAudioTrackRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetStatsRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1067,7 +1118,7 @@ public sealed partial class CreateAudioTrackRequest : pb::IMessageField number for the "name" field. - public const int NameFieldNumber = 1; - private string name_ = ""; + /// Field number for the "track_handle" field. + public const int TrackHandleFieldNumber = 1; + private readonly static ulong TrackHandleDefaultValue = 0UL; + + private ulong trackHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } + public ulong TrackHandle { + get { if ((_hasBits0 & 1) != 0) { return trackHandle_; } else { return TrackHandleDefaultValue; } } set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 1; + trackHandle_ = value; } } - - /// Field number for the "options" field. - public const int OptionsFieldNumber = 2; - private global::LiveKit.Proto.AudioCaptureOptions options_; + /// Gets whether the "track_handle" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.AudioCaptureOptions Options { - get { return options_; } - set { - options_ = value; - } + public bool HasTrackHandle { + get { return (_hasBits0 & 1) != 0; } } - - /// Field number for the "source_handle" field. - public const int SourceHandleFieldNumber = 3; - private global::LiveKit.Proto.FFIHandleId sourceHandle_; + /// Clears the value of the "track_handle" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId SourceHandle { - get { return sourceHandle_; } - set { - sourceHandle_ = value; - } + public void ClearTrackHandle() { + _hasBits0 &= ~1; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as CreateAudioTrackRequest); + return Equals(other as GetStatsRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(CreateAudioTrackRequest other) { + public bool Equals(GetStatsRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Name != other.Name) return false; - if (!object.Equals(Options, other.Options)) return false; - if (!object.Equals(SourceHandle, other.SourceHandle)) return false; + if (TrackHandle != other.TrackHandle) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1149,9 +1188,7 @@ public bool Equals(CreateAudioTrackRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (options_ != null) hash ^= Options.GetHashCode(); - if (sourceHandle_ != null) hash ^= SourceHandle.GetHashCode(); + if (HasTrackHandle) hash ^= TrackHandle.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1170,17 +1207,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (options_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Options); - } - if (sourceHandle_ != null) { - output.WriteRawTag(26); - output.WriteMessage(SourceHandle); + if (HasTrackHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1192,17 +1221,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Name.Length != 0) { - output.WriteRawTag(10); - output.WriteString(Name); - } - if (options_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Options); - } - if (sourceHandle_ != null) { - output.WriteRawTag(26); - output.WriteMessage(SourceHandle); + if (HasTrackHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackHandle); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1214,14 +1235,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (options_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options); - } - if (sourceHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceHandle); + if (HasTrackHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1231,24 +1246,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(CreateAudioTrackRequest other) { + public void MergeFrom(GetStatsRequest other) { if (other == null) { return; } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.options_ != null) { - if (options_ == null) { - Options = new global::LiveKit.Proto.AudioCaptureOptions(); - } - Options.MergeFrom(other.Options); - } - if (other.sourceHandle_ != null) { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - SourceHandle.MergeFrom(other.SourceHandle); + if (other.HasTrackHandle) { + TrackHandle = other.TrackHandle; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1261,26 +1264,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - Name = input.ReadString(); - break; - } - case 18: { - if (options_ == null) { - Options = new global::LiveKit.Proto.AudioCaptureOptions(); - } - input.ReadMessage(Options); - break; - } - case 26: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 8: { + TrackHandle = input.ReadUInt64(); break; } } @@ -1294,26 +1287,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - Name = input.ReadString(); - break; - } - case 18: { - if (options_ == null) { - Options = new global::LiveKit.Proto.AudioCaptureOptions(); - } - input.ReadMessage(Options); - break; - } - case 26: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 8: { + TrackHandle = input.ReadUInt64(); break; } } @@ -1323,16 +1306,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class CreateAudioTrackResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetStatsResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CreateAudioTrackResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetStatsResponse()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1348,7 +1333,7 @@ public sealed partial class CreateAudioTrackResponse : pb::IMessageField number for the "track" field. - public const int TrackFieldNumber = 1; - private global::LiveKit.Proto.TrackInfo track_; + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackInfo Track { - get { return track_; } + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } set { - track_ = value; + _hasBits0 |= 1; + asyncId_ = value; } } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as CreateAudioTrackResponse); + return Equals(other as GetStatsResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(CreateAudioTrackResponse other) { + public bool Equals(GetStatsResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Track, other.Track)) return false; + if (AsyncId != other.AsyncId) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1402,7 +1403,7 @@ public bool Equals(CreateAudioTrackResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (track_ != null) hash ^= Track.GetHashCode(); + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1421,9 +1422,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (track_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Track); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1435,9 +1436,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (track_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Track); + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1449,8 +1450,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (track_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Track); + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1460,15 +1461,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(CreateAudioTrackResponse other) { + public void MergeFrom(GetStatsResponse other) { if (other == null) { return; } - if (other.track_ != null) { - if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); - } - Track.MergeFrom(other.Track); + if (other.HasAsyncId) { + AsyncId = other.AsyncId; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1481,15 +1479,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); - } - input.ReadMessage(Track); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -1503,15 +1502,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (track_ == null) { - Track = new global::LiveKit.Proto.TrackInfo(); - } - input.ReadMessage(Track); + case 8: { + AsyncId = input.ReadUInt64(); break; } } @@ -1521,16 +1521,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackEvent : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class GetStatsCallback : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackEvent()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetStatsCallback()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1546,7 +1548,7 @@ public sealed partial class TrackEvent : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackEvent() { + public GetStatsCallback() { OnConstruction(); } @@ -1554,31 +1556,102 @@ public TrackEvent() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackEvent(TrackEvent other) : this() { + public GetStatsCallback(GetStatsCallback other) : this() { + _hasBits0 = other._hasBits0; + asyncId_ = other.asyncId_; + error_ = other.error_; + stats_ = other.stats_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackEvent Clone() { - return new TrackEvent(this); + public GetStatsCallback Clone() { + return new GetStatsCallback(this); + } + + /// Field number for the "async_id" field. + public const int AsyncIdFieldNumber = 1; + private readonly static ulong AsyncIdDefaultValue = 0UL; + + private ulong asyncId_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong AsyncId { + get { if ((_hasBits0 & 1) != 0) { return asyncId_; } else { return AsyncIdDefaultValue; } } + set { + _hasBits0 |= 1; + asyncId_ = value; + } + } + /// Gets whether the "async_id" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAsyncId { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "async_id" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAsyncId() { + _hasBits0 &= ~1; + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 2; + private readonly static string ErrorDefaultValue = ""; + + private string error_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return error_ ?? ErrorDefaultValue; } + set { + error_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return error_ != null; } + } + /// Clears the value of the "error" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + error_ = null; + } + + /// Field number for the "stats" field. + public const int StatsFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_stats_codec + = pb::FieldCodec.ForMessage(26, global::LiveKit.Proto.RtcStats.Parser); + private readonly pbc::RepeatedField stats_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Stats { + get { return stats_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackEvent); + return Equals(other as GetStatsCallback); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackEvent other) { + public bool Equals(GetStatsCallback other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (AsyncId != other.AsyncId) return false; + if (Error != other.Error) return false; + if(!stats_.Equals(other.stats_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1586,6 +1659,9 @@ public bool Equals(TrackEvent other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (HasAsyncId) hash ^= AsyncId.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + hash ^= stats_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1604,6 +1680,15 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + stats_.WriteTo(output, _repeated_stats_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1614,6 +1699,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasAsyncId) { + output.WriteRawTag(8); + output.WriteUInt64(AsyncId); + } + if (HasError) { + output.WriteRawTag(18); + output.WriteString(Error); + } + stats_.WriteTo(ref output, _repeated_stats_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1624,6 +1718,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (HasAsyncId) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId); + } + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + size += stats_.CalculateSize(_repeated_stats_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1632,10 +1733,17 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackEvent other) { + public void MergeFrom(GetStatsCallback other) { if (other == null) { return; } + if (other.HasAsyncId) { + AsyncId = other.AsyncId; + } + if (other.HasError) { + Error = other.Error; + } + stats_.Add(other.stats_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1647,10 +1755,26 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + case 26: { + stats_.AddEntriesFrom(input, _repeated_stats_codec); + break; + } } } #endif @@ -1662,10 +1786,26 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 8: { + AsyncId = input.ReadUInt64(); + break; + } + case 18: { + Error = input.ReadString(); + break; + } + case 26: { + stats_.AddEntriesFrom(ref input, _repeated_stats_codec); + break; + } } } } @@ -1673,16 +1813,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackPublicationInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackPublicationInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackEvent()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1698,7 +1839,7 @@ public sealed partial class TrackPublicationInfo : pb::IMessageField number for the "sid" field. - public const int SidFieldNumber = 1; - private string sid_ = ""; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Sid { - get { return sid_; } - set { - sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + public override bool Equals(object other) { + return Equals(other as TrackEvent); } - /// Field number for the "name" field. - public const int NameFieldNumber = 2; - private string name_ = ""; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + public bool Equals(TrackEvent other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; } + return Equals(_unknownFields, other._unknownFields); } - /// Field number for the "kind" field. - public const int KindFieldNumber = 3; - private global::LiveKit.Proto.TrackKind kind_ = global::LiveKit.Proto.TrackKind.KindUnknown; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackKind Kind { - get { return kind_; } - set { - kind_ = value; + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); } + return hash; } - /// Field number for the "source" field. - public const int SourceFieldNumber = 4; - private global::LiveKit.Proto.TrackSource source_ = global::LiveKit.Proto.TrackSource.SourceUnknown; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackSource Source { - get { return source_; } - set { - source_ = value; - } + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); } - /// Field number for the "simulcasted" field. - public const int SimulcastedFieldNumber = 5; - private bool simulcasted_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Simulcasted { - get { return simulcasted_; } - set { - simulcasted_ = value; - } - } + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackEvent other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackPublicationInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackPublicationInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[8]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublicationInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublicationInfo(TrackPublicationInfo other) : this() { + _hasBits0 = other._hasBits0; + sid_ = other.sid_; + name_ = other.name_; + kind_ = other.kind_; + source_ = other.source_; + simulcasted_ = other.simulcasted_; + width_ = other.width_; + height_ = other.height_; + mimeType_ = other.mimeType_; + muted_ = other.muted_; + remote_ = other.remote_; + encryptionType_ = other.encryptionType_; + audioFeatures_ = other.audioFeatures_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackPublicationInfo Clone() { + return new TrackPublicationInfo(this); + } + + /// Field number for the "sid" field. + public const int SidFieldNumber = 1; + private readonly static string SidDefaultValue = ""; + + private string sid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Sid { + get { return sid_ ?? SidDefaultValue; } + set { + sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSid { + get { return sid_ != null; } + } + /// Clears the value of the "sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSid() { + sid_ = null; + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 2; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 3; + private readonly static global::LiveKit.Proto.TrackKind KindDefaultValue = global::LiveKit.Proto.TrackKind.KindUnknown; + + private global::LiveKit.Proto.TrackKind kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackKind Kind { + get { if ((_hasBits0 & 1) != 0) { return kind_; } else { return KindDefaultValue; } } + set { + _hasBits0 |= 1; + kind_ = value; + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + _hasBits0 &= ~1; + } + + /// Field number for the "source" field. + public const int SourceFieldNumber = 4; + private readonly static global::LiveKit.Proto.TrackSource SourceDefaultValue = global::LiveKit.Proto.TrackSource.SourceUnknown; + + private global::LiveKit.Proto.TrackSource source_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackSource Source { + get { if ((_hasBits0 & 2) != 0) { return source_; } else { return SourceDefaultValue; } } + set { + _hasBits0 |= 2; + source_ = value; + } + } + /// Gets whether the "source" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSource { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "source" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSource() { + _hasBits0 &= ~2; + } + + /// Field number for the "simulcasted" field. + public const int SimulcastedFieldNumber = 5; + private readonly static bool SimulcastedDefaultValue = false; + + private bool simulcasted_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Simulcasted { + get { if ((_hasBits0 & 4) != 0) { return simulcasted_; } else { return SimulcastedDefaultValue; } } + set { + _hasBits0 |= 4; + simulcasted_ = value; + } + } + /// Gets whether the "simulcasted" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSimulcasted { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "simulcasted" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSimulcasted() { + _hasBits0 &= ~4; + } + + /// Field number for the "width" field. + public const int WidthFieldNumber = 6; + private readonly static uint WidthDefaultValue = 0; + + private uint width_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Width { + get { if ((_hasBits0 & 8) != 0) { return width_; } else { return WidthDefaultValue; } } + set { + _hasBits0 |= 8; + width_ = value; + } + } + /// Gets whether the "width" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasWidth { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "width" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearWidth() { + _hasBits0 &= ~8; + } + + /// Field number for the "height" field. + public const int HeightFieldNumber = 7; + private readonly static uint HeightDefaultValue = 0; + + private uint height_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Height { + get { if ((_hasBits0 & 16) != 0) { return height_; } else { return HeightDefaultValue; } } + set { + _hasBits0 |= 16; + height_ = value; + } + } + /// Gets whether the "height" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHeight { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "height" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHeight() { + _hasBits0 &= ~16; + } + + /// Field number for the "mime_type" field. + public const int MimeTypeFieldNumber = 8; + private readonly static string MimeTypeDefaultValue = ""; + + private string mimeType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string MimeType { + get { return mimeType_ ?? MimeTypeDefaultValue; } + set { + mimeType_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "mime_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMimeType { + get { return mimeType_ != null; } + } + /// Clears the value of the "mime_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMimeType() { + mimeType_ = null; + } + + /// Field number for the "muted" field. + public const int MutedFieldNumber = 9; + private readonly static bool MutedDefaultValue = false; + + private bool muted_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Muted { + get { if ((_hasBits0 & 32) != 0) { return muted_; } else { return MutedDefaultValue; } } + set { + _hasBits0 |= 32; + muted_ = value; + } + } + /// Gets whether the "muted" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMuted { + get { return (_hasBits0 & 32) != 0; } + } + /// Clears the value of the "muted" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMuted() { + _hasBits0 &= ~32; + } + + /// Field number for the "remote" field. + public const int RemoteFieldNumber = 10; + private readonly static bool RemoteDefaultValue = false; + + private bool remote_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Remote { + get { if ((_hasBits0 & 64) != 0) { return remote_; } else { return RemoteDefaultValue; } } + set { + _hasBits0 |= 64; + remote_ = value; + } + } + /// Gets whether the "remote" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemote { + get { return (_hasBits0 & 64) != 0; } + } + /// Clears the value of the "remote" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemote() { + _hasBits0 &= ~64; + } + + /// Field number for the "encryption_type" field. + public const int EncryptionTypeFieldNumber = 11; + private readonly static global::LiveKit.Proto.EncryptionType EncryptionTypeDefaultValue = global::LiveKit.Proto.EncryptionType.None; + + private global::LiveKit.Proto.EncryptionType encryptionType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.EncryptionType EncryptionType { + get { if ((_hasBits0 & 128) != 0) { return encryptionType_; } else { return EncryptionTypeDefaultValue; } } + set { + _hasBits0 |= 128; + encryptionType_ = value; + } + } + /// Gets whether the "encryption_type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEncryptionType { + get { return (_hasBits0 & 128) != 0; } + } + /// Clears the value of the "encryption_type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEncryptionType() { + _hasBits0 &= ~128; + } + + /// Field number for the "audio_features" field. + public const int AudioFeaturesFieldNumber = 12; + private static readonly pb::FieldCodec _repeated_audioFeatures_codec + = pb::FieldCodec.ForEnum(96, x => (int) x, x => (global::LiveKit.Proto.AudioTrackFeature) x); + private readonly pbc::RepeatedField audioFeatures_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField AudioFeatures { + get { return audioFeatures_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackPublicationInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackPublicationInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Sid != other.Sid) return false; + if (Name != other.Name) return false; + if (Kind != other.Kind) return false; + if (Source != other.Source) return false; + if (Simulcasted != other.Simulcasted) return false; + if (Width != other.Width) return false; + if (Height != other.Height) return false; + if (MimeType != other.MimeType) return false; + if (Muted != other.Muted) return false; + if (Remote != other.Remote) return false; + if (EncryptionType != other.EncryptionType) return false; + if(!audioFeatures_.Equals(other.audioFeatures_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSid) hash ^= Sid.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasKind) hash ^= Kind.GetHashCode(); + if (HasSource) hash ^= Source.GetHashCode(); + if (HasSimulcasted) hash ^= Simulcasted.GetHashCode(); + if (HasWidth) hash ^= Width.GetHashCode(); + if (HasHeight) hash ^= Height.GetHashCode(); + if (HasMimeType) hash ^= MimeType.GetHashCode(); + if (HasMuted) hash ^= Muted.GetHashCode(); + if (HasRemote) hash ^= Remote.GetHashCode(); + if (HasEncryptionType) hash ^= EncryptionType.GetHashCode(); + hash ^= audioFeatures_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (HasKind) { + output.WriteRawTag(24); + output.WriteEnum((int) Kind); + } + if (HasSource) { + output.WriteRawTag(32); + output.WriteEnum((int) Source); + } + if (HasSimulcasted) { + output.WriteRawTag(40); + output.WriteBool(Simulcasted); + } + if (HasWidth) { + output.WriteRawTag(48); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(56); + output.WriteUInt32(Height); + } + if (HasMimeType) { + output.WriteRawTag(66); + output.WriteString(MimeType); + } + if (HasMuted) { + output.WriteRawTag(72); + output.WriteBool(Muted); + } + if (HasRemote) { + output.WriteRawTag(80); + output.WriteBool(Remote); + } + if (HasEncryptionType) { + output.WriteRawTag(88); + output.WriteEnum((int) EncryptionType); + } + audioFeatures_.WriteTo(output, _repeated_audioFeatures_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (HasKind) { + output.WriteRawTag(24); + output.WriteEnum((int) Kind); + } + if (HasSource) { + output.WriteRawTag(32); + output.WriteEnum((int) Source); + } + if (HasSimulcasted) { + output.WriteRawTag(40); + output.WriteBool(Simulcasted); + } + if (HasWidth) { + output.WriteRawTag(48); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(56); + output.WriteUInt32(Height); + } + if (HasMimeType) { + output.WriteRawTag(66); + output.WriteString(MimeType); + } + if (HasMuted) { + output.WriteRawTag(72); + output.WriteBool(Muted); + } + if (HasRemote) { + output.WriteRawTag(80); + output.WriteBool(Remote); + } + if (HasEncryptionType) { + output.WriteRawTag(88); + output.WriteEnum((int) EncryptionType); + } + audioFeatures_.WriteTo(ref output, _repeated_audioFeatures_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); + } + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); + } + if (HasSource) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Source); + } + if (HasSimulcasted) { + size += 1 + 1; + } + if (HasWidth) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); + } + if (HasHeight) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); + } + if (HasMimeType) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(MimeType); + } + if (HasMuted) { + size += 1 + 1; + } + if (HasRemote) { + size += 1 + 1; + } + if (HasEncryptionType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EncryptionType); + } + size += audioFeatures_.CalculateSize(_repeated_audioFeatures_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackPublicationInfo other) { + if (other == null) { + return; + } + if (other.HasSid) { + Sid = other.Sid; + } + if (other.HasName) { + Name = other.Name; + } + if (other.HasKind) { + Kind = other.Kind; + } + if (other.HasSource) { + Source = other.Source; + } + if (other.HasSimulcasted) { + Simulcasted = other.Simulcasted; + } + if (other.HasWidth) { + Width = other.Width; + } + if (other.HasHeight) { + Height = other.Height; + } + if (other.HasMimeType) { + MimeType = other.MimeType; + } + if (other.HasMuted) { + Muted = other.Muted; + } + if (other.HasRemote) { + Remote = other.Remote; + } + if (other.HasEncryptionType) { + EncryptionType = other.EncryptionType; + } + audioFeatures_.Add(other.audioFeatures_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + case 24: { + Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); + break; + } + case 32: { + Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); + break; + } + case 40: { + Simulcasted = input.ReadBool(); + break; + } + case 48: { + Width = input.ReadUInt32(); + break; + } + case 56: { + Height = input.ReadUInt32(); + break; + } + case 66: { + MimeType = input.ReadString(); + break; + } + case 72: { + Muted = input.ReadBool(); + break; + } + case 80: { + Remote = input.ReadBool(); + break; + } + case 88: { + EncryptionType = (global::LiveKit.Proto.EncryptionType) input.ReadEnum(); + break; + } + case 98: + case 96: { + audioFeatures_.AddEntriesFrom(input, _repeated_audioFeatures_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + case 24: { + Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); + break; + } + case 32: { + Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); + break; + } + case 40: { + Simulcasted = input.ReadBool(); + break; + } + case 48: { + Width = input.ReadUInt32(); + break; + } + case 56: { + Height = input.ReadUInt32(); + break; + } + case 66: { + MimeType = input.ReadString(); + break; + } + case 72: { + Muted = input.ReadBool(); + break; + } + case 80: { + Remote = input.ReadBool(); + break; + } + case 88: { + EncryptionType = (global::LiveKit.Proto.EncryptionType) input.ReadEnum(); + break; + } + case 98: + case 96: { + audioFeatures_.AddEntriesFrom(ref input, _repeated_audioFeatures_codec); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedTrackPublication : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedTrackPublication()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[9]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTrackPublication() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTrackPublication(OwnedTrackPublication other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTrackPublication Clone() { + return new OwnedTrackPublication(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.TrackPublicationInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackPublicationInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedTrackPublication); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedTrackPublication other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedTrackPublication other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.TrackPublicationInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TrackPublicationInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TrackPublicationInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class TrackInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[10]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackInfo(TrackInfo other) : this() { + _hasBits0 = other._hasBits0; + sid_ = other.sid_; + name_ = other.name_; + kind_ = other.kind_; + streamState_ = other.streamState_; + muted_ = other.muted_; + remote_ = other.remote_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public TrackInfo Clone() { + return new TrackInfo(this); + } + + /// Field number for the "sid" field. + public const int SidFieldNumber = 1; + private readonly static string SidDefaultValue = ""; + + private string sid_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Sid { + get { return sid_ ?? SidDefaultValue; } + set { + sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "sid" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSid { + get { return sid_ != null; } + } + /// Clears the value of the "sid" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSid() { + sid_ = null; + } + + /// Field number for the "name" field. + public const int NameFieldNumber = 2; + private readonly static string NameDefaultValue = ""; + + private string name_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Name { + get { return name_ ?? NameDefaultValue; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Gets whether the "name" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasName { + get { return name_ != null; } + } + /// Clears the value of the "name" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearName() { + name_ = null; + } + + /// Field number for the "kind" field. + public const int KindFieldNumber = 3; + private readonly static global::LiveKit.Proto.TrackKind KindDefaultValue = global::LiveKit.Proto.TrackKind.KindUnknown; + + private global::LiveKit.Proto.TrackKind kind_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackKind Kind { + get { if ((_hasBits0 & 1) != 0) { return kind_; } else { return KindDefaultValue; } } + set { + _hasBits0 |= 1; + kind_ = value; + } + } + /// Gets whether the "kind" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasKind { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "kind" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearKind() { + _hasBits0 &= ~1; + } + + /// Field number for the "stream_state" field. + public const int StreamStateFieldNumber = 4; + private readonly static global::LiveKit.Proto.StreamState StreamStateDefaultValue = global::LiveKit.Proto.StreamState.StateUnknown; + + private global::LiveKit.Proto.StreamState streamState_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.StreamState StreamState { + get { if ((_hasBits0 & 2) != 0) { return streamState_; } else { return StreamStateDefaultValue; } } + set { + _hasBits0 |= 2; + streamState_ = value; + } + } + /// Gets whether the "stream_state" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStreamState { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "stream_state" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamState() { + _hasBits0 &= ~2; + } + + /// Field number for the "muted" field. + public const int MutedFieldNumber = 5; + private readonly static bool MutedDefaultValue = false; + + private bool muted_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Muted { + get { if ((_hasBits0 & 4) != 0) { return muted_; } else { return MutedDefaultValue; } } + set { + _hasBits0 |= 4; + muted_ = value; + } + } + /// Gets whether the "muted" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMuted { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "muted" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMuted() { + _hasBits0 &= ~4; + } + + /// Field number for the "remote" field. + public const int RemoteFieldNumber = 6; + private readonly static bool RemoteDefaultValue = false; + + private bool remote_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Remote { + get { if ((_hasBits0 & 8) != 0) { return remote_; } else { return RemoteDefaultValue; } } + set { + _hasBits0 |= 8; + remote_ = value; + } + } + /// Gets whether the "remote" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRemote { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "remote" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRemote() { + _hasBits0 &= ~8; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as TrackInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(TrackInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Sid != other.Sid) return false; + if (Name != other.Name) return false; + if (Kind != other.Kind) return false; + if (StreamState != other.StreamState) return false; + if (Muted != other.Muted) return false; + if (Remote != other.Remote) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasSid) hash ^= Sid.GetHashCode(); + if (HasName) hash ^= Name.GetHashCode(); + if (HasKind) hash ^= Kind.GetHashCode(); + if (HasStreamState) hash ^= StreamState.GetHashCode(); + if (HasMuted) hash ^= Muted.GetHashCode(); + if (HasRemote) hash ^= Remote.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (HasKind) { + output.WriteRawTag(24); + output.WriteEnum((int) Kind); + } + if (HasStreamState) { + output.WriteRawTag(32); + output.WriteEnum((int) StreamState); + } + if (HasMuted) { + output.WriteRawTag(40); + output.WriteBool(Muted); + } + if (HasRemote) { + output.WriteRawTag(48); + output.WriteBool(Remote); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasSid) { + output.WriteRawTag(10); + output.WriteString(Sid); + } + if (HasName) { + output.WriteRawTag(18); + output.WriteString(Name); + } + if (HasKind) { + output.WriteRawTag(24); + output.WriteEnum((int) Kind); + } + if (HasStreamState) { + output.WriteRawTag(32); + output.WriteEnum((int) StreamState); + } + if (HasMuted) { + output.WriteRawTag(40); + output.WriteBool(Muted); + } + if (HasRemote) { + output.WriteRawTag(48); + output.WriteBool(Remote); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasSid) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); + } + if (HasName) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (HasKind) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); + } + if (HasStreamState) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StreamState); + } + if (HasMuted) { + size += 1 + 1; + } + if (HasRemote) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(TrackInfo other) { + if (other == null) { + return; + } + if (other.HasSid) { + Sid = other.Sid; + } + if (other.HasName) { + Name = other.Name; + } + if (other.HasKind) { + Kind = other.Kind; + } + if (other.HasStreamState) { + StreamState = other.StreamState; + } + if (other.HasMuted) { + Muted = other.Muted; + } + if (other.HasRemote) { + Remote = other.Remote; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + case 24: { + Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); + break; + } + case 32: { + StreamState = (global::LiveKit.Proto.StreamState) input.ReadEnum(); + break; + } + case 40: { + Muted = input.ReadBool(); + break; + } + case 48: { + Remote = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + Sid = input.ReadString(); + break; + } + case 18: { + Name = input.ReadString(); + break; + } + case 24: { + Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); + break; + } + case 32: { + StreamState = (global::LiveKit.Proto.StreamState) input.ReadEnum(); + break; + } + case 40: { + Muted = input.ReadBool(); + break; + } + case 48: { + Remote = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedTrack : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedTrack()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[11]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTrack() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTrack(OwnedTrack other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public OwnedTrack Clone() { + return new OwnedTrack(this); + } + + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } + set { + handle_ = value; + } + } + + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.TrackInfo info_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.TrackInfo Info { + get { return info_; } + set { + info_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as OwnedTrack); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(OwnedTrack other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); + } + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + } + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(OwnedTrack other) { + if (other == null) { + return; + } + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); + } + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.TrackInfo(); + } + Info.MergeFrom(other.Info); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TrackInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); + break; + } + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.TrackInfo(); + } + input.ReadMessage(Info); + break; + } + } + } + } + #endif + + } + + /// + /// Mute/UnMute a track + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LocalTrackMuteRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalTrackMuteRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[12]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackMuteRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackMuteRequest(LocalTrackMuteRequest other) : this() { + _hasBits0 = other._hasBits0; + trackHandle_ = other.trackHandle_; + mute_ = other.mute_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackMuteRequest Clone() { + return new LocalTrackMuteRequest(this); + } + + /// Field number for the "track_handle" field. + public const int TrackHandleFieldNumber = 1; + private readonly static ulong TrackHandleDefaultValue = 0UL; + + private ulong trackHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TrackHandle { + get { if ((_hasBits0 & 1) != 0) { return trackHandle_; } else { return TrackHandleDefaultValue; } } + set { + _hasBits0 |= 1; + trackHandle_ = value; + } + } + /// Gets whether the "track_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "track_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "mute" field. + public const int MuteFieldNumber = 2; + private readonly static bool MuteDefaultValue = false; + + private bool mute_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Mute { + get { if ((_hasBits0 & 2) != 0) { return mute_; } else { return MuteDefaultValue; } } + set { + _hasBits0 |= 2; + mute_ = value; + } + } + /// Gets whether the "mute" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMute { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "mute" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMute() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as LocalTrackMuteRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(LocalTrackMuteRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackHandle != other.TrackHandle) return false; + if (Mute != other.Mute) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackHandle) hash ^= TrackHandle.GetHashCode(); + if (HasMute) hash ^= Mute.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackHandle); + } + if (HasMute) { + output.WriteRawTag(16); + output.WriteBool(Mute); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackHandle); + } + if (HasMute) { + output.WriteRawTag(16); + output.WriteBool(Mute); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle); + } + if (HasMute) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(LocalTrackMuteRequest other) { + if (other == null) { + return; + } + if (other.HasTrackHandle) { + TrackHandle = other.TrackHandle; + } + if (other.HasMute) { + Mute = other.Mute; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + TrackHandle = input.ReadUInt64(); + break; + } + case 16: { + Mute = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + TrackHandle = input.ReadUInt64(); + break; + } + case 16: { + Mute = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class LocalTrackMuteResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalTrackMuteResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[13]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackMuteResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackMuteResponse(LocalTrackMuteResponse other) : this() { + _hasBits0 = other._hasBits0; + muted_ = other.muted_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public LocalTrackMuteResponse Clone() { + return new LocalTrackMuteResponse(this); + } + + /// Field number for the "muted" field. + public const int MutedFieldNumber = 1; + private readonly static bool MutedDefaultValue = false; + + private bool muted_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Muted { + get { if ((_hasBits0 & 1) != 0) { return muted_; } else { return MutedDefaultValue; } } + set { + _hasBits0 |= 1; + muted_ = value; + } + } + /// Gets whether the "muted" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasMuted { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "muted" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMuted() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as LocalTrackMuteResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(LocalTrackMuteResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Muted != other.Muted) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasMuted) hash ^= Muted.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasMuted) { + output.WriteRawTag(8); + output.WriteBool(Muted); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasMuted) { + output.WriteRawTag(8); + output.WriteBool(Muted); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasMuted) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(LocalTrackMuteResponse other) { + if (other == null) { + return; + } + if (other.HasMuted) { + Muted = other.Muted; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Muted = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Muted = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + /// + /// Enable/Disable a remote track + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class EnableRemoteTrackRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EnableRemoteTrackRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[14]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackRequest(EnableRemoteTrackRequest other) : this() { + _hasBits0 = other._hasBits0; + trackHandle_ = other.trackHandle_; + enabled_ = other.enabled_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackRequest Clone() { + return new EnableRemoteTrackRequest(this); + } + + /// Field number for the "track_handle" field. + public const int TrackHandleFieldNumber = 1; + private readonly static ulong TrackHandleDefaultValue = 0UL; + + private ulong trackHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TrackHandle { + get { if ((_hasBits0 & 1) != 0) { return trackHandle_; } else { return TrackHandleDefaultValue; } } + set { + _hasBits0 |= 1; + trackHandle_ = value; + } + } + /// Gets whether the "track_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "track_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "enabled" field. + public const int EnabledFieldNumber = 2; + private readonly static bool EnabledDefaultValue = false; + + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Enabled { + get { if ((_hasBits0 & 2) != 0) { return enabled_; } else { return EnabledDefaultValue; } } + set { + _hasBits0 |= 2; + enabled_ = value; + } + } + /// Gets whether the "enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEnabled { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEnabled() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as EnableRemoteTrackRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(EnableRemoteTrackRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackHandle != other.TrackHandle) return false; + if (Enabled != other.Enabled) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackHandle) hash ^= TrackHandle.GetHashCode(); + if (HasEnabled) hash ^= Enabled.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackHandle); + } + if (HasEnabled) { + output.WriteRawTag(16); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackHandle); + } + if (HasEnabled) { + output.WriteRawTag(16); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle); + } + if (HasEnabled) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(EnableRemoteTrackRequest other) { + if (other == null) { + return; + } + if (other.HasTrackHandle) { + TrackHandle = other.TrackHandle; + } + if (other.HasEnabled) { + Enabled = other.Enabled; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + TrackHandle = input.ReadUInt64(); + break; + } + case 16: { + Enabled = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + TrackHandle = input.ReadUInt64(); + break; + } + case 16: { + Enabled = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class EnableRemoteTrackResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EnableRemoteTrackResponse()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[15]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackResponse(EnableRemoteTrackResponse other) : this() { + _hasBits0 = other._hasBits0; + enabled_ = other.enabled_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackResponse Clone() { + return new EnableRemoteTrackResponse(this); + } + + /// Field number for the "enabled" field. + public const int EnabledFieldNumber = 1; + private readonly static bool EnabledDefaultValue = false; + + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Enabled { + get { if ((_hasBits0 & 1) != 0) { return enabled_; } else { return EnabledDefaultValue; } } + set { + _hasBits0 |= 1; + enabled_ = value; + } + } + /// Gets whether the "enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEnabled { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEnabled() { + _hasBits0 &= ~1; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as EnableRemoteTrackResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(EnableRemoteTrackResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (Enabled != other.Enabled) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasEnabled) hash ^= Enabled.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasEnabled) { + output.WriteRawTag(8); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasEnabled) { + output.WriteRawTag(8); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasEnabled) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(EnableRemoteTrackResponse other) { + if (other == null) { + return; + } + if (other.HasEnabled) { + Enabled = other.Enabled; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + Enabled = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + Enabled = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetTrackSubscriptionPermissionsRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetTrackSubscriptionPermissionsRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[16]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetTrackSubscriptionPermissionsRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetTrackSubscriptionPermissionsRequest(SetTrackSubscriptionPermissionsRequest other) : this() { + _hasBits0 = other._hasBits0; + localParticipantHandle_ = other.localParticipantHandle_; + allParticipantsAllowed_ = other.allParticipantsAllowed_; + permissions_ = other.permissions_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public SetTrackSubscriptionPermissionsRequest Clone() { + return new SetTrackSubscriptionPermissionsRequest(this); + } + + /// Field number for the "local_participant_handle" field. + public const int LocalParticipantHandleFieldNumber = 1; + private readonly static ulong LocalParticipantHandleDefaultValue = 0UL; + + private ulong localParticipantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong LocalParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return localParticipantHandle_; } else { return LocalParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + localParticipantHandle_ = value; + } + } + /// Gets whether the "local_participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasLocalParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "local_participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearLocalParticipantHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "all_participants_allowed" field. + public const int AllParticipantsAllowedFieldNumber = 2; + private readonly static bool AllParticipantsAllowedDefaultValue = false; + + private bool allParticipantsAllowed_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool AllParticipantsAllowed { + get { if ((_hasBits0 & 2) != 0) { return allParticipantsAllowed_; } else { return AllParticipantsAllowedDefaultValue; } } + set { + _hasBits0 |= 2; + allParticipantsAllowed_ = value; + } + } + /// Gets whether the "all_participants_allowed" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAllParticipantsAllowed { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "all_participants_allowed" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAllParticipantsAllowed() { + _hasBits0 &= ~2; + } + + /// Field number for the "permissions" field. + public const int PermissionsFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_permissions_codec + = pb::FieldCodec.ForMessage(26, global::LiveKit.Proto.ParticipantTrackPermission.Parser); + private readonly pbc::RepeatedField permissions_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Permissions { + get { return permissions_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as SetTrackSubscriptionPermissionsRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(SetTrackSubscriptionPermissionsRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LocalParticipantHandle != other.LocalParticipantHandle) return false; + if (AllParticipantsAllowed != other.AllParticipantsAllowed) return false; + if(!permissions_.Equals(other.permissions_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode(); + if (HasAllParticipantsAllowed) hash ^= AllParticipantsAllowed.GetHashCode(); + hash ^= permissions_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasAllParticipantsAllowed) { + output.WriteRawTag(16); + output.WriteBool(AllParticipantsAllowed); + } + permissions_.WriteTo(output, _repeated_permissions_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasLocalParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(LocalParticipantHandle); + } + if (HasAllParticipantsAllowed) { + output.WriteRawTag(16); + output.WriteBool(AllParticipantsAllowed); + } + permissions_.WriteTo(ref output, _repeated_permissions_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasLocalParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle); + } + if (HasAllParticipantsAllowed) { + size += 1 + 1; + } + size += permissions_.CalculateSize(_repeated_permissions_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(SetTrackSubscriptionPermissionsRequest other) { + if (other == null) { + return; + } + if (other.HasLocalParticipantHandle) { + LocalParticipantHandle = other.LocalParticipantHandle; + } + if (other.HasAllParticipantsAllowed) { + AllParticipantsAllowed = other.AllParticipantsAllowed; + } + permissions_.Add(other.permissions_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + AllParticipantsAllowed = input.ReadBool(); + break; + } + case 26: { + permissions_.AddEntriesFrom(input, _repeated_permissions_codec); + break; + } + } + } + #endif + } - /// Field number for the "width" field. - public const int WidthFieldNumber = 6; - private uint width_; + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Width { - get { return width_; } - set { - width_ = value; + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + LocalParticipantHandle = input.ReadUInt64(); + break; + } + case 16: { + AllParticipantsAllowed = input.ReadBool(); + break; + } + case 26: { + permissions_.AddEntriesFrom(ref input, _repeated_permissions_codec); + break; + } + } } } + #endif - /// Field number for the "height" field. - public const int HeightFieldNumber = 7; - private uint height_; + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ParticipantTrackPermission : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantTrackPermission()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Height { - get { return height_; } - set { - height_ = value; - } + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[17]; } } - /// Field number for the "mime_type" field. - public const int MimeTypeFieldNumber = 8; - private string mimeType_ = ""; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string MimeType { - get { return mimeType_; } - set { - mimeType_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } } - /// Field number for the "muted" field. - public const int MutedFieldNumber = 9; - private bool muted_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Muted { - get { return muted_; } + public ParticipantTrackPermission() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantTrackPermission(ParticipantTrackPermission other) : this() { + _hasBits0 = other._hasBits0; + participantIdentity_ = other.participantIdentity_; + allowAll_ = other.allowAll_; + allowedTrackSids_ = other.allowedTrackSids_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ParticipantTrackPermission Clone() { + return new ParticipantTrackPermission(this); + } + + /// Field number for the "participant_identity" field. + public const int ParticipantIdentityFieldNumber = 1; + private readonly static string ParticipantIdentityDefaultValue = ""; + + private string participantIdentity_; + /// + /// The participant identity this permission applies to. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ParticipantIdentity { + get { return participantIdentity_ ?? ParticipantIdentityDefaultValue; } set { - muted_ = value; + participantIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); } } + /// Gets whether the "participant_identity" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantIdentity { + get { return participantIdentity_ != null; } + } + /// Clears the value of the "participant_identity" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantIdentity() { + participantIdentity_ = null; + } - /// Field number for the "remote" field. - public const int RemoteFieldNumber = 10; - private bool remote_; + /// Field number for the "allow_all" field. + public const int AllowAllFieldNumber = 2; + private readonly static bool AllowAllDefaultValue = false; + + private bool allowAll_; + /// + /// Grant permission to all all tracks. Takes precedence over allowedTrackSids. + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Remote { - get { return remote_; } + public bool AllowAll { + get { if ((_hasBits0 & 1) != 0) { return allowAll_; } else { return AllowAllDefaultValue; } } set { - remote_ = value; + _hasBits0 |= 1; + allowAll_ = value; } } + /// Gets whether the "allow_all" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasAllowAll { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "allow_all" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearAllowAll() { + _hasBits0 &= ~1; + } + + /// Field number for the "allowed_track_sids" field. + public const int AllowedTrackSidsFieldNumber = 3; + private static readonly pb::FieldCodec _repeated_allowedTrackSids_codec + = pb::FieldCodec.ForString(26); + private readonly pbc::RepeatedField allowedTrackSids_ = new pbc::RepeatedField(); + /// + /// List of track sids to grant permission to. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField AllowedTrackSids { + get { return allowedTrackSids_; } + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackPublicationInfo); + return Equals(other as ParticipantTrackPermission); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackPublicationInfo other) { + public bool Equals(ParticipantTrackPermission other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Sid != other.Sid) return false; - if (Name != other.Name) return false; - if (Kind != other.Kind) return false; - if (Source != other.Source) return false; - if (Simulcasted != other.Simulcasted) return false; - if (Width != other.Width) return false; - if (Height != other.Height) return false; - if (MimeType != other.MimeType) return false; - if (Muted != other.Muted) return false; - if (Remote != other.Remote) return false; + if (ParticipantIdentity != other.ParticipantIdentity) return false; + if (AllowAll != other.AllowAll) return false; + if(!allowedTrackSids_.Equals(other.allowedTrackSids_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1878,16 +5123,9 @@ public bool Equals(TrackPublicationInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Sid.Length != 0) hash ^= Sid.GetHashCode(); - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) hash ^= Kind.GetHashCode(); - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) hash ^= Source.GetHashCode(); - if (Simulcasted != false) hash ^= Simulcasted.GetHashCode(); - if (Width != 0) hash ^= Width.GetHashCode(); - if (Height != 0) hash ^= Height.GetHashCode(); - if (MimeType.Length != 0) hash ^= MimeType.GetHashCode(); - if (Muted != false) hash ^= Muted.GetHashCode(); - if (Remote != false) hash ^= Remote.GetHashCode(); + if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode(); + if (HasAllowAll) hash ^= AllowAll.GetHashCode(); + hash ^= allowedTrackSids_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1906,46 +5144,15 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Sid.Length != 0) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteString(Sid); - } - if (Name.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Name); - } - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - output.WriteRawTag(24); - output.WriteEnum((int) Kind); - } - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - output.WriteRawTag(32); - output.WriteEnum((int) Source); - } - if (Simulcasted != false) { - output.WriteRawTag(40); - output.WriteBool(Simulcasted); - } - if (Width != 0) { - output.WriteRawTag(48); - output.WriteUInt32(Width); - } - if (Height != 0) { - output.WriteRawTag(56); - output.WriteUInt32(Height); - } - if (MimeType.Length != 0) { - output.WriteRawTag(66); - output.WriteString(MimeType); - } - if (Muted != false) { - output.WriteRawTag(72); - output.WriteBool(Muted); + output.WriteString(ParticipantIdentity); } - if (Remote != false) { - output.WriteRawTag(80); - output.WriteBool(Remote); + if (HasAllowAll) { + output.WriteRawTag(16); + output.WriteBool(AllowAll); } + allowedTrackSids_.WriteTo(output, _repeated_allowedTrackSids_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1956,46 +5163,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Sid.Length != 0) { + if (HasParticipantIdentity) { output.WriteRawTag(10); - output.WriteString(Sid); - } - if (Name.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Name); - } - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - output.WriteRawTag(24); - output.WriteEnum((int) Kind); - } - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - output.WriteRawTag(32); - output.WriteEnum((int) Source); - } - if (Simulcasted != false) { - output.WriteRawTag(40); - output.WriteBool(Simulcasted); - } - if (Width != 0) { - output.WriteRawTag(48); - output.WriteUInt32(Width); + output.WriteString(ParticipantIdentity); } - if (Height != 0) { - output.WriteRawTag(56); - output.WriteUInt32(Height); - } - if (MimeType.Length != 0) { - output.WriteRawTag(66); - output.WriteString(MimeType); - } - if (Muted != false) { - output.WriteRawTag(72); - output.WriteBool(Muted); - } - if (Remote != false) { - output.WriteRawTag(80); - output.WriteBool(Remote); + if (HasAllowAll) { + output.WriteRawTag(16); + output.WriteBool(AllowAll); } + allowedTrackSids_.WriteTo(ref output, _repeated_allowedTrackSids_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2006,36 +5182,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Sid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); - } - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); - } - if (Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Source); - } - if (Simulcasted != false) { - size += 1 + 1; - } - if (Width != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); - } - if (Height != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); - } - if (MimeType.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(MimeType); - } - if (Muted != false) { - size += 1 + 1; + if (HasParticipantIdentity) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity); } - if (Remote != false) { + if (HasAllowAll) { size += 1 + 1; } + size += allowedTrackSids_.CalculateSize(_repeated_allowedTrackSids_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2044,40 +5197,17 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackPublicationInfo other) { + public void MergeFrom(ParticipantTrackPermission other) { if (other == null) { return; } - if (other.Sid.Length != 0) { - Sid = other.Sid; - } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - Kind = other.Kind; - } - if (other.Source != global::LiveKit.Proto.TrackSource.SourceUnknown) { - Source = other.Source; - } - if (other.Simulcasted != false) { - Simulcasted = other.Simulcasted; - } - if (other.Width != 0) { - Width = other.Width; - } - if (other.Height != 0) { - Height = other.Height; - } - if (other.MimeType.Length != 0) { - MimeType = other.MimeType; - } - if (other.Muted != false) { - Muted = other.Muted; + if (other.HasParticipantIdentity) { + ParticipantIdentity = other.ParticipantIdentity; } - if (other.Remote != false) { - Remote = other.Remote; + if (other.HasAllowAll) { + AllowAll = other.AllowAll; } + allowedTrackSids_.Add(other.allowedTrackSids_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2089,48 +5219,24 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - Sid = input.ReadString(); - break; - } - case 18: { - Name = input.ReadString(); - break; - } - case 24: { - Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); - break; - } - case 32: { - Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); - break; - } - case 40: { - Simulcasted = input.ReadBool(); - break; - } - case 48: { - Width = input.ReadUInt32(); - break; - } - case 56: { - Height = input.ReadUInt32(); - break; - } - case 66: { - MimeType = input.ReadString(); + case 10: { + ParticipantIdentity = input.ReadString(); break; } - case 72: { - Muted = input.ReadBool(); + case 16: { + AllowAll = input.ReadBool(); break; } - case 80: { - Remote = input.ReadBool(); + case 26: { + allowedTrackSids_.AddEntriesFrom(input, _repeated_allowedTrackSids_codec); break; } } @@ -2144,48 +5250,24 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - Sid = input.ReadString(); - break; - } - case 18: { - Name = input.ReadString(); - break; - } - case 24: { - Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); - break; - } - case 32: { - Source = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); - break; - } - case 40: { - Simulcasted = input.ReadBool(); - break; - } - case 48: { - Width = input.ReadUInt32(); - break; - } - case 56: { - Height = input.ReadUInt32(); - break; - } - case 66: { - MimeType = input.ReadString(); + ParticipantIdentity = input.ReadString(); break; } - case 72: { - Muted = input.ReadBool(); + case 16: { + AllowAll = input.ReadBool(); break; } - case 80: { - Remote = input.ReadBool(); + case 26: { + allowedTrackSids_.AddEntriesFrom(ref input, _repeated_allowedTrackSids_codec); break; } } @@ -2195,21 +5277,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class TrackInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class SetTrackSubscriptionPermissionsResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TrackInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SetTrackSubscriptionPermissionsResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[8]; } + get { return global::LiveKit.Proto.TrackReflection.Descriptor.MessageTypes[18]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2220,7 +5303,7 @@ public sealed partial class TrackInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackInfo() { + public SetTrackSubscriptionPermissionsResponse() { OnConstruction(); } @@ -2228,132 +5311,31 @@ public TrackInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackInfo(TrackInfo other) : this() { - optHandle_ = other.optHandle_ != null ? other.optHandle_.Clone() : null; - sid_ = other.sid_; - name_ = other.name_; - kind_ = other.kind_; - streamState_ = other.streamState_; - muted_ = other.muted_; - remote_ = other.remote_; + public SetTrackSubscriptionPermissionsResponse(SetTrackSubscriptionPermissionsResponse other) : this() { _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public TrackInfo Clone() { - return new TrackInfo(this); - } - - /// Field number for the "opt_handle" field. - public const int OptHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId optHandle_; - /// - /// Tracks created/owned by the client will have a handle - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId OptHandle { - get { return optHandle_; } - set { - optHandle_ = value; - } - } - - /// Field number for the "sid" field. - public const int SidFieldNumber = 2; - private string sid_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Sid { - get { return sid_; } - set { - sid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "name" field. - public const int NameFieldNumber = 3; - private string name_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string Name { - get { return name_; } - set { - name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "kind" field. - public const int KindFieldNumber = 4; - private global::LiveKit.Proto.TrackKind kind_ = global::LiveKit.Proto.TrackKind.KindUnknown; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.TrackKind Kind { - get { return kind_; } - set { - kind_ = value; - } - } - - /// Field number for the "stream_state" field. - public const int StreamStateFieldNumber = 5; - private global::LiveKit.Proto.StreamState streamState_ = global::LiveKit.Proto.StreamState.StateUnknown; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.StreamState StreamState { - get { return streamState_; } - set { - streamState_ = value; - } - } - - /// Field number for the "muted" field. - public const int MutedFieldNumber = 6; - private bool muted_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Muted { - get { return muted_; } - set { - muted_ = value; - } - } - - /// Field number for the "remote" field. - public const int RemoteFieldNumber = 7; - private bool remote_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Remote { - get { return remote_; } - set { - remote_ = value; - } + public SetTrackSubscriptionPermissionsResponse Clone() { + return new SetTrackSubscriptionPermissionsResponse(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as TrackInfo); + return Equals(other as SetTrackSubscriptionPermissionsResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(TrackInfo other) { + public bool Equals(SetTrackSubscriptionPermissionsResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(OptHandle, other.OptHandle)) return false; - if (Sid != other.Sid) return false; - if (Name != other.Name) return false; - if (Kind != other.Kind) return false; - if (StreamState != other.StreamState) return false; - if (Muted != other.Muted) return false; - if (Remote != other.Remote) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2361,13 +5343,6 @@ public bool Equals(TrackInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (optHandle_ != null) hash ^= OptHandle.GetHashCode(); - if (Sid.Length != 0) hash ^= Sid.GetHashCode(); - if (Name.Length != 0) hash ^= Name.GetHashCode(); - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) hash ^= Kind.GetHashCode(); - if (StreamState != global::LiveKit.Proto.StreamState.StateUnknown) hash ^= StreamState.GetHashCode(); - if (Muted != false) hash ^= Muted.GetHashCode(); - if (Remote != false) hash ^= Remote.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2386,34 +5361,6 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (optHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(OptHandle); - } - if (Sid.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Sid); - } - if (Name.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Name); - } - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - output.WriteRawTag(32); - output.WriteEnum((int) Kind); - } - if (StreamState != global::LiveKit.Proto.StreamState.StateUnknown) { - output.WriteRawTag(40); - output.WriteEnum((int) StreamState); - } - if (Muted != false) { - output.WriteRawTag(48); - output.WriteBool(Muted); - } - if (Remote != false) { - output.WriteRawTag(56); - output.WriteBool(Remote); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -2424,34 +5371,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (optHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(OptHandle); - } - if (Sid.Length != 0) { - output.WriteRawTag(18); - output.WriteString(Sid); - } - if (Name.Length != 0) { - output.WriteRawTag(26); - output.WriteString(Name); - } - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - output.WriteRawTag(32); - output.WriteEnum((int) Kind); - } - if (StreamState != global::LiveKit.Proto.StreamState.StateUnknown) { - output.WriteRawTag(40); - output.WriteEnum((int) StreamState); - } - if (Muted != false) { - output.WriteRawTag(48); - output.WriteBool(Muted); - } - if (Remote != false) { - output.WriteRawTag(56); - output.WriteBool(Remote); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2462,27 +5381,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (optHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(OptHandle); - } - if (Sid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid); - } - if (Name.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); - } - if (Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind); - } - if (StreamState != global::LiveKit.Proto.StreamState.StateUnknown) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StreamState); - } - if (Muted != false) { - size += 1 + 1; - } - if (Remote != false) { - size += 1 + 1; - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2491,34 +5389,10 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(TrackInfo other) { + public void MergeFrom(SetTrackSubscriptionPermissionsResponse other) { if (other == null) { return; } - if (other.optHandle_ != null) { - if (optHandle_ == null) { - OptHandle = new global::LiveKit.Proto.FFIHandleId(); - } - OptHandle.MergeFrom(other.OptHandle); - } - if (other.Sid.Length != 0) { - Sid = other.Sid; - } - if (other.Name.Length != 0) { - Name = other.Name; - } - if (other.Kind != global::LiveKit.Proto.TrackKind.KindUnknown) { - Kind = other.Kind; - } - if (other.StreamState != global::LiveKit.Proto.StreamState.StateUnknown) { - StreamState = other.StreamState; - } - if (other.Muted != false) { - Muted = other.Muted; - } - if (other.Remote != false) { - Remote = other.Remote; - } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2530,41 +5404,14 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (optHandle_ == null) { - OptHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(OptHandle); - break; - } - case 18: { - Sid = input.ReadString(); - break; - } - case 26: { - Name = input.ReadString(); - break; - } - case 32: { - Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); - break; - } - case 40: { - StreamState = (global::LiveKit.Proto.StreamState) input.ReadEnum(); - break; - } - case 48: { - Muted = input.ReadBool(); - break; - } - case 56: { - Remote = input.ReadBool(); - break; - } } } #endif @@ -2576,41 +5423,14 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (optHandle_ == null) { - OptHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(OptHandle); - break; - } - case 18: { - Sid = input.ReadString(); - break; - } - case 26: { - Name = input.ReadString(); - break; - } - case 32: { - Kind = (global::LiveKit.Proto.TrackKind) input.ReadEnum(); - break; - } - case 40: { - StreamState = (global::LiveKit.Proto.StreamState) input.ReadEnum(); - break; - } - case 48: { - Muted = input.ReadBool(); - break; - } - case 56: { - Remote = input.ReadBool(); - break; - } } } } diff --git a/Runtime/Scripts/Proto/TrackPublication.cs b/Runtime/Scripts/Proto/TrackPublication.cs new file mode 100644 index 00000000..a9021053 --- /dev/null +++ b/Runtime/Scripts/Proto/TrackPublication.cs @@ -0,0 +1,966 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: track_publication.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace LiveKit.Proto { + + /// Holder for reflection information generated from track_publication.proto + public static partial class TrackPublicationReflection { + + #region Descriptor + /// File descriptor for track_publication.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static TrackPublicationReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Chd0cmFja19wdWJsaWNhdGlvbi5wcm90bxINbGl2ZWtpdC5wcm90byJYCiNF", + "bmFibGVSZW1vdGVUcmFja1B1YmxpY2F0aW9uUmVxdWVzdBIgChh0cmFja19w", + "dWJsaWNhdGlvbl9oYW5kbGUYASACKAQSDwoHZW5hYmxlZBgCIAIoCCImCiRF", + "bmFibGVSZW1vdGVUcmFja1B1YmxpY2F0aW9uUmVzcG9uc2UibwosVXBkYXRl", + "UmVtb3RlVHJhY2tQdWJsaWNhdGlvbkRpbWVuc2lvblJlcXVlc3QSIAoYdHJh", + "Y2tfcHVibGljYXRpb25faGFuZGxlGAEgAigEEg0KBXdpZHRoGAIgAigNEg4K", + "BmhlaWdodBgDIAIoDSIvCi1VcGRhdGVSZW1vdGVUcmFja1B1YmxpY2F0aW9u", + "RGltZW5zaW9uUmVzcG9uc2VCEKoCDUxpdmVLaXQuUHJvdG8=")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.EnableRemoteTrackPublicationRequest), global::LiveKit.Proto.EnableRemoteTrackPublicationRequest.Parser, new[]{ "TrackPublicationHandle", "Enabled" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.EnableRemoteTrackPublicationResponse), global::LiveKit.Proto.EnableRemoteTrackPublicationResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest), global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionRequest.Parser, new[]{ "TrackPublicationHandle", "Width", "Height" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse), global::LiveKit.Proto.UpdateRemoteTrackPublicationDimensionResponse.Parser, null, null, null, null, null) + })); + } + #endregion + + } + #region Messages + /// + /// Enable/Disable a remote track publication + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class EnableRemoteTrackPublicationRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EnableRemoteTrackPublicationRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackPublicationReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackPublicationRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackPublicationRequest(EnableRemoteTrackPublicationRequest other) : this() { + _hasBits0 = other._hasBits0; + trackPublicationHandle_ = other.trackPublicationHandle_; + enabled_ = other.enabled_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackPublicationRequest Clone() { + return new EnableRemoteTrackPublicationRequest(this); + } + + /// Field number for the "track_publication_handle" field. + public const int TrackPublicationHandleFieldNumber = 1; + private readonly static ulong TrackPublicationHandleDefaultValue = 0UL; + + private ulong trackPublicationHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TrackPublicationHandle { + get { if ((_hasBits0 & 1) != 0) { return trackPublicationHandle_; } else { return TrackPublicationHandleDefaultValue; } } + set { + _hasBits0 |= 1; + trackPublicationHandle_ = value; + } + } + /// Gets whether the "track_publication_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackPublicationHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "track_publication_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackPublicationHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "enabled" field. + public const int EnabledFieldNumber = 2; + private readonly static bool EnabledDefaultValue = false; + + private bool enabled_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Enabled { + get { if ((_hasBits0 & 2) != 0) { return enabled_; } else { return EnabledDefaultValue; } } + set { + _hasBits0 |= 2; + enabled_ = value; + } + } + /// Gets whether the "enabled" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasEnabled { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "enabled" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearEnabled() { + _hasBits0 &= ~2; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as EnableRemoteTrackPublicationRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(EnableRemoteTrackPublicationRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackPublicationHandle != other.TrackPublicationHandle) return false; + if (Enabled != other.Enabled) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackPublicationHandle) hash ^= TrackPublicationHandle.GetHashCode(); + if (HasEnabled) hash ^= Enabled.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackPublicationHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackPublicationHandle); + } + if (HasEnabled) { + output.WriteRawTag(16); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackPublicationHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackPublicationHandle); + } + if (HasEnabled) { + output.WriteRawTag(16); + output.WriteBool(Enabled); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackPublicationHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackPublicationHandle); + } + if (HasEnabled) { + size += 1 + 1; + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(EnableRemoteTrackPublicationRequest other) { + if (other == null) { + return; + } + if (other.HasTrackPublicationHandle) { + TrackPublicationHandle = other.TrackPublicationHandle; + } + if (other.HasEnabled) { + Enabled = other.Enabled; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + TrackPublicationHandle = input.ReadUInt64(); + break; + } + case 16: { + Enabled = input.ReadBool(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + TrackPublicationHandle = input.ReadUInt64(); + break; + } + case 16: { + Enabled = input.ReadBool(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class EnableRemoteTrackPublicationResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EnableRemoteTrackPublicationResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackPublicationReflection.Descriptor.MessageTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackPublicationResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackPublicationResponse(EnableRemoteTrackPublicationResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public EnableRemoteTrackPublicationResponse Clone() { + return new EnableRemoteTrackPublicationResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as EnableRemoteTrackPublicationResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(EnableRemoteTrackPublicationResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(EnableRemoteTrackPublicationResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + /// + /// update a remote track publication dimension + /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class UpdateRemoteTrackPublicationDimensionRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new UpdateRemoteTrackPublicationDimensionRequest()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackPublicationReflection.Descriptor.MessageTypes[2]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UpdateRemoteTrackPublicationDimensionRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UpdateRemoteTrackPublicationDimensionRequest(UpdateRemoteTrackPublicationDimensionRequest other) : this() { + _hasBits0 = other._hasBits0; + trackPublicationHandle_ = other.trackPublicationHandle_; + width_ = other.width_; + height_ = other.height_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UpdateRemoteTrackPublicationDimensionRequest Clone() { + return new UpdateRemoteTrackPublicationDimensionRequest(this); + } + + /// Field number for the "track_publication_handle" field. + public const int TrackPublicationHandleFieldNumber = 1; + private readonly static ulong TrackPublicationHandleDefaultValue = 0UL; + + private ulong trackPublicationHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TrackPublicationHandle { + get { if ((_hasBits0 & 1) != 0) { return trackPublicationHandle_; } else { return TrackPublicationHandleDefaultValue; } } + set { + _hasBits0 |= 1; + trackPublicationHandle_ = value; + } + } + /// Gets whether the "track_publication_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackPublicationHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "track_publication_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackPublicationHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "width" field. + public const int WidthFieldNumber = 2; + private readonly static uint WidthDefaultValue = 0; + + private uint width_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Width { + get { if ((_hasBits0 & 2) != 0) { return width_; } else { return WidthDefaultValue; } } + set { + _hasBits0 |= 2; + width_ = value; + } + } + /// Gets whether the "width" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasWidth { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "width" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearWidth() { + _hasBits0 &= ~2; + } + + /// Field number for the "height" field. + public const int HeightFieldNumber = 3; + private readonly static uint HeightDefaultValue = 0; + + private uint height_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Height { + get { if ((_hasBits0 & 4) != 0) { return height_; } else { return HeightDefaultValue; } } + set { + _hasBits0 |= 4; + height_ = value; + } + } + /// Gets whether the "height" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasHeight { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "height" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearHeight() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as UpdateRemoteTrackPublicationDimensionRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(UpdateRemoteTrackPublicationDimensionRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (TrackPublicationHandle != other.TrackPublicationHandle) return false; + if (Width != other.Width) return false; + if (Height != other.Height) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasTrackPublicationHandle) hash ^= TrackPublicationHandle.GetHashCode(); + if (HasWidth) hash ^= Width.GetHashCode(); + if (HasHeight) hash ^= Height.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasTrackPublicationHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackPublicationHandle); + } + if (HasWidth) { + output.WriteRawTag(16); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(24); + output.WriteUInt32(Height); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasTrackPublicationHandle) { + output.WriteRawTag(8); + output.WriteUInt64(TrackPublicationHandle); + } + if (HasWidth) { + output.WriteRawTag(16); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(24); + output.WriteUInt32(Height); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasTrackPublicationHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackPublicationHandle); + } + if (HasWidth) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); + } + if (HasHeight) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(UpdateRemoteTrackPublicationDimensionRequest other) { + if (other == null) { + return; + } + if (other.HasTrackPublicationHandle) { + TrackPublicationHandle = other.TrackPublicationHandle; + } + if (other.HasWidth) { + Width = other.Width; + } + if (other.HasHeight) { + Height = other.Height; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + TrackPublicationHandle = input.ReadUInt64(); + break; + } + case 16: { + Width = input.ReadUInt32(); + break; + } + case 24: { + Height = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + TrackPublicationHandle = input.ReadUInt64(); + break; + } + case 16: { + Width = input.ReadUInt32(); + break; + } + case 24: { + Height = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class UpdateRemoteTrackPublicationDimensionResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new UpdateRemoteTrackPublicationDimensionResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.TrackPublicationReflection.Descriptor.MessageTypes[3]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UpdateRemoteTrackPublicationDimensionResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UpdateRemoteTrackPublicationDimensionResponse(UpdateRemoteTrackPublicationDimensionResponse other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public UpdateRemoteTrackPublicationDimensionResponse Clone() { + return new UpdateRemoteTrackPublicationDimensionResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as UpdateRemoteTrackPublicationDimensionResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(UpdateRemoteTrackPublicationDimensionResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(UpdateRemoteTrackPublicationDimensionResponse other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Runtime/Scripts/Proto/TrackPublication.cs.meta b/Runtime/Scripts/Proto/TrackPublication.cs.meta new file mode 100644 index 00000000..dbd487c9 --- /dev/null +++ b/Runtime/Scripts/Proto/TrackPublication.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3775979a71112dc45b60dc66d149c729 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Proto/VideoFrame.cs b/Runtime/Scripts/Proto/VideoFrame.cs index 6b5fc3ba..6913e5f3 100644 --- a/Runtime/Scripts/Proto/VideoFrame.cs +++ b/Runtime/Scripts/Proto/VideoFrame.cs @@ -24,101 +24,95 @@ public static partial class VideoFrameReflection { static VideoFrameReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChF2aWRlb19mcmFtZS5wcm90bxIHbGl2ZWtpdBoMaGFuZGxlLnByb3RvImUK", - "F0FsbG9jVmlkZW9CdWZmZXJSZXF1ZXN0EisKBHR5cGUYASABKA4yHS5saXZl", - "a2l0LlZpZGVvRnJhbWVCdWZmZXJUeXBlEg0KBXdpZHRoGAIgASgNEg4KBmhl", - "aWdodBgDIAEoDSJJChhBbGxvY1ZpZGVvQnVmZmVyUmVzcG9uc2USLQoGYnVm", - "ZmVyGAEgASgLMh0ubGl2ZWtpdC5WaWRlb0ZyYW1lQnVmZmVySW5mbyKWAQoV", - "TmV3VmlkZW9TdHJlYW1SZXF1ZXN0EikKC3Jvb21faGFuZGxlGAEgASgLMhQu", - "bGl2ZWtpdC5GRklIYW5kbGVJZBIXCg9wYXJ0aWNpcGFudF9zaWQYAiABKAkS", - "EQoJdHJhY2tfc2lkGAMgASgJEiYKBHR5cGUYBCABKA4yGC5saXZla2l0LlZp", - "ZGVvU3RyZWFtVHlwZSJCChZOZXdWaWRlb1N0cmVhbVJlc3BvbnNlEigKBnN0", - "cmVhbRgBIAEoCzIYLmxpdmVraXQuVmlkZW9TdHJlYW1JbmZvIj8KFU5ld1Zp", - "ZGVvU291cmNlUmVxdWVzdBImCgR0eXBlGAEgASgOMhgubGl2ZWtpdC5WaWRl", - "b1NvdXJjZVR5cGUiQgoWTmV3VmlkZW9Tb3VyY2VSZXNwb25zZRIoCgZzb3Vy", - "Y2UYASABKAsyGC5saXZla2l0LlZpZGVvU291cmNlSW5mbyKcAQoYQ2FwdHVy", - "ZVZpZGVvRnJhbWVSZXF1ZXN0EisKDXNvdXJjZV9oYW5kbGUYASABKAsyFC5s", - "aXZla2l0LkZGSUhhbmRsZUlkEiYKBWZyYW1lGAIgASgLMhcubGl2ZWtpdC5W", - "aWRlb0ZyYW1lSW5mbxIrCg1idWZmZXJfaGFuZGxlGAMgASgLMhQubGl2ZWtp", - "dC5GRklIYW5kbGVJZCIbChlDYXB0dXJlVmlkZW9GcmFtZVJlc3BvbnNlIngK", - "DVRvSTQyMFJlcXVlc3QSDgoGZmxpcF95GAEgASgIEicKBGFyZ2IYAiABKAsy", - "Fy5saXZla2l0LkFSR0JCdWZmZXJJbmZvSAASJgoGYnVmZmVyGAMgASgLMhQu", - "bGl2ZWtpdC5GRklIYW5kbGVJZEgAQgYKBGZyb20iPwoOVG9JNDIwUmVzcG9u", - "c2USLQoGYnVmZmVyGAEgASgLMh0ubGl2ZWtpdC5WaWRlb0ZyYW1lQnVmZmVy", - "SW5mbyK/AQoNVG9BUkdCUmVxdWVzdBIkCgZidWZmZXIYASABKAsyFC5saXZl", - "a2l0LkZGSUhhbmRsZUlkEg8KB2RzdF9wdHIYAiABKAQSLAoKZHN0X2Zvcm1h", - "dBgDIAEoDjIYLmxpdmVraXQuVmlkZW9Gb3JtYXRUeXBlEhIKCmRzdF9zdHJp", - "ZGUYBCABKA0SEQoJZHN0X3dpZHRoGAUgASgNEhIKCmRzdF9oZWlnaHQYBiAB", - "KA0SDgoGZmxpcF95GAcgASgIIhAKDlRvQVJHQlJlc3BvbnNlIkQKD1ZpZGVv", - "UmVzb2x1dGlvbhINCgV3aWR0aBgBIAEoDRIOCgZoZWlnaHQYAiABKA0SEgoK", - "ZnJhbWVfcmF0ZRgDIAEoASJ2Cg5BUkdCQnVmZmVySW5mbxILCgNwdHIYASAB", - "KAQSKAoGZm9ybWF0GAIgASgOMhgubGl2ZWtpdC5WaWRlb0Zvcm1hdFR5cGUS", - "DgoGc3RyaWRlGAMgASgNEg0KBXdpZHRoGAQgASgNEg4KBmhlaWdodBgFIAEo", - "DSJNCg5WaWRlb0ZyYW1lSW5mbxIRCgl0aW1lc3RhbXAYASABKAMSKAoIcm90", - "YXRpb24YAiABKA4yFi5saXZla2l0LlZpZGVvUm90YXRpb24ipQIKFFZpZGVv", - "RnJhbWVCdWZmZXJJbmZvEiQKBmhhbmRsZRgBIAEoCzIULmxpdmVraXQuRkZJ", - "SGFuZGxlSWQSMgoLYnVmZmVyX3R5cGUYAiABKA4yHS5saXZla2l0LlZpZGVv", - "RnJhbWVCdWZmZXJUeXBlEg0KBXdpZHRoGAMgASgNEg4KBmhlaWdodBgEIAEo", - "DRIrCgN5dXYYBSABKAsyHC5saXZla2l0LlBsYW5hcll1dkJ1ZmZlckluZm9I", - "ABIwCgZiaV95dXYYBiABKAsyHi5saXZla2l0LkJpcGxhbmFyWXV2QnVmZmVy", - "SW5mb0gAEisKBm5hdGl2ZRgHIAEoCzIZLmxpdmVraXQuTmF0aXZlQnVmZmVy", - "SW5mb0gAQggKBmJ1ZmZlciLaAQoTUGxhbmFyWXV2QnVmZmVySW5mbxIUCgxj", - "aHJvbWFfd2lkdGgYASABKA0SFQoNY2hyb21hX2hlaWdodBgCIAEoDRIQCghz", - "dHJpZGVfeRgDIAEoDRIQCghzdHJpZGVfdRgEIAEoDRIQCghzdHJpZGVfdhgF", - "IAEoDRIQCghzdHJpZGVfYRgGIAEoDRISCgpkYXRhX3lfcHRyGAcgASgEEhIK", - "CmRhdGFfdV9wdHIYCCABKAQSEgoKZGF0YV92X3B0chgJIAEoBBISCgpkYXRh", - "X2FfcHRyGAogASgEIpIBChVCaXBsYW5hcll1dkJ1ZmZlckluZm8SFAoMY2hy", - "b21hX3dpZHRoGAEgASgNEhUKDWNocm9tYV9oZWlnaHQYAiABKA0SEAoIc3Ry", - "aWRlX3kYAyABKA0SEQoJc3RyaWRlX3V2GAQgASgNEhIKCmRhdGFfeV9wdHIY", - "BSABKAQSEwoLZGF0YV91dl9wdHIYBiABKAQiEgoQTmF0aXZlQnVmZmVySW5m", - "byJyCg9WaWRlb1N0cmVhbUluZm8SJAoGaGFuZGxlGAEgASgLMhQubGl2ZWtp", - "dC5GRklIYW5kbGVJZBImCgR0eXBlGAIgASgOMhgubGl2ZWtpdC5WaWRlb1N0", - "cmVhbVR5cGUSEQoJdHJhY2tfc2lkGAMgASgJInoKEFZpZGVvU3RyZWFtRXZl", - "bnQSJAoGaGFuZGxlGAEgASgLMhQubGl2ZWtpdC5GRklIYW5kbGVJZBI1Cg5m", - "cmFtZV9yZWNlaXZlZBgCIAEoCzIbLmxpdmVraXQuVmlkZW9GcmFtZVJlY2Vp", - "dmVkSABCCQoHbWVzc2FnZSJrChJWaWRlb0ZyYW1lUmVjZWl2ZWQSJgoFZnJh", - "bWUYASABKAsyFy5saXZla2l0LlZpZGVvRnJhbWVJbmZvEi0KBmJ1ZmZlchgC", - "IAEoCzIdLmxpdmVraXQuVmlkZW9GcmFtZUJ1ZmZlckluZm8iXwoPVmlkZW9T", - "b3VyY2VJbmZvEiQKBmhhbmRsZRgBIAEoCzIULmxpdmVraXQuRkZJSGFuZGxl", - "SWQSJgoEdHlwZRgCIAEoDjIYLmxpdmVraXQuVmlkZW9Tb3VyY2VUeXBlKigK", - "ClZpZGVvQ29kZWMSBwoDVlA4EAASCAoESDI2NBABEgcKA0FWMRACKmwKDVZp", - "ZGVvUm90YXRpb24SFAoQVklERU9fUk9UQVRJT05fMBAAEhUKEVZJREVPX1JP", - "VEFUSU9OXzkwEAESFgoSVklERU9fUk9UQVRJT05fMTgwEAISFgoSVklERU9f", - "Uk9UQVRJT05fMjcwEAMqVQoPVmlkZW9Gb3JtYXRUeXBlEg8KC0ZPUk1BVF9B", - "UkdCEAASDwoLRk9STUFUX0JHUkEQARIPCgtGT1JNQVRfQUJHUhACEg8KC0ZP", - "Uk1BVF9SR0JBEAMqagoUVmlkZW9GcmFtZUJ1ZmZlclR5cGUSCgoGTkFUSVZF", - "EAASCAoESTQyMBABEgkKBUk0MjBBEAISCAoESTQyMhADEggKBEk0NDQQBBII", - "CgRJMDEwEAUSCAoETlYxMhAGEgkKBVdFQkdMEAcqWQoPVmlkZW9TdHJlYW1U", - "eXBlEhcKE1ZJREVPX1NUUkVBTV9OQVRJVkUQABIWChJWSURFT19TVFJFQU1f", - "V0VCR0wQARIVChFWSURFT19TVFJFQU1fSFRNTBACKioKD1ZpZGVvU291cmNl", - "VHlwZRIXChNWSURFT19TT1VSQ0VfTkFUSVZFEABCEKoCDUxpdmVLaXQuUHJv", - "dG9iBnByb3RvMw==")); + "ChF2aWRlb19mcmFtZS5wcm90bxINbGl2ZWtpdC5wcm90bxoMaGFuZGxlLnBy", + "b3RvGgt0cmFjay5wcm90byKlAQoVTmV3VmlkZW9TdHJlYW1SZXF1ZXN0EhQK", + "DHRyYWNrX2hhbmRsZRgBIAIoBBIsCgR0eXBlGAIgAigOMh4ubGl2ZWtpdC5w", + "cm90by5WaWRlb1N0cmVhbVR5cGUSLgoGZm9ybWF0GAMgASgOMh4ubGl2ZWtp", + "dC5wcm90by5WaWRlb0J1ZmZlclR5cGUSGAoQbm9ybWFsaXplX3N0cmlkZRgE", + "IAEoCCJJChZOZXdWaWRlb1N0cmVhbVJlc3BvbnNlEi8KBnN0cmVhbRgBIAIo", + "CzIfLmxpdmVraXQucHJvdG8uT3duZWRWaWRlb1N0cmVhbSLpAQohVmlkZW9T", + "dHJlYW1Gcm9tUGFydGljaXBhbnRSZXF1ZXN0EhoKEnBhcnRpY2lwYW50X2hh", + "bmRsZRgBIAIoBBIsCgR0eXBlGAIgAigOMh4ubGl2ZWtpdC5wcm90by5WaWRl", + "b1N0cmVhbVR5cGUSMAoMdHJhY2tfc291cmNlGAMgAigOMhoubGl2ZWtpdC5w", + "cm90by5UcmFja1NvdXJjZRIuCgZmb3JtYXQYBCABKA4yHi5saXZla2l0LnBy", + "b3RvLlZpZGVvQnVmZmVyVHlwZRIYChBub3JtYWxpemVfc3RyaWRlGAUgASgI", + "IlUKIlZpZGVvU3RyZWFtRnJvbVBhcnRpY2lwYW50UmVzcG9uc2USLwoGc3Ry", + "ZWFtGAEgAigLMh8ubGl2ZWtpdC5wcm90by5Pd25lZFZpZGVvU3RyZWFtIn8K", + "FU5ld1ZpZGVvU291cmNlUmVxdWVzdBIsCgR0eXBlGAEgAigOMh4ubGl2ZWtp", + "dC5wcm90by5WaWRlb1NvdXJjZVR5cGUSOAoKcmVzb2x1dGlvbhgCIAIoCzIk", + "LmxpdmVraXQucHJvdG8uVmlkZW9Tb3VyY2VSZXNvbHV0aW9uIkkKFk5ld1Zp", + "ZGVvU291cmNlUmVzcG9uc2USLwoGc291cmNlGAEgAigLMh8ubGl2ZWtpdC5w", + "cm90by5Pd25lZFZpZGVvU291cmNlIqcBChhDYXB0dXJlVmlkZW9GcmFtZVJl", + "cXVlc3QSFQoNc291cmNlX2hhbmRsZRgBIAIoBBIuCgZidWZmZXIYAiACKAsy", + "Hi5saXZla2l0LnByb3RvLlZpZGVvQnVmZmVySW5mbxIUCgx0aW1lc3RhbXBf", + "dXMYAyACKAMSLgoIcm90YXRpb24YBCACKA4yHC5saXZla2l0LnByb3RvLlZp", + "ZGVvUm90YXRpb24iGwoZQ2FwdHVyZVZpZGVvRnJhbWVSZXNwb25zZSKHAQoT", + "VmlkZW9Db252ZXJ0UmVxdWVzdBIOCgZmbGlwX3kYASABKAgSLgoGYnVmZmVy", + "GAIgAigLMh4ubGl2ZWtpdC5wcm90by5WaWRlb0J1ZmZlckluZm8SMAoIZHN0", + "X3R5cGUYAyACKA4yHi5saXZla2l0LnByb3RvLlZpZGVvQnVmZmVyVHlwZSJl", + "ChRWaWRlb0NvbnZlcnRSZXNwb25zZRIPCgVlcnJvchgBIAEoCUgAEjEKBmJ1", + "ZmZlchgCIAEoCzIfLmxpdmVraXQucHJvdG8uT3duZWRWaWRlb0J1ZmZlckgA", + "QgkKB21lc3NhZ2UiRAoPVmlkZW9SZXNvbHV0aW9uEg0KBXdpZHRoGAEgAigN", + "Eg4KBmhlaWdodBgCIAIoDRISCgpmcmFtZV9yYXRlGAMgAigBIoMCCg9WaWRl", + "b0J1ZmZlckluZm8SLAoEdHlwZRgBIAIoDjIeLmxpdmVraXQucHJvdG8uVmlk", + "ZW9CdWZmZXJUeXBlEg0KBXdpZHRoGAIgAigNEg4KBmhlaWdodBgDIAIoDRIQ", + "CghkYXRhX3B0chgEIAIoBBIOCgZzdHJpZGUYBiABKA0SQAoKY29tcG9uZW50", + "cxgHIAMoCzIsLmxpdmVraXQucHJvdG8uVmlkZW9CdWZmZXJJbmZvLkNvbXBv", + "bmVudEluZm8aPwoNQ29tcG9uZW50SW5mbxIQCghkYXRhX3B0chgBIAIoBBIO", + "CgZzdHJpZGUYAiACKA0SDAoEc2l6ZRgDIAIoDSJvChBPd25lZFZpZGVvQnVm", + "ZmVyEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRI", + "YW5kbGUSLAoEaW5mbxgCIAIoCzIeLmxpdmVraXQucHJvdG8uVmlkZW9CdWZm", + "ZXJJbmZvIj8KD1ZpZGVvU3RyZWFtSW5mbxIsCgR0eXBlGAEgAigOMh4ubGl2", + "ZWtpdC5wcm90by5WaWRlb1N0cmVhbVR5cGUibwoQT3duZWRWaWRlb1N0cmVh", + "bRItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFu", + "ZGxlEiwKBGluZm8YAiACKAsyHi5saXZla2l0LnByb3RvLlZpZGVvU3RyZWFt", + "SW5mbyKfAQoQVmlkZW9TdHJlYW1FdmVudBIVCg1zdHJlYW1faGFuZGxlGAEg", + "AigEEjsKDmZyYW1lX3JlY2VpdmVkGAIgASgLMiEubGl2ZWtpdC5wcm90by5W", + "aWRlb0ZyYW1lUmVjZWl2ZWRIABIsCgNlb3MYAyABKAsyHS5saXZla2l0LnBy", + "b3RvLlZpZGVvU3RyZWFtRU9TSABCCQoHbWVzc2FnZSKLAQoSVmlkZW9GcmFt", + "ZVJlY2VpdmVkEi8KBmJ1ZmZlchgBIAIoCzIfLmxpdmVraXQucHJvdG8uT3du", + "ZWRWaWRlb0J1ZmZlchIUCgx0aW1lc3RhbXBfdXMYAiACKAMSLgoIcm90YXRp", + "b24YAyACKA4yHC5saXZla2l0LnByb3RvLlZpZGVvUm90YXRpb24iEAoOVmlk", + "ZW9TdHJlYW1FT1MiNgoVVmlkZW9Tb3VyY2VSZXNvbHV0aW9uEg0KBXdpZHRo", + "GAEgAigNEg4KBmhlaWdodBgCIAIoDSI/Cg9WaWRlb1NvdXJjZUluZm8SLAoE", + "dHlwZRgBIAIoDjIeLmxpdmVraXQucHJvdG8uVmlkZW9Tb3VyY2VUeXBlIm8K", + "EE93bmVkVmlkZW9Tb3VyY2USLQoGaGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5w", + "cm90by5GZmlPd25lZEhhbmRsZRIsCgRpbmZvGAIgAigLMh4ubGl2ZWtpdC5w", + "cm90by5WaWRlb1NvdXJjZUluZm8qMQoKVmlkZW9Db2RlYxIHCgNWUDgQABII", + "CgRIMjY0EAESBwoDQVYxEAISBwoDVlA5EAMqbAoNVmlkZW9Sb3RhdGlvbhIU", + "ChBWSURFT19ST1RBVElPTl8wEAASFQoRVklERU9fUk9UQVRJT05fOTAQARIW", + "ChJWSURFT19ST1RBVElPTl8xODAQAhIWChJWSURFT19ST1RBVElPTl8yNzAQ", + "AyqBAQoPVmlkZW9CdWZmZXJUeXBlEggKBFJHQkEQABIICgRBQkdSEAESCAoE", + "QVJHQhACEggKBEJHUkEQAxIJCgVSR0IyNBAEEggKBEk0MjAQBRIJCgVJNDIw", + "QRAGEggKBEk0MjIQBxIICgRJNDQ0EAgSCAoESTAxMBAJEggKBE5WMTIQCipZ", + "Cg9WaWRlb1N0cmVhbVR5cGUSFwoTVklERU9fU1RSRUFNX05BVElWRRAAEhYK", + "ElZJREVPX1NUUkVBTV9XRUJHTBABEhUKEVZJREVPX1NUUkVBTV9IVE1MEAIq", + "KgoPVmlkZW9Tb3VyY2VUeXBlEhcKE1ZJREVPX1NPVVJDRV9OQVRJVkUQAEIQ", + "qgINTGl2ZUtpdC5Qcm90bw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.VideoCodec), typeof(global::LiveKit.Proto.VideoRotation), typeof(global::LiveKit.Proto.VideoFormatType), typeof(global::LiveKit.Proto.VideoFrameBufferType), typeof(global::LiveKit.Proto.VideoStreamType), typeof(global::LiveKit.Proto.VideoSourceType), }, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AllocVideoBufferRequest), global::LiveKit.Proto.AllocVideoBufferRequest.Parser, new[]{ "Type", "Width", "Height" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.AllocVideoBufferResponse), global::LiveKit.Proto.AllocVideoBufferResponse.Parser, new[]{ "Buffer" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewVideoStreamRequest), global::LiveKit.Proto.NewVideoStreamRequest.Parser, new[]{ "RoomHandle", "ParticipantSid", "TrackSid", "Type" }, null, null, null, null), + new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.VideoCodec), typeof(global::LiveKit.Proto.VideoRotation), typeof(global::LiveKit.Proto.VideoBufferType), typeof(global::LiveKit.Proto.VideoStreamType), typeof(global::LiveKit.Proto.VideoSourceType), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewVideoStreamRequest), global::LiveKit.Proto.NewVideoStreamRequest.Parser, new[]{ "TrackHandle", "Type", "Format", "NormalizeStride" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewVideoStreamResponse), global::LiveKit.Proto.NewVideoStreamResponse.Parser, new[]{ "Stream" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewVideoSourceRequest), global::LiveKit.Proto.NewVideoSourceRequest.Parser, new[]{ "Type" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoStreamFromParticipantRequest), global::LiveKit.Proto.VideoStreamFromParticipantRequest.Parser, new[]{ "ParticipantHandle", "Type", "TrackSource", "Format", "NormalizeStride" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoStreamFromParticipantResponse), global::LiveKit.Proto.VideoStreamFromParticipantResponse.Parser, new[]{ "Stream" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewVideoSourceRequest), global::LiveKit.Proto.NewVideoSourceRequest.Parser, new[]{ "Type", "Resolution" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NewVideoSourceResponse), global::LiveKit.Proto.NewVideoSourceResponse.Parser, new[]{ "Source" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureVideoFrameRequest), global::LiveKit.Proto.CaptureVideoFrameRequest.Parser, new[]{ "SourceHandle", "Frame", "BufferHandle" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureVideoFrameRequest), global::LiveKit.Proto.CaptureVideoFrameRequest.Parser, new[]{ "SourceHandle", "Buffer", "TimestampUs", "Rotation" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureVideoFrameResponse), global::LiveKit.Proto.CaptureVideoFrameResponse.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ToI420Request), global::LiveKit.Proto.ToI420Request.Parser, new[]{ "FlipY", "Argb", "Buffer" }, new[]{ "From" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ToI420Response), global::LiveKit.Proto.ToI420Response.Parser, new[]{ "Buffer" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ToARGBRequest), global::LiveKit.Proto.ToARGBRequest.Parser, new[]{ "Buffer", "DstPtr", "DstFormat", "DstStride", "DstWidth", "DstHeight", "FlipY" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ToARGBResponse), global::LiveKit.Proto.ToARGBResponse.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoConvertRequest), global::LiveKit.Proto.VideoConvertRequest.Parser, new[]{ "FlipY", "Buffer", "DstType" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoConvertResponse), global::LiveKit.Proto.VideoConvertResponse.Parser, new[]{ "Error", "Buffer" }, new[]{ "Message" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoResolution), global::LiveKit.Proto.VideoResolution.Parser, new[]{ "Width", "Height", "FrameRate" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ARGBBufferInfo), global::LiveKit.Proto.ARGBBufferInfo.Parser, new[]{ "Ptr", "Format", "Stride", "Width", "Height" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoFrameInfo), global::LiveKit.Proto.VideoFrameInfo.Parser, new[]{ "Timestamp", "Rotation" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoFrameBufferInfo), global::LiveKit.Proto.VideoFrameBufferInfo.Parser, new[]{ "Handle", "BufferType", "Width", "Height", "Yuv", "BiYuv", "Native" }, new[]{ "Buffer" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PlanarYuvBufferInfo), global::LiveKit.Proto.PlanarYuvBufferInfo.Parser, new[]{ "ChromaWidth", "ChromaHeight", "StrideY", "StrideU", "StrideV", "StrideA", "DataYPtr", "DataUPtr", "DataVPtr", "DataAPtr" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.BiplanarYuvBufferInfo), global::LiveKit.Proto.BiplanarYuvBufferInfo.Parser, new[]{ "ChromaWidth", "ChromaHeight", "StrideY", "StrideUv", "DataYPtr", "DataUvPtr" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.NativeBufferInfo), global::LiveKit.Proto.NativeBufferInfo.Parser, null, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoStreamInfo), global::LiveKit.Proto.VideoStreamInfo.Parser, new[]{ "Handle", "Type", "TrackSid" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoStreamEvent), global::LiveKit.Proto.VideoStreamEvent.Parser, new[]{ "Handle", "FrameReceived" }, new[]{ "Message" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoFrameReceived), global::LiveKit.Proto.VideoFrameReceived.Parser, new[]{ "Frame", "Buffer" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoSourceInfo), global::LiveKit.Proto.VideoSourceInfo.Parser, new[]{ "Handle", "Type" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoBufferInfo), global::LiveKit.Proto.VideoBufferInfo.Parser, new[]{ "Type", "Width", "Height", "DataPtr", "Stride", "Components" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoBufferInfo.Types.ComponentInfo), global::LiveKit.Proto.VideoBufferInfo.Types.ComponentInfo.Parser, new[]{ "DataPtr", "Stride", "Size" }, null, null, null, null)}), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedVideoBuffer), global::LiveKit.Proto.OwnedVideoBuffer.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoStreamInfo), global::LiveKit.Proto.VideoStreamInfo.Parser, new[]{ "Type" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedVideoStream), global::LiveKit.Proto.OwnedVideoStream.Parser, new[]{ "Handle", "Info" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoStreamEvent), global::LiveKit.Proto.VideoStreamEvent.Parser, new[]{ "StreamHandle", "FrameReceived", "Eos" }, new[]{ "Message" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoFrameReceived), global::LiveKit.Proto.VideoFrameReceived.Parser, new[]{ "Buffer", "TimestampUs", "Rotation" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoStreamEOS), global::LiveKit.Proto.VideoStreamEOS.Parser, null, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoSourceResolution), global::LiveKit.Proto.VideoSourceResolution.Parser, new[]{ "Width", "Height" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.VideoSourceInfo), global::LiveKit.Proto.VideoSourceInfo.Parser, new[]{ "Type" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedVideoSource), global::LiveKit.Proto.OwnedVideoSource.Parser, new[]{ "Handle", "Info" }, null, null, null, null) })); } #endregion @@ -129,6 +123,7 @@ public enum VideoCodec { [pbr::OriginalName("VP8")] Vp8 = 0, [pbr::OriginalName("H264")] H264 = 1, [pbr::OriginalName("AV1")] Av1 = 2, + [pbr::OriginalName("VP9")] Vp9 = 3, } public enum VideoRotation { @@ -138,22 +133,22 @@ public enum VideoRotation { [pbr::OriginalName("VIDEO_ROTATION_270")] _270 = 3, } - public enum VideoFormatType { - [pbr::OriginalName("FORMAT_ARGB")] FormatArgb = 0, - [pbr::OriginalName("FORMAT_BGRA")] FormatBgra = 1, - [pbr::OriginalName("FORMAT_ABGR")] FormatAbgr = 2, - [pbr::OriginalName("FORMAT_RGBA")] FormatRgba = 3, - } - - public enum VideoFrameBufferType { - [pbr::OriginalName("NATIVE")] Native = 0, - [pbr::OriginalName("I420")] I420 = 1, - [pbr::OriginalName("I420A")] I420A = 2, - [pbr::OriginalName("I422")] I422 = 3, - [pbr::OriginalName("I444")] I444 = 4, - [pbr::OriginalName("I010")] I010 = 5, - [pbr::OriginalName("NV12")] Nv12 = 6, - [pbr::OriginalName("WEBGL")] Webgl = 7, + /// + /// Values of this enum must not be changed + /// It is used to serialize a rtc.VideoFrame on Python + /// + public enum VideoBufferType { + [pbr::OriginalName("RGBA")] Rgba = 0, + [pbr::OriginalName("ABGR")] Abgr = 1, + [pbr::OriginalName("ARGB")] Argb = 2, + [pbr::OriginalName("BGRA")] Bgra = 3, + [pbr::OriginalName("RGB24")] Rgb24 = 4, + [pbr::OriginalName("I420")] I420 = 5, + [pbr::OriginalName("I420A")] I420A = 6, + [pbr::OriginalName("I422")] I422 = 7, + [pbr::OriginalName("I444")] I444 = 8, + [pbr::OriginalName("I010")] I010 = 9, + [pbr::OriginalName("NV12")] Nv12 = 10, } public enum VideoStreamType { @@ -170,18 +165,21 @@ public enum VideoSourceType { #region Messages /// - /// Allocate a new VideoFrameBuffer + /// Create a new VideoStream + /// VideoStream is used to receive video frames from a track /// - public sealed partial class AllocVideoBufferRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewVideoStreamRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AllocVideoBufferRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewVideoStreamRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -197,7 +195,7 @@ public sealed partial class AllocVideoBufferRequest : pb::IMessageField number for the "track_handle" field. + public const int TrackHandleFieldNumber = 1; + private readonly static ulong TrackHandleDefaultValue = 0UL; + + private ulong trackHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong TrackHandle { + get { if ((_hasBits0 & 1) != 0) { return trackHandle_; } else { return TrackHandleDefaultValue; } } + set { + _hasBits0 |= 1; + trackHandle_ = value; + } + } + /// Gets whether the "track_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "track_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackHandle() { + _hasBits0 &= ~1; } /// Field number for the "type" field. - public const int TypeFieldNumber = 1; - private global::LiveKit.Proto.VideoFrameBufferType type_ = global::LiveKit.Proto.VideoFrameBufferType.Native; - /// - /// Only I420 is supported atm - /// + public const int TypeFieldNumber = 2; + private readonly static global::LiveKit.Proto.VideoStreamType TypeDefaultValue = global::LiveKit.Proto.VideoStreamType.VideoStreamNative; + + private global::LiveKit.Proto.VideoStreamType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameBufferType Type { - get { return type_; } + public global::LiveKit.Proto.VideoStreamType Type { + get { if ((_hasBits0 & 2) != 0) { return type_; } else { return TypeDefaultValue; } } set { + _hasBits0 |= 2; type_ = value; } } + /// Gets whether the "type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasType { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~2; + } - /// Field number for the "width" field. - public const int WidthFieldNumber = 2; - private uint width_; + /// Field number for the "format" field. + public const int FormatFieldNumber = 3; + private readonly static global::LiveKit.Proto.VideoBufferType FormatDefaultValue = global::LiveKit.Proto.VideoBufferType.Rgba; + + private global::LiveKit.Proto.VideoBufferType format_; + /// + /// Get the frame on a specific format + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Width { - get { return width_; } + public global::LiveKit.Proto.VideoBufferType Format { + get { if ((_hasBits0 & 4) != 0) { return format_; } else { return FormatDefaultValue; } } set { - width_ = value; + _hasBits0 |= 4; + format_ = value; } } + /// Gets whether the "format" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFormat { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "format" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFormat() { + _hasBits0 &= ~4; + } - /// Field number for the "height" field. - public const int HeightFieldNumber = 3; - private uint height_; + /// Field number for the "normalize_stride" field. + public const int NormalizeStrideFieldNumber = 4; + private readonly static bool NormalizeStrideDefaultValue = false; + + private bool normalizeStride_; + /// + /// if true, stride will be set to width/chroma_width + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Height { - get { return height_; } + public bool NormalizeStride { + get { if ((_hasBits0 & 8) != 0) { return normalizeStride_; } else { return NormalizeStrideDefaultValue; } } set { - height_ = value; + _hasBits0 |= 8; + normalizeStride_ = value; } } + /// Gets whether the "normalize_stride" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNormalizeStride { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "normalize_stride" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNormalizeStride() { + _hasBits0 &= ~8; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AllocVideoBufferRequest); + return Equals(other as NewVideoStreamRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AllocVideoBufferRequest other) { + public bool Equals(NewVideoStreamRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (TrackHandle != other.TrackHandle) return false; if (Type != other.Type) return false; - if (Width != other.Width) return false; - if (Height != other.Height) return false; + if (Format != other.Format) return false; + if (NormalizeStride != other.NormalizeStride) return false; return Equals(_unknownFields, other._unknownFields); } @@ -282,9 +358,10 @@ public bool Equals(AllocVideoBufferRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Type != global::LiveKit.Proto.VideoFrameBufferType.Native) hash ^= Type.GetHashCode(); - if (Width != 0) hash ^= Width.GetHashCode(); - if (Height != 0) hash ^= Height.GetHashCode(); + if (HasTrackHandle) hash ^= TrackHandle.GetHashCode(); + if (HasType) hash ^= Type.GetHashCode(); + if (HasFormat) hash ^= Format.GetHashCode(); + if (HasNormalizeStride) hash ^= NormalizeStride.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -303,17 +380,21 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Type != global::LiveKit.Proto.VideoFrameBufferType.Native) { + if (HasTrackHandle) { output.WriteRawTag(8); - output.WriteEnum((int) Type); + output.WriteUInt64(TrackHandle); } - if (Width != 0) { + if (HasType) { output.WriteRawTag(16); - output.WriteUInt32(Width); + output.WriteEnum((int) Type); } - if (Height != 0) { + if (HasFormat) { output.WriteRawTag(24); - output.WriteUInt32(Height); + output.WriteEnum((int) Format); + } + if (HasNormalizeStride) { + output.WriteRawTag(32); + output.WriteBool(NormalizeStride); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -325,17 +406,21 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Type != global::LiveKit.Proto.VideoFrameBufferType.Native) { + if (HasTrackHandle) { output.WriteRawTag(8); - output.WriteEnum((int) Type); + output.WriteUInt64(TrackHandle); } - if (Width != 0) { + if (HasType) { output.WriteRawTag(16); - output.WriteUInt32(Width); + output.WriteEnum((int) Type); } - if (Height != 0) { + if (HasFormat) { output.WriteRawTag(24); - output.WriteUInt32(Height); + output.WriteEnum((int) Format); + } + if (HasNormalizeStride) { + output.WriteRawTag(32); + output.WriteBool(NormalizeStride); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -347,14 +432,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Type != global::LiveKit.Proto.VideoFrameBufferType.Native) { + if (HasTrackHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle); + } + if (HasType) { size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); } - if (Width != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); + if (HasFormat) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Format); } - if (Height != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); + if (HasNormalizeStride) { + size += 1 + 1; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -364,18 +452,21 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AllocVideoBufferRequest other) { + public void MergeFrom(NewVideoStreamRequest other) { if (other == null) { return; } - if (other.Type != global::LiveKit.Proto.VideoFrameBufferType.Native) { + if (other.HasTrackHandle) { + TrackHandle = other.TrackHandle; + } + if (other.HasType) { Type = other.Type; } - if (other.Width != 0) { - Width = other.Width; + if (other.HasFormat) { + Format = other.Format; } - if (other.Height != 0) { - Height = other.Height; + if (other.HasNormalizeStride) { + NormalizeStride = other.NormalizeStride; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -388,20 +479,28 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - Type = (global::LiveKit.Proto.VideoFrameBufferType) input.ReadEnum(); + TrackHandle = input.ReadUInt64(); break; } case 16: { - Width = input.ReadUInt32(); + Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); break; } case 24: { - Height = input.ReadUInt32(); + Format = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); + break; + } + case 32: { + NormalizeStride = input.ReadBool(); break; } } @@ -415,20 +514,28 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - Type = (global::LiveKit.Proto.VideoFrameBufferType) input.ReadEnum(); + TrackHandle = input.ReadUInt64(); break; } case 16: { - Width = input.ReadUInt32(); + Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); break; } case 24: { - Height = input.ReadUInt32(); + Format = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); + break; + } + case 32: { + NormalizeStride = input.ReadBool(); break; } } @@ -438,16 +545,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class AllocVideoBufferResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class NewVideoStreamResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new AllocVideoBufferResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewVideoStreamResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -463,7 +571,7 @@ public sealed partial class AllocVideoBufferResponse : pb::IMessageField number for the "buffer" field. - public const int BufferFieldNumber = 1; - private global::LiveKit.Proto.VideoFrameBufferInfo buffer_; + /// Field number for the "stream" field. + public const int StreamFieldNumber = 1; + private global::LiveKit.Proto.OwnedVideoStream stream_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameBufferInfo Buffer { - get { return buffer_; } + public global::LiveKit.Proto.OwnedVideoStream Stream { + get { return stream_; } set { - buffer_ = value; + stream_ = value; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as AllocVideoBufferResponse); + return Equals(other as NewVideoStreamResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(AllocVideoBufferResponse other) { + public bool Equals(NewVideoStreamResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Buffer, other.Buffer)) return false; + if (!object.Equals(Stream, other.Stream)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -517,7 +625,7 @@ public bool Equals(AllocVideoBufferResponse other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (stream_ != null) hash ^= Stream.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -536,9 +644,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (buffer_ != null) { + if (stream_ != null) { output.WriteRawTag(10); - output.WriteMessage(Buffer); + output.WriteMessage(Stream); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -550,9 +658,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (buffer_ != null) { + if (stream_ != null) { output.WriteRawTag(10); - output.WriteMessage(Buffer); + output.WriteMessage(Stream); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -564,8 +672,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (buffer_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); + if (stream_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stream); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -575,15 +683,15 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(AllocVideoBufferResponse other) { + public void MergeFrom(NewVideoStreamResponse other) { if (other == null) { return; } - if (other.buffer_ != null) { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); + if (other.stream_ != null) { + if (stream_ == null) { + Stream = new global::LiveKit.Proto.OwnedVideoStream(); } - Buffer.MergeFrom(other.Buffer); + Stream.MergeFrom(other.Stream); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -596,15 +704,19 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); + if (stream_ == null) { + Stream = new global::LiveKit.Proto.OwnedVideoStream(); } - input.ReadMessage(Buffer); + input.ReadMessage(Stream); break; } } @@ -618,15 +730,19 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); + if (stream_ == null) { + Stream = new global::LiveKit.Proto.OwnedVideoStream(); } - input.ReadMessage(Buffer); + input.ReadMessage(Stream); break; } } @@ -637,19 +753,20 @@ public void MergeFrom(pb::CodedInputStream input) { } /// - /// Create a new VideoStream - /// VideoStream is used to receive video frames from a track + /// Request a video stream from a participant /// - public sealed partial class NewVideoStreamRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoStreamFromParticipantRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewVideoStreamRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoStreamFromParticipantRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -665,7 +782,7 @@ public sealed partial class NewVideoStreamRequest : pb::IMessageField number for the "participant_handle" field. + public const int ParticipantHandleFieldNumber = 1; + private readonly static ulong ParticipantHandleDefaultValue = 0UL; + + private ulong participantHandle_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong ParticipantHandle { + get { if ((_hasBits0 & 1) != 0) { return participantHandle_; } else { return ParticipantHandleDefaultValue; } } + set { + _hasBits0 |= 1; + participantHandle_ = value; + } + } + /// Gets whether the "participant_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasParticipantHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "participant_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearParticipantHandle() { + _hasBits0 &= ~1; } - /// Field number for the "room_handle" field. - public const int RoomHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId roomHandle_; + /// Field number for the "type" field. + public const int TypeFieldNumber = 2; + private readonly static global::LiveKit.Proto.VideoStreamType TypeDefaultValue = global::LiveKit.Proto.VideoStreamType.VideoStreamNative; + + private global::LiveKit.Proto.VideoStreamType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId RoomHandle { - get { return roomHandle_; } + public global::LiveKit.Proto.VideoStreamType Type { + get { if ((_hasBits0 & 2) != 0) { return type_; } else { return TypeDefaultValue; } } set { - roomHandle_ = value; + _hasBits0 |= 2; + type_ = value; } } + /// Gets whether the "type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasType { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~2; + } - /// Field number for the "participant_sid" field. - public const int ParticipantSidFieldNumber = 2; - private string participantSid_ = ""; + /// Field number for the "track_source" field. + public const int TrackSourceFieldNumber = 3; + private readonly static global::LiveKit.Proto.TrackSource TrackSourceDefaultValue = global::LiveKit.Proto.TrackSource.SourceUnknown; + + private global::LiveKit.Proto.TrackSource trackSource_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string ParticipantSid { - get { return participantSid_; } + public global::LiveKit.Proto.TrackSource TrackSource { + get { if ((_hasBits0 & 4) != 0) { return trackSource_; } else { return TrackSourceDefaultValue; } } set { - participantSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 4; + trackSource_ = value; } } + /// Gets whether the "track_source" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTrackSource { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "track_source" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTrackSource() { + _hasBits0 &= ~4; + } + + /// Field number for the "format" field. + public const int FormatFieldNumber = 4; + private readonly static global::LiveKit.Proto.VideoBufferType FormatDefaultValue = global::LiveKit.Proto.VideoBufferType.Rgba; - /// Field number for the "track_sid" field. - public const int TrackSidFieldNumber = 3; - private string trackSid_ = ""; + private global::LiveKit.Proto.VideoBufferType format_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string TrackSid { - get { return trackSid_; } + public global::LiveKit.Proto.VideoBufferType Format { + get { if ((_hasBits0 & 8) != 0) { return format_; } else { return FormatDefaultValue; } } set { - trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + _hasBits0 |= 8; + format_ = value; } } + /// Gets whether the "format" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFormat { + get { return (_hasBits0 & 8) != 0; } + } + /// Clears the value of the "format" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFormat() { + _hasBits0 &= ~8; + } - /// Field number for the "type" field. - public const int TypeFieldNumber = 4; - private global::LiveKit.Proto.VideoStreamType type_ = global::LiveKit.Proto.VideoStreamType.VideoStreamNative; + /// Field number for the "normalize_stride" field. + public const int NormalizeStrideFieldNumber = 5; + private readonly static bool NormalizeStrideDefaultValue = false; + + private bool normalizeStride_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoStreamType Type { - get { return type_; } + public bool NormalizeStride { + get { if ((_hasBits0 & 16) != 0) { return normalizeStride_; } else { return NormalizeStrideDefaultValue; } } set { - type_ = value; + _hasBits0 |= 16; + normalizeStride_ = value; } } + /// Gets whether the "normalize_stride" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasNormalizeStride { + get { return (_hasBits0 & 16) != 0; } + } + /// Clears the value of the "normalize_stride" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearNormalizeStride() { + _hasBits0 &= ~16; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NewVideoStreamRequest); + return Equals(other as VideoStreamFromParticipantRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NewVideoStreamRequest other) { + public bool Equals(VideoStreamFromParticipantRequest other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(RoomHandle, other.RoomHandle)) return false; - if (ParticipantSid != other.ParticipantSid) return false; - if (TrackSid != other.TrackSid) return false; + if (ParticipantHandle != other.ParticipantHandle) return false; if (Type != other.Type) return false; + if (TrackSource != other.TrackSource) return false; + if (Format != other.Format) return false; + if (NormalizeStride != other.NormalizeStride) return false; return Equals(_unknownFields, other._unknownFields); } @@ -761,10 +968,11 @@ public bool Equals(NewVideoStreamRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (roomHandle_ != null) hash ^= RoomHandle.GetHashCode(); - if (ParticipantSid.Length != 0) hash ^= ParticipantSid.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) hash ^= Type.GetHashCode(); + if (HasParticipantHandle) hash ^= ParticipantHandle.GetHashCode(); + if (HasType) hash ^= Type.GetHashCode(); + if (HasTrackSource) hash ^= TrackSource.GetHashCode(); + if (HasFormat) hash ^= Format.GetHashCode(); + if (HasNormalizeStride) hash ^= NormalizeStride.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -783,21 +991,25 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ParticipantHandle); } - if (ParticipantSid.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParticipantSid); + if (HasType) { + output.WriteRawTag(16); + output.WriteEnum((int) Type); } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); + if (HasTrackSource) { + output.WriteRawTag(24); + output.WriteEnum((int) TrackSource); } - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { + if (HasFormat) { output.WriteRawTag(32); - output.WriteEnum((int) Type); + output.WriteEnum((int) Format); + } + if (HasNormalizeStride) { + output.WriteRawTag(40); + output.WriteBool(NormalizeStride); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -809,21 +1021,25 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (roomHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(RoomHandle); + if (HasParticipantHandle) { + output.WriteRawTag(8); + output.WriteUInt64(ParticipantHandle); } - if (ParticipantSid.Length != 0) { - output.WriteRawTag(18); - output.WriteString(ParticipantSid); + if (HasType) { + output.WriteRawTag(16); + output.WriteEnum((int) Type); } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); + if (HasTrackSource) { + output.WriteRawTag(24); + output.WriteEnum((int) TrackSource); } - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { + if (HasFormat) { output.WriteRawTag(32); - output.WriteEnum((int) Type); + output.WriteEnum((int) Format); + } + if (HasNormalizeStride) { + output.WriteRawTag(40); + output.WriteBool(NormalizeStride); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -835,17 +1051,20 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (roomHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomHandle); + if (HasParticipantHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ParticipantHandle); } - if (ParticipantSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantSid); + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); } - if (TrackSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); + if (HasTrackSource) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TrackSource); } - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + if (HasFormat) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Format); + } + if (HasNormalizeStride) { + size += 1 + 1; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -855,24 +1074,24 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NewVideoStreamRequest other) { + public void MergeFrom(VideoStreamFromParticipantRequest other) { if (other == null) { return; } - if (other.roomHandle_ != null) { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - RoomHandle.MergeFrom(other.RoomHandle); + if (other.HasParticipantHandle) { + ParticipantHandle = other.ParticipantHandle; } - if (other.ParticipantSid.Length != 0) { - ParticipantSid = other.ParticipantSid; + if (other.HasType) { + Type = other.Type; } - if (other.TrackSid.Length != 0) { - TrackSid = other.TrackSid; + if (other.HasTrackSource) { + TrackSource = other.TrackSource; } - if (other.Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { - Type = other.Type; + if (other.HasFormat) { + Format = other.Format; + } + if (other.HasNormalizeStride) { + NormalizeStride = other.NormalizeStride; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -885,27 +1104,32 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + ParticipantHandle = input.ReadUInt64(); break; } - case 18: { - ParticipantSid = input.ReadString(); + case 16: { + Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); break; } - case 26: { - TrackSid = input.ReadString(); + case 24: { + TrackSource = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); break; } case 32: { - Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); + Format = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); + break; + } + case 40: { + NormalizeStride = input.ReadBool(); break; } } @@ -919,27 +1143,32 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (roomHandle_ == null) { - RoomHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(RoomHandle); + case 8: { + ParticipantHandle = input.ReadUInt64(); break; } - case 18: { - ParticipantSid = input.ReadString(); + case 16: { + Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); break; } - case 26: { - TrackSid = input.ReadString(); + case 24: { + TrackSource = (global::LiveKit.Proto.TrackSource) input.ReadEnum(); break; } case 32: { - Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); + Format = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); + break; + } + case 40: { + NormalizeStride = input.ReadBool(); break; } } @@ -949,16 +1178,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class NewVideoStreamResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoStreamFromParticipantResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NewVideoStreamResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoStreamFromParticipantResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -974,7 +1204,7 @@ public sealed partial class NewVideoStreamResponse : pb::IMessageField number for the "stream" field. public const int StreamFieldNumber = 1; - private global::LiveKit.Proto.VideoStreamInfo stream_; + private global::LiveKit.Proto.OwnedVideoStream stream_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoStreamInfo Stream { + public global::LiveKit.Proto.OwnedVideoStream Stream { get { return stream_; } set { stream_ = value; @@ -1008,12 +1238,12 @@ public NewVideoStreamResponse Clone() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NewVideoStreamResponse); + return Equals(other as VideoStreamFromParticipantResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NewVideoStreamResponse other) { + public bool Equals(VideoStreamFromParticipantResponse other) { if (ReferenceEquals(other, null)) { return false; } @@ -1086,13 +1316,13 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NewVideoStreamResponse other) { + public void MergeFrom(VideoStreamFromParticipantResponse other) { if (other == null) { return; } if (other.stream_ != null) { if (stream_ == null) { - Stream = new global::LiveKit.Proto.VideoStreamInfo(); + Stream = new global::LiveKit.Proto.OwnedVideoStream(); } Stream.MergeFrom(other.Stream); } @@ -1107,13 +1337,17 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (stream_ == null) { - Stream = new global::LiveKit.Proto.VideoStreamInfo(); + Stream = new global::LiveKit.Proto.OwnedVideoStream(); } input.ReadMessage(Stream); break; @@ -1129,13 +1363,17 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (stream_ == null) { - Stream = new global::LiveKit.Proto.VideoStreamInfo(); + Stream = new global::LiveKit.Proto.OwnedVideoStream(); } input.ReadMessage(Stream); break; @@ -1151,6 +1389,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// Create a new VideoSource /// VideoSource is used to send video frame to a track /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class NewVideoSourceRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1158,6 +1397,7 @@ public sealed partial class NewVideoSourceRequest : pb::IMessage _parser = new pb::MessageParser(() => new NewVideoSourceRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1185,7 +1425,9 @@ public NewVideoSourceRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public NewVideoSourceRequest(NewVideoSourceRequest other) : this() { + _hasBits0 = other._hasBits0; type_ = other.type_; + resolution_ = other.resolution_ != null ? other.resolution_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1197,15 +1439,46 @@ public NewVideoSourceRequest Clone() { /// Field number for the "type" field. public const int TypeFieldNumber = 1; - private global::LiveKit.Proto.VideoSourceType type_ = global::LiveKit.Proto.VideoSourceType.VideoSourceNative; + private readonly static global::LiveKit.Proto.VideoSourceType TypeDefaultValue = global::LiveKit.Proto.VideoSourceType.VideoSourceNative; + + private global::LiveKit.Proto.VideoSourceType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::LiveKit.Proto.VideoSourceType Type { - get { return type_; } + get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } } set { + _hasBits0 |= 1; type_ = value; } } + /// Gets whether the "type" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~1; + } + + /// Field number for the "resolution" field. + public const int ResolutionFieldNumber = 2; + private global::LiveKit.Proto.VideoSourceResolution resolution_; + /// + /// Used to determine which encodings to use + simulcast layers + /// Most of the time it corresponds to the source resolution + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoSourceResolution Resolution { + get { return resolution_; } + set { + resolution_ = value; + } + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1223,6 +1496,7 @@ public bool Equals(NewVideoSourceRequest other) { return true; } if (Type != other.Type) return false; + if (!object.Equals(Resolution, other.Resolution)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1230,7 +1504,8 @@ public bool Equals(NewVideoSourceRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) hash ^= Type.GetHashCode(); + if (HasType) hash ^= Type.GetHashCode(); + if (resolution_ != null) hash ^= Resolution.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1249,10 +1524,14 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { + if (HasType) { output.WriteRawTag(8); output.WriteEnum((int) Type); } + if (resolution_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Resolution); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1263,10 +1542,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { + if (HasType) { output.WriteRawTag(8); output.WriteEnum((int) Type); } + if (resolution_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Resolution); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1277,9 +1560,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { + if (HasType) { size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); } + if (resolution_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Resolution); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1292,9 +1578,15 @@ public void MergeFrom(NewVideoSourceRequest other) { if (other == null) { return; } - if (other.Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { + if (other.HasType) { Type = other.Type; } + if (other.resolution_ != null) { + if (resolution_ == null) { + Resolution = new global::LiveKit.Proto.VideoSourceResolution(); + } + Resolution.MergeFrom(other.Resolution); + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1306,7 +1598,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1314,6 +1610,13 @@ public void MergeFrom(pb::CodedInputStream input) { Type = (global::LiveKit.Proto.VideoSourceType) input.ReadEnum(); break; } + case 18: { + if (resolution_ == null) { + Resolution = new global::LiveKit.Proto.VideoSourceResolution(); + } + input.ReadMessage(Resolution); + break; + } } } #endif @@ -1325,7 +1628,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1333,6 +1640,13 @@ public void MergeFrom(pb::CodedInputStream input) { Type = (global::LiveKit.Proto.VideoSourceType) input.ReadEnum(); break; } + case 18: { + if (resolution_ == null) { + Resolution = new global::LiveKit.Proto.VideoSourceResolution(); + } + input.ReadMessage(Resolution); + break; + } } } } @@ -1340,6 +1654,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class NewVideoSourceResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1386,10 +1701,10 @@ public NewVideoSourceResponse Clone() { /// Field number for the "source" field. public const int SourceFieldNumber = 1; - private global::LiveKit.Proto.VideoSourceInfo source_; + private global::LiveKit.Proto.OwnedVideoSource source_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoSourceInfo Source { + public global::LiveKit.Proto.OwnedVideoSource Source { get { return source_; } set { source_ = value; @@ -1483,7 +1798,7 @@ public void MergeFrom(NewVideoSourceResponse other) { } if (other.source_ != null) { if (source_ == null) { - Source = new global::LiveKit.Proto.VideoSourceInfo(); + Source = new global::LiveKit.Proto.OwnedVideoSource(); } Source.MergeFrom(other.Source); } @@ -1498,13 +1813,17 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (source_ == null) { - Source = new global::LiveKit.Proto.VideoSourceInfo(); + Source = new global::LiveKit.Proto.OwnedVideoSource(); } input.ReadMessage(Source); break; @@ -1520,13 +1839,17 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (source_ == null) { - Source = new global::LiveKit.Proto.VideoSourceInfo(); + Source = new global::LiveKit.Proto.OwnedVideoSource(); } input.ReadMessage(Source); break; @@ -1541,6 +1864,7 @@ public void MergeFrom(pb::CodedInputStream input) { /// /// Push a frame to a VideoSource /// + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class CaptureVideoFrameRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1548,6 +1872,7 @@ public sealed partial class CaptureVideoFrameRequest : pb::IMessage _parser = new pb::MessageParser(() => new CaptureVideoFrameRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } @@ -1575,9 +1900,11 @@ public CaptureVideoFrameRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public CaptureVideoFrameRequest(CaptureVideoFrameRequest other) : this() { - sourceHandle_ = other.sourceHandle_ != null ? other.sourceHandle_.Clone() : null; - frame_ = other.frame_ != null ? other.frame_.Clone() : null; - bufferHandle_ = other.bufferHandle_ != null ? other.bufferHandle_.Clone() : null; + _hasBits0 = other._hasBits0; + sourceHandle_ = other.sourceHandle_; + buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; + timestampUs_ = other.timestampUs_; + rotation_ = other.rotation_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1589,39 +1916,99 @@ public CaptureVideoFrameRequest Clone() { /// Field number for the "source_handle" field. public const int SourceHandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId sourceHandle_; + private readonly static ulong SourceHandleDefaultValue = 0UL; + + private ulong sourceHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId SourceHandle { - get { return sourceHandle_; } + public ulong SourceHandle { + get { if ((_hasBits0 & 1) != 0) { return sourceHandle_; } else { return SourceHandleDefaultValue; } } set { + _hasBits0 |= 1; sourceHandle_ = value; } } + /// Gets whether the "source_handle" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSourceHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "source_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSourceHandle() { + _hasBits0 &= ~1; + } + + /// Field number for the "buffer" field. + public const int BufferFieldNumber = 2; + private global::LiveKit.Proto.VideoBufferInfo buffer_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoBufferInfo Buffer { + get { return buffer_; } + set { + buffer_ = value; + } + } + + /// Field number for the "timestamp_us" field. + public const int TimestampUsFieldNumber = 3; + private readonly static long TimestampUsDefaultValue = 0L; - /// Field number for the "frame" field. - public const int FrameFieldNumber = 2; - private global::LiveKit.Proto.VideoFrameInfo frame_; + private long timestampUs_; + /// + /// In microseconds + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameInfo Frame { - get { return frame_; } + public long TimestampUs { + get { if ((_hasBits0 & 2) != 0) { return timestampUs_; } else { return TimestampUsDefaultValue; } } set { - frame_ = value; + _hasBits0 |= 2; + timestampUs_ = value; } } + /// Gets whether the "timestamp_us" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimestampUs { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "timestamp_us" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimestampUs() { + _hasBits0 &= ~2; + } + + /// Field number for the "rotation" field. + public const int RotationFieldNumber = 4; + private readonly static global::LiveKit.Proto.VideoRotation RotationDefaultValue = global::LiveKit.Proto.VideoRotation._0; - /// Field number for the "buffer_handle" field. - public const int BufferHandleFieldNumber = 3; - private global::LiveKit.Proto.FFIHandleId bufferHandle_; + private global::LiveKit.Proto.VideoRotation rotation_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId BufferHandle { - get { return bufferHandle_; } + public global::LiveKit.Proto.VideoRotation Rotation { + get { if ((_hasBits0 & 4) != 0) { return rotation_; } else { return RotationDefaultValue; } } set { - bufferHandle_ = value; + _hasBits0 |= 4; + rotation_ = value; } } + /// Gets whether the "rotation" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRotation { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "rotation" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRotation() { + _hasBits0 &= ~4; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -1638,9 +2025,10 @@ public bool Equals(CaptureVideoFrameRequest other) { if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(SourceHandle, other.SourceHandle)) return false; - if (!object.Equals(Frame, other.Frame)) return false; - if (!object.Equals(BufferHandle, other.BufferHandle)) return false; + if (SourceHandle != other.SourceHandle) return false; + if (!object.Equals(Buffer, other.Buffer)) return false; + if (TimestampUs != other.TimestampUs) return false; + if (Rotation != other.Rotation) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1648,9 +2036,10 @@ public bool Equals(CaptureVideoFrameRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (sourceHandle_ != null) hash ^= SourceHandle.GetHashCode(); - if (frame_ != null) hash ^= Frame.GetHashCode(); - if (bufferHandle_ != null) hash ^= BufferHandle.GetHashCode(); + if (HasSourceHandle) hash ^= SourceHandle.GetHashCode(); + if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (HasTimestampUs) hash ^= TimestampUs.GetHashCode(); + if (HasRotation) hash ^= Rotation.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1669,17 +2058,21 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (sourceHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(SourceHandle); + if (HasSourceHandle) { + output.WriteRawTag(8); + output.WriteUInt64(SourceHandle); } - if (frame_ != null) { + if (buffer_ != null) { output.WriteRawTag(18); - output.WriteMessage(Frame); + output.WriteMessage(Buffer); } - if (bufferHandle_ != null) { - output.WriteRawTag(26); - output.WriteMessage(BufferHandle); + if (HasTimestampUs) { + output.WriteRawTag(24); + output.WriteInt64(TimestampUs); + } + if (HasRotation) { + output.WriteRawTag(32); + output.WriteEnum((int) Rotation); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -1691,17 +2084,21 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (sourceHandle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(SourceHandle); + if (HasSourceHandle) { + output.WriteRawTag(8); + output.WriteUInt64(SourceHandle); } - if (frame_ != null) { + if (buffer_ != null) { output.WriteRawTag(18); - output.WriteMessage(Frame); + output.WriteMessage(Buffer); } - if (bufferHandle_ != null) { - output.WriteRawTag(26); - output.WriteMessage(BufferHandle); + if (HasTimestampUs) { + output.WriteRawTag(24); + output.WriteInt64(TimestampUs); + } + if (HasRotation) { + output.WriteRawTag(32); + output.WriteEnum((int) Rotation); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -1713,14 +2110,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (sourceHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceHandle); + if (HasSourceHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceHandle); + } + if (buffer_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); } - if (frame_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Frame); + if (HasTimestampUs) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimestampUs); } - if (bufferHandle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(BufferHandle); + if (HasRotation) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Rotation); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -1734,23 +2134,20 @@ public void MergeFrom(CaptureVideoFrameRequest other) { if (other == null) { return; } - if (other.sourceHandle_ != null) { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - SourceHandle.MergeFrom(other.SourceHandle); + if (other.HasSourceHandle) { + SourceHandle = other.SourceHandle; } - if (other.frame_ != null) { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.VideoFrameInfo(); + if (other.buffer_ != null) { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.VideoBufferInfo(); } - Frame.MergeFrom(other.Frame); + Buffer.MergeFrom(other.Buffer); } - if (other.bufferHandle_ != null) { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); - } - BufferHandle.MergeFrom(other.BufferHandle); + if (other.HasTimestampUs) { + TimestampUs = other.TimestampUs; + } + if (other.HasRotation) { + Rotation = other.Rotation; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1763,29 +2160,31 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 8: { + SourceHandle = input.ReadUInt64(); break; } case 18: { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.VideoFrameInfo(); + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.VideoBufferInfo(); } - input.ReadMessage(Frame); + input.ReadMessage(Buffer); break; } - case 26: { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(BufferHandle); + case 24: { + TimestampUs = input.ReadInt64(); + break; + } + case 32: { + Rotation = (global::LiveKit.Proto.VideoRotation) input.ReadEnum(); break; } } @@ -1799,29 +2198,31 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (sourceHandle_ == null) { - SourceHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(SourceHandle); + case 8: { + SourceHandle = input.ReadUInt64(); break; } case 18: { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.VideoFrameInfo(); + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.VideoBufferInfo(); } - input.ReadMessage(Frame); + input.ReadMessage(Buffer); break; } - case 26: { - if (bufferHandle_ == null) { - BufferHandle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(BufferHandle); + case 24: { + TimestampUs = input.ReadInt64(); + break; + } + case 32: { + Rotation = (global::LiveKit.Proto.VideoRotation) input.ReadEnum(); break; } } @@ -1831,6 +2232,7 @@ public void MergeFrom(pb::CodedInputStream input) { } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] public sealed partial class CaptureVideoFrameResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -1957,7 +2359,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -1972,7 +2378,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -1983,20 +2393,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Convert a RGBA frame to a I420 YUV frame - /// Or convert another YUV frame format to I420 - /// - public sealed partial class ToI420Request : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoConvertRequest : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ToI420Request()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoConvertRequest()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2012,7 +2420,7 @@ public sealed partial class ToI420Request : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToI420Request() { + public VideoConvertRequest() { OnConstruction(); } @@ -2020,92 +2428,95 @@ public ToI420Request() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToI420Request(ToI420Request other) : this() { + public VideoConvertRequest(VideoConvertRequest other) : this() { + _hasBits0 = other._hasBits0; flipY_ = other.flipY_; - switch (other.FromCase) { - case FromOneofCase.Argb: - Argb = other.Argb.Clone(); - break; - case FromOneofCase.Buffer: - Buffer = other.Buffer.Clone(); - break; - } - + buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; + dstType_ = other.dstType_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToI420Request Clone() { - return new ToI420Request(this); + public VideoConvertRequest Clone() { + return new VideoConvertRequest(this); } /// Field number for the "flip_y" field. public const int FlipYFieldNumber = 1; + private readonly static bool FlipYDefaultValue = false; + private bool flipY_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool FlipY { - get { return flipY_; } + get { if ((_hasBits0 & 1) != 0) { return flipY_; } else { return FlipYDefaultValue; } } set { + _hasBits0 |= 1; flipY_ = value; } } - - /// Field number for the "argb" field. - public const int ArgbFieldNumber = 2; + /// Gets whether the "flip_y" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.ARGBBufferInfo Argb { - get { return fromCase_ == FromOneofCase.Argb ? (global::LiveKit.Proto.ARGBBufferInfo) from_ : null; } - set { - from_ = value; - fromCase_ = value == null ? FromOneofCase.None : FromOneofCase.Argb; - } + public bool HasFlipY { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "flip_y" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFlipY() { + _hasBits0 &= ~1; } /// Field number for the "buffer" field. - public const int BufferFieldNumber = 3; + public const int BufferFieldNumber = 2; + private global::LiveKit.Proto.VideoBufferInfo buffer_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Buffer { - get { return fromCase_ == FromOneofCase.Buffer ? (global::LiveKit.Proto.FFIHandleId) from_ : null; } + public global::LiveKit.Proto.VideoBufferInfo Buffer { + get { return buffer_; } set { - from_ = value; - fromCase_ = value == null ? FromOneofCase.None : FromOneofCase.Buffer; + buffer_ = value; } } - private object from_; - /// Enum of possible cases for the "from" oneof. - public enum FromOneofCase { - None = 0, - Argb = 2, - Buffer = 3, + /// Field number for the "dst_type" field. + public const int DstTypeFieldNumber = 3; + private readonly static global::LiveKit.Proto.VideoBufferType DstTypeDefaultValue = global::LiveKit.Proto.VideoBufferType.Rgba; + + private global::LiveKit.Proto.VideoBufferType dstType_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoBufferType DstType { + get { if ((_hasBits0 & 2) != 0) { return dstType_; } else { return DstTypeDefaultValue; } } + set { + _hasBits0 |= 2; + dstType_ = value; + } } - private FromOneofCase fromCase_ = FromOneofCase.None; + /// Gets whether the "dst_type" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public FromOneofCase FromCase { - get { return fromCase_; } + public bool HasDstType { + get { return (_hasBits0 & 2) != 0; } } - + /// Clears the value of the "dst_type" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearFrom() { - fromCase_ = FromOneofCase.None; - from_ = null; + public void ClearDstType() { + _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ToI420Request); + return Equals(other as VideoConvertRequest); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ToI420Request other) { + public bool Equals(VideoConvertRequest other) { if (ReferenceEquals(other, null)) { return false; } @@ -2113,9 +2524,8 @@ public bool Equals(ToI420Request other) { return true; } if (FlipY != other.FlipY) return false; - if (!object.Equals(Argb, other.Argb)) return false; if (!object.Equals(Buffer, other.Buffer)) return false; - if (FromCase != other.FromCase) return false; + if (DstType != other.DstType) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2123,10 +2533,9 @@ public bool Equals(ToI420Request other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (FlipY != false) hash ^= FlipY.GetHashCode(); - if (fromCase_ == FromOneofCase.Argb) hash ^= Argb.GetHashCode(); - if (fromCase_ == FromOneofCase.Buffer) hash ^= Buffer.GetHashCode(); - hash ^= (int) fromCase_; + if (HasFlipY) hash ^= FlipY.GetHashCode(); + if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (HasDstType) hash ^= DstType.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2145,18 +2554,18 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (FlipY != false) { + if (HasFlipY) { output.WriteRawTag(8); output.WriteBool(FlipY); } - if (fromCase_ == FromOneofCase.Argb) { + if (buffer_ != null) { output.WriteRawTag(18); - output.WriteMessage(Argb); - } - if (fromCase_ == FromOneofCase.Buffer) { - output.WriteRawTag(26); output.WriteMessage(Buffer); } + if (HasDstType) { + output.WriteRawTag(24); + output.WriteEnum((int) DstType); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -2167,18 +2576,18 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (FlipY != false) { + if (HasFlipY) { output.WriteRawTag(8); output.WriteBool(FlipY); } - if (fromCase_ == FromOneofCase.Argb) { + if (buffer_ != null) { output.WriteRawTag(18); - output.WriteMessage(Argb); - } - if (fromCase_ == FromOneofCase.Buffer) { - output.WriteRawTag(26); output.WriteMessage(Buffer); } + if (HasDstType) { + output.WriteRawTag(24); + output.WriteEnum((int) DstType); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -2189,15 +2598,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (FlipY != false) { + if (HasFlipY) { size += 1 + 1; } - if (fromCase_ == FromOneofCase.Argb) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Argb); - } - if (fromCase_ == FromOneofCase.Buffer) { + if (buffer_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); } + if (HasDstType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DstType); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -2206,28 +2615,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ToI420Request other) { + public void MergeFrom(VideoConvertRequest other) { if (other == null) { return; } - if (other.FlipY != false) { + if (other.HasFlipY) { FlipY = other.FlipY; } - switch (other.FromCase) { - case FromOneofCase.Argb: - if (Argb == null) { - Argb = new global::LiveKit.Proto.ARGBBufferInfo(); - } - Argb.MergeFrom(other.Argb); - break; - case FromOneofCase.Buffer: - if (Buffer == null) { - Buffer = new global::LiveKit.Proto.FFIHandleId(); - } - Buffer.MergeFrom(other.Buffer); - break; + if (other.buffer_ != null) { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.VideoBufferInfo(); + } + Buffer.MergeFrom(other.Buffer); + } + if (other.HasDstType) { + DstType = other.DstType; } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2239,7 +2642,11 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; @@ -2248,21 +2655,14 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 18: { - global::LiveKit.Proto.ARGBBufferInfo subBuilder = new global::LiveKit.Proto.ARGBBufferInfo(); - if (fromCase_ == FromOneofCase.Argb) { - subBuilder.MergeFrom(Argb); + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.VideoBufferInfo(); } - input.ReadMessage(subBuilder); - Argb = subBuilder; + input.ReadMessage(Buffer); break; } - case 26: { - global::LiveKit.Proto.FFIHandleId subBuilder = new global::LiveKit.Proto.FFIHandleId(); - if (fromCase_ == FromOneofCase.Buffer) { - subBuilder.MergeFrom(Buffer); - } - input.ReadMessage(subBuilder); - Buffer = subBuilder; + case 24: { + DstType = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); break; } } @@ -2276,7 +2676,11 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; @@ -2285,21 +2689,14 @@ public void MergeFrom(pb::CodedInputStream input) { break; } case 18: { - global::LiveKit.Proto.ARGBBufferInfo subBuilder = new global::LiveKit.Proto.ARGBBufferInfo(); - if (fromCase_ == FromOneofCase.Argb) { - subBuilder.MergeFrom(Argb); + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.VideoBufferInfo(); } - input.ReadMessage(subBuilder); - Argb = subBuilder; + input.ReadMessage(Buffer); break; } - case 26: { - global::LiveKit.Proto.FFIHandleId subBuilder = new global::LiveKit.Proto.FFIHandleId(); - if (fromCase_ == FromOneofCase.Buffer) { - subBuilder.MergeFrom(Buffer); - } - input.ReadMessage(subBuilder); - Buffer = subBuilder; + case 24: { + DstType = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); break; } } @@ -2309,16 +2706,17 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ToI420Response : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoConvertResponse : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ToI420Response()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoConvertResponse()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2334,7 +2732,7 @@ public sealed partial class ToI420Response : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToI420Response() { + public VideoConvertResponse() { OnConstruction(); } @@ -2342,45 +2740,102 @@ public ToI420Response() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToI420Response(ToI420Response other) : this() { - buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; + public VideoConvertResponse(VideoConvertResponse other) : this() { + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Buffer: + Buffer = other.Buffer.Clone(); + break; + } + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToI420Response Clone() { - return new ToI420Response(this); + public VideoConvertResponse Clone() { + return new VideoConvertResponse(this); + } + + /// Field number for the "error" field. + public const int ErrorFieldNumber = 1; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Error { + get { return HasError ? (string) message_ : ""; } + set { + message_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + messageCase_ = MessageOneofCase.Error; + } + } + /// Gets whether the "error" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasError { + get { return messageCase_ == MessageOneofCase.Error; } + } + /// Clears the value of the oneof if it's currently set to "error" + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearError() { + if (HasError) { + ClearMessage(); + } } /// Field number for the "buffer" field. - public const int BufferFieldNumber = 1; - private global::LiveKit.Proto.VideoFrameBufferInfo buffer_; + public const int BufferFieldNumber = 2; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameBufferInfo Buffer { - get { return buffer_; } + public global::LiveKit.Proto.OwnedVideoBuffer Buffer { + get { return messageCase_ == MessageOneofCase.Buffer ? (global::LiveKit.Proto.OwnedVideoBuffer) message_ : null; } set { - buffer_ = value; + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Buffer; } } + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + Error = 1, + Buffer = 2, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public MessageOneofCase MessageCase { + get { return messageCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ToI420Response); + return Equals(other as VideoConvertResponse); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ToI420Response other) { + public bool Equals(VideoConvertResponse other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (Error != other.Error) return false; if (!object.Equals(Buffer, other.Buffer)) return false; + if (MessageCase != other.MessageCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2388,7 +2843,9 @@ public bool Equals(ToI420Response other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (HasError) hash ^= Error.GetHashCode(); + if (messageCase_ == MessageOneofCase.Buffer) hash ^= Buffer.GetHashCode(); + hash ^= (int) messageCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2407,8 +2864,12 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (buffer_ != null) { + if (HasError) { output.WriteRawTag(10); + output.WriteString(Error); + } + if (messageCase_ == MessageOneofCase.Buffer) { + output.WriteRawTag(18); output.WriteMessage(Buffer); } if (_unknownFields != null) { @@ -2421,8 +2882,12 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (buffer_ != null) { + if (HasError) { output.WriteRawTag(10); + output.WriteString(Error); + } + if (messageCase_ == MessageOneofCase.Buffer) { + output.WriteRawTag(18); output.WriteMessage(Buffer); } if (_unknownFields != null) { @@ -2435,7 +2900,10 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (buffer_ != null) { + if (HasError) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Error); + } + if (messageCase_ == MessageOneofCase.Buffer) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); } if (_unknownFields != null) { @@ -2446,16 +2914,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ToI420Response other) { + public void MergeFrom(VideoConvertResponse other) { if (other == null) { return; } - if (other.buffer_ != null) { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); - } - Buffer.MergeFrom(other.Buffer); + switch (other.MessageCase) { + case MessageOneofCase.Error: + Error = other.Error; + break; + case MessageOneofCase.Buffer: + if (Buffer == null) { + Buffer = new global::LiveKit.Proto.OwnedVideoBuffer(); + } + Buffer.MergeFrom(other.Buffer); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2467,15 +2941,25 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); + Error = input.ReadString(); + break; + } + case 18: { + global::LiveKit.Proto.OwnedVideoBuffer subBuilder = new global::LiveKit.Proto.OwnedVideoBuffer(); + if (messageCase_ == MessageOneofCase.Buffer) { + subBuilder.MergeFrom(Buffer); } - input.ReadMessage(Buffer); + input.ReadMessage(subBuilder); + Buffer = subBuilder; break; } } @@ -2489,15 +2973,25 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); + Error = input.ReadString(); + break; + } + case 18: { + global::LiveKit.Proto.OwnedVideoBuffer subBuilder = new global::LiveKit.Proto.OwnedVideoBuffer(); + if (messageCase_ == MessageOneofCase.Buffer) { + subBuilder.MergeFrom(Buffer); } - input.ReadMessage(Buffer); + input.ReadMessage(subBuilder); + Buffer = subBuilder; break; } } @@ -2507,20 +3001,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// Convert a YUV frame to a RGBA frame - /// Only I420 is supported atm - /// - public sealed partial class ToARGBRequest : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoResolution : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ToARGBRequest()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoResolution()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2536,7 +3028,7 @@ public sealed partial class ToARGBRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToARGBRequest() { + public VideoResolution() { OnConstruction(); } @@ -2544,129 +3036,119 @@ public ToARGBRequest() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToARGBRequest(ToARGBRequest other) : this() { - buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; - dstPtr_ = other.dstPtr_; - dstFormat_ = other.dstFormat_; - dstStride_ = other.dstStride_; - dstWidth_ = other.dstWidth_; - dstHeight_ = other.dstHeight_; - flipY_ = other.flipY_; + public VideoResolution(VideoResolution other) : this() { + _hasBits0 = other._hasBits0; + width_ = other.width_; + height_ = other.height_; + frameRate_ = other.frameRate_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToARGBRequest Clone() { - return new ToARGBRequest(this); + public VideoResolution Clone() { + return new VideoResolution(this); } - /// Field number for the "buffer" field. - public const int BufferFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId buffer_; + /// Field number for the "width" field. + public const int WidthFieldNumber = 1; + private readonly static uint WidthDefaultValue = 0; + + private uint width_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Buffer { - get { return buffer_; } + public uint Width { + get { if ((_hasBits0 & 1) != 0) { return width_; } else { return WidthDefaultValue; } } set { - buffer_ = value; + _hasBits0 |= 1; + width_ = value; } } - - /// Field number for the "dst_ptr" field. - public const int DstPtrFieldNumber = 2; - private ulong dstPtr_; + /// Gets whether the "width" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DstPtr { - get { return dstPtr_; } - set { - dstPtr_ = value; - } + public bool HasWidth { + get { return (_hasBits0 & 1) != 0; } } - - /// Field number for the "dst_format" field. - public const int DstFormatFieldNumber = 3; - private global::LiveKit.Proto.VideoFormatType dstFormat_ = global::LiveKit.Proto.VideoFormatType.FormatArgb; + /// Clears the value of the "width" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFormatType DstFormat { - get { return dstFormat_; } - set { - dstFormat_ = value; - } + public void ClearWidth() { + _hasBits0 &= ~1; } - /// Field number for the "dst_stride" field. - public const int DstStrideFieldNumber = 4; - private uint dstStride_; + /// Field number for the "height" field. + public const int HeightFieldNumber = 2; + private readonly static uint HeightDefaultValue = 0; + + private uint height_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint DstStride { - get { return dstStride_; } + public uint Height { + get { if ((_hasBits0 & 2) != 0) { return height_; } else { return HeightDefaultValue; } } set { - dstStride_ = value; + _hasBits0 |= 2; + height_ = value; } } - - /// Field number for the "dst_width" field. - public const int DstWidthFieldNumber = 5; - private uint dstWidth_; + /// Gets whether the "height" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint DstWidth { - get { return dstWidth_; } - set { - dstWidth_ = value; - } + public bool HasHeight { + get { return (_hasBits0 & 2) != 0; } } - - /// Field number for the "dst_height" field. - public const int DstHeightFieldNumber = 6; - private uint dstHeight_; + /// Clears the value of the "height" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint DstHeight { - get { return dstHeight_; } - set { - dstHeight_ = value; - } + public void ClearHeight() { + _hasBits0 &= ~2; } - /// Field number for the "flip_y" field. - public const int FlipYFieldNumber = 7; - private bool flipY_; + /// Field number for the "frame_rate" field. + public const int FrameRateFieldNumber = 3; + private readonly static double FrameRateDefaultValue = 0D; + + private double frameRate_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool FlipY { - get { return flipY_; } + public double FrameRate { + get { if ((_hasBits0 & 4) != 0) { return frameRate_; } else { return FrameRateDefaultValue; } } set { - flipY_ = value; + _hasBits0 |= 4; + frameRate_ = value; } } + /// Gets whether the "frame_rate" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasFrameRate { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "frame_rate" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearFrameRate() { + _hasBits0 &= ~4; + } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ToARGBRequest); + return Equals(other as VideoResolution); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ToARGBRequest other) { + public bool Equals(VideoResolution other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Buffer, other.Buffer)) return false; - if (DstPtr != other.DstPtr) return false; - if (DstFormat != other.DstFormat) return false; - if (DstStride != other.DstStride) return false; - if (DstWidth != other.DstWidth) return false; - if (DstHeight != other.DstHeight) return false; - if (FlipY != other.FlipY) return false; + if (Width != other.Width) return false; + if (Height != other.Height) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FrameRate, other.FrameRate)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -2674,13 +3156,9 @@ public bool Equals(ToARGBRequest other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (buffer_ != null) hash ^= Buffer.GetHashCode(); - if (DstPtr != 0UL) hash ^= DstPtr.GetHashCode(); - if (DstFormat != global::LiveKit.Proto.VideoFormatType.FormatArgb) hash ^= DstFormat.GetHashCode(); - if (DstStride != 0) hash ^= DstStride.GetHashCode(); - if (DstWidth != 0) hash ^= DstWidth.GetHashCode(); - if (DstHeight != 0) hash ^= DstHeight.GetHashCode(); - if (FlipY != false) hash ^= FlipY.GetHashCode(); + if (HasWidth) hash ^= Width.GetHashCode(); + if (HasHeight) hash ^= Height.GetHashCode(); + if (HasFrameRate) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FrameRate); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -2699,33 +3177,17 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (buffer_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Buffer); + if (HasWidth) { + output.WriteRawTag(8); + output.WriteUInt32(Width); } - if (DstPtr != 0UL) { + if (HasHeight) { output.WriteRawTag(16); - output.WriteUInt64(DstPtr); - } - if (DstFormat != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - output.WriteRawTag(24); - output.WriteEnum((int) DstFormat); - } - if (DstStride != 0) { - output.WriteRawTag(32); - output.WriteUInt32(DstStride); - } - if (DstWidth != 0) { - output.WriteRawTag(40); - output.WriteUInt32(DstWidth); - } - if (DstHeight != 0) { - output.WriteRawTag(48); - output.WriteUInt32(DstHeight); + output.WriteUInt32(Height); } - if (FlipY != false) { - output.WriteRawTag(56); - output.WriteBool(FlipY); + if (HasFrameRate) { + output.WriteRawTag(25); + output.WriteDouble(FrameRate); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -2737,33 +3199,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (buffer_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Buffer); + if (HasWidth) { + output.WriteRawTag(8); + output.WriteUInt32(Width); } - if (DstPtr != 0UL) { + if (HasHeight) { output.WriteRawTag(16); - output.WriteUInt64(DstPtr); - } - if (DstFormat != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - output.WriteRawTag(24); - output.WriteEnum((int) DstFormat); - } - if (DstStride != 0) { - output.WriteRawTag(32); - output.WriteUInt32(DstStride); - } - if (DstWidth != 0) { - output.WriteRawTag(40); - output.WriteUInt32(DstWidth); - } - if (DstHeight != 0) { - output.WriteRawTag(48); - output.WriteUInt32(DstHeight); + output.WriteUInt32(Height); } - if (FlipY != false) { - output.WriteRawTag(56); - output.WriteBool(FlipY); + if (HasFrameRate) { + output.WriteRawTag(25); + output.WriteDouble(FrameRate); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -2775,26 +3221,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (buffer_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); - } - if (DstPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DstPtr); - } - if (DstFormat != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DstFormat); - } - if (DstStride != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DstStride); - } - if (DstWidth != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DstWidth); + if (HasWidth) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); } - if (DstHeight != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DstHeight); + if (HasHeight) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); } - if (FlipY != false) { - size += 1 + 1; + if (HasFrameRate) { + size += 1 + 8; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -2804,33 +3238,18 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ToARGBRequest other) { + public void MergeFrom(VideoResolution other) { if (other == null) { return; } - if (other.buffer_ != null) { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.FFIHandleId(); - } - Buffer.MergeFrom(other.Buffer); - } - if (other.DstPtr != 0UL) { - DstPtr = other.DstPtr; - } - if (other.DstFormat != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - DstFormat = other.DstFormat; - } - if (other.DstStride != 0) { - DstStride = other.DstStride; - } - if (other.DstWidth != 0) { - DstWidth = other.DstWidth; + if (other.HasWidth) { + Width = other.Width; } - if (other.DstHeight != 0) { - DstHeight = other.DstHeight; + if (other.HasHeight) { + Height = other.Height; } - if (other.FlipY != false) { - FlipY = other.FlipY; + if (other.HasFrameRate) { + FrameRate = other.FrameRate; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -2843,39 +3262,24 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Buffer); + case 8: { + Width = input.ReadUInt32(); break; } case 16: { - DstPtr = input.ReadUInt64(); - break; - } - case 24: { - DstFormat = (global::LiveKit.Proto.VideoFormatType) input.ReadEnum(); - break; - } - case 32: { - DstStride = input.ReadUInt32(); - break; - } - case 40: { - DstWidth = input.ReadUInt32(); - break; - } - case 48: { - DstHeight = input.ReadUInt32(); + Height = input.ReadUInt32(); break; } - case 56: { - FlipY = input.ReadBool(); + case 25: { + FrameRate = input.ReadDouble(); break; } } @@ -2889,39 +3293,24 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Buffer); + case 8: { + Width = input.ReadUInt32(); break; } case 16: { - DstPtr = input.ReadUInt64(); + Height = input.ReadUInt32(); break; } - case 24: { - DstFormat = (global::LiveKit.Proto.VideoFormatType) input.ReadEnum(); - break; - } - case 32: { - DstStride = input.ReadUInt32(); - break; - } - case 40: { - DstWidth = input.ReadUInt32(); - break; - } - case 48: { - DstHeight = input.ReadUInt32(); - break; - } - case 56: { - FlipY = input.ReadBool(); + case 25: { + FrameRate = input.ReadDouble(); break; } } @@ -2931,16 +3320,18 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class ToARGBResponse : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoBufferInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ToARGBResponse()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoBufferInfo()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] @@ -2956,7 +3347,7 @@ public sealed partial class ToARGBResponse : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToARGBResponse() { + public VideoBufferInfo() { OnConstruction(); } @@ -2964,225 +3355,193 @@ public ToARGBResponse() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToARGBResponse(ToARGBResponse other) : this() { + public VideoBufferInfo(VideoBufferInfo other) : this() { + _hasBits0 = other._hasBits0; + type_ = other.type_; + width_ = other.width_; + height_ = other.height_; + dataPtr_ = other.dataPtr_; + stride_ = other.stride_; + components_ = other.components_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ToARGBResponse Clone() { - return new ToARGBResponse(this); + public VideoBufferInfo Clone() { + return new VideoBufferInfo(this); } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as ToARGBResponse); - } + /// Field number for the "type" field. + public const int TypeFieldNumber = 1; + private readonly static global::LiveKit.Proto.VideoBufferType TypeDefaultValue = global::LiveKit.Proto.VideoBufferType.Rgba; + private global::LiveKit.Proto.VideoBufferType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ToARGBResponse other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; + public global::LiveKit.Proto.VideoBufferType Type { + get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } } + set { + _hasBits0 |= 1; + type_ = value; } - return Equals(_unknownFields, other._unknownFields); } - + /// Gets whether the "type" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; + public bool HasType { + get { return (_hasBits0 & 1) != 0; } } - + /// Clears the value of the "type" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); + public void ClearType() { + _hasBits0 &= ~1; } + /// Field number for the "width" field. + public const int WidthFieldNumber = 2; + private readonly static uint WidthDefaultValue = 0; + + private uint width_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (_unknownFields != null) { - _unknownFields.WriteTo(output); + public uint Width { + get { if ((_hasBits0 & 2) != 0) { return width_; } else { return WidthDefaultValue; } } + set { + _hasBits0 |= 2; + width_ = value; } - #endif } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + /// Gets whether the "width" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } + public bool HasWidth { + get { return (_hasBits0 & 2) != 0; } } - #endif - + /// Clears the value of the "width" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; + public void ClearWidth() { + _hasBits0 &= ~2; } + /// Field number for the "height" field. + public const int HeightFieldNumber = 3; + private readonly static uint HeightDefaultValue = 0; + + private uint height_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ToARGBResponse other) { - if (other == null) { - return; + public uint Height { + get { if ((_hasBits0 & 4) != 0) { return height_; } else { return HeightDefaultValue; } } + set { + _hasBits0 |= 4; + height_ = value; } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } - + /// Gets whether the "height" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - } - } - #endif + public bool HasHeight { + get { return (_hasBits0 & 4) != 0; } } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + /// Clears the value of the "height" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - } - } + public void ClearHeight() { + _hasBits0 &= ~4; } - #endif - } - - public sealed partial class VideoResolution : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoResolution()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 4; + private readonly static ulong DataPtrDefaultValue = 0UL; + private ulong dataPtr_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[12]; } + public ulong DataPtr { + get { if ((_hasBits0 & 8) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } + set { + _hasBits0 |= 8; + dataPtr_ = value; + } } - + /// Gets whether the "data_ptr" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } + public bool HasDataPtr { + get { return (_hasBits0 & 8) != 0; } } - + /// Clears the value of the "data_ptr" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoResolution() { - OnConstruction(); + public void ClearDataPtr() { + _hasBits0 &= ~8; } - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoResolution(VideoResolution other) : this() { - width_ = other.width_; - height_ = other.height_; - frameRate_ = other.frameRate_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } + /// Field number for the "stride" field. + public const int StrideFieldNumber = 6; + private readonly static uint StrideDefaultValue = 0; + private uint stride_; + /// + /// only for packed formats + /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoResolution Clone() { - return new VideoResolution(this); + public uint Stride { + get { if ((_hasBits0 & 16) != 0) { return stride_; } else { return StrideDefaultValue; } } + set { + _hasBits0 |= 16; + stride_ = value; + } } - - /// Field number for the "width" field. - public const int WidthFieldNumber = 1; - private uint width_; + /// Gets whether the "stride" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Width { - get { return width_; } - set { - width_ = value; - } + public bool HasStride { + get { return (_hasBits0 & 16) != 0; } } - - /// Field number for the "height" field. - public const int HeightFieldNumber = 2; - private uint height_; + /// Clears the value of the "stride" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Height { - get { return height_; } - set { - height_ = value; - } + public void ClearStride() { + _hasBits0 &= ~16; } - /// Field number for the "frame_rate" field. - public const int FrameRateFieldNumber = 3; - private double frameRate_; + /// Field number for the "components" field. + public const int ComponentsFieldNumber = 7; + private static readonly pb::FieldCodec _repeated_components_codec + = pb::FieldCodec.ForMessage(58, global::LiveKit.Proto.VideoBufferInfo.Types.ComponentInfo.Parser); + private readonly pbc::RepeatedField components_ = new pbc::RepeatedField(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public double FrameRate { - get { return frameRate_; } - set { - frameRate_ = value; - } + public pbc::RepeatedField Components { + get { return components_; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoResolution); + return Equals(other as VideoBufferInfo); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoResolution other) { + public bool Equals(VideoBufferInfo other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (Type != other.Type) return false; if (Width != other.Width) return false; if (Height != other.Height) return false; - if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FrameRate, other.FrameRate)) return false; + if (DataPtr != other.DataPtr) return false; + if (Stride != other.Stride) return false; + if(!components_.Equals(other.components_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3190,9 +3549,12 @@ public bool Equals(VideoResolution other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Width != 0) hash ^= Width.GetHashCode(); - if (Height != 0) hash ^= Height.GetHashCode(); - if (FrameRate != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FrameRate); + if (HasType) hash ^= Type.GetHashCode(); + if (HasWidth) hash ^= Width.GetHashCode(); + if (HasHeight) hash ^= Height.GetHashCode(); + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasStride) hash ^= Stride.GetHashCode(); + hash ^= components_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3211,18 +3573,27 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Width != 0) { + if (HasType) { output.WriteRawTag(8); - output.WriteUInt32(Width); + output.WriteEnum((int) Type); } - if (Height != 0) { + if (HasWidth) { output.WriteRawTag(16); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(24); output.WriteUInt32(Height); } - if (FrameRate != 0D) { - output.WriteRawTag(25); - output.WriteDouble(FrameRate); + if (HasDataPtr) { + output.WriteRawTag(32); + output.WriteUInt64(DataPtr); + } + if (HasStride) { + output.WriteRawTag(48); + output.WriteUInt32(Stride); } + components_.WriteTo(output, _repeated_components_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3233,18 +3604,27 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Width != 0) { + if (HasType) { output.WriteRawTag(8); - output.WriteUInt32(Width); + output.WriteEnum((int) Type); } - if (Height != 0) { + if (HasWidth) { output.WriteRawTag(16); + output.WriteUInt32(Width); + } + if (HasHeight) { + output.WriteRawTag(24); output.WriteUInt32(Height); } - if (FrameRate != 0D) { - output.WriteRawTag(25); - output.WriteDouble(FrameRate); + if (HasDataPtr) { + output.WriteRawTag(32); + output.WriteUInt64(DataPtr); + } + if (HasStride) { + output.WriteRawTag(48); + output.WriteUInt32(Stride); } + components_.WriteTo(ref output, _repeated_components_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3255,15 +3635,22 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Width != 0) { + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + } + if (HasWidth) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); } - if (Height != 0) { + if (HasHeight) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); } - if (FrameRate != 0D) { - size += 1 + 8; + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasStride) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Stride); } + size += components_.CalculateSize(_repeated_components_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3272,19 +3659,26 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoResolution other) { + public void MergeFrom(VideoBufferInfo other) { if (other == null) { return; } - if (other.Width != 0) { + if (other.HasType) { + Type = other.Type; + } + if (other.HasWidth) { Width = other.Width; } - if (other.Height != 0) { + if (other.HasHeight) { Height = other.Height; } - if (other.FrameRate != 0D) { - FrameRate = other.FrameRate; + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasStride) { + Stride = other.Stride; } + components_.Add(other.components_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3296,20 +3690,36 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - Width = input.ReadUInt32(); + Type = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); break; } case 16: { + Width = input.ReadUInt32(); + break; + } + case 24: { Height = input.ReadUInt32(); break; } - case 25: { - FrameRate = input.ReadDouble(); + case 32: { + DataPtr = input.ReadUInt64(); + break; + } + case 48: { + Stride = input.ReadUInt32(); + break; + } + case 58: { + components_.AddEntriesFrom(input, _repeated_components_codec); break; } } @@ -3323,20 +3733,36 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - Width = input.ReadUInt32(); + Type = (global::LiveKit.Proto.VideoBufferType) input.ReadEnum(); break; } case 16: { + Width = input.ReadUInt32(); + break; + } + case 24: { Height = input.ReadUInt32(); break; } - case 25: { - FrameRate = input.ReadDouble(); + case 32: { + DataPtr = input.ReadUInt64(); + break; + } + case 48: { + Stride = input.ReadUInt32(); + break; + } + case 58: { + components_.AddEntriesFrom(ref input, _repeated_components_codec); break; } } @@ -3344,136 +3770,422 @@ public void MergeFrom(pb::CodedInputStream input) { } #endif - } + #region Nested types + /// Container for nested types declared in the VideoBufferInfo message type. + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static partial class Types { + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ComponentInfo : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ComponentInfo()); + private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.VideoBufferInfo.Descriptor.NestedTypes[0]; } + } - public sealed partial class ARGBBufferInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ARGBBufferInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[13]; } - } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ComponentInfo() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ComponentInfo(ComponentInfo other) : this() { + _hasBits0 = other._hasBits0; + dataPtr_ = other.dataPtr_; + stride_ = other.stride_; + size_ = other.size_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ComponentInfo Clone() { + return new ComponentInfo(this); + } + + /// Field number for the "data_ptr" field. + public const int DataPtrFieldNumber = 1; + private readonly static ulong DataPtrDefaultValue = 0UL; + + private ulong dataPtr_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong DataPtr { + get { if ((_hasBits0 & 1) != 0) { return dataPtr_; } else { return DataPtrDefaultValue; } } + set { + _hasBits0 |= 1; + dataPtr_ = value; + } + } + /// Gets whether the "data_ptr" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasDataPtr { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "data_ptr" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearDataPtr() { + _hasBits0 &= ~1; + } + + /// Field number for the "stride" field. + public const int StrideFieldNumber = 2; + private readonly static uint StrideDefaultValue = 0; + + private uint stride_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Stride { + get { if ((_hasBits0 & 2) != 0) { return stride_; } else { return StrideDefaultValue; } } + set { + _hasBits0 |= 2; + stride_ = value; + } + } + /// Gets whether the "stride" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasStride { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "stride" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStride() { + _hasBits0 &= ~2; + } + + /// Field number for the "size" field. + public const int SizeFieldNumber = 3; + private readonly static uint SizeDefaultValue = 0; + + private uint size_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Size { + get { if ((_hasBits0 & 4) != 0) { return size_; } else { return SizeDefaultValue; } } + set { + _hasBits0 |= 4; + size_ = value; + } + } + /// Gets whether the "size" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasSize { + get { return (_hasBits0 & 4) != 0; } + } + /// Clears the value of the "size" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearSize() { + _hasBits0 &= ~4; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ComponentInfo); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ComponentInfo other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (DataPtr != other.DataPtr) return false; + if (Stride != other.Stride) return false; + if (Size != other.Size) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (HasDataPtr) hash ^= DataPtr.GetHashCode(); + if (HasStride) hash ^= Stride.GetHashCode(); + if (HasSize) hash ^= Size.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (HasDataPtr) { + output.WriteRawTag(8); + output.WriteUInt64(DataPtr); + } + if (HasStride) { + output.WriteRawTag(16); + output.WriteUInt32(Stride); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (HasDataPtr) { + output.WriteRawTag(8); + output.WriteUInt64(DataPtr); + } + if (HasStride) { + output.WriteRawTag(16); + output.WriteUInt32(Stride); + } + if (HasSize) { + output.WriteRawTag(24); + output.WriteUInt32(Size); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (HasDataPtr) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataPtr); + } + if (HasStride) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Stride); + } + if (HasSize) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Size); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ComponentInfo other) { + if (other == null) { + return; + } + if (other.HasDataPtr) { + DataPtr = other.DataPtr; + } + if (other.HasStride) { + Stride = other.Stride; + } + if (other.HasSize) { + Size = other.Size; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + DataPtr = input.ReadUInt64(); + break; + } + case 16: { + Stride = input.ReadUInt32(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + DataPtr = input.ReadUInt64(); + break; + } + case 16: { + Stride = input.ReadUInt32(); + break; + } + case 24: { + Size = input.ReadUInt32(); + break; + } + } + } + } + #endif + + } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } } + #endregion + + } + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedVideoBuffer : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedVideoBuffer()); + private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ARGBBufferInfo() { - OnConstruction(); - } - - partial void OnConstruction(); + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ARGBBufferInfo(ARGBBufferInfo other) : this() { - ptr_ = other.ptr_; - format_ = other.format_; - stride_ = other.stride_; - width_ = other.width_; - height_ = other.height_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + public static pbr::MessageDescriptor Descriptor { + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[12]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ARGBBufferInfo Clone() { - return new ARGBBufferInfo(this); + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } } - /// Field number for the "ptr" field. - public const int PtrFieldNumber = 1; - private ulong ptr_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong Ptr { - get { return ptr_; } - set { - ptr_ = value; - } + public OwnedVideoBuffer() { + OnConstruction(); } - /// Field number for the "format" field. - public const int FormatFieldNumber = 2; - private global::LiveKit.Proto.VideoFormatType format_ = global::LiveKit.Proto.VideoFormatType.FormatArgb; + partial void OnConstruction(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFormatType Format { - get { return format_; } - set { - format_ = value; - } + public OwnedVideoBuffer(OwnedVideoBuffer other) : this() { + handle_ = other.handle_ != null ? other.handle_.Clone() : null; + info_ = other.info_ != null ? other.info_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } - /// Field number for the "stride" field. - public const int StrideFieldNumber = 3; - private uint stride_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Stride { - get { return stride_; } - set { - stride_ = value; - } + public OwnedVideoBuffer Clone() { + return new OwnedVideoBuffer(this); } - /// Field number for the "width" field. - public const int WidthFieldNumber = 4; - private uint width_; + /// Field number for the "handle" field. + public const int HandleFieldNumber = 1; + private global::LiveKit.Proto.FfiOwnedHandle handle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Width { - get { return width_; } + public global::LiveKit.Proto.FfiOwnedHandle Handle { + get { return handle_; } set { - width_ = value; + handle_ = value; } } - /// Field number for the "height" field. - public const int HeightFieldNumber = 5; - private uint height_; + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.VideoBufferInfo info_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Height { - get { return height_; } + public global::LiveKit.Proto.VideoBufferInfo Info { + get { return info_; } set { - height_ = value; + info_ = value; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as ARGBBufferInfo); + return Equals(other as OwnedVideoBuffer); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(ARGBBufferInfo other) { + public bool Equals(OwnedVideoBuffer other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Ptr != other.Ptr) return false; - if (Format != other.Format) return false; - if (Stride != other.Stride) return false; - if (Width != other.Width) return false; - if (Height != other.Height) return false; + if (!object.Equals(Handle, other.Handle)) return false; + if (!object.Equals(Info, other.Info)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3481,11 +4193,8 @@ public bool Equals(ARGBBufferInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Ptr != 0UL) hash ^= Ptr.GetHashCode(); - if (Format != global::LiveKit.Proto.VideoFormatType.FormatArgb) hash ^= Format.GetHashCode(); - if (Stride != 0) hash ^= Stride.GetHashCode(); - if (Width != 0) hash ^= Width.GetHashCode(); - if (Height != 0) hash ^= Height.GetHashCode(); + if (handle_ != null) hash ^= Handle.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3504,25 +4213,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Ptr != 0UL) { - output.WriteRawTag(8); - output.WriteUInt64(Ptr); - } - if (Format != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - output.WriteRawTag(16); - output.WriteEnum((int) Format); - } - if (Stride != 0) { - output.WriteRawTag(24); - output.WriteUInt32(Stride); - } - if (Width != 0) { - output.WriteRawTag(32); - output.WriteUInt32(Width); + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); } - if (Height != 0) { - output.WriteRawTag(40); - output.WriteUInt32(Height); + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3534,25 +4231,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Ptr != 0UL) { - output.WriteRawTag(8); - output.WriteUInt64(Ptr); - } - if (Format != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - output.WriteRawTag(16); - output.WriteEnum((int) Format); - } - if (Stride != 0) { - output.WriteRawTag(24); - output.WriteUInt32(Stride); - } - if (Width != 0) { - output.WriteRawTag(32); - output.WriteUInt32(Width); + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); } - if (Height != 0) { - output.WriteRawTag(40); - output.WriteUInt32(Height); + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3564,20 +4249,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Ptr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Ptr); - } - if (Format != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Format); - } - if (Stride != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Stride); - } - if (Width != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); } - if (Height != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3587,24 +4263,21 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(ARGBBufferInfo other) { + public void MergeFrom(OwnedVideoBuffer other) { if (other == null) { return; } - if (other.Ptr != 0UL) { - Ptr = other.Ptr; - } - if (other.Format != global::LiveKit.Proto.VideoFormatType.FormatArgb) { - Format = other.Format; - } - if (other.Stride != 0) { - Stride = other.Stride; - } - if (other.Width != 0) { - Width = other.Width; + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); } - if (other.Height != 0) { - Height = other.Height; + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoBufferInfo(); + } + Info.MergeFrom(other.Info); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3617,28 +4290,26 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 8: { - Ptr = input.ReadUInt64(); - break; - } - case 16: { - Format = (global::LiveKit.Proto.VideoFormatType) input.ReadEnum(); - break; - } - case 24: { - Stride = input.ReadUInt32(); - break; - } - case 32: { - Width = input.ReadUInt32(); + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); break; } - case 40: { - Height = input.ReadUInt32(); + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoBufferInfo(); + } + input.ReadMessage(Info); break; } } @@ -3652,28 +4323,26 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 8: { - Ptr = input.ReadUInt64(); - break; - } - case 16: { - Format = (global::LiveKit.Proto.VideoFormatType) input.ReadEnum(); - break; - } - case 24: { - Stride = input.ReadUInt32(); - break; - } - case 32: { - Width = input.ReadUInt32(); + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); break; } - case 40: { - Height = input.ReadUInt32(); + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoBufferInfo(); + } + input.ReadMessage(Info); break; } } @@ -3683,21 +4352,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class VideoFrameInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoStreamInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoFrameInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoStreamInfo()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[14]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[13]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3708,7 +4379,7 @@ public sealed partial class VideoFrameInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoFrameInfo() { + public VideoStreamInfo() { OnConstruction(); } @@ -3716,59 +4387,61 @@ public VideoFrameInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoFrameInfo(VideoFrameInfo other) : this() { - timestamp_ = other.timestamp_; - rotation_ = other.rotation_; + public VideoStreamInfo(VideoStreamInfo other) : this() { + _hasBits0 = other._hasBits0; + type_ = other.type_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoFrameInfo Clone() { - return new VideoFrameInfo(this); + public VideoStreamInfo Clone() { + return new VideoStreamInfo(this); } - /// Field number for the "timestamp" field. - public const int TimestampFieldNumber = 1; - private long timestamp_; + /// Field number for the "type" field. + public const int TypeFieldNumber = 1; + private readonly static global::LiveKit.Proto.VideoStreamType TypeDefaultValue = global::LiveKit.Proto.VideoStreamType.VideoStreamNative; + + private global::LiveKit.Proto.VideoStreamType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public long Timestamp { - get { return timestamp_; } + public global::LiveKit.Proto.VideoStreamType Type { + get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } } set { - timestamp_ = value; + _hasBits0 |= 1; + type_ = value; } } - - /// Field number for the "rotation" field. - public const int RotationFieldNumber = 2; - private global::LiveKit.Proto.VideoRotation rotation_ = global::LiveKit.Proto.VideoRotation._0; + /// Gets whether the "type" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoRotation Rotation { - get { return rotation_; } - set { - rotation_ = value; - } + public bool HasType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~1; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoFrameInfo); + return Equals(other as VideoStreamInfo); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoFrameInfo other) { + public bool Equals(VideoStreamInfo other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (Timestamp != other.Timestamp) return false; - if (Rotation != other.Rotation) return false; + if (Type != other.Type) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3776,8 +4449,7 @@ public bool Equals(VideoFrameInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (Timestamp != 0L) hash ^= Timestamp.GetHashCode(); - if (Rotation != global::LiveKit.Proto.VideoRotation._0) hash ^= Rotation.GetHashCode(); + if (HasType) hash ^= Type.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3796,13 +4468,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (Timestamp != 0L) { + if (HasType) { output.WriteRawTag(8); - output.WriteInt64(Timestamp); - } - if (Rotation != global::LiveKit.Proto.VideoRotation._0) { - output.WriteRawTag(16); - output.WriteEnum((int) Rotation); + output.WriteEnum((int) Type); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -3814,13 +4482,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (Timestamp != 0L) { + if (HasType) { output.WriteRawTag(8); - output.WriteInt64(Timestamp); - } - if (Rotation != global::LiveKit.Proto.VideoRotation._0) { - output.WriteRawTag(16); - output.WriteEnum((int) Rotation); + output.WriteEnum((int) Type); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -3832,11 +4496,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (Timestamp != 0L) { - size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp); - } - if (Rotation != global::LiveKit.Proto.VideoRotation._0) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Rotation); + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -3846,15 +4507,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoFrameInfo other) { + public void MergeFrom(VideoStreamInfo other) { if (other == null) { return; } - if (other.Timestamp != 0L) { - Timestamp = other.Timestamp; - } - if (other.Rotation != global::LiveKit.Proto.VideoRotation._0) { - Rotation = other.Rotation; + if (other.HasType) { + Type = other.Type; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3867,16 +4525,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - Timestamp = input.ReadInt64(); - break; - } - case 16: { - Rotation = (global::LiveKit.Proto.VideoRotation) input.ReadEnum(); + Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); break; } } @@ -3890,16 +4548,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - Timestamp = input.ReadInt64(); - break; - } - case 16: { - Rotation = (global::LiveKit.Proto.VideoRotation) input.ReadEnum(); + Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); break; } } @@ -3909,21 +4567,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class VideoFrameBufferInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedVideoStream : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoFrameBufferInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedVideoStream()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[15]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[14]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3934,7 +4593,7 @@ public sealed partial class VideoFrameBufferInfo : pb::IMessageField number for the "handle" field. public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; + private global::LiveKit.Proto.FfiOwnedHandle handle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { + public global::LiveKit.Proto.FfiOwnedHandle Handle { get { return handle_; } set { handle_ = value; } } - /// Field number for the "buffer_type" field. - public const int BufferTypeFieldNumber = 2; - private global::LiveKit.Proto.VideoFrameBufferType bufferType_ = global::LiveKit.Proto.VideoFrameBufferType.Native; + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.VideoStreamInfo info_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameBufferType BufferType { - get { return bufferType_; } + public global::LiveKit.Proto.VideoStreamInfo Info { + get { return info_; } set { - bufferType_ = value; + info_ = value; } } - /// Field number for the "width" field. - public const int WidthFieldNumber = 3; - private uint width_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Width { - get { return width_; } - set { - width_ = value; - } - } - - /// Field number for the "height" field. - public const int HeightFieldNumber = 4; - private uint height_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint Height { - get { return height_; } - set { - height_ = value; - } - } - - /// Field number for the "yuv" field. - public const int YuvFieldNumber = 5; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.PlanarYuvBufferInfo Yuv { - get { return bufferCase_ == BufferOneofCase.Yuv ? (global::LiveKit.Proto.PlanarYuvBufferInfo) buffer_ : null; } - set { - buffer_ = value; - bufferCase_ = value == null ? BufferOneofCase.None : BufferOneofCase.Yuv; - } - } - - /// Field number for the "bi_yuv" field. - public const int BiYuvFieldNumber = 6; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.BiplanarYuvBufferInfo BiYuv { - get { return bufferCase_ == BufferOneofCase.BiYuv ? (global::LiveKit.Proto.BiplanarYuvBufferInfo) buffer_ : null; } - set { - buffer_ = value; - bufferCase_ = value == null ? BufferOneofCase.None : BufferOneofCase.BiYuv; - } - } - - /// Field number for the "native" field. - public const int NativeFieldNumber = 7; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.NativeBufferInfo Native { - get { return bufferCase_ == BufferOneofCase.Native ? (global::LiveKit.Proto.NativeBufferInfo) buffer_ : null; } - set { - buffer_ = value; - bufferCase_ = value == null ? BufferOneofCase.None : BufferOneofCase.Native; - } - } - - private object buffer_; - /// Enum of possible cases for the "buffer" oneof. - public enum BufferOneofCase { - None = 0, - Yuv = 5, - BiYuv = 6, - Native = 7, - } - private BufferOneofCase bufferCase_ = BufferOneofCase.None; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public BufferOneofCase BufferCase { - get { return bufferCase_; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearBuffer() { - bufferCase_ = BufferOneofCase.None; - buffer_ = null; - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoFrameBufferInfo); + return Equals(other as OwnedVideoStream); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoFrameBufferInfo other) { + public bool Equals(OwnedVideoStream other) { if (ReferenceEquals(other, null)) { return false; } @@ -4090,13 +4653,7 @@ public bool Equals(VideoFrameBufferInfo other) { return true; } if (!object.Equals(Handle, other.Handle)) return false; - if (BufferType != other.BufferType) return false; - if (Width != other.Width) return false; - if (Height != other.Height) return false; - if (!object.Equals(Yuv, other.Yuv)) return false; - if (!object.Equals(BiYuv, other.BiYuv)) return false; - if (!object.Equals(Native, other.Native)) return false; - if (BufferCase != other.BufferCase) return false; + if (!object.Equals(Info, other.Info)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -4105,13 +4662,7 @@ public bool Equals(VideoFrameBufferInfo other) { public override int GetHashCode() { int hash = 1; if (handle_ != null) hash ^= Handle.GetHashCode(); - if (BufferType != global::LiveKit.Proto.VideoFrameBufferType.Native) hash ^= BufferType.GetHashCode(); - if (Width != 0) hash ^= Width.GetHashCode(); - if (Height != 0) hash ^= Height.GetHashCode(); - if (bufferCase_ == BufferOneofCase.Yuv) hash ^= Yuv.GetHashCode(); - if (bufferCase_ == BufferOneofCase.BiYuv) hash ^= BiYuv.GetHashCode(); - if (bufferCase_ == BufferOneofCase.Native) hash ^= Native.GetHashCode(); - hash ^= (int) bufferCase_; + if (info_ != null) hash ^= Info.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -4119,569 +4670,24 @@ public override int GetHashCode() { } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (BufferType != global::LiveKit.Proto.VideoFrameBufferType.Native) { - output.WriteRawTag(16); - output.WriteEnum((int) BufferType); - } - if (Width != 0) { - output.WriteRawTag(24); - output.WriteUInt32(Width); - } - if (Height != 0) { - output.WriteRawTag(32); - output.WriteUInt32(Height); - } - if (bufferCase_ == BufferOneofCase.Yuv) { - output.WriteRawTag(42); - output.WriteMessage(Yuv); - } - if (bufferCase_ == BufferOneofCase.BiYuv) { - output.WriteRawTag(50); - output.WriteMessage(BiYuv); - } - if (bufferCase_ == BufferOneofCase.Native) { - output.WriteRawTag(58); - output.WriteMessage(Native); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (BufferType != global::LiveKit.Proto.VideoFrameBufferType.Native) { - output.WriteRawTag(16); - output.WriteEnum((int) BufferType); - } - if (Width != 0) { - output.WriteRawTag(24); - output.WriteUInt32(Width); - } - if (Height != 0) { - output.WriteRawTag(32); - output.WriteUInt32(Height); - } - if (bufferCase_ == BufferOneofCase.Yuv) { - output.WriteRawTag(42); - output.WriteMessage(Yuv); - } - if (bufferCase_ == BufferOneofCase.BiYuv) { - output.WriteRawTag(50); - output.WriteMessage(BiYuv); - } - if (bufferCase_ == BufferOneofCase.Native) { - output.WriteRawTag(58); - output.WriteMessage(Native); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(ref output); - } - } - #endif - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public int CalculateSize() { - int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); - } - if (BufferType != global::LiveKit.Proto.VideoFrameBufferType.Native) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) BufferType); - } - if (Width != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); - } - if (Height != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); - } - if (bufferCase_ == BufferOneofCase.Yuv) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Yuv); - } - if (bufferCase_ == BufferOneofCase.BiYuv) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(BiYuv); - } - if (bufferCase_ == BufferOneofCase.Native) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Native); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoFrameBufferInfo other) { - if (other == null) { - return; - } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); - } - if (other.BufferType != global::LiveKit.Proto.VideoFrameBufferType.Native) { - BufferType = other.BufferType; - } - if (other.Width != 0) { - Width = other.Width; - } - if (other.Height != 0) { - Height = other.Height; - } - switch (other.BufferCase) { - case BufferOneofCase.Yuv: - if (Yuv == null) { - Yuv = new global::LiveKit.Proto.PlanarYuvBufferInfo(); - } - Yuv.MergeFrom(other.Yuv); - break; - case BufferOneofCase.BiYuv: - if (BiYuv == null) { - BiYuv = new global::LiveKit.Proto.BiplanarYuvBufferInfo(); - } - BiYuv.MergeFrom(other.BiYuv); - break; - case BufferOneofCase.Native: - if (Native == null) { - Native = new global::LiveKit.Proto.NativeBufferInfo(); - } - Native.MergeFrom(other.Native); - break; - } - - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(pb::CodedInputStream input) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - input.ReadRawMessage(this); - #else - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - BufferType = (global::LiveKit.Proto.VideoFrameBufferType) input.ReadEnum(); - break; - } - case 24: { - Width = input.ReadUInt32(); - break; - } - case 32: { - Height = input.ReadUInt32(); - break; - } - case 42: { - global::LiveKit.Proto.PlanarYuvBufferInfo subBuilder = new global::LiveKit.Proto.PlanarYuvBufferInfo(); - if (bufferCase_ == BufferOneofCase.Yuv) { - subBuilder.MergeFrom(Yuv); - } - input.ReadMessage(subBuilder); - Yuv = subBuilder; - break; - } - case 50: { - global::LiveKit.Proto.BiplanarYuvBufferInfo subBuilder = new global::LiveKit.Proto.BiplanarYuvBufferInfo(); - if (bufferCase_ == BufferOneofCase.BiYuv) { - subBuilder.MergeFrom(BiYuv); - } - input.ReadMessage(subBuilder); - BiYuv = subBuilder; - break; - } - case 58: { - global::LiveKit.Proto.NativeBufferInfo subBuilder = new global::LiveKit.Proto.NativeBufferInfo(); - if (bufferCase_ == BufferOneofCase.Native) { - subBuilder.MergeFrom(Native); - } - input.ReadMessage(subBuilder); - Native = subBuilder; - break; - } - } - } - #endif - } - - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { - uint tag; - while ((tag = input.ReadTag()) != 0) { - switch(tag) { - default: - _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); - break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - BufferType = (global::LiveKit.Proto.VideoFrameBufferType) input.ReadEnum(); - break; - } - case 24: { - Width = input.ReadUInt32(); - break; - } - case 32: { - Height = input.ReadUInt32(); - break; - } - case 42: { - global::LiveKit.Proto.PlanarYuvBufferInfo subBuilder = new global::LiveKit.Proto.PlanarYuvBufferInfo(); - if (bufferCase_ == BufferOneofCase.Yuv) { - subBuilder.MergeFrom(Yuv); - } - input.ReadMessage(subBuilder); - Yuv = subBuilder; - break; - } - case 50: { - global::LiveKit.Proto.BiplanarYuvBufferInfo subBuilder = new global::LiveKit.Proto.BiplanarYuvBufferInfo(); - if (bufferCase_ == BufferOneofCase.BiYuv) { - subBuilder.MergeFrom(BiYuv); - } - input.ReadMessage(subBuilder); - BiYuv = subBuilder; - break; - } - case 58: { - global::LiveKit.Proto.NativeBufferInfo subBuilder = new global::LiveKit.Proto.NativeBufferInfo(); - if (bufferCase_ == BufferOneofCase.Native) { - subBuilder.MergeFrom(Native); - } - input.ReadMessage(subBuilder); - Native = subBuilder; - break; - } - } - } - } - #endif - - } - - public sealed partial class PlanarYuvBufferInfo : pb::IMessage - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - , pb::IBufferMessage - #endif - { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PlanarYuvBufferInfo()); - private pb::UnknownFieldSet _unknownFields; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[16]; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - pbr::MessageDescriptor pb::IMessage.Descriptor { - get { return Descriptor; } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PlanarYuvBufferInfo() { - OnConstruction(); - } - - partial void OnConstruction(); - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PlanarYuvBufferInfo(PlanarYuvBufferInfo other) : this() { - chromaWidth_ = other.chromaWidth_; - chromaHeight_ = other.chromaHeight_; - strideY_ = other.strideY_; - strideU_ = other.strideU_; - strideV_ = other.strideV_; - strideA_ = other.strideA_; - dataYPtr_ = other.dataYPtr_; - dataUPtr_ = other.dataUPtr_; - dataVPtr_ = other.dataVPtr_; - dataAPtr_ = other.dataAPtr_; - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public PlanarYuvBufferInfo Clone() { - return new PlanarYuvBufferInfo(this); - } - - /// Field number for the "chroma_width" field. - public const int ChromaWidthFieldNumber = 1; - private uint chromaWidth_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint ChromaWidth { - get { return chromaWidth_; } - set { - chromaWidth_ = value; - } - } - - /// Field number for the "chroma_height" field. - public const int ChromaHeightFieldNumber = 2; - private uint chromaHeight_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint ChromaHeight { - get { return chromaHeight_; } - set { - chromaHeight_ = value; - } - } - - /// Field number for the "stride_y" field. - public const int StrideYFieldNumber = 3; - private uint strideY_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint StrideY { - get { return strideY_; } - set { - strideY_ = value; - } - } - - /// Field number for the "stride_u" field. - public const int StrideUFieldNumber = 4; - private uint strideU_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint StrideU { - get { return strideU_; } - set { - strideU_ = value; - } - } - - /// Field number for the "stride_v" field. - public const int StrideVFieldNumber = 5; - private uint strideV_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint StrideV { - get { return strideV_; } - set { - strideV_ = value; - } - } - - /// Field number for the "stride_a" field. - public const int StrideAFieldNumber = 6; - private uint strideA_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint StrideA { - get { return strideA_; } - set { - strideA_ = value; - } - } - - /// Field number for the "data_y_ptr" field. - public const int DataYPtrFieldNumber = 7; - private ulong dataYPtr_; - /// - /// *const u8 or *const u16 - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataYPtr { - get { return dataYPtr_; } - set { - dataYPtr_ = value; - } - } - - /// Field number for the "data_u_ptr" field. - public const int DataUPtrFieldNumber = 8; - private ulong dataUPtr_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataUPtr { - get { return dataUPtr_; } - set { - dataUPtr_ = value; - } - } - - /// Field number for the "data_v_ptr" field. - public const int DataVPtrFieldNumber = 9; - private ulong dataVPtr_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataVPtr { - get { return dataVPtr_; } - set { - dataVPtr_ = value; - } - } - - /// Field number for the "data_a_ptr" field. - public const int DataAPtrFieldNumber = 10; - private ulong dataAPtr_; - /// - /// nullptr = no alpha - /// - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataAPtr { - get { return dataAPtr_; } - set { - dataAPtr_ = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override bool Equals(object other) { - return Equals(other as PlanarYuvBufferInfo); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(PlanarYuvBufferInfo other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (ChromaWidth != other.ChromaWidth) return false; - if (ChromaHeight != other.ChromaHeight) return false; - if (StrideY != other.StrideY) return false; - if (StrideU != other.StrideU) return false; - if (StrideV != other.StrideV) return false; - if (StrideA != other.StrideA) return false; - if (DataYPtr != other.DataYPtr) return false; - if (DataUPtr != other.DataUPtr) return false; - if (DataVPtr != other.DataVPtr) return false; - if (DataAPtr != other.DataAPtr) return false; - return Equals(_unknownFields, other._unknownFields); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override int GetHashCode() { - int hash = 1; - if (ChromaWidth != 0) hash ^= ChromaWidth.GetHashCode(); - if (ChromaHeight != 0) hash ^= ChromaHeight.GetHashCode(); - if (StrideY != 0) hash ^= StrideY.GetHashCode(); - if (StrideU != 0) hash ^= StrideU.GetHashCode(); - if (StrideV != 0) hash ^= StrideV.GetHashCode(); - if (StrideA != 0) hash ^= StrideA.GetHashCode(); - if (DataYPtr != 0UL) hash ^= DataYPtr.GetHashCode(); - if (DataUPtr != 0UL) hash ^= DataUPtr.GetHashCode(); - if (DataVPtr != 0UL) hash ^= DataVPtr.GetHashCode(); - if (DataAPtr != 0UL) hash ^= DataAPtr.GetHashCode(); - if (_unknownFields != null) { - hash ^= _unknownFields.GetHashCode(); - } - return hash; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public override string ToString() { - return pb::JsonFormatter.ToDiagnosticString(this); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void WriteTo(pb::CodedOutputStream output) { - #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE - output.WriteRawMessage(this); - #else - if (ChromaWidth != 0) { - output.WriteRawTag(8); - output.WriteUInt32(ChromaWidth); - } - if (ChromaHeight != 0) { - output.WriteRawTag(16); - output.WriteUInt32(ChromaHeight); - } - if (StrideY != 0) { - output.WriteRawTag(24); - output.WriteUInt32(StrideY); - } - if (StrideU != 0) { - output.WriteRawTag(32); - output.WriteUInt32(StrideU); - } - if (StrideV != 0) { - output.WriteRawTag(40); - output.WriteUInt32(StrideV); - } - if (StrideA != 0) { - output.WriteRawTag(48); - output.WriteUInt32(StrideA); - } - if (DataYPtr != 0UL) { - output.WriteRawTag(56); - output.WriteUInt64(DataYPtr); - } - if (DataUPtr != 0UL) { - output.WriteRawTag(64); - output.WriteUInt64(DataUPtr); - } - if (DataVPtr != 0UL) { - output.WriteRawTag(72); - output.WriteUInt64(DataVPtr); + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); } - if (DataAPtr != 0UL) { - output.WriteRawTag(80); - output.WriteUInt64(DataAPtr); + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -4693,45 +4699,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ChromaWidth != 0) { - output.WriteRawTag(8); - output.WriteUInt32(ChromaWidth); - } - if (ChromaHeight != 0) { - output.WriteRawTag(16); - output.WriteUInt32(ChromaHeight); - } - if (StrideY != 0) { - output.WriteRawTag(24); - output.WriteUInt32(StrideY); - } - if (StrideU != 0) { - output.WriteRawTag(32); - output.WriteUInt32(StrideU); - } - if (StrideV != 0) { - output.WriteRawTag(40); - output.WriteUInt32(StrideV); - } - if (StrideA != 0) { - output.WriteRawTag(48); - output.WriteUInt32(StrideA); - } - if (DataYPtr != 0UL) { - output.WriteRawTag(56); - output.WriteUInt64(DataYPtr); - } - if (DataUPtr != 0UL) { - output.WriteRawTag(64); - output.WriteUInt64(DataUPtr); - } - if (DataVPtr != 0UL) { - output.WriteRawTag(72); - output.WriteUInt64(DataVPtr); + if (handle_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Handle); } - if (DataAPtr != 0UL) { - output.WriteRawTag(80); - output.WriteUInt64(DataAPtr); + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -4743,35 +4717,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ChromaWidth != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ChromaWidth); - } - if (ChromaHeight != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ChromaHeight); - } - if (StrideY != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StrideY); - } - if (StrideU != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StrideU); - } - if (StrideV != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StrideV); - } - if (StrideA != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StrideA); - } - if (DataYPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataYPtr); - } - if (DataUPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataUPtr); - } - if (DataVPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataVPtr); + if (handle_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); } - if (DataAPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataAPtr); + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -4781,39 +4731,21 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(PlanarYuvBufferInfo other) { + public void MergeFrom(OwnedVideoStream other) { if (other == null) { return; } - if (other.ChromaWidth != 0) { - ChromaWidth = other.ChromaWidth; - } - if (other.ChromaHeight != 0) { - ChromaHeight = other.ChromaHeight; - } - if (other.StrideY != 0) { - StrideY = other.StrideY; - } - if (other.StrideU != 0) { - StrideU = other.StrideU; - } - if (other.StrideV != 0) { - StrideV = other.StrideV; - } - if (other.StrideA != 0) { - StrideA = other.StrideA; - } - if (other.DataYPtr != 0UL) { - DataYPtr = other.DataYPtr; - } - if (other.DataUPtr != 0UL) { - DataUPtr = other.DataUPtr; - } - if (other.DataVPtr != 0UL) { - DataVPtr = other.DataVPtr; + if (other.handle_ != null) { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + Handle.MergeFrom(other.Handle); } - if (other.DataAPtr != 0UL) { - DataAPtr = other.DataAPtr; + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoStreamInfo(); + } + Info.MergeFrom(other.Info); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -4826,48 +4758,26 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 8: { - ChromaWidth = input.ReadUInt32(); - break; - } - case 16: { - ChromaHeight = input.ReadUInt32(); - break; - } - case 24: { - StrideY = input.ReadUInt32(); - break; - } - case 32: { - StrideU = input.ReadUInt32(); - break; - } - case 40: { - StrideV = input.ReadUInt32(); - break; - } - case 48: { - StrideA = input.ReadUInt32(); - break; - } - case 56: { - DataYPtr = input.ReadUInt64(); - break; - } - case 64: { - DataUPtr = input.ReadUInt64(); - break; - } - case 72: { - DataVPtr = input.ReadUInt64(); + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); break; } - case 80: { - DataAPtr = input.ReadUInt64(); + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoStreamInfo(); + } + input.ReadMessage(Info); break; } } @@ -4881,48 +4791,26 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 8: { - ChromaWidth = input.ReadUInt32(); - break; - } - case 16: { - ChromaHeight = input.ReadUInt32(); - break; - } - case 24: { - StrideY = input.ReadUInt32(); - break; - } - case 32: { - StrideU = input.ReadUInt32(); - break; - } - case 40: { - StrideV = input.ReadUInt32(); - break; - } - case 48: { - StrideA = input.ReadUInt32(); - break; - } - case 56: { - DataYPtr = input.ReadUInt64(); - break; - } - case 64: { - DataUPtr = input.ReadUInt64(); - break; - } - case 72: { - DataVPtr = input.ReadUInt64(); + case 10: { + if (handle_ == null) { + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); + } + input.ReadMessage(Handle); break; } - case 80: { - DataAPtr = input.ReadUInt64(); + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoStreamInfo(); + } + input.ReadMessage(Info); break; } } @@ -4932,21 +4820,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class BiplanarYuvBufferInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoStreamEvent : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new BiplanarYuvBufferInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoStreamEvent()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[17]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[15]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4957,7 +4847,7 @@ public sealed partial class BiplanarYuvBufferInfo : pb::IMessageField number for the "chroma_width" field. - public const int ChromaWidthFieldNumber = 1; - private uint chromaWidth_; + /// Field number for the "stream_handle" field. + public const int StreamHandleFieldNumber = 1; + private readonly static ulong StreamHandleDefaultValue = 0UL; + + private ulong streamHandle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint ChromaWidth { - get { return chromaWidth_; } + public ulong StreamHandle { + get { if ((_hasBits0 & 1) != 0) { return streamHandle_; } else { return StreamHandleDefaultValue; } } set { - chromaWidth_ = value; + _hasBits0 |= 1; + streamHandle_ = value; } } - - /// Field number for the "chroma_height" field. - public const int ChromaHeightFieldNumber = 2; - private uint chromaHeight_; + /// Gets whether the "stream_handle" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint ChromaHeight { - get { return chromaHeight_; } - set { - chromaHeight_ = value; - } + public bool HasStreamHandle { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "stream_handle" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearStreamHandle() { + _hasBits0 &= ~1; } - /// Field number for the "stride_y" field. - public const int StrideYFieldNumber = 3; - private uint strideY_; + /// Field number for the "frame_received" field. + public const int FrameReceivedFieldNumber = 2; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint StrideY { - get { return strideY_; } + public global::LiveKit.Proto.VideoFrameReceived FrameReceived { + get { return messageCase_ == MessageOneofCase.FrameReceived ? (global::LiveKit.Proto.VideoFrameReceived) message_ : null; } set { - strideY_ = value; + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.FrameReceived; } } - /// Field number for the "stride_uv" field. - public const int StrideUvFieldNumber = 4; - private uint strideUv_; + /// Field number for the "eos" field. + public const int EosFieldNumber = 3; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint StrideUv { - get { return strideUv_; } + public global::LiveKit.Proto.VideoStreamEOS Eos { + get { return messageCase_ == MessageOneofCase.Eos ? (global::LiveKit.Proto.VideoStreamEOS) message_ : null; } set { - strideUv_ = value; + message_ = value; + messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.Eos; } } - /// Field number for the "data_y_ptr" field. - public const int DataYPtrFieldNumber = 5; - private ulong dataYPtr_; + private object message_; + /// Enum of possible cases for the "message" oneof. + public enum MessageOneofCase { + None = 0, + FrameReceived = 2, + Eos = 3, + } + private MessageOneofCase messageCase_ = MessageOneofCase.None; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataYPtr { - get { return dataYPtr_; } - set { - dataYPtr_ = value; - } + public MessageOneofCase MessageCase { + get { return messageCase_; } } - /// Field number for the "data_uv_ptr" field. - public const int DataUvPtrFieldNumber = 6; - private ulong dataUvPtr_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public ulong DataUvPtr { - get { return dataUvPtr_; } - set { - dataUvPtr_ = value; - } + public void ClearMessage() { + messageCase_ = MessageOneofCase.None; + message_ = null; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as BiplanarYuvBufferInfo); + return Equals(other as VideoStreamEvent); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(BiplanarYuvBufferInfo other) { + public bool Equals(VideoStreamEvent other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (ChromaWidth != other.ChromaWidth) return false; - if (ChromaHeight != other.ChromaHeight) return false; - if (StrideY != other.StrideY) return false; - if (StrideUv != other.StrideUv) return false; - if (DataYPtr != other.DataYPtr) return false; - if (DataUvPtr != other.DataUvPtr) return false; + if (StreamHandle != other.StreamHandle) return false; + if (!object.Equals(FrameReceived, other.FrameReceived)) return false; + if (!object.Equals(Eos, other.Eos)) return false; + if (MessageCase != other.MessageCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5081,12 +4974,10 @@ public bool Equals(BiplanarYuvBufferInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (ChromaWidth != 0) hash ^= ChromaWidth.GetHashCode(); - if (ChromaHeight != 0) hash ^= ChromaHeight.GetHashCode(); - if (StrideY != 0) hash ^= StrideY.GetHashCode(); - if (StrideUv != 0) hash ^= StrideUv.GetHashCode(); - if (DataYPtr != 0UL) hash ^= DataYPtr.GetHashCode(); - if (DataUvPtr != 0UL) hash ^= DataUvPtr.GetHashCode(); + if (HasStreamHandle) hash ^= StreamHandle.GetHashCode(); + if (messageCase_ == MessageOneofCase.FrameReceived) hash ^= FrameReceived.GetHashCode(); + if (messageCase_ == MessageOneofCase.Eos) hash ^= Eos.GetHashCode(); + hash ^= (int) messageCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5105,29 +4996,17 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (ChromaWidth != 0) { + if (HasStreamHandle) { output.WriteRawTag(8); - output.WriteUInt32(ChromaWidth); + output.WriteUInt64(StreamHandle); } - if (ChromaHeight != 0) { - output.WriteRawTag(16); - output.WriteUInt32(ChromaHeight); - } - if (StrideY != 0) { - output.WriteRawTag(24); - output.WriteUInt32(StrideY); - } - if (StrideUv != 0) { - output.WriteRawTag(32); - output.WriteUInt32(StrideUv); - } - if (DataYPtr != 0UL) { - output.WriteRawTag(40); - output.WriteUInt64(DataYPtr); + if (messageCase_ == MessageOneofCase.FrameReceived) { + output.WriteRawTag(18); + output.WriteMessage(FrameReceived); } - if (DataUvPtr != 0UL) { - output.WriteRawTag(48); - output.WriteUInt64(DataUvPtr); + if (messageCase_ == MessageOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -5139,29 +5018,17 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (ChromaWidth != 0) { + if (HasStreamHandle) { output.WriteRawTag(8); - output.WriteUInt32(ChromaWidth); - } - if (ChromaHeight != 0) { - output.WriteRawTag(16); - output.WriteUInt32(ChromaHeight); - } - if (StrideY != 0) { - output.WriteRawTag(24); - output.WriteUInt32(StrideY); + output.WriteUInt64(StreamHandle); } - if (StrideUv != 0) { - output.WriteRawTag(32); - output.WriteUInt32(StrideUv); - } - if (DataYPtr != 0UL) { - output.WriteRawTag(40); - output.WriteUInt64(DataYPtr); + if (messageCase_ == MessageOneofCase.FrameReceived) { + output.WriteRawTag(18); + output.WriteMessage(FrameReceived); } - if (DataUvPtr != 0UL) { - output.WriteRawTag(48); - output.WriteUInt64(DataUvPtr); + if (messageCase_ == MessageOneofCase.Eos) { + output.WriteRawTag(26); + output.WriteMessage(Eos); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -5173,23 +5040,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (ChromaWidth != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ChromaWidth); + if (HasStreamHandle) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(StreamHandle); } - if (ChromaHeight != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ChromaHeight); - } - if (StrideY != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StrideY); - } - if (StrideUv != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StrideUv); - } - if (DataYPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataYPtr); + if (messageCase_ == MessageOneofCase.FrameReceived) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(FrameReceived); } - if (DataUvPtr != 0UL) { - size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DataUvPtr); + if (messageCase_ == MessageOneofCase.Eos) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Eos); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -5199,28 +5057,28 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(BiplanarYuvBufferInfo other) { + public void MergeFrom(VideoStreamEvent other) { if (other == null) { return; } - if (other.ChromaWidth != 0) { - ChromaWidth = other.ChromaWidth; - } - if (other.ChromaHeight != 0) { - ChromaHeight = other.ChromaHeight; - } - if (other.StrideY != 0) { - StrideY = other.StrideY; + if (other.HasStreamHandle) { + StreamHandle = other.StreamHandle; } - if (other.StrideUv != 0) { - StrideUv = other.StrideUv; - } - if (other.DataYPtr != 0UL) { - DataYPtr = other.DataYPtr; - } - if (other.DataUvPtr != 0UL) { - DataUvPtr = other.DataUvPtr; + switch (other.MessageCase) { + case MessageOneofCase.FrameReceived: + if (FrameReceived == null) { + FrameReceived = new global::LiveKit.Proto.VideoFrameReceived(); + } + FrameReceived.MergeFrom(other.FrameReceived); + break; + case MessageOneofCase.Eos: + if (Eos == null) { + Eos = new global::LiveKit.Proto.VideoStreamEOS(); + } + Eos.MergeFrom(other.Eos); + break; } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -5232,32 +5090,34 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { - ChromaWidth = input.ReadUInt32(); - break; - } - case 16: { - ChromaHeight = input.ReadUInt32(); - break; - } - case 24: { - StrideY = input.ReadUInt32(); + StreamHandle = input.ReadUInt64(); break; } - case 32: { - StrideUv = input.ReadUInt32(); - break; - } - case 40: { - DataYPtr = input.ReadUInt64(); + case 18: { + global::LiveKit.Proto.VideoFrameReceived subBuilder = new global::LiveKit.Proto.VideoFrameReceived(); + if (messageCase_ == MessageOneofCase.FrameReceived) { + subBuilder.MergeFrom(FrameReceived); + } + input.ReadMessage(subBuilder); + FrameReceived = subBuilder; break; } - case 48: { - DataUvPtr = input.ReadUInt64(); + case 26: { + global::LiveKit.Proto.VideoStreamEOS subBuilder = new global::LiveKit.Proto.VideoStreamEOS(); + if (messageCase_ == MessageOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; break; } } @@ -5271,32 +5131,34 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { - ChromaWidth = input.ReadUInt32(); - break; - } - case 16: { - ChromaHeight = input.ReadUInt32(); + StreamHandle = input.ReadUInt64(); break; } - case 24: { - StrideY = input.ReadUInt32(); - break; - } - case 32: { - StrideUv = input.ReadUInt32(); - break; - } - case 40: { - DataYPtr = input.ReadUInt64(); + case 18: { + global::LiveKit.Proto.VideoFrameReceived subBuilder = new global::LiveKit.Proto.VideoFrameReceived(); + if (messageCase_ == MessageOneofCase.FrameReceived) { + subBuilder.MergeFrom(FrameReceived); + } + input.ReadMessage(subBuilder); + FrameReceived = subBuilder; break; } - case 48: { - DataUvPtr = input.ReadUInt64(); + case 26: { + global::LiveKit.Proto.VideoStreamEOS subBuilder = new global::LiveKit.Proto.VideoStreamEOS(); + if (messageCase_ == MessageOneofCase.Eos) { + subBuilder.MergeFrom(Eos); + } + input.ReadMessage(subBuilder); + Eos = subBuilder; break; } } @@ -5306,24 +5168,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - /// - /// TODO(theomonnom): Expose graphic context? - /// - public sealed partial class NativeBufferInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoFrameReceived : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NativeBufferInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoFrameReceived()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[18]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[16]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5334,7 +5195,7 @@ public sealed partial class NativeBufferInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public NativeBufferInfo() { + public VideoFrameReceived() { OnConstruction(); } @@ -5342,31 +5203,107 @@ public NativeBufferInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public NativeBufferInfo(NativeBufferInfo other) : this() { + public VideoFrameReceived(VideoFrameReceived other) : this() { + _hasBits0 = other._hasBits0; + buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null; + timestampUs_ = other.timestampUs_; + rotation_ = other.rotation_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public NativeBufferInfo Clone() { - return new NativeBufferInfo(this); + public VideoFrameReceived Clone() { + return new VideoFrameReceived(this); + } + + /// Field number for the "buffer" field. + public const int BufferFieldNumber = 1; + private global::LiveKit.Proto.OwnedVideoBuffer buffer_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.OwnedVideoBuffer Buffer { + get { return buffer_; } + set { + buffer_ = value; + } + } + + /// Field number for the "timestamp_us" field. + public const int TimestampUsFieldNumber = 2; + private readonly static long TimestampUsDefaultValue = 0L; + + private long timestampUs_; + /// + /// In microseconds + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public long TimestampUs { + get { if ((_hasBits0 & 1) != 0) { return timestampUs_; } else { return TimestampUsDefaultValue; } } + set { + _hasBits0 |= 1; + timestampUs_ = value; + } + } + /// Gets whether the "timestamp_us" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasTimestampUs { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "timestamp_us" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearTimestampUs() { + _hasBits0 &= ~1; + } + + /// Field number for the "rotation" field. + public const int RotationFieldNumber = 3; + private readonly static global::LiveKit.Proto.VideoRotation RotationDefaultValue = global::LiveKit.Proto.VideoRotation._0; + + private global::LiveKit.Proto.VideoRotation rotation_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::LiveKit.Proto.VideoRotation Rotation { + get { if ((_hasBits0 & 2) != 0) { return rotation_; } else { return RotationDefaultValue; } } + set { + _hasBits0 |= 2; + rotation_ = value; + } + } + /// Gets whether the "rotation" field is set + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool HasRotation { + get { return (_hasBits0 & 2) != 0; } + } + /// Clears the value of the "rotation" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearRotation() { + _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as NativeBufferInfo); + return Equals(other as VideoFrameReceived); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(NativeBufferInfo other) { + public bool Equals(VideoFrameReceived other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } + if (!object.Equals(Buffer, other.Buffer)) return false; + if (TimestampUs != other.TimestampUs) return false; + if (Rotation != other.Rotation) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5374,6 +5311,9 @@ public bool Equals(NativeBufferInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; + if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (HasTimestampUs) hash ^= TimestampUs.GetHashCode(); + if (HasRotation) hash ^= Rotation.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5392,6 +5332,18 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else + if (buffer_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Buffer); + } + if (HasTimestampUs) { + output.WriteRawTag(16); + output.WriteInt64(TimestampUs); + } + if (HasRotation) { + output.WriteRawTag(24); + output.WriteEnum((int) Rotation); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -5402,6 +5354,18 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (buffer_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Buffer); + } + if (HasTimestampUs) { + output.WriteRawTag(16); + output.WriteInt64(TimestampUs); + } + if (HasRotation) { + output.WriteRawTag(24); + output.WriteEnum((int) Rotation); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -5412,6 +5376,15 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; + if (buffer_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); + } + if (HasTimestampUs) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimestampUs); + } + if (HasRotation) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Rotation); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -5420,10 +5393,22 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(NativeBufferInfo other) { + public void MergeFrom(VideoFrameReceived other) { if (other == null) { return; } + if (other.buffer_ != null) { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.OwnedVideoBuffer(); + } + Buffer.MergeFrom(other.Buffer); + } + if (other.HasTimestampUs) { + TimestampUs = other.TimestampUs; + } + if (other.HasRotation) { + Rotation = other.Rotation; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -5435,10 +5420,29 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; + case 10: { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.OwnedVideoBuffer(); + } + input.ReadMessage(Buffer); + break; + } + case 16: { + TimestampUs = input.ReadInt64(); + break; + } + case 24: { + Rotation = (global::LiveKit.Proto.VideoRotation) input.ReadEnum(); + break; + } } } #endif @@ -5450,10 +5454,29 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; + case 10: { + if (buffer_ == null) { + Buffer = new global::LiveKit.Proto.OwnedVideoBuffer(); + } + input.ReadMessage(Buffer); + break; + } + case 16: { + TimestampUs = input.ReadInt64(); + break; + } + case 24: { + Rotation = (global::LiveKit.Proto.VideoRotation) input.ReadEnum(); + break; + } } } } @@ -5461,21 +5484,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class VideoStreamInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoStreamEOS : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoStreamInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoStreamEOS()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[19]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[17]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5486,7 +5510,7 @@ public sealed partial class VideoStreamInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoStreamInfo() { + public VideoStreamEOS() { OnConstruction(); } @@ -5494,73 +5518,31 @@ public VideoStreamInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoStreamInfo(VideoStreamInfo other) : this() { - handle_ = other.handle_ != null ? other.handle_.Clone() : null; - type_ = other.type_; - trackSid_ = other.trackSid_; + public VideoStreamEOS(VideoStreamEOS other) : this() { _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoStreamInfo Clone() { - return new VideoStreamInfo(this); - } - - /// Field number for the "handle" field. - public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { - get { return handle_; } - set { - handle_ = value; - } - } - - /// Field number for the "type" field. - public const int TypeFieldNumber = 2; - private global::LiveKit.Proto.VideoStreamType type_ = global::LiveKit.Proto.VideoStreamType.VideoStreamNative; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoStreamType Type { - get { return type_; } - set { - type_ = value; - } - } - - /// Field number for the "track_sid" field. - public const int TrackSidFieldNumber = 3; - private string trackSid_ = ""; - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string TrackSid { - get { return trackSid_; } - set { - trackSid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } + public VideoStreamEOS Clone() { + return new VideoStreamEOS(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoStreamInfo); + return Equals(other as VideoStreamEOS); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoStreamInfo other) { + public bool Equals(VideoStreamEOS other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Handle, other.Handle)) return false; - if (Type != other.Type) return false; - if (TrackSid != other.TrackSid) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5568,9 +5550,6 @@ public bool Equals(VideoStreamInfo other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (handle_ != null) hash ^= Handle.GetHashCode(); - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) hash ^= Type.GetHashCode(); - if (TrackSid.Length != 0) hash ^= TrackSid.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5589,18 +5568,6 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); - } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -5611,18 +5578,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); - } - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); - } - if (TrackSid.Length != 0) { - output.WriteRawTag(26); - output.WriteString(TrackSid); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -5633,15 +5588,6 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); - } - if (Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); - } - if (TrackSid.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackSid); - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -5650,22 +5596,10 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoStreamInfo other) { + public void MergeFrom(VideoStreamEOS other) { if (other == null) { return; } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); - } - if (other.Type != global::LiveKit.Proto.VideoStreamType.VideoStreamNative) { - Type = other.Type; - } - if (other.TrackSid.Length != 0) { - TrackSid = other.TrackSid; - } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -5677,25 +5611,14 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); - break; - } - case 26: { - TrackSid = input.ReadString(); - break; - } } } #endif @@ -5707,25 +5630,14 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); - break; - } - case 16: { - Type = (global::LiveKit.Proto.VideoStreamType) input.ReadEnum(); - break; - } - case 26: { - TrackSid = input.ReadString(); - break; - } } } } @@ -5733,21 +5645,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class VideoStreamEvent : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoSourceResolution : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoStreamEvent()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoSourceResolution()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[20]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[18]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5758,7 +5672,7 @@ public sealed partial class VideoStreamEvent : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoStreamEvent() { + public VideoSourceResolution() { OnConstruction(); } @@ -5766,85 +5680,90 @@ public VideoStreamEvent() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoStreamEvent(VideoStreamEvent other) : this() { - handle_ = other.handle_ != null ? other.handle_.Clone() : null; - switch (other.MessageCase) { - case MessageOneofCase.FrameReceived: - FrameReceived = other.FrameReceived.Clone(); - break; + public VideoSourceResolution(VideoSourceResolution other) : this() { + _hasBits0 = other._hasBits0; + width_ = other.width_; + height_ = other.height_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public VideoSourceResolution Clone() { + return new VideoSourceResolution(this); + } + + /// Field number for the "width" field. + public const int WidthFieldNumber = 1; + private readonly static uint WidthDefaultValue = 0; + + private uint width_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint Width { + get { if ((_hasBits0 & 1) != 0) { return width_; } else { return WidthDefaultValue; } } + set { + _hasBits0 |= 1; + width_ = value; } - - _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } - + /// Gets whether the "width" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoStreamEvent Clone() { - return new VideoStreamEvent(this); + public bool HasWidth { + get { return (_hasBits0 & 1) != 0; } } - - /// Field number for the "handle" field. - public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; + /// Clears the value of the "width" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { - get { return handle_; } - set { - handle_ = value; - } + public void ClearWidth() { + _hasBits0 &= ~1; } - /// Field number for the "frame_received" field. - public const int FrameReceivedFieldNumber = 2; + /// Field number for the "height" field. + public const int HeightFieldNumber = 2; + private readonly static uint HeightDefaultValue = 0; + + private uint height_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameReceived FrameReceived { - get { return messageCase_ == MessageOneofCase.FrameReceived ? (global::LiveKit.Proto.VideoFrameReceived) message_ : null; } + public uint Height { + get { if ((_hasBits0 & 2) != 0) { return height_; } else { return HeightDefaultValue; } } set { - message_ = value; - messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.FrameReceived; + _hasBits0 |= 2; + height_ = value; } } - - private object message_; - /// Enum of possible cases for the "message" oneof. - public enum MessageOneofCase { - None = 0, - FrameReceived = 2, - } - private MessageOneofCase messageCase_ = MessageOneofCase.None; + /// Gets whether the "height" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public MessageOneofCase MessageCase { - get { return messageCase_; } + public bool HasHeight { + get { return (_hasBits0 & 2) != 0; } } - + /// Clears the value of the "height" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void ClearMessage() { - messageCase_ = MessageOneofCase.None; - message_ = null; + public void ClearHeight() { + _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoStreamEvent); + return Equals(other as VideoSourceResolution); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoStreamEvent other) { + public bool Equals(VideoSourceResolution other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Handle, other.Handle)) return false; - if (!object.Equals(FrameReceived, other.FrameReceived)) return false; - if (MessageCase != other.MessageCase) return false; + if (Width != other.Width) return false; + if (Height != other.Height) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5852,9 +5771,8 @@ public bool Equals(VideoStreamEvent other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (handle_ != null) hash ^= Handle.GetHashCode(); - if (messageCase_ == MessageOneofCase.FrameReceived) hash ^= FrameReceived.GetHashCode(); - hash ^= (int) messageCase_; + if (HasWidth) hash ^= Width.GetHashCode(); + if (HasHeight) hash ^= Height.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5873,13 +5791,13 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); + if (HasWidth) { + output.WriteRawTag(8); + output.WriteUInt32(Width); } - if (messageCase_ == MessageOneofCase.FrameReceived) { - output.WriteRawTag(18); - output.WriteMessage(FrameReceived); + if (HasHeight) { + output.WriteRawTag(16); + output.WriteUInt32(Height); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -5891,13 +5809,13 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (handle_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Handle); + if (HasWidth) { + output.WriteRawTag(8); + output.WriteUInt32(Width); } - if (messageCase_ == MessageOneofCase.FrameReceived) { - output.WriteRawTag(18); - output.WriteMessage(FrameReceived); + if (HasHeight) { + output.WriteRawTag(16); + output.WriteUInt32(Height); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -5909,11 +5827,11 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (handle_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); + if (HasWidth) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Width); } - if (messageCase_ == MessageOneofCase.FrameReceived) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(FrameReceived); + if (HasHeight) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Height); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -5923,25 +5841,16 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoStreamEvent other) { + public void MergeFrom(VideoSourceResolution other) { if (other == null) { return; } - if (other.handle_ != null) { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - Handle.MergeFrom(other.Handle); + if (other.HasWidth) { + Width = other.Width; } - switch (other.MessageCase) { - case MessageOneofCase.FrameReceived: - if (FrameReceived == null) { - FrameReceived = new global::LiveKit.Proto.VideoFrameReceived(); - } - FrameReceived.MergeFrom(other.FrameReceived); - break; + if (other.HasHeight) { + Height = other.Height; } - _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -5953,24 +5862,20 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + case 8: { + Width = input.ReadUInt32(); break; } - case 18: { - global::LiveKit.Proto.VideoFrameReceived subBuilder = new global::LiveKit.Proto.VideoFrameReceived(); - if (messageCase_ == MessageOneofCase.FrameReceived) { - subBuilder.MergeFrom(FrameReceived); - } - input.ReadMessage(subBuilder); - FrameReceived = subBuilder; + case 16: { + Height = input.ReadUInt32(); break; } } @@ -5984,24 +5889,20 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); - } - input.ReadMessage(Handle); + case 8: { + Width = input.ReadUInt32(); break; } - case 18: { - global::LiveKit.Proto.VideoFrameReceived subBuilder = new global::LiveKit.Proto.VideoFrameReceived(); - if (messageCase_ == MessageOneofCase.FrameReceived) { - subBuilder.MergeFrom(FrameReceived); - } - input.ReadMessage(subBuilder); - FrameReceived = subBuilder; + case 16: { + Height = input.ReadUInt32(); break; } } @@ -6011,21 +5912,23 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class VideoFrameReceived : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class VideoSourceInfo : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoFrameReceived()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoSourceInfo()); private pb::UnknownFieldSet _unknownFields; + private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[21]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[19]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6036,7 +5939,7 @@ public sealed partial class VideoFrameReceived : pb::IMessageField number for the "frame" field. - public const int FrameFieldNumber = 1; - private global::LiveKit.Proto.VideoFrameInfo frame_; + /// Field number for the "type" field. + public const int TypeFieldNumber = 1; + private readonly static global::LiveKit.Proto.VideoSourceType TypeDefaultValue = global::LiveKit.Proto.VideoSourceType.VideoSourceNative; + + private global::LiveKit.Proto.VideoSourceType type_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameInfo Frame { - get { return frame_; } + public global::LiveKit.Proto.VideoSourceType Type { + get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } } set { - frame_ = value; + _hasBits0 |= 1; + type_ = value; } } - - /// Field number for the "buffer" field. - public const int BufferFieldNumber = 2; - private global::LiveKit.Proto.VideoFrameBufferInfo buffer_; + /// Gets whether the "type" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoFrameBufferInfo Buffer { - get { return buffer_; } - set { - buffer_ = value; - } + public bool HasType { + get { return (_hasBits0 & 1) != 0; } + } + /// Clears the value of the "type" field + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearType() { + _hasBits0 &= ~1; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoFrameReceived); + return Equals(other as VideoSourceInfo); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoFrameReceived other) { + public bool Equals(VideoSourceInfo other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } - if (!object.Equals(Frame, other.Frame)) return false; - if (!object.Equals(Buffer, other.Buffer)) return false; + if (Type != other.Type) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6104,8 +6009,7 @@ public bool Equals(VideoFrameReceived other) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; - if (frame_ != null) hash ^= Frame.GetHashCode(); - if (buffer_ != null) hash ^= Buffer.GetHashCode(); + if (HasType) hash ^= Type.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6124,13 +6028,9 @@ public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else - if (frame_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Frame); - } - if (buffer_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Buffer); + if (HasType) { + output.WriteRawTag(8); + output.WriteEnum((int) Type); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6142,13 +6042,9 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { - if (frame_ != null) { - output.WriteRawTag(10); - output.WriteMessage(Frame); - } - if (buffer_ != null) { - output.WriteRawTag(18); - output.WriteMessage(Buffer); + if (HasType) { + output.WriteRawTag(8); + output.WriteEnum((int) Type); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6160,11 +6056,8 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; - if (frame_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Frame); - } - if (buffer_ != null) { - size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer); + if (HasType) { + size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6174,21 +6067,12 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoFrameReceived other) { + public void MergeFrom(VideoSourceInfo other) { if (other == null) { return; } - if (other.frame_ != null) { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.VideoFrameInfo(); - } - Frame.MergeFrom(other.Frame); - } - if (other.buffer_ != null) { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); - } - Buffer.MergeFrom(other.Buffer); + if (other.HasType) { + Type = other.Type; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6201,22 +6085,16 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; - case 10: { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.VideoFrameInfo(); - } - input.ReadMessage(Frame); - break; - } - case 18: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); - } - input.ReadMessage(Buffer); + case 8: { + Type = (global::LiveKit.Proto.VideoSourceType) input.ReadEnum(); break; } } @@ -6230,22 +6108,16 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; - case 10: { - if (frame_ == null) { - Frame = new global::LiveKit.Proto.VideoFrameInfo(); - } - input.ReadMessage(Frame); - break; - } - case 18: { - if (buffer_ == null) { - Buffer = new global::LiveKit.Proto.VideoFrameBufferInfo(); - } - input.ReadMessage(Buffer); + case 8: { + Type = (global::LiveKit.Proto.VideoSourceType) input.ReadEnum(); break; } } @@ -6255,21 +6127,22 @@ public void MergeFrom(pb::CodedInputStream input) { } - public sealed partial class VideoSourceInfo : pb::IMessage + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class OwnedVideoSource : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoSourceInfo()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedVideoSource()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[22]; } + get { return global::LiveKit.Proto.VideoFrameReflection.Descriptor.MessageTypes[20]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -6280,7 +6153,7 @@ public sealed partial class VideoSourceInfo : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoSourceInfo() { + public OwnedVideoSource() { OnConstruction(); } @@ -6288,55 +6161,51 @@ public VideoSourceInfo() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoSourceInfo(VideoSourceInfo other) : this() { + public OwnedVideoSource(OwnedVideoSource other) : this() { handle_ = other.handle_ != null ? other.handle_.Clone() : null; - type_ = other.type_; + info_ = other.info_ != null ? other.info_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public VideoSourceInfo Clone() { - return new VideoSourceInfo(this); + public OwnedVideoSource Clone() { + return new OwnedVideoSource(this); } /// Field number for the "handle" field. public const int HandleFieldNumber = 1; - private global::LiveKit.Proto.FFIHandleId handle_; - /// - /// # SAFETY - /// This handle must not be dropped if a track is currently using it - /// + private global::LiveKit.Proto.FfiOwnedHandle handle_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.FFIHandleId Handle { + public global::LiveKit.Proto.FfiOwnedHandle Handle { get { return handle_; } set { handle_ = value; } } - /// Field number for the "type" field. - public const int TypeFieldNumber = 2; - private global::LiveKit.Proto.VideoSourceType type_ = global::LiveKit.Proto.VideoSourceType.VideoSourceNative; + /// Field number for the "info" field. + public const int InfoFieldNumber = 2; + private global::LiveKit.Proto.VideoSourceInfo info_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::LiveKit.Proto.VideoSourceType Type { - get { return type_; } + public global::LiveKit.Proto.VideoSourceInfo Info { + get { return info_; } set { - type_ = value; + info_ = value; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as VideoSourceInfo); + return Equals(other as OwnedVideoSource); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(VideoSourceInfo other) { + public bool Equals(OwnedVideoSource other) { if (ReferenceEquals(other, null)) { return false; } @@ -6344,7 +6213,7 @@ public bool Equals(VideoSourceInfo other) { return true; } if (!object.Equals(Handle, other.Handle)) return false; - if (Type != other.Type) return false; + if (!object.Equals(Info, other.Info)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6353,7 +6222,7 @@ public bool Equals(VideoSourceInfo other) { public override int GetHashCode() { int hash = 1; if (handle_ != null) hash ^= Handle.GetHashCode(); - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) hash ^= Type.GetHashCode(); + if (info_ != null) hash ^= Info.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6376,9 +6245,9 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Handle); } - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -6394,9 +6263,9 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(Handle); } - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { - output.WriteRawTag(16); - output.WriteEnum((int) Type); + if (info_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Info); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -6411,8 +6280,8 @@ public int CalculateSize() { if (handle_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Handle); } - if (Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type); + if (info_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -6422,18 +6291,21 @@ public int CalculateSize() { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(VideoSourceInfo other) { + public void MergeFrom(OwnedVideoSource other) { if (other == null) { return; } if (other.handle_ != null) { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } Handle.MergeFrom(other.Handle); } - if (other.Type != global::LiveKit.Proto.VideoSourceType.VideoSourceNative) { - Type = other.Type; + if (other.info_ != null) { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoSourceInfo(); + } + Info.MergeFrom(other.Info); } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6446,19 +6318,26 @@ public void MergeFrom(pb::CodedInputStream input) { #else uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 10: { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } input.ReadMessage(Handle); break; } - case 16: { - Type = (global::LiveKit.Proto.VideoSourceType) input.ReadEnum(); + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoSourceInfo(); + } + input.ReadMessage(Info); break; } } @@ -6472,19 +6351,26 @@ public void MergeFrom(pb::CodedInputStream input) { void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { - switch(tag) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 10: { if (handle_ == null) { - Handle = new global::LiveKit.Proto.FFIHandleId(); + Handle = new global::LiveKit.Proto.FfiOwnedHandle(); } input.ReadMessage(Handle); break; } - case 16: { - Type = (global::LiveKit.Proto.VideoSourceType) input.ReadEnum(); + case 18: { + if (info_ == null) { + Info = new global::LiveKit.Proto.VideoSourceInfo(); + } + input.ReadMessage(Info); break; } } diff --git a/Runtime/Scripts/Room.cs b/Runtime/Scripts/Room.cs deleted file mode 100644 index 11c2984b..00000000 --- a/Runtime/Scripts/Room.cs +++ /dev/null @@ -1,273 +0,0 @@ -using System; -using System.Collections.Generic; -using LiveKit.Internal; -using LiveKit.Proto; -using System.Runtime.InteropServices; -using UnityEngine; - -namespace LiveKit -{ - public class Room - { - public delegate void ParticipantDelegate(RemoteParticipant participant); - public delegate void PublishDelegate(RemoteTrackPublication publication, RemoteParticipant participant); - public delegate void SubscribeDelegate(IRemoteTrack track, RemoteTrackPublication publication, RemoteParticipant participant); - public delegate void MuteDelegate(TrackPublication publication, Participant participant); - public delegate void SpeakersChangeDelegate(List speakers); - public delegate void ConnectionQualityChangeDelegate(ConnectionQuality quality, Participant participant); - public delegate void DataDelegate(byte[] data, Participant participant, DataPacketKind kind); - public delegate void ConnectionStateChangeDelegate(ConnectionState connectionState); - public delegate void ConnectionDelegate(); - - public string Sid { private set; get; } - public string Name { private set; get; } - public string Metadata { private set; get; } - public LocalParticipant LocalParticipant { private set; get; } - - private readonly Dictionary _participants = new(); - public IReadOnlyDictionary Participants => _participants; - - public event ParticipantDelegate ParticipantConnected; - public event ParticipantDelegate ParticipantDisconnected; - public event PublishDelegate TrackPublished; - public event PublishDelegate TrackUnpublished; - public event SubscribeDelegate TrackSubscribed; - public event SubscribeDelegate TrackUnsubscribed; - public event MuteDelegate TrackMuted; - public event MuteDelegate TrackUnmuted; - public event SpeakersChangeDelegate ActiveSpeakersChanged; - public event ConnectionQualityChangeDelegate ConnectionQualityChanged; - public event DataDelegate DataReceived; - public event ConnectionStateChangeDelegate ConnectionStateChanged; - public event ConnectionDelegate Connected; - public event ConnectionDelegate Disconnected; - public event ConnectionDelegate Reconnecting; - public event ConnectionDelegate Reconnected; - - internal FfiHandle Handle; - - public ConnectInstruction Connect(string url, string token) - { - var connect = new ConnectRequest(); - connect.Url = url; - connect.Token = token; - - var request = new FFIRequest(); - request.Connect = connect; - - var resp = FfiClient.SendRequest(request); - return new ConnectInstruction(resp.Connect.AsyncId.Id, this); - } - - internal void UpdateFromInfo(RoomInfo info) - { - Sid = info.Sid; - Name = info.Name; - Metadata = info.Metadata; - } - - internal void OnEventReceived(RoomEvent e) - { - if (e.RoomHandle.Id != (ulong)Handle.DangerousGetHandle()) - return; - - switch (e.MessageCase) - { - case RoomEvent.MessageOneofCase.ParticipantConnected: - { - var participant = CreateRemoteParticipant(e.ParticipantConnected.Info); - ParticipantConnected?.Invoke(participant); - } - break; - case RoomEvent.MessageOneofCase.ParticipantDisconnected: - { - var info = e.ParticipantDisconnected.Info; - var participant = Participants[info.Sid]; - _participants.Remove(info.Sid); - ParticipantDisconnected?.Invoke(participant); - } - break; - case RoomEvent.MessageOneofCase.TrackPublished: - { - var participant = Participants[e.TrackPublished.ParticipantSid]; - var publication = new RemoteTrackPublication(e.TrackPublished.Publication); - participant._tracks.Add(publication.Sid, publication); - participant.OnTrackPublished(publication); - TrackPublished?.Invoke(publication, participant); - } - break; - case RoomEvent.MessageOneofCase.TrackUnpublished: - { - var participant = Participants[e.TrackUnpublished.ParticipantSid]; - var publication = participant.Tracks[e.TrackUnpublished.PublicationSid]; - participant._tracks.Remove(publication.Sid); - participant.OnTrackUnpublished(publication); - TrackUnpublished?.Invoke(publication, participant); - } - break; - case RoomEvent.MessageOneofCase.TrackSubscribed: - { - var info = e.TrackSubscribed.Track; - var participant = Participants[e.TrackSubscribed.ParticipantSid]; - var publication = participant.Tracks[info.Sid]; - - if (info.Kind == TrackKind.KindVideo) - { - var videoTrack = new RemoteVideoTrack(null, info, this, participant); - publication.UpdateTrack(videoTrack); - TrackSubscribed?.Invoke(videoTrack, publication, participant); - } - else if (info.Kind == TrackKind.KindAudio) - { - var audioTrack = new RemoteAudioTrack(null, info, this, participant); - publication.UpdateTrack(audioTrack); - TrackSubscribed?.Invoke(audioTrack, publication, participant); - } - } - break; - case RoomEvent.MessageOneofCase.TrackUnsubscribed: - { - var participant = Participants[e.TrackUnsubscribed.ParticipantSid]; - var publication = participant.Tracks[e.TrackUnsubscribed.TrackSid]; - var track = publication.Track; - publication.UpdateTrack(null); - TrackUnsubscribed?.Invoke(track, publication, participant); - } - break; - case RoomEvent.MessageOneofCase.TrackMuted: - { - var participant = GetParticipant(e.TrackMuted.ParticipantSid); - var publication = participant.Tracks[e.TrackMuted.TrackSid]; - publication.UpdateMuted(true); - TrackMuted?.Invoke(publication, participant); - } - break; - case RoomEvent.MessageOneofCase.TrackUnmuted: - { - var participant = GetParticipant(e.TrackUnmuted.ParticipantSid); - var publication = participant.Tracks[e.TrackUnmuted.TrackSid]; - publication.UpdateMuted(false); - TrackUnmuted?.Invoke(publication, participant); - } - break; - case RoomEvent.MessageOneofCase.SpeakersChanged: - { - var sids = e.SpeakersChanged.ParticipantSids; - var speakers = new List(sids.Count); - - foreach (var sid in sids) - speakers.Add(GetParticipant(sid)); - - ActiveSpeakersChanged?.Invoke(speakers); - } - break; - case RoomEvent.MessageOneofCase.ConnectionQualityChanged: - { - var participant = GetParticipant(e.ConnectionQualityChanged.ParticipantSid); - var quality = e.ConnectionQualityChanged.Quality; - ConnectionQualityChanged?.Invoke(quality, participant); - } - break; - case RoomEvent.MessageOneofCase.DataReceived: - { - var dataInfo = e.DataReceived; - - var handle = new FfiHandle((IntPtr)dataInfo.Handle.Id); - var data = new byte[dataInfo.DataSize]; - Marshal.Copy((IntPtr)dataInfo.DataPtr, data, 0, data.Length); - handle.Dispose(); - - var participant = GetParticipant(e.DataReceived.ParticipantSid); - DataReceived?.Invoke(data, participant, dataInfo.Kind); - } - break; - case RoomEvent.MessageOneofCase.ConnectionStateChanged: - ConnectionStateChanged?.Invoke(e.ConnectionStateChanged.State); - break; - case RoomEvent.MessageOneofCase.Connected: - Connected?.Invoke(); - break; - case RoomEvent.MessageOneofCase.Disconnected: - Disconnected?.Invoke(); - OnDisconnect(); - break; - case RoomEvent.MessageOneofCase.Reconnecting: - Reconnecting?.Invoke(); - break; - case RoomEvent.MessageOneofCase.Reconnected: - Reconnected?.Invoke(); - break; - } - } - - internal void OnConnect(RoomInfo info) - { - Handle = new FfiHandle((IntPtr)info.Handle.Id); - - UpdateFromInfo(info); - LocalParticipant = new LocalParticipant(info.LocalParticipant, this); - - // Add already connected participant - foreach (var p in info.Participants) - CreateRemoteParticipant(p); - - FfiClient.Instance.RoomEventReceived += OnEventReceived; - } - - internal void OnDisconnect() - { - FfiClient.Instance.RoomEventReceived -= OnEventReceived; - } - - RemoteParticipant CreateRemoteParticipant(ParticipantInfo info) - { - var participant = new RemoteParticipant(info, this); - _participants.Add(participant.Sid, participant); - - foreach (var pubInfo in info.Publications) - { - var publication = new RemoteTrackPublication(pubInfo); - participant._tracks.Add(publication.Sid, publication); - } - - return participant; - } - - public Participant GetParticipant(string sid) - { - if (sid == LocalParticipant.Sid) - return LocalParticipant; - - Participants.TryGetValue(sid, out var remoteParticipant); - return remoteParticipant; - } - } - - public sealed class ConnectInstruction : YieldInstruction - { - private ulong _asyncId; - private Room _room; - - internal ConnectInstruction(ulong asyncId, Room room) - { - _asyncId = asyncId; - _room = room; - FfiClient.Instance.ConnectReceived += OnConnect; - } - - void OnConnect(ConnectCallback e) - { - if (_asyncId != e.AsyncId.Id) - return; - - FfiClient.Instance.ConnectReceived -= OnConnect; - - bool success = string.IsNullOrEmpty(e.Error); - if (success) - _room.OnConnect(e.Room); - - IsError = !success; - IsDone = true; - } - } -} diff --git a/Runtime/Scripts/Rooms.meta b/Runtime/Scripts/Rooms.meta new file mode 100644 index 00000000..3e393ddc --- /dev/null +++ b/Runtime/Scripts/Rooms.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 893724e6f1e54877837274c8e17a5612 +timeCreated: 1707132458 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/ActiveSpeakers.meta b/Runtime/Scripts/Rooms/ActiveSpeakers.meta new file mode 100644 index 00000000..b8af1720 --- /dev/null +++ b/Runtime/Scripts/Rooms/ActiveSpeakers.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c906ab04aa56483da789aa7c9e494426 +timeCreated: 1707143382 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/ActiveSpeakers/DefaultActiveSpeakers.cs b/Runtime/Scripts/Rooms/ActiveSpeakers/DefaultActiveSpeakers.cs new file mode 100644 index 00000000..f1505043 --- /dev/null +++ b/Runtime/Scripts/Rooms/ActiveSpeakers/DefaultActiveSpeakers.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace LiveKit.Rooms.ActiveSpeakers +{ + public class DefaultActiveSpeakers : IMutableActiveSpeakers + { + private readonly List actives = new(); + + public int Count => actives.Count; + + public event Action? Updated; + + public void UpdateCurrentActives(IEnumerable sids) + { + actives.Clear(); + actives.AddRange(sids); + Updated?.Invoke(); + } + + public void Clear() + { + actives.Clear(); + Updated?.Invoke(); + } + + public IEnumerator GetEnumerator() + { + return actives.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/ActiveSpeakers/DefaultActiveSpeakers.cs.meta b/Runtime/Scripts/Rooms/ActiveSpeakers/DefaultActiveSpeakers.cs.meta new file mode 100644 index 00000000..9d17f9fc --- /dev/null +++ b/Runtime/Scripts/Rooms/ActiveSpeakers/DefaultActiveSpeakers.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 987d30ce42164cdbad543e73611c7947 +timeCreated: 1707143652 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/ActiveSpeakers/IActiveSpeakers.cs b/Runtime/Scripts/Rooms/ActiveSpeakers/IActiveSpeakers.cs new file mode 100644 index 00000000..6a37a12a --- /dev/null +++ b/Runtime/Scripts/Rooms/ActiveSpeakers/IActiveSpeakers.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; + +namespace LiveKit.Rooms.ActiveSpeakers +{ + public interface IActiveSpeakers : IReadOnlyCollection + { + event Action Updated; + } + + public interface IMutableActiveSpeakers : IActiveSpeakers + { + void UpdateCurrentActives(IEnumerable sids); + + void Clear(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/ActiveSpeakers/IActiveSpeakers.cs.meta b/Runtime/Scripts/Rooms/ActiveSpeakers/IActiveSpeakers.cs.meta new file mode 100644 index 00000000..35217edd --- /dev/null +++ b/Runtime/Scripts/Rooms/ActiveSpeakers/IActiveSpeakers.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 855d56dcff5548449347a2bde7b39996 +timeCreated: 1707143389 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/AsyncInstractions.meta b/Runtime/Scripts/Rooms/AsyncInstractions.meta new file mode 100644 index 00000000..faaee5de --- /dev/null +++ b/Runtime/Scripts/Rooms/AsyncInstractions.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e2812007700741bc83fd43126f444b3d +timeCreated: 1707132536 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/AsyncInstractions/ConnectInstruction.cs b/Runtime/Scripts/Rooms/AsyncInstractions/ConnectInstruction.cs new file mode 100644 index 00000000..a097ce61 --- /dev/null +++ b/Runtime/Scripts/Rooms/AsyncInstractions/ConnectInstruction.cs @@ -0,0 +1,39 @@ +using System.Threading; +using LiveKit.Internal; +using LiveKit.Proto; +using LiveKit.Rooms; + +namespace LiveKit.Rooms.AsyncInstractions +{ + public sealed class ConnectInstruction : AsyncInstruction + { + private ulong _asyncId; + private Room _room; + + internal ConnectInstruction(ulong asyncId, Room room, CancellationToken token) : base(token) + { + _asyncId = asyncId; + _room = room; + FfiClient.Instance.ConnectReceived += OnConnect; + } + + void OnConnect(ConnectCallback e) + { + Utils.Debug($"OnConnect.... {e}"); + if (_asyncId != e.AsyncId) + return; + + FfiClient.Instance.ConnectReceived -= OnConnect; + + if (Token.IsCancellationRequested) return; + + ErrorMessage = e.Error; + bool success = IsError == false; + Utils.Debug("Connection success: " + success); + if (success) + _room.OnConnect(e.Result.Room.Handle, e.Result.Room.Info, e.Result.LocalParticipant, e.Result.Participants); + + IsDone = true; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/AsyncInstractions/ConnectInstruction.cs.meta b/Runtime/Scripts/Rooms/AsyncInstractions/ConnectInstruction.cs.meta new file mode 100644 index 00000000..b8a728bc --- /dev/null +++ b/Runtime/Scripts/Rooms/AsyncInstractions/ConnectInstruction.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ba334fb5f9bf428796b5c3ae84e716e2 +timeCreated: 1707132542 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/AsyncInstractions/DisconnectInstruction.cs b/Runtime/Scripts/Rooms/AsyncInstractions/DisconnectInstruction.cs new file mode 100644 index 00000000..267a04ea --- /dev/null +++ b/Runtime/Scripts/Rooms/AsyncInstractions/DisconnectInstruction.cs @@ -0,0 +1,33 @@ +using System.Threading; +using LiveKit.Internal; +using LiveKit.Proto; + +namespace LiveKit.Rooms.AsyncInstractions +{ + public sealed class DisconnectInstruction : AsyncInstruction + { + private readonly ulong asyncId; + private readonly Room room; + + internal DisconnectInstruction(ulong asyncId, Room room, CancellationToken token) : base(token) + { + this.asyncId = asyncId; + this.room = room; + FfiClient.Instance.DisconnectReceived += OnDisconnect; + } + + private void OnDisconnect(DisconnectCallback e) + { + Utils.Debug($"OnConnect.... {e}"); + if (asyncId != e.AsyncId) + return; + + FfiClient.Instance.DisconnectReceived -= OnDisconnect; + + room.OnDisconnect(); + + ErrorMessage = string.Empty; + IsDone = true; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/AsyncInstractions/DisconnectInstruction.cs.meta b/Runtime/Scripts/Rooms/AsyncInstractions/DisconnectInstruction.cs.meta new file mode 100644 index 00000000..29b3eedf --- /dev/null +++ b/Runtime/Scripts/Rooms/AsyncInstractions/DisconnectInstruction.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c31b4eb4c6c8452e868c91c718ba5694 +timeCreated: 1711117629 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/AsyncInstractions/PublishTrackInstruction.cs b/Runtime/Scripts/Rooms/AsyncInstractions/PublishTrackInstruction.cs new file mode 100644 index 00000000..2da67a26 --- /dev/null +++ b/Runtime/Scripts/Rooms/AsyncInstractions/PublishTrackInstruction.cs @@ -0,0 +1,48 @@ +using System.Threading; +using LiveKit.Internal; +using LiveKit.Proto; +using LiveKit.Rooms; +using LiveKit.Rooms.TrackPublications; +using LiveKit.Rooms.Tracks; + +namespace LiveKit.Rooms.AsyncInstractions +{ + public sealed class PublishTrackInstruction : AsyncInstruction + { + private ulong _asyncId; + private Room _room; + private ITrack _track; + + internal PublishTrackInstruction(ulong asyncId, Room room, ITrack track, CancellationToken token) : base(token) + { + _asyncId = asyncId; + _room = room; + _track = track; + FfiClient.Instance.PublishTrackReceived += OnPublish; + } + + void OnPublish(PublishTrackCallback e) + { + if (e.AsyncId != _asyncId) + return; + + ErrorMessage = e.Error; + + if (!IsError && e.Publication != null) + { + var publication = ITrackPublicationFactory.Default.NewTrackPublication( + e.Publication.Handle, + e.Publication.Info! + ); + + publication.UpdateTrack(_track); + + _room.Participants.LocalParticipant().Publish(publication); + } + + IsDone = true; + + FfiClient.Instance.PublishTrackReceived -= OnPublish; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/AsyncInstractions/PublishTrackInstruction.cs.meta b/Runtime/Scripts/Rooms/AsyncInstractions/PublishTrackInstruction.cs.meta new file mode 100644 index 00000000..07301d5b --- /dev/null +++ b/Runtime/Scripts/Rooms/AsyncInstractions/PublishTrackInstruction.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5c9528abb2f243408ea86e7cdd21d53b +timeCreated: 1707132610 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/DataPipes.meta b/Runtime/Scripts/Rooms/DataPipes.meta new file mode 100644 index 00000000..351ef6e5 --- /dev/null +++ b/Runtime/Scripts/Rooms/DataPipes.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3fcfc416553e4e23956ae7a4d63c8d2b +timeCreated: 1707476798 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/DataPipes/DataPipe.cs b/Runtime/Scripts/Rooms/DataPipes/DataPipe.cs new file mode 100644 index 00000000..ed7c7b2f --- /dev/null +++ b/Runtime/Scripts/Rooms/DataPipes/DataPipe.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; +using LiveKit.Rooms.Participants; + +namespace LiveKit.Rooms.DataPipes +{ + public class DataPipe : IMutableDataPipe + { + private IParticipantsHub participantsHub = null!; + + public event ReceivedDataDelegate? DataReceived; + + public void PublishData( + Span data, + string topic, + IReadOnlyCollection identities, + DataPacketKind kind = DataPacketKind.KindLossy + ) + { + unsafe + { + fixed (byte* pointer = data) + { + PublishData(pointer, data.Length, topic, identities, kind); + } + } + } + + private unsafe void PublishData( + byte* data, + int len, + string topic, + IReadOnlyCollection identities, + DataPacketKind kind = DataPacketKind.KindLossy + ) + { + using var request = FFIBridge.Instance.NewRequest(); + var dataRequest = request.request; + dataRequest.DestinationIdentities!.Clear(); + dataRequest.DestinationIdentities.AddRange(identities); + dataRequest.DataLen = (ulong)len; + dataRequest.DataPtr = (ulong)data; + dataRequest.Reliable = kind == DataPacketKind.KindReliable; + dataRequest.Topic = topic; + dataRequest.LocalParticipantHandle = (ulong)participantsHub.LocalParticipant().Handle.DangerousGetHandle(); + Utils.Debug("Sending message: " + topic); + using var response = request.Send(); + } + + public void Assign(IParticipantsHub participants) + { + participantsHub = participants; + } + + public void Notify(ReadOnlySpan data, Participant participant, string topic, DataPacketKind kind) + { + DataReceived?.Invoke(data, participant, topic, kind); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/DataPipes/DataPipe.cs.meta b/Runtime/Scripts/Rooms/DataPipes/DataPipe.cs.meta new file mode 100644 index 00000000..2cb1427c --- /dev/null +++ b/Runtime/Scripts/Rooms/DataPipes/DataPipe.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b9fa1fd01bd843809c0142e8b3c5b5dc +timeCreated: 1707477107 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/DataPipes/IDataPipe.cs b/Runtime/Scripts/Rooms/DataPipes/IDataPipe.cs new file mode 100644 index 00000000..640eb956 --- /dev/null +++ b/Runtime/Scripts/Rooms/DataPipes/IDataPipe.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using LiveKit.Proto; +using LiveKit.Rooms.Participants; + +namespace LiveKit.Rooms.DataPipes +{ + public delegate void ReceivedDataDelegate( + ReadOnlySpan data, + Participant participant, + string topic, + DataPacketKind kind + ); + + public interface IDataPipe + { + event ReceivedDataDelegate DataReceived; + + void PublishData( + Span data, + string topic, + IReadOnlyCollection destinationSids, + DataPacketKind kind = DataPacketKind.KindLossy + ); + } + + public interface IMutableDataPipe : IDataPipe + { + void Assign(IParticipantsHub participants); + + void Notify(ReadOnlySpan data, Participant participant, string topic, DataPacketKind kind); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/DataPipes/IDataPipe.cs.meta b/Runtime/Scripts/Rooms/DataPipes/IDataPipe.cs.meta new file mode 100644 index 00000000..bb9c5ec2 --- /dev/null +++ b/Runtime/Scripts/Rooms/DataPipes/IDataPipe.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3d3c65172ac84ebeaa8a87714fd00cda +timeCreated: 1707476805 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/IRoom.cs b/Runtime/Scripts/Rooms/IRoom.cs new file mode 100644 index 00000000..a2af2a34 --- /dev/null +++ b/Runtime/Scripts/Rooms/IRoom.cs @@ -0,0 +1,43 @@ +using System.Threading; +using System.Threading.Tasks; +using LiveKit.Rooms.ActiveSpeakers; +using LiveKit.Rooms.DataPipes; +using LiveKit.Rooms.Info; +using LiveKit.Rooms.Participants; +using LiveKit.Rooms.Streaming.Audio; +using LiveKit.Rooms.Tracks; +using LiveKit.Rooms.Tracks.Hub; +using LiveKit.Rooms.VideoStreaming; +using RichTypes; + +namespace LiveKit.Rooms +{ + public interface IRoom : ITracksHub, IRoomConnectionInfo + { + event Room.MetaDelegate? RoomMetadataChanged; + + event Room.SidDelegate? RoomSidChanged; + + IRoomInfo Info { get; } + + IActiveSpeakers ActiveSpeakers { get; } + + IParticipantsHub Participants { get; } + + IDataPipe DataPipe { get; } + + IVideoStreams VideoStreams { get; } + + IAudioStreams AudioStreams { get; } + + IAudioTracks AudioTracks { get; } + + void UpdateLocalMetadata(string metadata); + + void SetLocalName(string name); + + Task ConnectAsync(string url, string authToken, CancellationToken cancelToken, bool autoSubscribe); + + Task DisconnectAsync(CancellationToken cancellationToken); + } +} diff --git a/Runtime/Scripts/Rooms/IRoom.cs.meta b/Runtime/Scripts/Rooms/IRoom.cs.meta new file mode 100644 index 00000000..1d45c206 --- /dev/null +++ b/Runtime/Scripts/Rooms/IRoom.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: efb9211805d6488bacf43ccf0c02cb79 +timeCreated: 1707145769 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/IRoomConnectionInfo.cs b/Runtime/Scripts/Rooms/IRoomConnectionInfo.cs new file mode 100644 index 00000000..5e88059f --- /dev/null +++ b/Runtime/Scripts/Rooms/IRoomConnectionInfo.cs @@ -0,0 +1,31 @@ +using LiveKit.Proto; +using LiveKit.Rooms.Participants; + +namespace LiveKit.Rooms +{ + public delegate void ConnectionQualityChangeDelegate(ConnectionQuality quality, Participant participant); + + + public delegate void ConnectionStateChangeDelegate(ConnectionState connectionState); + + + public delegate void ConnectionDelegate(IRoom room, ConnectionUpdate connectionUpdate); + + + public enum ConnectionUpdate + { + Connected, + Disconnected, + Reconnecting, + Reconnected + } + + public interface IRoomConnectionInfo + { + event ConnectionQualityChangeDelegate? ConnectionQualityChanged; + + event ConnectionStateChangeDelegate? ConnectionStateChanged; + + event ConnectionDelegate? ConnectionUpdated; + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/IRoomConnectionInfo.cs.meta b/Runtime/Scripts/Rooms/IRoomConnectionInfo.cs.meta new file mode 100644 index 00000000..431c790e --- /dev/null +++ b/Runtime/Scripts/Rooms/IRoomConnectionInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3b99d13e69c14eeab9f90e335222d81d +timeCreated: 1707480332 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Info.meta b/Runtime/Scripts/Rooms/Info.meta new file mode 100644 index 00000000..e5179f67 --- /dev/null +++ b/Runtime/Scripts/Rooms/Info.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 90e6fd6fe5164cc0a555d0ac09aeb90a +timeCreated: 1711016848 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Info/IMutableRoomInfo.cs b/Runtime/Scripts/Rooms/Info/IMutableRoomInfo.cs new file mode 100644 index 00000000..eda7df1a --- /dev/null +++ b/Runtime/Scripts/Rooms/Info/IMutableRoomInfo.cs @@ -0,0 +1,25 @@ +using LiveKit.Proto; + +namespace LiveKit.Rooms.Info +{ + public interface IMutableRoomInfo : IRoomInfo + { + void UpdateConnectionState(ConnectionState state); + + void UpdateSid(string sid); + + void UpdateName(string name); + + void UpdateMetadata(string metadata); + } + + public static class RoomInfoExtensions + { + public static void UpdateFromInfo(this IMutableRoomInfo roomInfo, RoomInfo info) + { + roomInfo.UpdateSid(info.Sid!); + roomInfo.UpdateName(info.Name!); + roomInfo.UpdateMetadata(info.Metadata!); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Info/IMutableRoomInfo.cs.meta b/Runtime/Scripts/Rooms/Info/IMutableRoomInfo.cs.meta new file mode 100644 index 00000000..fcbbfc09 --- /dev/null +++ b/Runtime/Scripts/Rooms/Info/IMutableRoomInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 45abb289cdea482e9e56d457b67165e9 +timeCreated: 1711017208 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Info/IRoomInfo.cs b/Runtime/Scripts/Rooms/Info/IRoomInfo.cs new file mode 100644 index 00000000..e84d7a06 --- /dev/null +++ b/Runtime/Scripts/Rooms/Info/IRoomInfo.cs @@ -0,0 +1,12 @@ +using LiveKit.Proto; + +namespace LiveKit.Rooms.Info +{ + public interface IRoomInfo + { + public ConnectionState ConnectionState { get; } + public string Sid { get; } + public string Name { get; } + public string Metadata { get; } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Info/IRoomInfo.cs.meta b/Runtime/Scripts/Rooms/Info/IRoomInfo.cs.meta new file mode 100644 index 00000000..745f7725 --- /dev/null +++ b/Runtime/Scripts/Rooms/Info/IRoomInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e08f67fc68374a46814517d909ef2f5c +timeCreated: 1711016821 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Info/MemoryRoomInfo.cs b/Runtime/Scripts/Rooms/Info/MemoryRoomInfo.cs new file mode 100644 index 00000000..cc451526 --- /dev/null +++ b/Runtime/Scripts/Rooms/Info/MemoryRoomInfo.cs @@ -0,0 +1,32 @@ +using LiveKit.Proto; + +namespace LiveKit.Rooms.Info +{ + public class MemoryRoomInfo : IMutableRoomInfo + { + public ConnectionState ConnectionState { get; private set; } + public string Sid { get; private set; } + public string Name { get; private set; } + public string Metadata { get; private set; } + + public void UpdateConnectionState(ConnectionState state) + { + ConnectionState = state; + } + + public void UpdateSid(string sid) + { + Sid = sid; + } + + public void UpdateName(string name) + { + Name = name; + } + + public void UpdateMetadata(string metadata) + { + Metadata = metadata; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Info/MemoryRoomInfo.cs.meta b/Runtime/Scripts/Rooms/Info/MemoryRoomInfo.cs.meta new file mode 100644 index 00000000..714e81ec --- /dev/null +++ b/Runtime/Scripts/Rooms/Info/MemoryRoomInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fc904e20866c4c48b3ff7f33978e1e66 +timeCreated: 1711016872 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Origin.cs b/Runtime/Scripts/Rooms/Origin.cs new file mode 100644 index 00000000..bbd4788d --- /dev/null +++ b/Runtime/Scripts/Rooms/Origin.cs @@ -0,0 +1,8 @@ +namespace LiveKit.Rooms +{ + public enum Origin + { + Local, + Remote + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Origin.cs.meta b/Runtime/Scripts/Rooms/Origin.cs.meta new file mode 100644 index 00000000..c4ad48c5 --- /dev/null +++ b/Runtime/Scripts/Rooms/Origin.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8d85724f2ef44867aef633485f5ad1f2 +timeCreated: 1707141381 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants.meta b/Runtime/Scripts/Rooms/Participants.meta new file mode 100644 index 00000000..52912b6f --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c95a666427b949da8814ef9ed7b4992c +timeCreated: 1707145963 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/Factory.meta b/Runtime/Scripts/Rooms/Participants/Factory.meta new file mode 100644 index 00000000..88aebb1c --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/Factory.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ef942054e8b9449cb69f19e7d808d7cd +timeCreated: 1707151396 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/Factory/IParticipantFactory.cs b/Runtime/Scripts/Rooms/Participants/Factory/IParticipantFactory.cs new file mode 100644 index 00000000..ddbb8607 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/Factory/IParticipantFactory.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using LiveKit.Internal; +using LiveKit.Proto; +using LiveKit.Rooms.TrackPublications; + +namespace LiveKit.Rooms.Participants.Factory +{ + public interface IParticipantFactory + { + Participant NewParticipant(ParticipantInfo info, Room room, FfiHandle handle, Origin origin); + + void Release(Participant participant); + + static readonly IParticipantFactory Default = new ParticipantFactory(); + } + + public static class ParticipantFactoryExtension + { + public static Participant NewRemote( + this IParticipantFactory factory, + Room room, + ParticipantInfo info, + IReadOnlyList? publications, + FfiHandle handle + ) + { + var participant = factory.NewParticipant(info, room, handle, Origin.Remote); + foreach (var pubInfo in publications ?? Array.Empty()) + { + + var publication = ITrackPublicationFactory.Default.NewTrackPublication(pubInfo.Handle, pubInfo.Info!); + participant.AddTrack(publication); + } + + return participant; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/Factory/IParticipantFactory.cs.meta b/Runtime/Scripts/Rooms/Participants/Factory/IParticipantFactory.cs.meta new file mode 100644 index 00000000..4652b205 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/Factory/IParticipantFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: aee515a55a2c404d95a88b876d39f718 +timeCreated: 1707151404 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/Factory/ParticipantFactory.cs b/Runtime/Scripts/Rooms/Participants/Factory/ParticipantFactory.cs new file mode 100644 index 00000000..0f016788 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/Factory/ParticipantFactory.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using LiveKit.Internal; +using LiveKit.Proto; + +namespace LiveKit.Rooms.Participants.Factory +{ + public class ParticipantFactory : IParticipantFactory + { + private readonly Stack participants = new(); + + public Participant NewParticipant(ParticipantInfo info, Room room, FfiHandle handle, Origin origin) + { + lock (participants) + { + if (participants.TryPop(out var participant) == false) + { + participant = new Participant(); + } + + participant!.Construct(info, room, handle, origin); + return participant; + } + } + + public void Release(Participant participant) + { + lock (participants) + { + participant.Clear(); + participants.Push(participant); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/Factory/ParticipantFactory.cs.meta b/Runtime/Scripts/Rooms/Participants/Factory/ParticipantFactory.cs.meta new file mode 100644 index 00000000..1e769172 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/Factory/ParticipantFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 949c1f8e8f3f451dbcd619df0f9c942a +timeCreated: 1707151484 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/IParticipantsHub.cs b/Runtime/Scripts/Rooms/Participants/IParticipantsHub.cs new file mode 100644 index 00000000..26aabe1b --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/IParticipantsHub.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; + +namespace LiveKit.Rooms.Participants +{ + public delegate void ParticipantDelegate(Participant participant, UpdateFromParticipant update); + + public enum UpdateFromParticipant + { + Connected, + MetadataChanged, + NameChanged, + AttributesChanged, + Disconnected + } + + public interface IParticipantsHub + { + event ParticipantDelegate UpdatesFromParticipant; + + Participant LocalParticipant(); + + Participant? RemoteParticipant(string identity); + + IReadOnlyCollection RemoteParticipantIdentities(); + } + + public interface IMutableParticipantsHub : IParticipantsHub + { + void AssignLocal(Participant participant); + + void AddRemote(Participant participant); + + void RemoveRemote(Participant participant); + + void NotifyParticipantUpdate(Participant participant, UpdateFromParticipant update); + + void Clear(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/IParticipantsHub.cs.meta b/Runtime/Scripts/Rooms/Participants/IParticipantsHub.cs.meta new file mode 100644 index 00000000..e9093903 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/IParticipantsHub.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1e4d1e2155d0468d97748507f9745d5b +timeCreated: 1707145974 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/Participant.cs b/Runtime/Scripts/Rooms/Participants/Participant.cs new file mode 100644 index 00000000..a6058363 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/Participant.cs @@ -0,0 +1,149 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using LiveKit.Internal; +using LiveKit.Proto; +using System.Threading; +using Google.Protobuf.Collections; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Rooms.AsyncInstractions; +using LiveKit.Rooms.TrackPublications; +using LiveKit.Rooms.Tracks; +using UnityEngine; + +namespace LiveKit.Rooms.Participants +{ + [SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Local")] + [SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Global")] + public class Participant + { + public delegate void PublishDelegate(TrackPublication publication); + + public Origin Origin { get; private set; } + + public string Sid => info.Sid!; + public string Identity => info.Identity!; + public string Name => info.Name!; + public string Metadata => info.Metadata!; + public IReadOnlyDictionary Attributes => info.Attributes; + + public bool Speaking { get; private set; } + public float AudioLevel { get; private set; } + + public ConnectionQuality ConnectionQuality { get; private set; } + + public event PublishDelegate? TrackPublished; + + public event PublishDelegate? TrackUnpublished; + + public IReadOnlyDictionary Tracks => tracks; + + internal FfiHandle Handle { get; private set; } = null!; + + public Room Room { get; private set; } = null!; + + private readonly Dictionary tracks = new(); + + private ParticipantInfo info = null!; + + internal void Construct(ParticipantInfo info, Room room, FfiHandle handle, Origin origin) + { + Room = room; + Origin = origin; + Handle = handle; + this.info = info; + } + + public void Clear() + { + Room = null!; + Handle = null!; + info = null!; + tracks.Clear(); + } + + public void Publish(TrackPublication track) + { + AddTrack(track); + TrackPublished?.Invoke(track); + } + + public void UnPublish(string sid, out TrackPublication unpublishedTrack) + { + var publication = tracks[sid] ?? throw new Exception("Track not found"); + tracks.Remove(sid); + TrackUnpublished?.Invoke(publication); + unpublishedTrack = publication; + } + + public TrackPublication TrackPublication(string sid) + { + return tracks[sid] ?? throw new Exception("Track publication not found"); + } + + public void AddTrack(TrackPublication track) + { + tracks.Add(track.Sid, track); + } + + public void UpdateMeta(string meta) + { + info.Metadata = meta; + } + + public void UpdateName(string name) + { + info.Name = name; + } + + public void UpdateQuality(ConnectionQuality connectionQuality) + { + ConnectionQuality = connectionQuality; + } + + public void UpdateAttributes(RepeatedField attributes) + { + info.Attributes.Clear(); + foreach (var pair in attributes) + { + if (pair is { HasKey: true, HasValue: true }) + info.Attributes.Add(pair.Key, pair.Value); + } + } + + public PublishTrackInstruction PublishTrack( + ITrack localTrack, + TrackPublishOptions options, + CancellationToken token) + { + if (Origin is not Origin.Local) + throw new InvalidOperationException("Can publish track for the local participant only"); + + using var request = FFIBridge.Instance.NewRequest(); + var publish = request.request; + publish.LocalParticipantHandle = (ulong)Handle.DangerousGetHandle(); + publish.TrackHandle = (ulong)localTrack.Handle.DangerousGetHandle(); + publish.Options = options; + using var response = request.Send(); + FfiResponse res = response; + return new PublishTrackInstruction(res.PublishTrack.AsyncId, Room, localTrack, token); + } + + public void UnpublishTrack( + ITrack localTrack, + bool stopOnUnpublish) + { + if (Origin is not Origin.Local) + throw new InvalidOperationException("Can unpublish track for the local participant only"); + + using var request = FFIBridge.Instance.NewRequest(); + var publish = request.request; + publish.LocalParticipantHandle = (ulong)Handle.DangerousGetHandle(); + publish.TrackSid = localTrack.Sid; + publish.StopOnUnpublish = stopOnUnpublish; + using var response = request.Send(); + FfiResponse res = response; + Utils.Debug("UnpublishTrack Response:: " + res); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Participant.cs.meta b/Runtime/Scripts/Rooms/Participants/Participant.cs.meta similarity index 100% rename from Runtime/Scripts/Participant.cs.meta rename to Runtime/Scripts/Rooms/Participants/Participant.cs.meta diff --git a/Runtime/Scripts/Rooms/Participants/ParticipantsHub.cs b/Runtime/Scripts/Rooms/Participants/ParticipantsHub.cs new file mode 100644 index 00000000..2f1ee1f7 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/ParticipantsHub.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using LiveKit.Rooms.Participants.Factory; + +namespace LiveKit.Rooms.Participants +{ + public class ParticipantsHub : IMutableParticipantsHub + { + private Participant? local; + private readonly Dictionary remoteParticipants = new(); + + public event ParticipantDelegate? UpdatesFromParticipant; + + public Participant LocalParticipant() + { + return local + ?? throw new InvalidOperationException( + "Local participant not assigned yet" + ); + } + + public Participant? RemoteParticipant(string identity) + { + remoteParticipants.TryGetValue(identity, out var remoteParticipant); + return remoteParticipant; + } + + public IReadOnlyCollection RemoteParticipantIdentities() + { + return remoteParticipants.Keys; + } + + public void AssignLocal(Participant participant) + { + local = participant; + } + + public void AddRemote(Participant participant) + { + remoteParticipants.Add(participant.Identity, participant); + } + + public void RemoveRemote(Participant participant) + { + remoteParticipants.Remove(participant.Identity); + } + + public void NotifyParticipantUpdate(Participant participant, UpdateFromParticipant update) + { + UpdatesFromParticipant?.Invoke(participant, update); + } + + public void Clear() + { + local?.Clear(); + local = null; + foreach (var participant in remoteParticipants.Values) + { + participant.Clear(); + } + remoteParticipants.Clear(); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Participants/ParticipantsHub.cs.meta b/Runtime/Scripts/Rooms/Participants/ParticipantsHub.cs.meta new file mode 100644 index 00000000..42ae8066 --- /dev/null +++ b/Runtime/Scripts/Rooms/Participants/ParticipantsHub.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3bfe062c6d034cf59b802edfd6077e5f +timeCreated: 1707146293 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Room.cs b/Runtime/Scripts/Rooms/Room.cs new file mode 100644 index 00000000..679c6dbd --- /dev/null +++ b/Runtime/Scripts/Rooms/Room.cs @@ -0,0 +1,441 @@ +using System; +using System.Buffers; +using LiveKit.Internal; +using LiveKit.Proto; +using Google.Protobuf.Collections; +using System.Threading; +using System.Threading.Tasks; +using LiveKit.Internal.FFIClients.Pools.Memory; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Rooms.ActiveSpeakers; +using LiveKit.Rooms.AsyncInstractions; +using LiveKit.Rooms.DataPipes; +using LiveKit.Rooms.Info; +using LiveKit.Rooms.Participants; +using LiveKit.Rooms.Participants.Factory; +using LiveKit.Rooms.Streaming.Audio; +using LiveKit.Rooms.TrackPublications; +using LiveKit.Rooms.Tracks; +using LiveKit.Rooms.Tracks.Factory; +using LiveKit.Rooms.Tracks.Hub; +using LiveKit.Rooms.VideoStreaming; +using RichTypes; +using RoomInfo = LiveKit.Proto.RoomInfo; + +namespace LiveKit.Rooms +{ + public class Room : IRoom + { + public delegate void MetaDelegate(string metaData); + + public delegate void SidDelegate(string sid); + + public delegate void RemoteParticipantDelegate(Participant participant); + + private readonly IMemoryPool memoryPool; + private readonly IMutableActiveSpeakers activeSpeakers; + private readonly IMutableParticipantsHub participantsHub; + private readonly ITracksFactory tracksFactory; + private readonly IFfiHandleFactory ffiHandleFactory; + private readonly IParticipantFactory participantFactory; + private readonly ITrackPublicationFactory trackPublicationFactory; + private readonly IMutableDataPipe dataPipe; + private readonly IMutableRoomInfo roomInfo; + private readonly IVideoStreams videoStreams; + private readonly IAudioStreams audioStreams; + private readonly IAudioTracks audioTracks; + + public IActiveSpeakers ActiveSpeakers => activeSpeakers; + + public IParticipantsHub Participants => participantsHub; + + public IDataPipe DataPipe => dataPipe; + + public IVideoStreams VideoStreams => videoStreams; + + public IAudioStreams AudioStreams => audioStreams; + + public IAudioTracks AudioTracks => audioTracks; + + public IRoomInfo Info => roomInfo; + + internal FfiHandle Handle { get; private set; } = null!; + + public event MetaDelegate? RoomMetadataChanged; + public event SidDelegate? RoomSidChanged; + public event LocalPublishDelegate? LocalTrackPublished; + public event LocalPublishDelegate? LocalTrackUnpublished; + public event PublishDelegate? TrackPublished; + public event PublishDelegate? TrackUnpublished; + public event SubscribeDelegate? TrackSubscribed; + public event SubscribeDelegate? TrackUnsubscribed; + public event MuteDelegate? TrackMuted; + public event MuteDelegate? TrackUnmuted; + public event ConnectionQualityChangeDelegate? ConnectionQualityChanged; + public event ConnectionStateChangeDelegate? ConnectionStateChanged; + public event ConnectionDelegate? ConnectionUpdated; + + public Room() : this( + new ArrayMemoryPool(ArrayPool.Shared!), + new DefaultActiveSpeakers(), + new ParticipantsHub().Capture(out var capturedHub), + new TracksFactory().Capture(out var tracksFactory), + IFfiHandleFactory.Default, + IParticipantFactory.Default, + ITrackPublicationFactory.Default, + new DataPipe(), + new MemoryRoomInfo(), + new VideoStreams(capturedHub), + new AudioStreams(capturedHub, + new IAudioRemixConveyor.SameThreadAudioRemixConveyor()), + null! // AudioTracks will be created after Room construction + ) + { } + + public Room( + IMemoryPool memoryPool, + IMutableActiveSpeakers activeSpeakers, + IMutableParticipantsHub participantsHub, + ITracksFactory tracksFactory, + IFfiHandleFactory ffiHandleFactory, + IParticipantFactory participantFactory, + ITrackPublicationFactory trackPublicationFactory, + IMutableDataPipe dataPipe, + IMutableRoomInfo roomInfo, + IVideoStreams videoStreams, + IAudioStreams audioStreams, + IAudioTracks audioTracks + ) + { + this.memoryPool = memoryPool; + this.activeSpeakers = activeSpeakers; + this.participantsHub = participantsHub; + this.tracksFactory = tracksFactory; + this.ffiHandleFactory = ffiHandleFactory; + this.participantFactory = participantFactory; + this.trackPublicationFactory = trackPublicationFactory; + this.dataPipe = dataPipe; + this.roomInfo = roomInfo; + this.videoStreams = videoStreams; + this.audioStreams = audioStreams; + this.audioTracks = audioTracks ?? new AudioTracks(tracksFactory, this); + dataPipe.Assign(participantsHub); + } + + public void UpdateLocalMetadata(string metadata) + { + using var request = FFIBridge.Instance.NewRequest(); + + var localParticipant = participantsHub.LocalParticipant(); + + request.request.LocalParticipantHandle = (uint)localParticipant.Handle.DangerousGetHandle(); + request.request.Metadata = metadata; + + localParticipant.UpdateMeta(metadata); + + using var response = request.Send(); + } + + public void SetLocalName(string name) + { + using var request = FFIBridge.Instance.NewRequest(); + + var localParticipant = participantsHub.LocalParticipant(); + + request.request.LocalParticipantHandle = (uint)localParticipant.Handle.DangerousGetHandle(); + request.request.Name = name; + + localParticipant.UpdateName(name); + + using var response = request.Send(); + } + + public Task ConnectAsync(string url, string authToken, CancellationToken cancelToken, bool autoSubscribe) + { + using var response = FFIBridge.Instance.SendConnectRequest(url, authToken, autoSubscribe); + FfiResponse res = response; + return new ConnectInstruction(res.Connect!.AsyncId, this, cancelToken) + .AwaitWithSuccess(); + } + + public async Task DisconnectAsync(CancellationToken cancellationToken) + { + using var response = FFIBridge.Instance.SendDisconnectRequest(this); + FfiResponse res = response; + videoStreams.Free(); + audioStreams.Free(); + var instruction = new DisconnectInstruction(res.Disconnect!.AsyncId, this, cancellationToken); + await instruction.AwaitWithSuccess(); + ffiHandleFactory.Release(Handle); + } + + + private void OnEventReceived(RoomEvent e) + { + if (e.RoomHandle != (ulong)Handle.DangerousGetHandle()) + { + Utils.Debug("Ignoring. Different Room... " + e); + return; + } + + Utils.Debug( + $"Room {Info.Name} Event Type: {e.MessageCase} ---> ({e.RoomHandle} <=> {(ulong)Handle.DangerousGetHandle()})"); + switch (e.MessageCase) + { + case RoomEvent.MessageOneofCase.RoomMetadataChanged: + roomInfo.UpdateMetadata(e.RoomMetadataChanged!.Metadata!); + RoomMetadataChanged?.Invoke(roomInfo.Metadata); + break; + case RoomEvent.MessageOneofCase.RoomSidChanged: + roomInfo.UpdateSid(e.RoomSidChanged!.Sid!); + RoomSidChanged?.Invoke(roomInfo.Sid); + break; + case RoomEvent.MessageOneofCase.ParticipantMetadataChanged: + { + var participant = this.ParticipantEnsured(e.ParticipantMetadataChanged!.ParticipantIdentity!); + participant.UpdateMeta(e.ParticipantMetadataChanged!.Metadata!); + participantsHub.NotifyParticipantUpdate(participant, UpdateFromParticipant.MetadataChanged); + } + break; + case RoomEvent.MessageOneofCase.ParticipantNameChanged: + { + var participant = this.ParticipantEnsured(e.ParticipantNameChanged!.ParticipantIdentity!); + participant.UpdateName(e.ParticipantNameChanged!.Name!); + participantsHub.NotifyParticipantUpdate(participant, UpdateFromParticipant.NameChanged); + } + break; + case RoomEvent.MessageOneofCase.ParticipantAttributesChanged: + { + var participant = this.ParticipantEnsured(e.ParticipantAttributesChanged!.ParticipantIdentity!); + participant.UpdateAttributes(e.ParticipantAttributesChanged.Attributes); + participantsHub.NotifyParticipantUpdate(participant, UpdateFromParticipant.AttributesChanged); + } + break; + case RoomEvent.MessageOneofCase.ParticipantConnected: + { + var participant = participantFactory.NewRemote( + this, + e.ParticipantConnected!.Info!.Info!, + null, + ffiHandleFactory.NewFfiHandle(e.ParticipantConnected.Info.Handle!.Id + ) + ); + participantsHub.AddRemote(participant); + participantsHub.NotifyParticipantUpdate(participant, UpdateFromParticipant.Connected); + } + break; + case RoomEvent.MessageOneofCase.ParticipantDisconnected: + { + var info = e.ParticipantDisconnected!; + var participant = participantsHub.RemoteParticipantEnsured(info.ParticipantIdentity!); + participantsHub.RemoveRemote(participant); + participantsHub.NotifyParticipantUpdate(participant, UpdateFromParticipant.Disconnected); + } + break; + case RoomEvent.MessageOneofCase.LocalTrackUnpublished: + { + if (Participants.LocalParticipant().Tracks.ContainsKey(e.LocalTrackUnpublished!.PublicationSid)) + { + var publication = Participants.LocalParticipant() + .TrackPublication(e.LocalTrackUnpublished.PublicationSid!); + LocalTrackUnpublished?.Invoke(publication, Participants.LocalParticipant()); + } + else + { + Utils.Debug("Unable to find local track after unpublish: " + e.LocalTrackUnpublished!.PublicationSid); + } + } + break; + case RoomEvent.MessageOneofCase.LocalTrackPublished: + { + if (Participants.LocalParticipant().Tracks.ContainsKey(e.LocalTrackPublished!.TrackSid)) + { + var publication = Participants.LocalParticipant() + .TrackPublication(e.LocalTrackPublished.TrackSid!); + LocalTrackPublished?.Invoke(publication, Participants.LocalParticipant()); + } + else + { + Utils.Debug("Unable to find local track after publish: " + e.LocalTrackPublished.TrackSid); + } + } + break; + case RoomEvent.MessageOneofCase.TrackPublished: + { + var participant = participantsHub.RemoteParticipantEnsured(e.TrackPublished!.ParticipantIdentity!); + var publication = trackPublicationFactory.NewTrackPublication(e.TrackPublished.Publication!.Handle, + e.TrackPublished.Publication!.Info!); + participant.Publish(publication); + TrackPublished?.Invoke(publication, participant); + } + break; + case RoomEvent.MessageOneofCase.TrackUnpublished: + { + var participant = + participantsHub.RemoteParticipantEnsured(e.TrackUnpublished!.ParticipantIdentity!); + participant.UnPublish(e.TrackUnpublished.PublicationSid!, out var unpublishedTrack); + TrackUnpublished?.Invoke(unpublishedTrack, participant); + } + break; + case RoomEvent.MessageOneofCase.TrackSubscribed: + { + var info = e.TrackSubscribed!.Track!.Info!; + var participant = participantsHub.RemoteParticipantEnsured(e.TrackSubscribed.ParticipantIdentity!); + var publication = participant.TrackPublication(info.Sid!); + var trackHandle = ffiHandleFactory.NewFfiHandle((IntPtr)e.TrackSubscribed.Track.Handle.Id); + + var track = tracksFactory.NewTrack(trackHandle, info, this, participant); + publication.UpdateTrack(track); + TrackSubscribed?.Invoke(track, publication, participant); + } + break; + case RoomEvent.MessageOneofCase.TrackUnsubscribed: + { + var participant = this.ParticipantEnsured(e.TrackUnsubscribed!.ParticipantIdentity!); + var publication = participant.TrackPublication(e.TrackUnsubscribed.TrackSid!); + publication.RemoveTrack(out var removedTrack); + TrackUnsubscribed?.Invoke(removedTrack!, publication, participant); + } + break; + case RoomEvent.MessageOneofCase.TrackMuted: + { + var trackMuted = e.TrackMuted!; + var participant = this.ParticipantEnsured(trackMuted.ParticipantIdentity!); + var publication = participant.TrackPublication(trackMuted.TrackSid!); + publication.UpdateMuted(true); + TrackMuted?.Invoke(publication, participant); + } + break; + case RoomEvent.MessageOneofCase.TrackUnmuted: + { + var trackUnmuted = e.TrackUnmuted!; + var participant = this.ParticipantEnsured(trackUnmuted.ParticipantIdentity!); + var publication = participant.TrackPublication(trackUnmuted.TrackSid!); + publication.UpdateMuted(false); + TrackUnmuted?.Invoke(publication, participant); + } + break; + case RoomEvent.MessageOneofCase.ActiveSpeakersChanged: + { + activeSpeakers.UpdateCurrentActives(e.ActiveSpeakersChanged!.ParticipantIdentities!); + } + break; + case RoomEvent.MessageOneofCase.ConnectionQualityChanged: + { + var participant = this.ParticipantEnsured(e.ConnectionQualityChanged!.ParticipantIdentity!); + var quality = e.ConnectionQualityChanged.Quality; + participant.UpdateQuality(quality); + ConnectionQualityChanged?.Invoke(quality, participant); + } + break; + case RoomEvent.MessageOneofCase.DataPacketReceived: + { + var dataReceivedPacket = e.DataPacketReceived; + + if (dataReceivedPacket.ValueCase == DataPacketReceived.ValueOneofCase.User) + { + var dataInfo = dataReceivedPacket.User!.Data!; + using var memory = dataInfo.ReadAndDispose(memoryPool); + var participant = this.ParticipantEnsured(dataReceivedPacket.ParticipantIdentity!); + dataPipe.Notify(memory.Span(), participant, e.DataPacketReceived.User.Topic, e.DataPacketReceived.Kind); + } + } + break; + case RoomEvent.MessageOneofCase.ConnectionStateChanged: + roomInfo.UpdateConnectionState(e.ConnectionStateChanged!.State); + ConnectionStateChanged?.Invoke(e.ConnectionStateChanged!.State); + break; + /*case RoomEvent.MessageOneofCase.Connected: + Connected?.Invoke(this); + break;*/ + case RoomEvent.MessageOneofCase.Eos: + case RoomEvent.MessageOneofCase.Disconnected: + ConnectionUpdated?.Invoke(this, ConnectionUpdate.Disconnected); + break; + case RoomEvent.MessageOneofCase.Reconnecting: + ConnectionUpdated?.Invoke(this, ConnectionUpdate.Reconnecting); + break; + case RoomEvent.MessageOneofCase.Reconnected: + ConnectionUpdated?.Invoke(this, ConnectionUpdate.Reconnected); + break; + case RoomEvent.MessageOneofCase.None: + //ignore + break; + case RoomEvent.MessageOneofCase.TrackSubscriptionFailed: + //ignore + break; + case RoomEvent.MessageOneofCase.E2EeStateChanged: + //ignore + break; + case RoomEvent.MessageOneofCase.TranscriptionReceived: + //ignore + break; + case RoomEvent.MessageOneofCase.LocalTrackSubscribed: + //ignore + break; + default: + throw new ArgumentOutOfRangeException(nameof(e), e.MessageCase.ToString()); + } + } + + internal void OnConnect( + FfiOwnedHandle roomHandle, + RoomInfo info, + OwnedParticipant participant, + RepeatedField participants) + { + Utils.Debug($"OnConnect.... {roomHandle.Id} {participant.Handle!.Id}"); + Utils.Debug(info); + + activeSpeakers.Clear(); + participantsHub.Clear(); + + Handle = ffiHandleFactory.NewFfiHandle(roomHandle.Id); + roomInfo.UpdateFromInfo(info); + + var selfParticipant = participantFactory.NewParticipant( + participant.Info!, + this, + ffiHandleFactory.NewFfiHandle(participant.Handle.Id), + Origin.Local + ); + participantsHub.AssignLocal(selfParticipant); + // Add already connected participant + foreach (var p in participants) + { + var remote = participantFactory.NewRemote( + this, + p.Participant!.Info!, p.Publications, + ffiHandleFactory.NewFfiHandle(p.Participant.Handle!.Id) + ); + participantsHub.AddRemote(remote); + } + + FfiClient.Instance.RoomEventReceived += OnEventReceived; + FfiClient.Instance.DisconnectReceived += OnDisconnectReceived; + ConnectionUpdated?.Invoke(this, ConnectionUpdate.Connected); + } + + private void OnDisconnectReceived(DisconnectCallback e) + { + FfiClient.Instance.DisconnectReceived -= OnDisconnectReceived; + Utils.Debug($"OnDisconnect.... {e}"); + } + + public void OnDisconnect() + { + FfiClient.Instance.RoomEventReceived -= OnEventReceived; + activeSpeakers.Clear(); + } + } + + internal static class Extensions + { + //Captures value to reuse it withing the scope + public static T Capture(this T value, out T captured) + { + captured = value; + return value; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Room.cs.meta b/Runtime/Scripts/Rooms/Room.cs.meta similarity index 100% rename from Runtime/Scripts/Room.cs.meta rename to Runtime/Scripts/Rooms/Room.cs.meta diff --git a/Runtime/Scripts/Rooms/RoomExtensions.cs b/Runtime/Scripts/Rooms/RoomExtensions.cs new file mode 100644 index 00000000..9023f11b --- /dev/null +++ b/Runtime/Scripts/Rooms/RoomExtensions.cs @@ -0,0 +1,26 @@ +using System; +using LiveKit.Rooms.Participants; + +namespace LiveKit.Rooms +{ + public static class RoomExtensions + { + public static Participant ParticipantEnsured(this Room room, string identity) + { + return room.Participant(identity) ?? throw new Exception("Participant not found"); + } + + public static Participant? Participant(this Room room, string identity) + { + if (identity == room.Participants.LocalParticipant().Identity) + return room.Participants.LocalParticipant(); + + return room.Participants.RemoteParticipant(identity); + } + + public static Participant RemoteParticipantEnsured(this IParticipantsHub hub, string sid) + { + return hub.RemoteParticipant(sid) ?? throw new Exception("Remote participant not found"); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/RoomExtensions.cs.meta b/Runtime/Scripts/Rooms/RoomExtensions.cs.meta new file mode 100644 index 00000000..73e63596 --- /dev/null +++ b/Runtime/Scripts/Rooms/RoomExtensions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3f985c0f18e241afad2844230e4e858a +timeCreated: 1707132686 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming.meta b/Runtime/Scripts/Rooms/Streaming.meta new file mode 100644 index 00000000..f4610d7a --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1b43d4e8e0854488a7411174cbd71893 +timeCreated: 1744808390 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio.meta b/Runtime/Scripts/Rooms/Streaming/Audio.meta new file mode 100644 index 00000000..cf549d1c --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a48feef47534e2dacc41aeeff33859a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/AudioStream.cs b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStream.cs new file mode 100644 index 00000000..166ced56 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStream.cs @@ -0,0 +1,128 @@ +using System; +using LiveKit.Internal; +using LiveKit.Proto; +using System.Runtime.InteropServices; +using Livekit.Utils; +using UnityEngine; + +namespace LiveKit.Rooms.Streaming.Audio +{ + public class AudioStream : IAudioStream + { + private readonly IAudioStreams audioStreams; + private readonly IAudioRemixConveyor audioRemixConveyor; + private readonly FfiHandle handle; + private readonly AudioStreamInfo info; + + private Mutex? _buffer; + private int _bufferSize = 0; // Track current buffer size in samples + private short[] _tempBuffer; + private uint _numChannels = 0; + private uint _sampleRate; + + private readonly object _lock = new(); + + private bool disposed; + + public AudioStream( + IAudioStreams audioStreams, + OwnedAudioStream ownedAudioStream, + IAudioRemixConveyor audioRemixConveyor + ) + { + this.audioStreams = audioStreams; + this.audioRemixConveyor = audioRemixConveyor; + handle = IFfiHandleFactory.Default.NewFfiHandle(ownedAudioStream.Handle!.Id); + info = ownedAudioStream.Info!; + FfiClient.Instance.AudioStreamEventReceived += OnAudioStreamEvent; + } + + public void Dispose() + { + if (disposed) + return; + + disposed = true; + + handle.Dispose(); + if (_buffer != null) + { + using var guard = _buffer.Lock(); + guard.Value.Dispose(); + } + + FfiClient.Instance.AudioStreamEventReceived -= OnAudioStreamEvent; + audioStreams.Release(this); + } + + public void ReadAudio(Span data, int channels, int sampleRate) + { + lock (_lock) + { + int requiredSize = (int)(channels * sampleRate * 0.2); // 200 ms buffer + + // Only reallocate RingBuffer if needed + if (_buffer == null || _bufferSize < requiredSize * sizeof(short)) + { + if (_buffer != null) + { + using var guard = _buffer.Lock(); + guard.Value.Dispose(); + } + _buffer = new Mutex(new RingBuffer(requiredSize * sizeof(short))); + _bufferSize = requiredSize * sizeof(short); + } + + // Only reallocate _tempBuffer if needed + if (_tempBuffer == null || _tempBuffer.Length < data.Length) + { + _tempBuffer = new short[data.Length]; + } + + _numChannels = (uint)channels; + _sampleRate = (uint)sampleRate; + + static float S16ToFloat(short v) + { + return v / 32768f; + } + + var temp = MemoryMarshal.Cast(_tempBuffer.AsSpan(0, data.Length)); + { + using var guard = _buffer!.Lock(); + int read = guard.Value.Read(temp); + } + + data.Clear(); + for (int i = 0; i < data.Length; i++) + { + data[i] = S16ToFloat(_tempBuffer[i]); + } + } + } + + private void OnAudioStreamEvent(AudioStreamEvent e) + { + if (e.StreamHandle != (ulong)handle.DangerousGetHandle()) + return; + + if (e.MessageCase != AudioStreamEvent.MessageOneofCase.FrameReceived) + return; + + if (_numChannels == 0) + return; + + if (_buffer == null) + { + Utils.Error("Invalid case, buffer is not set yet"); + // prevent leak + var tempHandle = IFfiHandleFactory.Default.NewFfiHandle(e.FrameReceived.Frame.Handle.Id); + tempHandle.Dispose(); + return; + } + + var frame = new OwnedAudioFrame(e.FrameReceived.Frame); + audioRemixConveyor.Process(frame, _buffer, _numChannels, _sampleRate); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/AudioStream.cs.meta b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStream.cs.meta similarity index 83% rename from Runtime/Scripts/AudioStream.cs.meta rename to Runtime/Scripts/Rooms/Streaming/Audio/AudioStream.cs.meta index 0c92bc8a..f90eed9f 100644 --- a/Runtime/Scripts/AudioStream.cs.meta +++ b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStream.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f822a0bbb3d0144b5923ed636a8321a1 +guid: 74d77099c3a546143ba7b02fec2dfbde MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/AudioStreams.cs b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStreams.cs new file mode 100644 index 00000000..53c9b409 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStreams.cs @@ -0,0 +1,30 @@ +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; +using LiveKit.Rooms.Participants; +using LiveKit.Rooms.Tracks; + +namespace LiveKit.Rooms.Streaming.Audio +{ + public class AudioStreams : Streams, IAudioStreams + { + private readonly IAudioRemixConveyor remixConveyor; + + public AudioStreams(IParticipantsHub participantsHub, IAudioRemixConveyor remixConveyor) : base(participantsHub, TrackKind.KindAudio) + { + this.remixConveyor = remixConveyor; + } + + protected override IAudioStream NewStreamInstance(ITrack track) + { + using var request = FFIBridge.Instance.NewRequest(); + var newStream = request.request; + newStream.TrackHandle = (ulong)track.Handle!.DangerousGetHandle(); + newStream.Type = AudioStreamType.AudioStreamNative; + using var response = request.Send(); + FfiResponse res = response; + + var streamInfo = res.NewAudioStream!.Stream; + return new AudioStream(this, streamInfo!, remixConveyor); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/AudioStreams.cs.meta b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStreams.cs.meta new file mode 100644 index 00000000..a39fccd5 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/AudioStreams.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 097878ce918a4344821d40d369ca2fe7 +timeCreated: 1744819048 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/IAudioRemixConveyor.cs b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioRemixConveyor.cs new file mode 100644 index 00000000..fc9720a0 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioRemixConveyor.cs @@ -0,0 +1,35 @@ +using System; +using LiveKit.Internal; +using Livekit.Utils; + +namespace LiveKit.Rooms.Streaming.Audio +{ + public interface IAudioRemixConveyor : IDisposable + { + void Process(OwnedAudioFrame ownedAudioFrame, Mutex outputBuffer, uint numChannels, + uint sampleRate); + + class SameThreadAudioRemixConveyor : IAudioRemixConveyor + { + private readonly AudioResampler.ThreadSafe resampler = new(); + + public void Process( + OwnedAudioFrame ownedAudioFrame, + Mutex outputBuffer, + uint numChannels, + uint sampleRate + ) + { + using var uFrame = resampler.RemixAndResample(ownedAudioFrame, numChannels, sampleRate); + var data = uFrame.AsSpan(); + using var guard = outputBuffer.Lock(); + guard.Value.Write(data); + } + + public void Dispose() + { + resampler.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/IAudioRemixConveyor.cs.meta b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioRemixConveyor.cs.meta new file mode 100644 index 00000000..3582bdb8 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioRemixConveyor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1ad0c07065774c6d97c2963cb9547326 +timeCreated: 1744894190 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStream.cs b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStream.cs new file mode 100644 index 00000000..436ad3e8 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStream.cs @@ -0,0 +1,13 @@ +using System; + +namespace LiveKit.Rooms.Streaming.Audio +{ + public interface IAudioStream : IDisposable + { + /// + /// Supposed to be called from Unity's audio thread. + /// + /// buffer filled - true or false. + void ReadAudio(Span data, int channels, int sampleRate); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStream.cs.meta b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStream.cs.meta new file mode 100644 index 00000000..09279a56 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStream.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 57c0d465d32245b68320bfe333a14a1c +timeCreated: 1744808518 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStreams.cs b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStreams.cs new file mode 100644 index 00000000..2d2ab6e5 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStreams.cs @@ -0,0 +1,7 @@ +namespace LiveKit.Rooms.Streaming.Audio +{ + public interface IAudioStreams : IStreams + { + + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStreams.cs.meta b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStreams.cs.meta new file mode 100644 index 00000000..0572fe44 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/IAudioStreams.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bf57f06e0ca74a94ab93aa02da750824 +timeCreated: 1744808491 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/LivekitAudioSource.cs b/Runtime/Scripts/Rooms/Streaming/Audio/LivekitAudioSource.cs new file mode 100644 index 00000000..a209f763 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/LivekitAudioSource.cs @@ -0,0 +1,74 @@ +using System; +using UnityEngine; + +namespace LiveKit.Rooms.Streaming.Audio +{ + public class LivekitAudioSource : MonoBehaviour + { + private static ulong counter; + + private int sampleRate; + private WeakReference? stream; + private AudioSource audioSource = null!; + + public static LivekitAudioSource New(bool explicitName = false) + { + var gm = new GameObject(); + var audioSource = gm.AddComponent(); + var source = gm.AddComponent(); + source.audioSource = audioSource; + if (explicitName) source.name = $"{nameof(LivekitAudioSource)}_{counter++}"; + return source; + } + + public void Construct(WeakReference audioStream) + { + stream = audioStream; + } + + public void Free() + { + stream = null; + } + + public void Play() + { + audioSource.Play(); + } + + public void Stop() + { + audioSource.Stop(); + } + + public void SetVolume(float target) + { + audioSource.volume = target; + } + + private void OnEnable() + { + OnAudioConfigurationChanged(false); + AudioSettings.OnAudioConfigurationChanged += OnAudioConfigurationChanged; + } + + private void OnDisable() + { + AudioSettings.OnAudioConfigurationChanged -= OnAudioConfigurationChanged; + } + + private void OnAudioConfigurationChanged(bool deviceWasChanged) + { + sampleRate = AudioSettings.outputSampleRate; + } + + // Called by Unity on the Audio thread + private void OnAudioFilterRead(float[] data, int channels) + { + if (stream != null && stream.TryGetTarget(out var s)) + { + s?.ReadAudio(data.AsSpan(), channels, sampleRate); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/LivekitAudioSource.cs.meta b/Runtime/Scripts/Rooms/Streaming/Audio/LivekitAudioSource.cs.meta new file mode 100644 index 00000000..04103376 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/LivekitAudioSource.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6b50d1949fce42738f041c6715d5f6ae +timeCreated: 1744818274 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/OwnedAudioFrame.cs b/Runtime/Scripts/Rooms/Streaming/Audio/OwnedAudioFrame.cs new file mode 100644 index 00000000..215b0b48 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/OwnedAudioFrame.cs @@ -0,0 +1,42 @@ +using System; +using LiveKit.Internal; +using LiveKit.Proto; + +namespace LiveKit.Rooms.Streaming.Audio +{ + public readonly struct OwnedAudioFrame : IDisposable + { + private readonly AudioFrameBufferInfo info; + private readonly FfiHandle handle; + + public readonly uint numChannels; + public readonly uint sampleRate; + public readonly uint samplesPerChannel; + public readonly IntPtr dataPtr; + + public int Length => (int)(samplesPerChannel * numChannels * sizeof(short)); + + public OwnedAudioFrame(OwnedAudioFrameBuffer ownedAudioFrameBuffer) + { + handle = IFfiHandleFactory.Default.NewFfiHandle(ownedAudioFrameBuffer.Handle.Id); + info = ownedAudioFrameBuffer.Info; + sampleRate = info.SampleRate; + numChannels = info.NumChannels; + samplesPerChannel = info.SamplesPerChannel; + dataPtr = (IntPtr)info.DataPtr; + } + + public void Dispose() + { + handle.Dispose(); + } + + public Span AsSpan() + { + unsafe + { + return new Span(dataPtr.ToPointer(), Length); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Audio/OwnedAudioFrame.cs.meta b/Runtime/Scripts/Rooms/Streaming/Audio/OwnedAudioFrame.cs.meta new file mode 100644 index 00000000..23c6ceed --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Audio/OwnedAudioFrame.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4564e3dccbf24781ae810b66fea95701 +timeCreated: 1744806060 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/IStreams.cs b/Runtime/Scripts/Rooms/Streaming/IStreams.cs new file mode 100644 index 00000000..7bc01876 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/IStreams.cs @@ -0,0 +1,14 @@ +using System; + +namespace LiveKit.Rooms.Streaming +{ + public interface IStreams where TStream : class + { + /// Caller doesn't care about disposing the Stream, returns null if stream is not found + WeakReference? ActiveStream(string identity, string sid); + + bool Release(TStream stream); + + void Free(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/IStreams.cs.meta b/Runtime/Scripts/Rooms/Streaming/IStreams.cs.meta new file mode 100644 index 00000000..b7e5c6ca --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/IStreams.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3e94b0db8046488ab02e9c48e3f276f1 +timeCreated: 1744808401 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Streams.cs b/Runtime/Scripts/Rooms/Streaming/Streams.cs new file mode 100644 index 00000000..c96103e2 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Streams.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using LiveKit.Proto; +using LiveKit.Rooms.Participants; +using LiveKit.Rooms.Tracks; + +namespace LiveKit.Rooms.Streaming +{ + public abstract class Streams : IStreams where T : class, IDisposable + { + [Serializable] + private readonly struct Key : IEquatable + { + public readonly string identity; + public readonly string sid; + + public Key(string identity, string sid) + { + this.identity = identity; + this.sid = sid; + } + + public bool Equals(Key other) => + identity == other.identity + && sid == other.sid; + + public override bool Equals(object? obj) + { + return obj is Key other && Equals(other); + } + + public override int GetHashCode() + { + return HashCode.Combine(identity, sid); + } + } + + private readonly TrackKind requiredKind; + private readonly IParticipantsHub participantsHub; + private readonly Dictionary streams = new(); + private readonly Dictionary reverseLookup = new(); + private bool isDisposing = false; + + public Streams(IParticipantsHub participantsHub, TrackKind requiredKind) + { + this.participantsHub = participantsHub; + this.requiredKind = requiredKind; + } + + public WeakReference? ActiveStream(string identity, string sid) + { + lock (this) + { + var key = new Key(identity, sid); + if (streams.TryGetValue(key, out var stream) == false) + { + var participant = participantsHub.RemoteParticipant(identity); + + if (participant == null) + if (identity == participantsHub.LocalParticipant().Identity) + participant = participantsHub.LocalParticipant(); + else + return null; + + if (participant.Tracks.TryGetValue(sid, out var trackPublication) == false) + return null; + + if (trackPublication!.Track == null || trackPublication.Track!.Kind != requiredKind) + return null; + + var track = trackPublication.Track!; + + streams[key] = stream = NewStreamInstance(track); + reverseLookup[stream] = key; + } + + return new WeakReference(stream); + } + } + + public bool Release(T stream) + { + lock (this) + { + if (isDisposing) return false; + + if (reverseLookup.TryGetValue(stream, out var key)) + { + streams.Remove(key); + reverseLookup.Remove(stream); + return true; + } + + return false; + } + } + + public void Free() + { + lock (this) + { + isDisposing = true; + foreach (var stream in streams.Values) stream.Dispose(); + streams.Clear(); + reverseLookup.Clear(); + isDisposing = false; + } + } + + protected abstract T NewStreamInstance(ITrack track); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Streaming/Streams.cs.meta b/Runtime/Scripts/Rooms/Streaming/Streams.cs.meta new file mode 100644 index 00000000..f6943bd2 --- /dev/null +++ b/Runtime/Scripts/Rooms/Streaming/Streams.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d73dbe720d1c4045b9dcaa65c828fb87 +timeCreated: 1744819295 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/TrackPublications.meta b/Runtime/Scripts/Rooms/TrackPublications.meta new file mode 100644 index 00000000..2f00f409 --- /dev/null +++ b/Runtime/Scripts/Rooms/TrackPublications.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 44f2b96340a04b56afcd0ef2b033fa93 +timeCreated: 1707151967 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/TrackPublications/ITrackPublicationFactory.cs b/Runtime/Scripts/Rooms/TrackPublications/ITrackPublicationFactory.cs new file mode 100644 index 00000000..a072562b --- /dev/null +++ b/Runtime/Scripts/Rooms/TrackPublications/ITrackPublicationFactory.cs @@ -0,0 +1,13 @@ +using LiveKit.Proto; + +namespace LiveKit.Rooms.TrackPublications +{ + public interface ITrackPublicationFactory + { + TrackPublication NewTrackPublication(FfiOwnedHandle handle, TrackPublicationInfo info); + + void Release(TrackPublication publication); + + static readonly ITrackPublicationFactory Default = new TrackPublicationFactory(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/TrackPublications/ITrackPublicationFactory.cs.meta b/Runtime/Scripts/Rooms/TrackPublications/ITrackPublicationFactory.cs.meta new file mode 100644 index 00000000..ca005104 --- /dev/null +++ b/Runtime/Scripts/Rooms/TrackPublications/ITrackPublicationFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: db637a7554564180aed8fa9f79c11b0e +timeCreated: 1707152119 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/TrackPublications/TrackPublication.cs b/Runtime/Scripts/Rooms/TrackPublications/TrackPublication.cs new file mode 100644 index 00000000..b05ade7e --- /dev/null +++ b/Runtime/Scripts/Rooms/TrackPublications/TrackPublication.cs @@ -0,0 +1,68 @@ +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; +using LiveKit.Rooms.Tracks; + +namespace LiveKit.Rooms.TrackPublications +{ + public class TrackPublication + { + private TrackPublicationInfo info; + + public Origin Origin => info.Remote ? Origin.Remote : Origin.Local; + public string Sid => info.Sid!; + public string Name => info.Name!; + public TrackKind Kind => info.Kind; + public TrackSource Source => info.Source; + public bool Simulcasted => info.Simulcasted; + public uint Width => info.Width; + public uint Height => info.Height; + public string MimeType => info.MimeType!; + public bool Muted => info.Muted; + + public ITrack? Track { get; private set; } + public FfiOwnedHandle? Handle { get; private set; } + + internal void Construct(FfiOwnedHandle handle, TrackPublicationInfo info) + { + this.info = info; + this.Handle = handle; + } + + public void Clear() + { + info = null!; + Track = null; + } + + internal void UpdateTrack(ITrack track) + { + Track = track; + } + + public void RemoveTrack(out ITrack? removedTrack) + { + removedTrack = Track; + Track = null; + } + + internal void UpdateMuted(bool muted) + { + info.Muted = muted; + Track?.UpdateMuted(muted); + } + + public void SetSubscribedForRemote(bool subscribed) + { + if (Origin is not Origin.Remote) + { + throw new System.InvalidOperationException("Cannot set subscribed on non-remote track"); + } + using var request = FFIBridge.Instance.NewRequest(); + var setSubscribed = request.request; + setSubscribed.Subscribe = subscribed; + setSubscribed.PublicationHandle = Handle.Id; + using var response = request.Send(); + } + } + +} \ No newline at end of file diff --git a/Runtime/Scripts/TrackPublication.cs.meta b/Runtime/Scripts/Rooms/TrackPublications/TrackPublication.cs.meta similarity index 100% rename from Runtime/Scripts/TrackPublication.cs.meta rename to Runtime/Scripts/Rooms/TrackPublications/TrackPublication.cs.meta diff --git a/Runtime/Scripts/Rooms/TrackPublications/TrackPublicationFactory.cs b/Runtime/Scripts/Rooms/TrackPublications/TrackPublicationFactory.cs new file mode 100644 index 00000000..ae60c784 --- /dev/null +++ b/Runtime/Scripts/Rooms/TrackPublications/TrackPublicationFactory.cs @@ -0,0 +1,33 @@ +using System.Collections.Generic; +using LiveKit.Proto; + +namespace LiveKit.Rooms.TrackPublications +{ + public class TrackPublicationFactory : ITrackPublicationFactory + { + private readonly Stack publications = new(); + + public TrackPublication NewTrackPublication(FfiOwnedHandle handle, TrackPublicationInfo info) + { + lock (publications) + { + if (publications.TryPop(out var publication) == false) + { + publication = new TrackPublication(); + } + + publication!.Construct(handle, info); + return publication; + } + } + + public void Release(TrackPublication publication) + { + lock (publications) + { + publication.Clear(); + publications.Push(publication); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/TrackPublications/TrackPublicationFactory.cs.meta b/Runtime/Scripts/Rooms/TrackPublications/TrackPublicationFactory.cs.meta new file mode 100644 index 00000000..d3faa602 --- /dev/null +++ b/Runtime/Scripts/Rooms/TrackPublications/TrackPublicationFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 892972c8695e43729cb479f656c0e0aa +timeCreated: 1707152144 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks.meta b/Runtime/Scripts/Rooms/Tracks.meta new file mode 100644 index 00000000..1e81027a --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 94f3f0eaf42649a6a6fb753567de7acc +timeCreated: 1707147654 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/AudioTracks.cs b/Runtime/Scripts/Rooms/Tracks/AudioTracks.cs new file mode 100644 index 00000000..fd1e5384 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/AudioTracks.cs @@ -0,0 +1,21 @@ +using LiveKit.Internal; +using LiveKit.Proto; +using LiveKit.Rooms.Tracks.Factory; + +namespace LiveKit.Rooms.Tracks +{ + public class AudioTracks : IAudioTracks + { + private readonly ITracksFactory tracksFactory; + private readonly IRoom room; + + public AudioTracks(ITracksFactory tracksFactory, IRoom room) + { + this.tracksFactory = tracksFactory; + this.room = room; + } + + public ITrack CreateAudioTrack(string name, IRtcAudioSource source) => + tracksFactory.NewAudioTrack(name, source, room); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/AudioTracks.cs.meta b/Runtime/Scripts/Rooms/Tracks/AudioTracks.cs.meta new file mode 100644 index 00000000..9905fcae --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/AudioTracks.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4bcb8f8380a623640be9c97c7765f811 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Factory.meta b/Runtime/Scripts/Rooms/Tracks/Factory.meta new file mode 100644 index 00000000..b3ddca4c --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Factory.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 93f86be153de482caaa4bdf2f27faf69 +timeCreated: 1707147885 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Factory/ITracksFactory.cs b/Runtime/Scripts/Rooms/Tracks/Factory/ITracksFactory.cs new file mode 100644 index 00000000..a2cff404 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Factory/ITracksFactory.cs @@ -0,0 +1,15 @@ +using LiveKit.Internal; +using LiveKit.Proto; +using LiveKit.Rooms.Participants; + +namespace LiveKit.Rooms.Tracks.Factory +{ + public interface ITracksFactory + { + ITrack NewAudioTrack(string name, IRtcAudioSource source, IRoom room); + + ITrack NewVideoTrack(string name, RtcVideoSource source, Room room); + + ITrack NewTrack(FfiHandle? handle, TrackInfo info, Room room, Participant participant); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Factory/ITracksFactory.cs.meta b/Runtime/Scripts/Rooms/Tracks/Factory/ITracksFactory.cs.meta new file mode 100644 index 00000000..c9586210 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Factory/ITracksFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2ca29e8080004a1692a294ee80b711ce +timeCreated: 1707147903 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Factory/TracksFactory.cs b/Runtime/Scripts/Rooms/Tracks/Factory/TracksFactory.cs new file mode 100644 index 00000000..cdc2af39 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Factory/TracksFactory.cs @@ -0,0 +1,59 @@ +using System; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; +using LiveKit.Rooms.Participants; +using UnityEngine.Pool; + +namespace LiveKit.Rooms.Tracks.Factory +{ + public class TracksFactory : ITracksFactory + { + private readonly IObjectPool trackPool; + + public TracksFactory() : this(new TrackPool()) + { + } + + public TracksFactory(IObjectPool trackPool) + { + this.trackPool = trackPool; + } + + public ITrack NewAudioTrack(string name, IRtcAudioSource source, IRoom room) + { + using var request = FFIBridge.Instance.NewRequest(); + var createTrack = request.request; + createTrack.Name = name; + createTrack.SourceHandle = (ulong)source.BorrowHandle().DangerousGetHandle(); + using var response = request.Send(); + return CreateTrack(response, room, true); + } + + public ITrack NewVideoTrack(string name, RtcVideoSource source, Room room) + { + using var request = FFIBridge.Instance.NewRequest(); + var createTrack = request.request; + createTrack.Name = name; + createTrack.SourceHandle = (ulong)source.Handle.DangerousGetHandle(); + using var response = request.Send(); + return CreateTrack(response, room, false); + } + + public ITrack NewTrack(FfiHandle? handle, TrackInfo info, Room room, Participant participant) + { + var track = trackPool.Get()!; + track.Construct(handle, info, room, participant); + return track; + } + + private Track CreateTrack(FfiResponse res, IRoom room, bool isAudio) + { + var trackInfo = isAudio ? res.CreateAudioTrack!.Track : res.CreateVideoTrack!.Track; + var trackHandle = IFfiHandleFactory.Default.NewFfiHandle(trackInfo!.Handle!.Id); + var track = trackPool.Get()!; + track.Construct(trackHandle, trackInfo.Info!, room, room.Participants.LocalParticipant()); + return track; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Factory/TracksFactory.cs.meta b/Runtime/Scripts/Rooms/Tracks/Factory/TracksFactory.cs.meta new file mode 100644 index 00000000..17106360 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Factory/TracksFactory.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: beec39ca32dc4265b2d7db05531d47a4 +timeCreated: 1707147930 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Hub.meta b/Runtime/Scripts/Rooms/Tracks/Hub.meta new file mode 100644 index 00000000..1bcab95a --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Hub.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e90ae95787044c5abe049ea849d97077 +timeCreated: 1707479903 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Hub/ITracksHub.cs b/Runtime/Scripts/Rooms/Tracks/Hub/ITracksHub.cs new file mode 100644 index 00000000..4a39e862 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Hub/ITracksHub.cs @@ -0,0 +1,25 @@ +using LiveKit.Rooms.Participants; +using LiveKit.Rooms.TrackPublications; + +namespace LiveKit.Rooms.Tracks.Hub +{ + public delegate void LocalPublishDelegate(TrackPublication publication, Participant participant); + + public delegate void PublishDelegate(TrackPublication publication, Participant participant); + + public delegate void SubscribeDelegate(ITrack track, TrackPublication publication, Participant participant); + + public delegate void MuteDelegate(TrackPublication publication, Participant participant); + + public interface ITracksHub + { + event LocalPublishDelegate? LocalTrackPublished; + event LocalPublishDelegate? LocalTrackUnpublished; + event PublishDelegate? TrackPublished; + event PublishDelegate? TrackUnpublished; + event SubscribeDelegate? TrackSubscribed; + event SubscribeDelegate? TrackUnsubscribed; + event MuteDelegate? TrackMuted; + event MuteDelegate? TrackUnmuted; + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Hub/ITracksHub.cs.meta b/Runtime/Scripts/Rooms/Tracks/Hub/ITracksHub.cs.meta new file mode 100644 index 00000000..584a9fa2 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Hub/ITracksHub.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 967c4433a3ef484aa6838abbae43d3b1 +timeCreated: 1707479912 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/IAudioTracks.cs b/Runtime/Scripts/Rooms/Tracks/IAudioTracks.cs new file mode 100644 index 00000000..0059a24b --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/IAudioTracks.cs @@ -0,0 +1,11 @@ +using LiveKit.Internal; +using LiveKit.Proto; +using LiveKit.Rooms.Tracks; + +namespace LiveKit.Rooms.Tracks +{ + public interface IAudioTracks + { + ITrack CreateAudioTrack(string name, IRtcAudioSource source); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/IAudioTracks.cs.meta b/Runtime/Scripts/Rooms/Tracks/IAudioTracks.cs.meta new file mode 100644 index 00000000..63074534 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/IAudioTracks.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 27f26b82f15b90449aa572758d020f0f \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/LiveKitExtensions.cs b/Runtime/Scripts/Rooms/Tracks/LiveKitExtensions.cs new file mode 100644 index 00000000..dbad62e1 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/LiveKitExtensions.cs @@ -0,0 +1,28 @@ +using System; +using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Pools.Memory; +using LiveKit.Proto; + +namespace LiveKit.Rooms.Tracks +{ + public static class LiveKitExtensions + { + public static void CopyTo(this OwnedBuffer buffer, Span destination) + { + unsafe + { + var unmanagedBuffer = new Span((void*)buffer.Data!.DataPtr, destination.Length); + unmanagedBuffer.CopyTo(destination); + } + } + + public static MemoryWrap ReadAndDispose(this OwnedBuffer buffer, IMemoryPool memoryPool) + { + var memory = memoryPool.Memory(buffer.Data!.DataLen); + var data = memory.Span(); + buffer.CopyTo(data); + NativeMethods.FfiDropHandle(buffer.Handle!.Id); + return memory; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/LiveKitExtensions.cs.meta b/Runtime/Scripts/Rooms/Tracks/LiveKitExtensions.cs.meta new file mode 100644 index 00000000..7ccca7b0 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/LiveKitExtensions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: aa2a19752294489286b4c8f55bd0a67b +timeCreated: 1707148583 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/Track.cs b/Runtime/Scripts/Rooms/Tracks/Track.cs new file mode 100644 index 00000000..ed8ea89c --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/Track.cs @@ -0,0 +1,64 @@ +using System; +using LiveKit.Proto; +using LiveKit.Internal; +using System.Threading; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Rooms.Participants; + +namespace LiveKit.Rooms.Tracks +{ + public interface ITrack + { + Origin Origin { get; } + string Sid { get; } + string Name { get; } + TrackKind Kind { get; } + StreamState StreamState { get; } + bool Muted { get; } + WeakReference Room { get; } + WeakReference Participant { get; } + FfiHandle? Handle { get; } + + void UpdateMuted(bool muted); + } + + public class Track : ITrack + { + private TrackInfo info; + private CancellationToken token; + + public Origin Origin => info.Remote ? Origin.Remote : Origin.Local; + public string Sid => info.Sid!; + public string Name => info.Name!; + public TrackKind Kind => info.Kind; + public StreamState StreamState => info.StreamState; + public bool Muted => info.Muted; + // IsOwned is true if C# owns the handle + public bool IsOwned => Handle is { IsInvalid: false }; + + public WeakReference Room { get; private set; } + public WeakReference Participant { get; private set;} + public FfiHandle? Handle { get; private set; } + + public void Construct(FfiHandle? handle, TrackInfo info, IRoom room, Participant participant) + { + Room = new WeakReference(room); + Participant = new WeakReference(participant); + Handle = handle; + this.info = info; + } + + public void Clear() + { + Room = null!; + Participant = null!; + Handle = null; + info = null!; + } + + public void UpdateMuted(bool muted) + { + info.Muted = muted; + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Track.cs.meta b/Runtime/Scripts/Rooms/Tracks/Track.cs.meta similarity index 100% rename from Runtime/Scripts/Track.cs.meta rename to Runtime/Scripts/Rooms/Tracks/Track.cs.meta diff --git a/Runtime/Scripts/Rooms/Tracks/TrackPool.cs b/Runtime/Scripts/Rooms/Tracks/TrackPool.cs new file mode 100644 index 00000000..d607b428 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/TrackPool.cs @@ -0,0 +1,39 @@ +using UnityEngine.Pool; + +namespace LiveKit.Rooms.Tracks +{ + public class TrackPool : IObjectPool + { + private readonly IObjectPool trackPool; + + public TrackPool() + { + trackPool = new ObjectPool( + () => new Track(), + actionOnRelease: track => track.Clear() + ); + } + + public Track Get() + { + return trackPool.Get()!; + } + + public PooledObject Get(out Track v) + { + return trackPool.Get(out v); + } + + public void Release(Track element) + { + trackPool.Release(element); + } + + public void Clear() + { + trackPool.Clear(); + } + + public int CountInactive => trackPool.CountInactive; + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/Tracks/TrackPool.cs.meta b/Runtime/Scripts/Rooms/Tracks/TrackPool.cs.meta new file mode 100644 index 00000000..46ed1cb6 --- /dev/null +++ b/Runtime/Scripts/Rooms/Tracks/TrackPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8b180dd09ac948ea9d6badc76033a39b +timeCreated: 1707147666 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming.meta b/Runtime/Scripts/Rooms/VideoStreaming.meta new file mode 100644 index 00000000..83f4fc55 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b1a24e0767df4086ad45905b3d147086 +timeCreated: 1741871537 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/IVideoStream.cs b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStream.cs new file mode 100644 index 00000000..2ffef481 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStream.cs @@ -0,0 +1,13 @@ +using System; +using UnityEngine; + +namespace LiveKit.Rooms.VideoStreaming +{ + public interface IVideoStream : IDisposable + { + /// + /// Main thread only + /// + Texture2D? DecodeLastFrame(); + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/IVideoStream.cs.meta b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStream.cs.meta new file mode 100644 index 00000000..d7abf63d --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStream.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 29ffc468a92b49b3ba9d7140ce17aca9 +timeCreated: 1741871574 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/IVideoStreams.cs b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStreams.cs new file mode 100644 index 00000000..fa81e96e --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStreams.cs @@ -0,0 +1,8 @@ +using LiveKit.Rooms.Streaming; + +namespace LiveKit.Rooms.VideoStreaming +{ + public interface IVideoStreams : IStreams + { + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/IVideoStreams.cs.meta b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStreams.cs.meta new file mode 100644 index 00000000..8449644a --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/IVideoStreams.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d0616f7f16754369a5333f0960510a84 +timeCreated: 1741871568 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/VideoLastFrame.cs b/Runtime/Scripts/Rooms/VideoStreaming/VideoLastFrame.cs new file mode 100644 index 00000000..ddec08d0 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/VideoLastFrame.cs @@ -0,0 +1,30 @@ +using System; +using LiveKit.Internal; +using LiveKit.Proto; + +namespace LiveKit.Rooms.VideoStreaming +{ + public readonly struct VideoLastFrame : IDisposable + { + private readonly VideoBufferInfo info; + private readonly FfiHandle ffiHandle; + + public VideoLastFrame(VideoBufferInfo info, FfiHandle handle) + { + this.info = info; + ffiHandle = handle; + } + + public uint Width => info.Width; + public uint Height => info.Height; + + public IntPtr Data => (IntPtr)info.DataPtr; + + public int MemorySize => (int)(info.Height * info.Stride); + + public void Dispose() + { + ffiHandle.Dispose(); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/VideoLastFrame.cs.meta b/Runtime/Scripts/Rooms/VideoStreaming/VideoLastFrame.cs.meta new file mode 100644 index 00000000..f3a3f689 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/VideoLastFrame.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 92d2dd9dcd124e1c9c69556df67419ee +timeCreated: 1741873236 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/VideoStream.cs b/Runtime/Scripts/Rooms/VideoStreaming/VideoStream.cs new file mode 100644 index 00000000..c9ec4203 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/VideoStream.cs @@ -0,0 +1,93 @@ +using LiveKit.Internal; +using LiveKit.Proto; +using UnityEngine; + +namespace LiveKit.Rooms.VideoStreaming +{ + public class VideoStream : IVideoStream + { + private readonly IVideoStreams videoStreams; + private readonly TextureFormat textureFormat; + private readonly FfiHandle handle; + private readonly VideoStreamInfo info; + + private Texture2D? lastDecoded; + private VideoLastFrame? lastFrame; + private bool disposed; + + public VideoStream(IVideoStreams videoStreams, OwnedVideoStream ownedVideoStream, TextureFormat textureFormat) + { + this.videoStreams = videoStreams; + this.textureFormat = textureFormat; + handle = IFfiHandleFactory.Default.NewFfiHandle(ownedVideoStream.Handle!.Id); + info = ownedVideoStream.Info!; + FfiClient.Instance.VideoStreamEventReceived += OnVideoStreamEvent; + } + + public void Dispose() + { + if (disposed) + return; + + disposed = true; + handle.Dispose(); + if (lastDecoded != null) Object.Destroy(lastDecoded); + FfiClient.Instance.VideoStreamEventReceived -= OnVideoStreamEvent; + videoStreams.Release(this); + } + + private void OnVideoStreamEvent(VideoStreamEvent e) + { + if (e.StreamHandle != (ulong)handle.DangerousGetHandle()) + return; + + if (e.MessageCase != VideoStreamEvent.MessageOneofCase.FrameReceived) + return; + + var bufferInfo = e.FrameReceived!.Buffer!.Info!; + var frameHandle = IFfiHandleFactory.Default.NewFfiHandle(e.FrameReceived.Buffer.Handle.Id); + + var evt = new VideoLastFrame(bufferInfo, frameHandle); + + lock (this) + { + lastFrame?.Dispose(); + lastFrame = evt; + } + } + + public Texture2D? DecodeLastFrame() + { + if (disposed) + return null; + + lock (this) + { + if (lastFrame.HasValue == false) + return lastDecoded; + + var frame = lastFrame.Value; + + var rWidth = frame.Width; + var rHeight = frame.Height; + + if (lastDecoded == null || lastDecoded.width != rWidth || lastDecoded.height != rHeight) + { + //TODO pooling + if (lastDecoded != null) Object.Destroy(lastDecoded); + lastDecoded = new Texture2D((int)rWidth, (int)rHeight, textureFormat, false); + lastDecoded.ignoreMipmapLimit = false; + } + + int size = frame.MemorySize; + lastDecoded.LoadRawTextureData(frame.Data, size); + lastDecoded.Apply(); + + frame.Dispose(); + lastFrame = null; + + return lastDecoded; + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/VideoStream.cs.meta b/Runtime/Scripts/Rooms/VideoStreaming/VideoStream.cs.meta new file mode 100644 index 00000000..f91d7768 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/VideoStream.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 24f833cef96f4cbd96fa596fda2ce8a3 +timeCreated: 1741871920 \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/VideoStreams.cs b/Runtime/Scripts/Rooms/VideoStreaming/VideoStreams.cs new file mode 100644 index 00000000..95a6c5d0 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/VideoStreams.cs @@ -0,0 +1,47 @@ +using System; +using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Proto; +using LiveKit.Rooms.Participants; +using LiveKit.Rooms.Streaming; +using LiveKit.Rooms.Tracks; +using UnityEngine; + +namespace LiveKit.Rooms.VideoStreaming +{ + public class VideoStreams : Streams, IVideoStreams + { + private readonly VideoBufferType bufferType; + private readonly TextureFormat textureFormat; + + public VideoStreams(IParticipantsHub participantsHub, VideoBufferType bufferType = VideoBufferType.Bgra) : base( + participantsHub, TrackKind.KindVideo + ) + { + this.bufferType = bufferType; + textureFormat = FormatFromBufferType(bufferType); + } + + private static TextureFormat FormatFromBufferType(VideoBufferType videoBufferType) => + videoBufferType switch + { + VideoBufferType.Bgra => TextureFormat.BGRA32, + VideoBufferType.Rgba => TextureFormat.RGBA32, + _ => throw new Exception($"Format conversion for {videoBufferType} is not supported") + }; + + protected override IVideoStream NewStreamInstance(ITrack track) + { + using var request = FFIBridge.Instance.NewRequest(); + var newVideoStream = request.request; + newVideoStream.TrackHandle = (ulong)track.Handle!.DangerousGetHandle(); + newVideoStream.Format = bufferType; + newVideoStream.NormalizeStride = true; + newVideoStream.Type = VideoStreamType.VideoStreamNative; + using var response = request.Send(); + FfiResponse res = response; + + var streamInfo = res.NewVideoStream!.Stream; + return new VideoStream(this, streamInfo!, textureFormat); + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Rooms/VideoStreaming/VideoStreams.cs.meta b/Runtime/Scripts/Rooms/VideoStreaming/VideoStreams.cs.meta new file mode 100644 index 00000000..5db9adf8 --- /dev/null +++ b/Runtime/Scripts/Rooms/VideoStreaming/VideoStreams.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e8f525771b204b4aacf3d0fd40b72d98 +timeCreated: 1741871661 \ No newline at end of file diff --git a/Runtime/Scripts/RtcVideoSource.cs b/Runtime/Scripts/RtcVideoSource.cs new file mode 100644 index 00000000..d97a567a --- /dev/null +++ b/Runtime/Scripts/RtcVideoSource.cs @@ -0,0 +1,160 @@ +using System; +using UnityEngine; +using LiveKit.Proto; +using LiveKit.Internal; +using UnityEngine.Rendering; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using System.Threading; +using LiveKit.Internal.FFIClients.Requests; +using UnityEngine.Experimental.Rendering; +using UnityEngine.UI; +using System.Threading.Tasks; + +namespace LiveKit +{ + public abstract class RtcVideoSource + { + public enum VideoStreamSource + { + Texture = 0, + Screen = 1, + Camera = 2 + } + + internal FfiHandle Handle { get; } + public abstract int GetWidth(); + public abstract int GetHeight(); + + protected Texture _dest; + protected NativeArray _data; + protected VideoStreamSource _sourceType; + protected VideoBufferType _bufferType; + protected VideoSourceInfo _info; + protected bool _reading = false; + protected bool _requestPending = false; + protected bool isDisposed = true; + protected bool _playing = false; + + public RtcVideoSource(VideoStreamSource sourceType, VideoBufferType bufferType) + { + isDisposed = false; + _sourceType = sourceType; + _bufferType = bufferType; + using var request = FFIBridge.Instance.NewRequest(); + var newVideoSource = request.request; + newVideoSource.Type = VideoSourceType.VideoSourceNative; + using var response = request.Send(); + FfiResponse res = response; + _info = res.NewVideoSource.Source.Info; + Handle = IFfiHandleFactory.Default.NewFfiHandle(res.NewVideoSource.Source.Handle.Id); + } + + protected TextureFormat GetTextureFormat(VideoBufferType type) + { + switch (type) + { + case VideoBufferType.Rgba: + return TextureFormat.RGBA32; + case VideoBufferType.Argb: + return TextureFormat.ARGB32; + case VideoBufferType.Bgra: + return TextureFormat.BGRA32; + case VideoBufferType.Rgb24: + return TextureFormat.RGB24; + default: + throw new NotImplementedException("TODO: Add TextureFormat support for type: " + type); + } + } + + protected int GetStrideForBuffer(VideoBufferType type) + { + switch (type) + { + case VideoBufferType.Rgba: + case VideoBufferType.Argb: + case VideoBufferType.Bgra: + return 4; + case VideoBufferType.Rgb24: + return 3; + default: + throw new NotImplementedException("TODO: Add stride support for type: " + type); + } + } + + public virtual void Start() + { + Stop(); + _playing = true; + } + + public virtual void Stop() + { + _playing = false; + } + + public void Update() + { + if (_playing) + { + ReadBuffer(); + SendFrame(); + } + } + + public virtual void Dispose() + { + if (!isDisposed) + { + _data.Dispose(); + isDisposed = true; + } + } + + protected abstract void ReadBuffer(); + + protected virtual bool SendFrame() + { + var result = _requestPending && !isDisposed; + if (result) + { + var buffer = new VideoBufferInfo(); + unsafe + { + buffer.DataPtr = (ulong)NativeArrayUnsafeUtility.GetUnsafePtr(_data); + } + + buffer.Type = _bufferType; + buffer.Stride = (uint)GetWidth() * (uint)GetStrideForBuffer(_bufferType); + buffer.Width = (uint)GetWidth(); + buffer.Height = (uint)GetHeight(); + + // Send the frame to WebRTC + using var request = FFIBridge.Instance.NewRequest(); + var capture = request.request; + capture.SourceHandle = (ulong)Handle.DangerousGetHandle(); + capture.Rotation = VideoRotation._0; + capture.TimestampUs = DateTimeOffset.Now.ToUnixTimeMilliseconds(); + capture.Buffer = buffer; + using var response = request.Send(); + _reading = false; + _requestPending = false; + } + return result; + } + + protected void OnReadback(AsyncGPUReadbackRequest req) + { + if (!req.hasError) + { + _requestPending = true; + } + else + { + Utils.Error("GPU Read Back on Video Source Failed: " + req.ToString()); + _reading = false; + } + } + } +} + diff --git a/Runtime/Scripts/RtcVideoSource.cs.meta b/Runtime/Scripts/RtcVideoSource.cs.meta new file mode 100644 index 00000000..b46f607e --- /dev/null +++ b/Runtime/Scripts/RtcVideoSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 132c76bbe27f1e2419dcad5c7699c3e3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ScreenVideoSource.cs b/Runtime/Scripts/ScreenVideoSource.cs new file mode 100644 index 00000000..b1646936 --- /dev/null +++ b/Runtime/Scripts/ScreenVideoSource.cs @@ -0,0 +1,80 @@ +using System; +using UnityEngine; +using LiveKit.Proto; +using LiveKit.Internal; +using UnityEngine.Rendering; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using System.Threading; +using LiveKit.Internal.FFIClients.Requests; +using UnityEngine.Experimental.Rendering; +using UnityEngine.UI; +using System.Threading.Tasks; + +namespace LiveKit +{ + public class ScreenVideoSource : RtcVideoSource + { + public override int GetWidth() + { + return Screen.width; + } + + public override int GetHeight() + { + return Screen.height; + } + + public ScreenVideoSource(VideoBufferType bufferType = VideoBufferType.Rgba) : base(VideoStreamSource.Screen, bufferType) + { + _data = new NativeArray(GetWidth() * GetHeight() * GetStrideForBuffer(bufferType), Allocator.Persistent); + } + + public override void Stop() + { + base.Stop(); + ClearRenderTexture(); + } + + ~ScreenVideoSource() + { + Dispose(); + ClearRenderTexture(); + } + + private void ClearRenderTexture() + { + if (_dest) + { + var renderText = _dest as RenderTexture; + renderText.Release(); // can only be done on main thread + } + } + + // Read the texture data into a native array asynchronously + protected override void ReadBuffer() + { + if (_reading) + return; + _reading = true; + if (_dest == null) + { + var targetFormat = Utils.GetSupportedGraphicsFormat(SystemInfo.graphicsDeviceType); + _dest = new RenderTexture(GetWidth(), GetHeight(), 0, targetFormat); + } + ScreenCapture.CaptureScreenshotIntoRenderTexture(_dest as RenderTexture); + AsyncGPUReadback.RequestIntoNativeArray(ref _data, _dest, 0, GetTextureFormat(_bufferType), OnReadback); + } + + protected override bool SendFrame() + { + var result = base.SendFrame(); + if (result) + { + ClearRenderTexture(); + } + return result; + } + } +} + diff --git a/Runtime/Scripts/ScreenVideoSource.cs.meta b/Runtime/Scripts/ScreenVideoSource.cs.meta new file mode 100644 index 00000000..4962380c --- /dev/null +++ b/Runtime/Scripts/ScreenVideoSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c41c73a604498c64da7a0016babb6090 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/TextureVideoSource.cs b/Runtime/Scripts/TextureVideoSource.cs new file mode 100644 index 00000000..20fb6607 --- /dev/null +++ b/Runtime/Scripts/TextureVideoSource.cs @@ -0,0 +1,68 @@ +using System; +using UnityEngine; +using LiveKit.Proto; +using LiveKit.Internal; +using UnityEngine.Rendering; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using System.Threading; +using LiveKit.Internal.FFIClients.Requests; +using UnityEngine.Experimental.Rendering; +using UnityEngine.UI; +using System.Threading.Tasks; + +namespace LiveKit +{ + public class TextureVideoSource : RtcVideoSource + { + public Texture Texture { get; } + + public override int GetWidth() + { + return Texture.width; + } + + public override int GetHeight() + { + return Texture.height; + } + + public TextureVideoSource(Texture texture, VideoBufferType bufferType = VideoBufferType.Rgba) : base(VideoStreamSource.Texture, bufferType) + { + Texture = texture; + _data = new NativeArray(GetWidth() * GetHeight() * GetStrideForBuffer(bufferType), Allocator.Persistent); + } + + + ~TextureVideoSource() + { + Dispose(); + } + + // Read the texture data into a native array asynchronously + protected override void ReadBuffer() + { + if (_reading) + return; + _reading = true; + var gpuTextureFormat = GetTextureFormat(_bufferType); + if (!SystemInfo.IsFormatSupported(Texture.graphicsFormat, FormatUsage.ReadPixels)) + { + if (_dest == null || _dest.width != GetWidth() || _dest.height != GetHeight()) + { + + _data = new NativeArray(GetWidth() * GetHeight() * GetStrideForBuffer(_bufferType), Allocator.Persistent); + _dest = new Texture2D(GetWidth(), GetHeight(), gpuTextureFormat, false); + } + Graphics.CopyTexture(Texture, _dest); + } + else + { + _dest = Texture; + } + + AsyncGPUReadback.RequestIntoNativeArray(ref _data, _dest, 0, gpuTextureFormat, OnReadback); + } + } +} + diff --git a/Runtime/Scripts/TextureVideoSource.cs.meta b/Runtime/Scripts/TextureVideoSource.cs.meta new file mode 100644 index 00000000..e7faeb24 --- /dev/null +++ b/Runtime/Scripts/TextureVideoSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a21dae64441674a478fe4ec708b9b059 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Track.cs b/Runtime/Scripts/Track.cs deleted file mode 100644 index 0186c068..00000000 --- a/Runtime/Scripts/Track.cs +++ /dev/null @@ -1,132 +0,0 @@ -using System; -using LiveKit.Proto; -using LiveKit.Internal; - -namespace LiveKit -{ - public interface ITrack - { - string Sid { get; } - string Name { get; } - TrackKind Kind { get; } - StreamState StreamState { get; } - bool Muted { get; } - WeakReference Room { get; } - WeakReference Participant { get; } - } - - public interface ILocalTrack : ITrack - { - - } - - public interface IRemoteTrack : ITrack - { - - } - - public interface IAudioTrack : ITrack - { - - } - - public interface IVideoTrack : ITrack - { - } - - public class Track : ITrack - { - private TrackInfo _info; - - public string Sid => _info.Sid; - public string Name => _info.Name; - public TrackKind Kind => _info.Kind; - public StreamState StreamState => _info.StreamState; - public bool Muted => _info.Muted; - public WeakReference Room { get; } - public WeakReference Participant { get; } - - // IsOwned is true if C# owns the handle - public bool IsOwned => Handle != null && !Handle.IsInvalid; - - internal readonly FfiHandle Handle; - - internal Track(FfiHandle handle, TrackInfo info, Room room, Participant participant) - { - Handle = handle; - Room = new WeakReference(room); - Participant = new WeakReference(participant); - UpdateInfo(info); - } - - internal void UpdateInfo(TrackInfo info) - { - _info = info; - } - - internal void UpdateMuted(bool muted) - { - _info.Muted = muted; - } - } - - public sealed class LocalAudioTrack : Track, ILocalTrack, IAudioTrack - { - internal LocalAudioTrack(FfiHandle handle, TrackInfo info, Room room) : base(handle, info, room, room?.LocalParticipant) { } - - public static LocalAudioTrack CreateAudioTrack(string name, RtcAudioSource source) - { - var createTrack = new CreateAudioTrackRequest(); - createTrack.Name = name; - createTrack.SourceHandle = new FFIHandleId { Id = (ulong)source.Handle.DangerousGetHandle() }; - - var request = new FFIRequest(); - request.CreateAudioTrack = createTrack; - - var resp = FfiClient.SendRequest(request); - var trackInfo = resp.CreateAudioTrack.Track; - var trackHandle = new FfiHandle((IntPtr)trackInfo.OptHandle.Id); - var track = new LocalAudioTrack(trackHandle, trackInfo, null); - return track; - } - } - - public sealed class LocalVideoTrack : Track, ILocalTrack, IVideoTrack - { - internal LocalVideoTrack(FfiHandle handle, TrackInfo info, Room room) : base(handle, info, room, room?.LocalParticipant) { } - - public static LocalVideoTrack CreateVideoTrack(string name, RtcVideoSource source) - { - var captureOptions = new VideoCaptureOptions(); - var resolution = new VideoResolution(); - resolution.Width = 640; - resolution.Height = 480; - resolution.FrameRate = 30; - captureOptions.Resolution = resolution; - - var createTrack = new CreateVideoTrackRequest(); - createTrack.Name = name; - createTrack.SourceHandle = new FFIHandleId { Id = (ulong)source.Handle.DangerousGetHandle() }; - createTrack.Options = captureOptions; - - var request = new FFIRequest(); - request.CreateVideoTrack = createTrack; - - var resp = FfiClient.SendRequest(request); - var trackInfo = resp.CreateVideoTrack.Track; - var trackHandle = new FfiHandle((IntPtr)trackInfo.OptHandle.Id); - var track = new LocalVideoTrack(trackHandle, trackInfo, null); - return track; - } - } - - public sealed class RemoteAudioTrack : Track, IRemoteTrack, IAudioTrack - { - internal RemoteAudioTrack(FfiHandle handle, TrackInfo info, Room room, RemoteParticipant participant) : base(handle, info, room, participant) { } - } - - public sealed class RemoteVideoTrack : Track, IRemoteTrack, IVideoTrack - { - internal RemoteVideoTrack(FfiHandle handle, TrackInfo info, Room room, RemoteParticipant participant) : base(handle, info, room, participant) { } - } -} diff --git a/Runtime/Scripts/TrackPublication.cs b/Runtime/Scripts/TrackPublication.cs deleted file mode 100644 index 2bb060f9..00000000 --- a/Runtime/Scripts/TrackPublication.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using LiveKit.Proto; - -namespace LiveKit -{ - public class TrackPublication - { - private TrackPublicationInfo _info; - public string Sid => _info.Sid; - public string Name => _info.Name; - public TrackKind Kind => _info.Kind; - public TrackSource Source => _info.Source; - public bool Simulcasted => _info.Simulcasted; - public uint Width => _info.Width; - public uint Height => _info.Height; - public string MimeType => _info.MimeType; - public bool Muted => _info.Muted; - - public Track Track { private set; get; } - - protected TrackPublication(TrackPublicationInfo info) - { - UpdateInfo(info); - } - - internal void UpdateInfo(TrackPublicationInfo info) - { - _info = info; - } - - internal void UpdateTrack(Track track) - { - Track = track; - } - - internal void UpdateMuted(bool muted) - { - _info.Muted = muted; - Track?.UpdateMuted(muted); - } - } - - public sealed class RemoteTrackPublication : TrackPublication - { - public new IRemoteTrack Track => base.Track as IRemoteTrack; - - internal RemoteTrackPublication(TrackPublicationInfo info) : base(info) { } - } - - public sealed class LocalTrackPublication : TrackPublication - { - public new ILocalTrack Track => base.Track as ILocalTrack; - - internal LocalTrackPublication(TrackPublicationInfo info) : base(info) { } - } -} diff --git a/Runtime/Scripts/Utils.meta b/Runtime/Scripts/Utils.meta new file mode 100644 index 00000000..c9f1578b --- /dev/null +++ b/Runtime/Scripts/Utils.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d74c97cb58b54dc9b4d98c5ed9fda80b +timeCreated: 1744893762 \ No newline at end of file diff --git a/Runtime/Scripts/Utils/Mutex.cs b/Runtime/Scripts/Utils/Mutex.cs new file mode 100644 index 00000000..1dbdb8c9 --- /dev/null +++ b/Runtime/Scripts/Utils/Mutex.cs @@ -0,0 +1,36 @@ +namespace Livekit.Utils +{ + public class Mutex + { + private readonly object lockObject = new(); + private T value; + + public Mutex(T value) + { + this.value = value; + } + + public Guard Lock() + { + System.Threading.Monitor.Enter(lockObject); + return new Guard(this); + } + + public readonly ref struct Guard + { + private readonly Mutex mutex; + + internal Guard(Mutex mutex) + { + this.mutex = mutex; + } + + public ref T Value => ref mutex.value; + + public void Dispose() + { + System.Threading.Monitor.Exit(mutex.lockObject); + } + } + } +} \ No newline at end of file diff --git a/Runtime/Scripts/Utils/Mutex.cs.meta b/Runtime/Scripts/Utils/Mutex.cs.meta new file mode 100644 index 00000000..73d5a610 --- /dev/null +++ b/Runtime/Scripts/Utils/Mutex.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 11679db5de7944e6928bdee13580729e +timeCreated: 1744893769 \ No newline at end of file diff --git a/Runtime/Scripts/VideoFrame.cs b/Runtime/Scripts/VideoFrame.cs index 0f02676d..8c7414e9 100644 --- a/Runtime/Scripts/VideoFrame.cs +++ b/Runtime/Scripts/VideoFrame.cs @@ -1,48 +1,48 @@ using System; using LiveKit.Internal; using LiveKit.Proto; +using LiveKit.Internal.FFIClients.Requests; using UnityEngine; -using System.Runtime.CompilerServices; +using UnityEngine.Rendering; namespace LiveKit { - public sealed class VideoFrame + public class VideoFrame : IDisposable { - private VideoFrameInfo _info; - - public long Timestamp => _info.Timestamp; - public VideoRotation Rotation => _info.Rotation; - - public VideoFrame(VideoFrameInfo info) - { - _info = info; - } - } - - public abstract class VideoFrameBuffer : IDisposable - { - protected VideoFrameBufferInfo Info; - - internal readonly FfiHandle Handle; + private VideoBufferInfo _info; + internal VideoBufferInfo Info => _info; + + private FfiHandle _handle; + public FfiHandle Handle => _handle; + internal uint Width => _info.Width; + internal uint Height => _info.Height; + internal uint Stride => _info.Stride; + private VideoBufferType _type; + internal VideoBufferType Type => _type; + private bool _disposed = false; - public uint Width => Info.Width; - public uint Height => Info.Height; - public VideoFrameBufferType Type => Info.BufferType; public bool IsValid => !Handle.IsClosed && !Handle.IsInvalid; // Explicitly ask for FFIHandle - protected VideoFrameBuffer(FfiHandle handle, VideoFrameBufferInfo info) + protected VideoFrame(FfiHandle handle, VideoBufferInfo info) { - Handle = handle; - Info = info; - + _info = info; + _handle = handle; + + _type = info.Type; var memSize = GetMemorySize(); if (memSize > 0) GC.AddMemoryPressure(memSize); } - ~VideoFrameBuffer() + + + + + + + ~VideoFrame() { Dispose(false); } @@ -68,175 +68,44 @@ protected virtual void Dispose(bool disposing) } /// Used for GC.AddMemoryPressure(Int64) - /// TODO(theomonnom): Remove the default implementation when each buffer type is implemented - internal virtual long GetMemorySize() - { - return -1; - } - - /// VideoFrameBuffer takes ownership of the FFIHandle - internal static VideoFrameBuffer Create(FfiHandle handle, VideoFrameBufferInfo info) + public virtual long GetMemorySize() { - switch (info.BufferType) - { - case VideoFrameBufferType.Native: - return new NativeBuffer(handle, info); - case VideoFrameBufferType.I420: - return new I420Buffer(handle, info); - case VideoFrameBufferType.I420A: - return new I420ABuffer(handle, info); - case VideoFrameBufferType.I422: - return new I422Buffer(handle, info); - case VideoFrameBufferType.I444: - return new I444Buffer(handle, info); - case VideoFrameBufferType.I010: - return new I010Buffer(handle, info); - case VideoFrameBufferType.Nv12: - return new NV12Buffer(handle, info); - } - - return null; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public I420Buffer ToI420() - { - if (!IsValid) - throw new InvalidOperationException("the handle is invalid"); - - // ToI420Request will free the input buffer, don't drop twice - // This class instance is now invalid, the users should not use it - // after using this function. - Handle.SetHandleAsInvalid(); - - var handleId = new FFIHandleId(); - handleId.Id = (ulong)Handle.DangerousGetHandle(); - - var toi420 = new ToI420Request(); - toi420.Buffer = handleId; - - var request = new FFIRequest(); - request.ToI420 = toi420; - - var resp = FfiClient.SendRequest(request); - var newInfo = resp.ToI420.Buffer; - if (newInfo == null) - throw new InvalidOperationException("failed to convert"); - - var newHandle = new FfiHandle((IntPtr)newInfo.Handle.Id); - return new I420Buffer(newHandle, newInfo); + return Height * Stride; } - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ToARGB(VideoFormatType format, IntPtr dst, uint dstStride, uint width, uint height) + public static VideoFrame FromOwnedInfo(OwnedVideoBuffer ownedInfo) { - if (!IsValid) - throw new InvalidOperationException("the handle is invalid"); - - var handleId = new FFIHandleId(); - handleId.Id = (ulong)Handle.DangerousGetHandle(); - - var argb = new ToARGBRequest(); - argb.Buffer = handleId; - argb.DstPtr = (ulong)dst; - argb.DstFormat = format; - argb.DstStride = dstStride; - argb.DstWidth = width; - argb.DstHeight = height; - - var request = new FFIRequest(); - request.ToArgb = argb; - - FfiClient.SendRequest(request); + var info = ownedInfo.Info; + VideoFrame frame = new VideoFrame(IFfiHandleFactory.Default.NewFfiHandle(info.DataPtr), info); + return frame; } - } - - public abstract class PlanarYuvBuffer : VideoFrameBuffer - { - public uint ChromaWidth => Info.Yuv.ChromaWidth; - public uint ChromaHeight => Info.Yuv.ChromaHeight; - public uint StrideY => Info.Yuv.StrideY; - public uint StrideU => Info.Yuv.StrideU; - public uint StrideV => Info.Yuv.StrideV; - public IntPtr DataY => (IntPtr)Info.Yuv.DataYPtr; - public IntPtr DataU => (IntPtr)Info.Yuv.DataUPtr; - public IntPtr DataV => (IntPtr)Info.Yuv.DataVPtr; - - internal PlanarYuvBuffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - public abstract class PlanarYuv8Buffer : PlanarYuvBuffer - { - internal PlanarYuv8Buffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public abstract class PlanarYuv16BBuffer : PlanarYuvBuffer - { - internal PlanarYuv16BBuffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public abstract class BiplanarYuvBuffer : VideoFrameBuffer - { - public uint ChromaWidth => Info.BiYuv.ChromaWidth; - public uint ChromaHeight => Info.BiYuv.ChromaHeight; - public uint StrideY => Info.BiYuv.StrideY; - public uint StrideUV => Info.BiYuv.StrideUv; - public IntPtr DataY => (IntPtr)Info.BiYuv.DataYPtr; - public IntPtr DataUV => (IntPtr)Info.BiYuv.DataUvPtr; - - internal BiplanarYuvBuffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - public abstract class BiplanarYuv8Buffer : BiplanarYuvBuffer - { - internal BiplanarYuv8Buffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public class NativeBuffer : VideoFrameBuffer - { - internal override long GetMemorySize() + public static VideoFrame Convert(OwnedVideoBuffer ownedInfo, VideoBufferType type) { - return 0; + using var request = FFIBridge.Instance.NewRequest(); + var alloc = request.request; + alloc.FlipY = GetFlip(); + alloc.DstType = type; + alloc.Buffer = ownedInfo.Info; + using var response = request.Send(); + FfiResponse res = response; + if(res.VideoConvert.HasError) + { + throw new Exception(res.VideoConvert.Error); + } + return FromOwnedInfo(res.VideoConvert.Buffer); } - internal NativeBuffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public class I420Buffer : PlanarYuv8Buffer - { - internal I420Buffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - - internal override long GetMemorySize() + + protected static bool GetFlip() { - var chromaHeight = (Height + 1) / 2; - return StrideY * Height - + StrideU * chromaHeight - + StrideV * chromaHeight; + var graphicDevice = SystemInfo.graphicsDeviceType; + return graphicDevice == GraphicsDeviceType.OpenGLCore || + graphicDevice == GraphicsDeviceType.OpenGLES2 || + graphicDevice == GraphicsDeviceType.OpenGLES3 || + graphicDevice == GraphicsDeviceType.Vulkan ? + false : + true; } } - - public class I420ABuffer : I420Buffer - { - internal I420ABuffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public class I422Buffer : PlanarYuv8Buffer - { - internal I422Buffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public class I444Buffer : PlanarYuv8Buffer - { - internal I444Buffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public class I010Buffer : PlanarYuv16BBuffer - { - internal I010Buffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - - public class NV12Buffer : BiplanarYuv8Buffer - { - internal NV12Buffer(FfiHandle handle, VideoFrameBufferInfo info) : base(handle, info) { } - } - -} +} \ No newline at end of file diff --git a/Runtime/Scripts/VideoSource.cs b/Runtime/Scripts/VideoSource.cs deleted file mode 100644 index 8eb3a425..00000000 --- a/Runtime/Scripts/VideoSource.cs +++ /dev/null @@ -1,110 +0,0 @@ -using System; -using System.Collections; -using UnityEngine; -using LiveKit.Proto; -using LiveKit.Internal; -using UnityEngine.Rendering; -using Unity.Collections; -using Unity.Collections.LowLevel.Unsafe; - -namespace LiveKit -{ - public abstract class RtcVideoSource - { - internal readonly FfiHandle Handle; - protected VideoSourceInfo _info; - - public RtcVideoSource() - { - var newVideoSource = new NewVideoSourceRequest(); - newVideoSource.Type = VideoSourceType.VideoSourceNative; - - var request = new FFIRequest(); - request.NewVideoSource = newVideoSource; - - var resp = FfiClient.SendRequest(request); - _info = resp.NewVideoSource.Source; - Handle = new FfiHandle((IntPtr)_info.Handle.Id); - } - } - - public class TextureVideoSource : RtcVideoSource - { - public Texture Texture { get; } - private NativeArray _data; - private bool _reading = false; - - public TextureVideoSource(Texture texture) - { - Texture = texture; - _data = new NativeArray(Texture.width * Texture.height * 4, Allocator.Persistent); - } - - // Read the texture data into a native array asynchronously - internal void ReadBuffer() - { - if (_reading) - return; - - _reading = true; - AsyncGPUReadback.RequestIntoNativeArray(ref _data, Texture, 0, TextureFormat.RGBA32, OnReadback); - } - - public IEnumerator Update() - { - while (true) - { - yield return null; - ReadBuffer(); - - } - } - - private void OnReadback(AsyncGPUReadbackRequest req) - { - _reading = false; - if (req.hasError) - { - Utils.Error("failed to read texture data"); - return; - } - - // ToI420 - var argbInfo = new ARGBBufferInfo(); - unsafe - { - argbInfo.Ptr = (ulong)NativeArrayUnsafeUtility.GetUnsafePtr(_data); - } - argbInfo.Format = VideoFormatType.FormatArgb; - argbInfo.Stride = (uint)Texture.width * 4; - argbInfo.Width = (uint)Texture.width; - argbInfo.Height = (uint)Texture.height; - - var toI420 = new ToI420Request(); - toI420.FlipY = true; - toI420.Argb = argbInfo; - - var request = new FFIRequest(); - request.ToI420 = toI420; - - var resp = FfiClient.SendRequest(request); - var bufferInfo = resp.ToI420.Buffer; - var buffer = VideoFrameBuffer.Create(new FfiHandle((IntPtr)bufferInfo.Handle.Id), bufferInfo); - - // Send the frame to WebRTC - var frameInfo = new VideoFrameInfo(); - frameInfo.Rotation = VideoRotation._0; - frameInfo.Timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); - - var capture = new CaptureVideoFrameRequest(); - capture.SourceHandle = new FFIHandleId { Id = (ulong)Handle.DangerousGetHandle() }; - capture.BufferHandle = new FFIHandleId { Id = (ulong)buffer.Handle.DangerousGetHandle() }; - capture.Frame = frameInfo; - - request = new FFIRequest(); - request.CaptureVideoFrame = capture; - - FfiClient.SendRequest(request); - } - } -} diff --git a/Runtime/Scripts/VideoStream.cs b/Runtime/Scripts/VideoStream.cs index 18dda873..011d142c 100644 --- a/Runtime/Scripts/VideoStream.cs +++ b/Runtime/Scripts/VideoStream.cs @@ -1,22 +1,64 @@ -using System; -using System.Collections; using LiveKit.Internal; +using LiveKit.Internal.FFIClients.Requests; using LiveKit.Proto; +using LiveKit.Rooms.Tracks; +using System; using UnityEngine; -using Unity.Collections.LowLevel.Unsafe; namespace LiveKit { + public sealed class VideoFrameEvent + { + private VideoFrame _frame; + public VideoFrame Frame => _frame; + private long _timestamp; + public long Timestamp => _timestamp; + private VideoRotation _rotation; + public VideoRotation Rotation => _rotation; + + public VideoFrameEvent(VideoFrame frame, long timeStamp, VideoRotation rot) + { + _frame = frame; + _timestamp = timeStamp; + _rotation = rot; + } + + public bool IsValid + { + get + { + if(_frame != null) + { + return _frame.IsValid; + } + return false; + } + } + + public void Dispose() + { + _frame?.Dispose(); + } + } + + [Obsolete] public class VideoStream { - public delegate void FrameReceiveDelegate(VideoFrame frame); + public delegate void FrameReceiveDelegate(VideoFrameEvent frameEvent); + + public delegate void TextureReceiveDelegate(Texture2D tex2d); + + public delegate void TextureUploadDelegate(); - internal readonly FfiHandle Handle; + + internal FfiHandle Handle { get; private set; } + private VideoStreamInfo _info; - private bool _disposed = false; private bool _dirty = false; + private bool _playing = false; + private volatile bool disposed = false; /// Called when we receive a new frame from the VideoTrack public event FrameReceiveDelegate FrameReceived; @@ -30,29 +72,28 @@ public class VideoStream /// The texture changes every time the video resolution changes. /// Can be null if UpdateRoutine isn't started public Texture2D Texture { private set; get; } - public VideoFrameBuffer VideoBuffer { private set; get; } + public VideoFrameEvent? VideoBuffer { get; private set; } + + private readonly object _lock = new(); - public VideoStream(IVideoTrack videoTrack) + public VideoStream(ITrack videoTrack, VideoBufferType format) { if (!videoTrack.Room.TryGetTarget(out var room)) throw new InvalidOperationException("videotrack's room is invalid"); if (!videoTrack.Participant.TryGetTarget(out var participant)) throw new InvalidOperationException("videotrack's participant is invalid"); - - var newVideoStream = new NewVideoStreamRequest(); - newVideoStream.RoomHandle = new FFIHandleId { Id = (ulong)room.Handle.DangerousGetHandle() }; - newVideoStream.ParticipantSid = participant.Sid; - newVideoStream.TrackSid = videoTrack.Sid; + + using var request = FFIBridge.Instance.NewRequest(); + var newVideoStream = request.request; + newVideoStream.TrackHandle = (ulong)videoTrack.Handle.DangerousGetHandle(); + newVideoStream.Format = format; + newVideoStream.NormalizeStride = true; newVideoStream.Type = VideoStreamType.VideoStreamNative; - - var request = new FFIRequest(); - request.NewVideoStream = newVideoStream; - - var resp = FfiClient.SendRequest(request); - var streamInfo = resp.NewVideoStream.Stream; - - Handle = new FfiHandle((IntPtr)streamInfo.Handle.Id); + using var response = request.Send(); + FfiResponse res = response; + var streamInfo = res.NewVideoStream.Stream; + Handle = IFfiHandleFactory.Default.NewFfiHandle(streamInfo.Handle.Id); FfiClient.Instance.VideoStreamEventReceived += OnVideoStreamEvent; } @@ -61,6 +102,18 @@ public VideoStream(IVideoTrack videoTrack) Dispose(false); } + public void Start() + { + Stop(); + _playing = true; + } + + public void Stop() + { + _playing = false; + } + + public void Dispose() { Dispose(true); @@ -69,54 +122,43 @@ public void Dispose() private void Dispose(bool disposing) { - if (!_disposed) + if (Texture != null) UnityEngine.Object.Destroy(Texture); + if (!disposed) { if (disposing) VideoBuffer?.Dispose(); - - _disposed = true; + disposed = true; } } - internal bool UploadBuffer() + // Needs to be on main thread + public void Update() { - var data = Texture.GetRawTextureData(); - VideoBuffer = VideoBuffer.ToI420(); // TODO(theomonnom): Support other buffer types - - unsafe + if (!_playing || disposed) return; + lock (_lock) { - var texPtr = NativeArrayUnsafeUtility.GetUnsafePtr(data); - VideoBuffer.ToARGB(VideoFormatType.FormatAbgr, (IntPtr)texPtr, (uint)Texture.width * 4, (uint)Texture.width, (uint)Texture.height); - } - - Texture.Apply(); - return true; - } - - public IEnumerator Update() - { - while (true) - { - yield return null; - - if (_disposed) - break; - if (VideoBuffer == null || !VideoBuffer.IsValid || !_dirty) - continue; + return; _dirty = false; - var rWidth = VideoBuffer.Width; - var rHeight = VideoBuffer.Height; + var rWidth = VideoBuffer.Frame.Width; + var rHeight = VideoBuffer.Frame.Height; var textureChanged = false; if (Texture == null || Texture.width != rWidth || Texture.height != rHeight) { - Texture = new Texture2D((int)rWidth, (int)rHeight, TextureFormat.RGBA32, true, true); + if (Texture != null) UnityEngine.Object.Destroy(Texture); + Texture = new Texture2D((int)rWidth, (int)rHeight, TextureFormat.RGBA32, false); + Texture.ignoreMipmapLimit = false; textureChanged = true; } - UploadBuffer(); + int size = (int)VideoBuffer.Frame.GetMemorySize(); + unsafe + { + Texture.LoadRawTextureData(VideoBuffer.Frame.Handle.DangerousGetHandle(), (int)size); + } + Texture.Apply(); if (textureChanged) TextureReceived?.Invoke(Texture); @@ -127,24 +169,25 @@ public IEnumerator Update() private void OnVideoStreamEvent(VideoStreamEvent e) { - if (e.Handle.Id != (ulong)Handle.DangerousGetHandle()) + if (e.StreamHandle != (ulong)Handle.DangerousGetHandle()) return; if (e.MessageCase != VideoStreamEvent.MessageOneofCase.FrameReceived) return; + + var bufferInfo = e.FrameReceived.Buffer.Info; - var frameInfo = e.FrameReceived.Frame; - var bufferInfo = e.FrameReceived.Buffer; - var handle = new FfiHandle((IntPtr)bufferInfo.Handle.Id); + var frame = VideoFrame.FromOwnedInfo(e.FrameReceived.Buffer); + var evt = new VideoFrameEvent(frame, e.FrameReceived.TimestampUs, e.FrameReceived.Rotation); - var frame = new VideoFrame(frameInfo); - var buffer = VideoFrameBuffer.Create(handle, bufferInfo); - - VideoBuffer?.Dispose(); - VideoBuffer = buffer; - _dirty = true; + lock (_lock) + { + VideoBuffer?.Dispose(); + VideoBuffer = evt; + _dirty = true; + } - FrameReceived?.Invoke(frame); + FrameReceived?.Invoke(evt); } } } \ No newline at end of file diff --git a/Runtime/csc.rsp b/Runtime/csc.rsp new file mode 100644 index 00000000..dcc377f8 --- /dev/null +++ b/Runtime/csc.rsp @@ -0,0 +1 @@ +-nullable:enable \ No newline at end of file diff --git a/Runtime/csc.rsp.meta b/Runtime/csc.rsp.meta new file mode 100644 index 00000000..46c3b9c4 --- /dev/null +++ b/Runtime/csc.rsp.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e64901180b18491596fe078259ba912e +timeCreated: 1706094455 \ No newline at end of file diff --git a/Runtime/livekit.unity.Runtime.asmdef b/Runtime/livekit.unity.Runtime.asmdef index 5af2e19f..643cf7e2 100644 --- a/Runtime/livekit.unity.Runtime.asmdef +++ b/Runtime/livekit.unity.Runtime.asmdef @@ -1,7 +1,10 @@ { "name": "LiveKit", "rootNamespace": "LiveKit", - "references": [], + "references": [ + "RichTypes", + "UniTask" + ], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": true, diff --git a/Tests.meta b/Tests.meta new file mode 100644 index 00000000..5baec926 --- /dev/null +++ b/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5322289c05210477f921eb13487a0bd1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/UsageStrict.cs b/Tests/UsageStrict.cs new file mode 100644 index 00000000..18c77d77 --- /dev/null +++ b/Tests/UsageStrict.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using NUnit.Framework; + +namespace LiveKit.Tests +{ + public class UsageStrict + { + private readonly IReadOnlyList ignoreFiles = new[] { "FFIClient.cs", "Ffi.cs" }; + private const string RuntimePath = "Assets/client-sdk-unity/Runtime/Scripts"; + + //can be reworked with syntax tree, but current version is faster to implement + [Test] + [TestCase("FfiResponse")] + [TestCase("FfiRequest")] + public void NoManualCreateNew(string className) + { + var files = Directory.GetFiles(RuntimePath, "*.cs", SearchOption.AllDirectories); + var rejected = files.Where( + f => ignoreFiles.Any(i => Path.GetFileName(f) == i) == false + && File.ReadAllText(f!).Contains($"new {className}(") + ).ToList(); + Assert.IsEmpty( + rejected, + $"Forbidden manual creation \"new {className}\", use pools instead:\n{string.Join("\n", rejected)}" + ); + } + } +} \ No newline at end of file diff --git a/Tests/UsageStrict.cs.meta b/Tests/UsageStrict.cs.meta new file mode 100644 index 00000000..985757e4 --- /dev/null +++ b/Tests/UsageStrict.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a11eb196d571407eb9cda7db1633a604 +timeCreated: 1706099546 \ No newline at end of file diff --git a/Tests/csc.rsp b/Tests/csc.rsp new file mode 100644 index 00000000..dcc377f8 --- /dev/null +++ b/Tests/csc.rsp @@ -0,0 +1 @@ +-nullable:enable \ No newline at end of file diff --git a/Tests/csc.rsp.meta b/Tests/csc.rsp.meta new file mode 100644 index 00000000..656f8f1e --- /dev/null +++ b/Tests/csc.rsp.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2a1410297f63473e8d548ac62048634c +timeCreated: 1706100154 \ No newline at end of file diff --git a/Tests/livekit.unity.Tests.asmdef b/Tests/livekit.unity.Tests.asmdef new file mode 100644 index 00000000..34049a5c --- /dev/null +++ b/Tests/livekit.unity.Tests.asmdef @@ -0,0 +1,24 @@ +{ + "name": "Tests", + "rootNamespace": "LiveKit.Tests", + "references": [ + "UnityEngine.TestRunner", + "UnityEditor.TestRunner", + "LiveKit" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Tests/livekit.unity.Tests.asmdef.meta b/Tests/livekit.unity.Tests.asmdef.meta new file mode 100644 index 00000000..39eadbbf --- /dev/null +++ b/Tests/livekit.unity.Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cd2ee40bfc2b948869f90b24dba0150d +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client-sdk-rust~ b/client-sdk-rust~ index 76210c9f..8c8bf0a5 160000 --- a/client-sdk-rust~ +++ b/client-sdk-rust~ @@ -1 +1 @@ -Subproject commit 76210c9f6701fd57ee5433d0bfc16c0678e68d6a +Subproject commit 8c8bf0a5fca4eb1808c6780b2e2e0aab9990836f diff --git a/install.py b/install.py new file mode 100644 index 00000000..b26fc5b9 --- /dev/null +++ b/install.py @@ -0,0 +1,51 @@ +import os +import urllib.request +import configparser +import zipfile + +# prepare progressbar +def show_progress(block_num, block_size, total_size): + print(round(block_num * block_size / total_size *100,2), end="\r") + +platforms = ['android', 'ios', 'macos', 'linux', 'windows'] +download_dir = 'downloads~' + +def main(): + config = configparser.ConfigParser() + config.read('version.ini') + version = config['ffi']['version'] + + for platform in platforms: + archs = ['arm64', 'x86_64'] + if platform == 'android': + archs = [ 'armv7', 'arm64', 'x86_64'] + elif platform == 'ios': + archs = ['arm64', 'sim-arm64'] + + for arch in archs: + filename = 'ffi-' + platform + '-' + arch + '.zip' + url = config['ffi']['url'] + '/ffi-' + version + '/' + filename + file_to_download = download_dir + '/' + filename + if download_file_if_not_exists(url, file_to_download) : + dest = 'Runtime/Plugins' + '/ffi-' + platform + '-' + arch + unzip_file(file_to_download, filename, dest) + +def download_file_if_not_exists(url, filename): + if os.path.isdir(download_dir) == False: + print( download_dir + " directory not exists, creating one...") + os.makedirs(download_dir) + if os.path.isfile(filename): + print("file " + filename + " exists, skipping download") + return False + print("downloading file " + url) + urllib.request.urlretrieve(url, filename, show_progress) + return True + +def unzip_file(srcfile, filename, dest): + print("unzipping " + filename + " to " + dest) + with zipfile.ZipFile(srcfile, 'r') as zip_ref: + zip_ref.extractall(dest) + print("unzipped " + srcfile) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/install.py.meta b/install.py.meta new file mode 100644 index 00000000..dc980920 --- /dev/null +++ b/install.py.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1c2586ee93156429c8542497178279fb +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json index 0f9fd995..c8be19b8 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,11 @@ { - "name": "io.livekit.livekit-sdk", - "version": "1.0.0", + "name": "com.decentraland.livekit-sdk", + "version": "1.1.0", "displayName": "LiveKit SDK", "description": "LiveKit", "unity": "2021.3", "author": { - "name": "Th\u00e9o Monnom", - "email": "theo.monnom@outlook.com" + "name": "Decentraland" }, "samples": [ { @@ -15,5 +14,9 @@ "path": "Samples~" } ], - "type": "library" + "type": "library", + "dependencies": { + "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", + "com.nickkhalow.richtypes": "https://github.com/NickKhalow/RichTypesUnity.git?path=/Packages/RichTypes" + } } \ No newline at end of file diff --git a/version.ini b/version.ini new file mode 100644 index 00000000..9164382a --- /dev/null +++ b/version.ini @@ -0,0 +1,3 @@ +[ffi] +version = v0.7.2 +url = https://github.com/livekit/rust-sdks/releases/download \ No newline at end of file diff --git a/version.ini.meta b/version.ini.meta new file mode 100644 index 00000000..27966f30 --- /dev/null +++ b/version.ini.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 15c5887e325c140308b495affff7065f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: