From 2867309dfd0f7366a232f37b5187b04dcd415c4b Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Mon, 9 Mar 2026 13:46:09 -0700
Subject: [PATCH 01/17] Pin submodule
---
client-sdk-rust~ | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client-sdk-rust~ b/client-sdk-rust~
index 14c86b74..5150309f 160000
--- a/client-sdk-rust~
+++ b/client-sdk-rust~
@@ -1 +1 @@
-Subproject commit 14c86b74d68bdafb0a32ce71d13d53447a1ce549
+Subproject commit 5150309fd69f660d61c0b858921ae446ba6c2530
From bc226ecf0b5442eea46f98a68cf233fbc3978997 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Mon, 9 Mar 2026 13:48:33 -0700
Subject: [PATCH 02/17] Generate FFI proto
---
BuildScripts~/generate_proto.sh | 3 +-
Runtime/Scripts/Proto/AudioFrame.cs | 232 +-
Runtime/Scripts/Proto/DataStream.cs | 913 +++-
Runtime/Scripts/Proto/DataTrack.cs | 6069 ++++++++++++++++++++++++++
Runtime/Scripts/Proto/Ffi.cs | 1419 ++++--
Runtime/Scripts/Proto/Participant.cs | 734 +++-
Runtime/Scripts/Proto/Room.cs | 2534 +++++++++--
Runtime/Scripts/Proto/Rpc.cs | 92 +-
Runtime/Scripts/Proto/Track.cs | 143 +-
9 files changed, 11108 insertions(+), 1031 deletions(-)
create mode 100644 Runtime/Scripts/Proto/DataTrack.cs
diff --git a/BuildScripts~/generate_proto.sh b/BuildScripts~/generate_proto.sh
index 2e5005b0..ebbcf047 100755
--- a/BuildScripts~/generate_proto.sh
+++ b/BuildScripts~/generate_proto.sh
@@ -17,4 +17,5 @@ protoc \
$FFI_PROTOCOL/e2ee.proto \
$FFI_PROTOCOL/stats.proto \
$FFI_PROTOCOL/rpc.proto \
- $FFI_PROTOCOL/data_stream.proto
\ No newline at end of file
+ $FFI_PROTOCOL/data_stream.proto \
+ $FFI_PROTOCOL/data_track.proto
\ No newline at end of file
diff --git a/Runtime/Scripts/Proto/AudioFrame.cs b/Runtime/Scripts/Proto/AudioFrame.cs
index a6fedcec..fe8255c8 100644
--- a/Runtime/Scripts/Proto/AudioFrame.cs
+++ b/Runtime/Scripts/Proto/AudioFrame.cs
@@ -46,94 +46,94 @@ static AudioFrameReflection() {
"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"));
+ "dWRpb1NvdXJjZSKAAQoYQ2FwdHVyZUF1ZGlvRnJhbWVSZXF1ZXN0EhUKDXNv",
+ "dXJjZV9oYW5kbGUYASACKAQSMwoGYnVmZmVyGAIgAigLMiMubGl2ZWtpdC5w",
+ "cm90by5BdWRpb0ZyYW1lQnVmZmVySW5mbxIYChByZXF1ZXN0X2FzeW5jX2lk",
+ "GAMgASgEIi0KGUNhcHR1cmVBdWRpb0ZyYW1lUmVzcG9uc2USEAoIYXN5bmNf",
+ "aWQYASACKAQiPAoZQ2FwdHVyZUF1ZGlvRnJhbWVDYWxsYmFjaxIQCghhc3lu",
+ "Y19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSIwChdDbGVhckF1ZGlvQnVmZmVy",
+ "UmVxdWVzdBIVCg1zb3VyY2VfaGFuZGxlGAEgAigEIhoKGENsZWFyQXVkaW9C",
+ "dWZmZXJSZXNwb25zZSIaChhOZXdBdWRpb1Jlc2FtcGxlclJlcXVlc3QiUgoZ",
+ "TmV3QXVkaW9SZXNhbXBsZXJSZXNwb25zZRI1CglyZXNhbXBsZXIYASACKAsy",
+ "Ii5saXZla2l0LnByb3RvLk93bmVkQXVkaW9SZXNhbXBsZXIikwEKF1JlbWl4",
+ "QW5kUmVzYW1wbGVSZXF1ZXN0EhgKEHJlc2FtcGxlcl9oYW5kbGUYASACKAQS",
+ "MwoGYnVmZmVyGAIgAigLMiMubGl2ZWtpdC5wcm90by5BdWRpb0ZyYW1lQnVm",
+ "ZmVySW5mbxIUCgxudW1fY2hhbm5lbHMYAyACKA0SEwoLc2FtcGxlX3JhdGUY",
+ "BCACKA0iUAoYUmVtaXhBbmRSZXNhbXBsZVJlc3BvbnNlEjQKBmJ1ZmZlchgB",
+ "IAIoCzIkLmxpdmVraXQucHJvdG8uT3duZWRBdWRpb0ZyYW1lQnVmZmVyIpUB",
+ "Cg1OZXdBcG1SZXF1ZXN0Eh4KFmVjaG9fY2FuY2VsbGVyX2VuYWJsZWQYASAC",
+ "KAgSHwoXZ2Fpbl9jb250cm9sbGVyX2VuYWJsZWQYAiACKAgSIAoYaGlnaF9w",
+ "YXNzX2ZpbHRlcl9lbmFibGVkGAMgAigIEiEKGW5vaXNlX3N1cHByZXNzaW9u",
+ "X2VuYWJsZWQYBCACKAgiNgoOTmV3QXBtUmVzcG9uc2USJAoDYXBtGAEgAigL",
+ "MhcubGl2ZWtpdC5wcm90by5Pd25lZEFwbSJ4ChdBcG1Qcm9jZXNzU3RyZWFt",
+ "UmVxdWVzdBISCgphcG1faGFuZGxlGAEgAigEEhAKCGRhdGFfcHRyGAIgAigE",
+ "EgwKBHNpemUYAyACKA0SEwoLc2FtcGxlX3JhdGUYBCACKA0SFAoMbnVtX2No",
+ "YW5uZWxzGAUgAigNIikKGEFwbVByb2Nlc3NTdHJlYW1SZXNwb25zZRINCgVl",
+ "cnJvchgBIAEoCSJ/Ch5BcG1Qcm9jZXNzUmV2ZXJzZVN0cmVhbVJlcXVlc3QS",
+ "EgoKYXBtX2hhbmRsZRgBIAIoBBIQCghkYXRhX3B0chgCIAIoBBIMCgRzaXpl",
+ "GAMgAigNEhMKC3NhbXBsZV9yYXRlGAQgAigNEhQKDG51bV9jaGFubmVscxgF",
+ "IAIoDSIwCh9BcG1Qcm9jZXNzUmV2ZXJzZVN0cmVhbVJlc3BvbnNlEg0KBWVy",
+ "cm9yGAEgASgJIkAKGEFwbVNldFN0cmVhbURlbGF5UmVxdWVzdBISCgphcG1f",
+ "aGFuZGxlGAEgAigEEhAKCGRlbGF5X21zGAIgAigFIioKGUFwbVNldFN0cmVh",
+ "bURlbGF5UmVzcG9uc2USDQoFZXJyb3IYASABKAkinAIKFk5ld1NveFJlc2Ft",
+ "cGxlclJlcXVlc3QSEgoKaW5wdXRfcmF0ZRgBIAIoARITCgtvdXRwdXRfcmF0",
+ "ZRgCIAIoARIUCgxudW1fY2hhbm5lbHMYAyACKA0SPAoPaW5wdXRfZGF0YV90",
+ "eXBlGAQgAigOMiMubGl2ZWtpdC5wcm90by5Tb3hSZXNhbXBsZXJEYXRhVHlw",
+ "ZRI9ChBvdXRwdXRfZGF0YV90eXBlGAUgAigOMiMubGl2ZWtpdC5wcm90by5T",
+ "b3hSZXNhbXBsZXJEYXRhVHlwZRI3Cg5xdWFsaXR5X3JlY2lwZRgGIAIoDjIf",
+ "LmxpdmVraXQucHJvdG8uU294UXVhbGl0eVJlY2lwZRINCgVmbGFncxgHIAEo",
+ "DSJsChdOZXdTb3hSZXNhbXBsZXJSZXNwb25zZRI1CglyZXNhbXBsZXIYASAB",
+ "KAsyIC5saXZla2l0LnByb3RvLk93bmVkU294UmVzYW1wbGVySAASDwoFZXJy",
+ "b3IYAiABKAlIAEIJCgdtZXNzYWdlIlMKF1B1c2hTb3hSZXNhbXBsZXJSZXF1",
+ "ZXN0EhgKEHJlc2FtcGxlcl9oYW5kbGUYASACKAQSEAoIZGF0YV9wdHIYAiAC",
+ "KAQSDAoEc2l6ZRgDIAIoDSJLChhQdXNoU294UmVzYW1wbGVyUmVzcG9uc2US",
+ "EgoKb3V0cHV0X3B0chgBIAIoBBIMCgRzaXplGAIgAigNEg0KBWVycm9yGAMg",
+ "ASgJIjQKGEZsdXNoU294UmVzYW1wbGVyUmVxdWVzdBIYChByZXNhbXBsZXJf",
+ "aGFuZGxlGAEgAigEIkwKGUZsdXNoU294UmVzYW1wbGVyUmVzcG9uc2USEgoK",
+ "b3V0cHV0X3B0chgBIAIoBBIMCgRzaXplGAIgAigNEg0KBWVycm9yGAMgASgJ",
+ "InAKFEF1ZGlvRnJhbWVCdWZmZXJJbmZvEhAKCGRhdGFfcHRyGAEgAigEEhQK",
+ "DG51bV9jaGFubmVscxgCIAIoDRITCgtzYW1wbGVfcmF0ZRgDIAIoDRIbChNz",
+ "YW1wbGVzX3Blcl9jaGFubmVsGAQgAigNInkKFU93bmVkQXVkaW9GcmFtZUJ1",
+ "ZmZlchItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVk",
+ "SGFuZGxlEjEKBGluZm8YAiACKAsyIy5saXZla2l0LnByb3RvLkF1ZGlvRnJh",
+ "bWVCdWZmZXJJbmZvIj8KD0F1ZGlvU3RyZWFtSW5mbxIsCgR0eXBlGAEgAigO",
+ "Mh4ubGl2ZWtpdC5wcm90by5BdWRpb1N0cmVhbVR5cGUibwoQT3duZWRBdWRp",
+ "b1N0cmVhbRItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93",
+ "bmVkSGFuZGxlEiwKBGluZm8YAiACKAsyHi5saXZla2l0LnByb3RvLkF1ZGlv",
+ "U3RyZWFtSW5mbyKfAQoQQXVkaW9TdHJlYW1FdmVudBIVCg1zdHJlYW1faGFu",
+ "ZGxlGAEgAigEEjsKDmZyYW1lX3JlY2VpdmVkGAIgASgLMiEubGl2ZWtpdC5w",
+ "cm90by5BdWRpb0ZyYW1lUmVjZWl2ZWRIABIsCgNlb3MYAyABKAsyHS5saXZl",
+ "a2l0LnByb3RvLkF1ZGlvU3RyZWFtRU9TSABCCQoHbWVzc2FnZSJJChJBdWRp",
+ "b0ZyYW1lUmVjZWl2ZWQSMwoFZnJhbWUYASACKAsyJC5saXZla2l0LnByb3Rv",
+ "Lk93bmVkQXVkaW9GcmFtZUJ1ZmZlciIQCg5BdWRpb1N0cmVhbUVPUyJlChJB",
+ "dWRpb1NvdXJjZU9wdGlvbnMSGQoRZWNob19jYW5jZWxsYXRpb24YASACKAgS",
+ "GQoRbm9pc2Vfc3VwcHJlc3Npb24YAiACKAgSGQoRYXV0b19nYWluX2NvbnRy",
+ "b2wYAyACKAgiPwoPQXVkaW9Tb3VyY2VJbmZvEiwKBHR5cGUYAiACKA4yHi5s",
+ "aXZla2l0LnByb3RvLkF1ZGlvU291cmNlVHlwZSJvChBPd25lZEF1ZGlvU291",
+ "cmNlEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRI",
+ "YW5kbGUSLAoEaW5mbxgCIAIoCzIeLmxpdmVraXQucHJvdG8uQXVkaW9Tb3Vy",
+ "Y2VJbmZvIhQKEkF1ZGlvUmVzYW1wbGVySW5mbyJ1ChNPd25lZEF1ZGlvUmVz",
+ "YW1wbGVyEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3du",
+ "ZWRIYW5kbGUSLwoEaW5mbxgCIAIoCzIhLmxpdmVraXQucHJvdG8uQXVkaW9S",
+ "ZXNhbXBsZXJJbmZvIjkKCE93bmVkQXBtEi0KBmhhbmRsZRgBIAIoCzIdLmxp",
+ "dmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUiEgoQU294UmVzYW1wbGVySW5m",
+ "byJxChFPd25lZFNveFJlc2FtcGxlchItCgZoYW5kbGUYASACKAsyHS5saXZl",
+ "a2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEi0KBGluZm8YAiACKAsyHy5saXZl",
+ "a2l0LnByb3RvLlNveFJlc2FtcGxlckluZm8iXAocTG9hZEF1ZGlvRmlsdGVy",
+ "UGx1Z2luUmVxdWVzdBITCgtwbHVnaW5fcGF0aBgBIAIoCRIUCgxkZXBlbmRl",
+ "bmNpZXMYAiADKAkSEQoJbW9kdWxlX2lkGAMgAigJIi4KHUxvYWRBdWRpb0Zp",
+ "bHRlclBsdWdpblJlc3BvbnNlEg0KBWVycm9yGAEgASgJKkoKFFNveFJlc2Ft",
+ "cGxlckRhdGFUeXBlEhgKFFNPWFJfREFUQVRZUEVfSU5UMTZJEAASGAoUU09Y",
+ "Ul9EQVRBVFlQRV9JTlQxNlMQASqLAQoQU294UXVhbGl0eVJlY2lwZRIWChJT",
+ "T1hSX1FVQUxJVFlfUVVJQ0sQABIUChBTT1hSX1FVQUxJVFlfTE9XEAESFwoT",
+ "U09YUl9RVUFMSVRZX01FRElVTRACEhUKEVNPWFJfUVVBTElUWV9ISUdIEAMS",
+ "GQoVU09YUl9RVUFMSVRZX1ZFUllISUdIEAQqlwEKC1NveEZsYWdCaXRzEhYK",
+ "ElNPWFJfUk9MTE9GRl9TTUFMTBAAEhcKE1NPWFJfUk9MTE9GRl9NRURJVU0Q",
+ "ARIVChFTT1hSX1JPTExPRkZfTk9ORRACEhgKFFNPWFJfSElHSF9QUkVDX0NM",
+ "T0NLEAMSGQoVU09YUl9ET1VCTEVfUFJFQ0lTSU9OEAQSCwoHU09YUl9WUhAF",
+ "KkEKD0F1ZGlvU3RyZWFtVHlwZRIXChNBVURJT19TVFJFQU1fTkFUSVZFEAAS",
+ "FQoRQVVESU9fU1RSRUFNX0hUTUwQASoqCg9BdWRpb1NvdXJjZVR5cGUSFwoT",
+ "QVVESU9fU09VUkNFX05BVElWRRAAQhCqAg1MaXZlS2l0LlByb3Rv"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
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[] {
@@ -143,7 +143,7 @@ static AudioFrameReflection() {
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", "Buffer" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.CaptureAudioFrameRequest), global::LiveKit.Proto.CaptureAudioFrameRequest.Parser, new[]{ "SourceHandle", "Buffer", "RequestAsyncId" }, 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),
@@ -2395,7 +2395,7 @@ public void MergeFrom(pb::CodedInputStream input) {
}
///
- /// Push a frame to an AudioSource
+ /// 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}")]
@@ -2437,6 +2437,7 @@ public CaptureAudioFrameRequest(CaptureAudioFrameRequest other) : this() {
_hasBits0 = other._hasBits0;
sourceHandle_ = other.sourceHandle_;
buffer_ = other.buffer_ != null ? other.buffer_.Clone() : null;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -2485,6 +2486,33 @@ public void ClearSourceHandle() {
}
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -2502,6 +2530,7 @@ public bool Equals(CaptureAudioFrameRequest other) {
}
if (SourceHandle != other.SourceHandle) return false;
if (!object.Equals(Buffer, other.Buffer)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -2511,6 +2540,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasSourceHandle) hash ^= SourceHandle.GetHashCode();
if (buffer_ != null) hash ^= Buffer.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -2537,6 +2567,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Buffer);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -2555,6 +2589,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Buffer);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -2571,6 +2609,9 @@ public int CalculateSize() {
if (buffer_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Buffer);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -2592,6 +2633,9 @@ public void MergeFrom(CaptureAudioFrameRequest other) {
}
Buffer.MergeFrom(other.Buffer);
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -2622,6 +2666,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Buffer);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -2652,6 +2700,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Buffer);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
diff --git a/Runtime/Scripts/Proto/DataStream.cs b/Runtime/Scripts/Proto/DataStream.cs
index da037c6c..68c9114b 100644
--- a/Runtime/Scripts/Proto/DataStream.cs
+++ b/Runtime/Scripts/Proto/DataStream.cs
@@ -30,142 +30,149 @@ static DataStreamReflection() {
"BGluZm8YAiACKAsyHS5saXZla2l0LnByb3RvLlRleHRTdHJlYW1JbmZvIj8K",
"JlRleHRTdHJlYW1SZWFkZXJSZWFkSW5jcmVtZW50YWxSZXF1ZXN0EhUKDXJl",
"YWRlcl9oYW5kbGUYASACKAQiKQonVGV4dFN0cmVhbVJlYWRlclJlYWRJbmNy",
- "ZW1lbnRhbFJlc3BvbnNlIjcKHlRleHRTdHJlYW1SZWFkZXJSZWFkQWxsUmVx",
- "dWVzdBIVCg1yZWFkZXJfaGFuZGxlGAEgAigEIjMKH1RleHRTdHJlYW1SZWFk",
- "ZXJSZWFkQWxsUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQifQofVGV4dFN0",
- "cmVhbVJlYWRlclJlYWRBbGxDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIR",
- "Cgdjb250ZW50GAIgASgJSAASKwoFZXJyb3IYAyABKAsyGi5saXZla2l0LnBy",
- "b3RvLlN0cmVhbUVycm9ySABCCAoGcmVzdWx0IrMBChVUZXh0U3RyZWFtUmVh",
- "ZGVyRXZlbnQSFQoNcmVhZGVyX2hhbmRsZRgBIAIoBBJGCg5jaHVua19yZWNl",
- "aXZlZBgCIAEoCzIsLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVJlYWRlckNo",
- "dW5rUmVjZWl2ZWRIABIxCgNlb3MYAyABKAsyIi5saXZla2l0LnByb3RvLlRl",
- "eHRTdHJlYW1SZWFkZXJFT1NIAEIICgZkZXRhaWwiMAodVGV4dFN0cmVhbVJl",
- "YWRlckNodW5rUmVjZWl2ZWQSDwoHY29udGVudBgBIAIoCSJAChNUZXh0U3Ry",
- "ZWFtUmVhZGVyRU9TEikKBWVycm9yGAEgASgLMhoubGl2ZWtpdC5wcm90by5T",
- "dHJlYW1FcnJvciJzChVPd25lZEJ5dGVTdHJlYW1SZWFkZXISLQoGaGFuZGxl",
- "GAEgAigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhhbmRsZRIrCgRpbmZv",
- "GAIgAigLMh0ubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtSW5mbyI/CiZCeXRl",
- "U3RyZWFtUmVhZGVyUmVhZEluY3JlbWVudGFsUmVxdWVzdBIVCg1yZWFkZXJf",
- "aGFuZGxlGAEgAigEIikKJ0J5dGVTdHJlYW1SZWFkZXJSZWFkSW5jcmVtZW50",
- "YWxSZXNwb25zZSI3Ch5CeXRlU3RyZWFtUmVhZGVyUmVhZEFsbFJlcXVlc3QS",
- "FQoNcmVhZGVyX2hhbmRsZRgBIAIoBCIzCh9CeXRlU3RyZWFtUmVhZGVyUmVh",
- "ZEFsbFJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIn0KH0J5dGVTdHJlYW1S",
- "ZWFkZXJSZWFkQWxsQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSEQoHY29u",
- "dGVudBgCIAEoDEgAEisKBWVycm9yGAMgASgLMhoubGl2ZWtpdC5wcm90by5T",
- "dHJlYW1FcnJvckgAQggKBnJlc3VsdCJlCiJCeXRlU3RyZWFtUmVhZGVyV3Jp",
- "dGVUb0ZpbGVSZXF1ZXN0EhUKDXJlYWRlcl9oYW5kbGUYASACKAQSEQoJZGly",
- "ZWN0b3J5GAMgASgJEhUKDW5hbWVfb3ZlcnJpZGUYBCABKAkiNwojQnl0ZVN0",
- "cmVhbVJlYWRlcldyaXRlVG9GaWxlUmVzcG9uc2USEAoIYXN5bmNfaWQYASAC",
- "KAQigwEKI0J5dGVTdHJlYW1SZWFkZXJXcml0ZVRvRmlsZUNhbGxiYWNrEhAK",
- "CGFzeW5jX2lkGAEgAigEEhMKCWZpbGVfcGF0aBgCIAEoCUgAEisKBWVycm9y",
- "GAMgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvckgAQggKBnJlc3Vs",
- "dCKzAQoVQnl0ZVN0cmVhbVJlYWRlckV2ZW50EhUKDXJlYWRlcl9oYW5kbGUY",
- "ASACKAQSRgoOY2h1bmtfcmVjZWl2ZWQYAiABKAsyLC5saXZla2l0LnByb3Rv",
- "LkJ5dGVTdHJlYW1SZWFkZXJDaHVua1JlY2VpdmVkSAASMQoDZW9zGAMgASgL",
- "MiIubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVyRU9TSABCCAoGZGV0",
- "YWlsIjAKHUJ5dGVTdHJlYW1SZWFkZXJDaHVua1JlY2VpdmVkEg8KB2NvbnRl",
- "bnQYASACKAwiQAoTQnl0ZVN0cmVhbVJlYWRlckVPUxIpCgVlcnJvchgBIAEo",
- "CzIaLmxpdmVraXQucHJvdG8uU3RyZWFtRXJyb3IifwoVU3RyZWFtU2VuZEZp",
- "bGVSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIx",
- "CgdvcHRpb25zGAIgAigLMiAubGl2ZWtpdC5wcm90by5TdHJlYW1CeXRlT3B0",
- "aW9ucxIRCglmaWxlX3BhdGgYAyACKAkiKgoWU3RyZWFtU2VuZEZpbGVSZXNw",
- "b25zZRIQCghhc3luY19pZBgBIAIoBCKQAQoWU3RyZWFtU2VuZEZpbGVDYWxs",
- "YmFjaxIQCghhc3luY19pZBgBIAIoBBItCgRpbmZvGAIgASgLMh0ubGl2ZWtp",
- "dC5wcm90by5CeXRlU3RyZWFtSW5mb0gAEisKBWVycm9yGAMgASgLMhoubGl2",
- "ZWtpdC5wcm90by5TdHJlYW1FcnJvckgAQggKBnJlc3VsdCJ8ChZTdHJlYW1T",
- "ZW5kQnl0ZXNSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgB",
- "IAIoBBIxCgdvcHRpb25zGAIgAigLMiAubGl2ZWtpdC5wcm90by5TdHJlYW1C",
- "eXRlT3B0aW9ucxINCgVieXRlcxgDIAIoDCIrChdTdHJlYW1TZW5kQnl0ZXNS",
- "ZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCKRAQoXU3RyZWFtU2VuZEJ5dGVz",
- "Q2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSLQoEaW5mbxgCIAEoCzIdLmxp",
- "dmVraXQucHJvdG8uQnl0ZVN0cmVhbUluZm9IABIrCgVlcnJvchgDIAEoCzIa",
- "LmxpdmVraXQucHJvdG8uU3RyZWFtRXJyb3JIAEIICgZyZXN1bHQiegoVU3Ry",
- "ZWFtU2VuZFRleHRSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRs",
- "ZRgBIAIoBBIxCgdvcHRpb25zGAIgAigLMiAubGl2ZWtpdC5wcm90by5TdHJl",
- "YW1UZXh0T3B0aW9ucxIMCgR0ZXh0GAMgAigJIioKFlN0cmVhbVNlbmRUZXh0",
- "UmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQikAEKFlN0cmVhbVNlbmRUZXh0",
- "Q2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSLQoEaW5mbxgCIAEoCzIdLmxp",
- "dmVraXQucHJvdG8uVGV4dFN0cmVhbUluZm9IABIrCgVlcnJvchgDIAEoCzIa",
- "LmxpdmVraXQucHJvdG8uU3RyZWFtRXJyb3JIAEIICgZyZXN1bHQicwoVT3du",
- "ZWRCeXRlU3RyZWFtV3JpdGVyEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQu",
- "cHJvdG8uRmZpT3duZWRIYW5kbGUSKwoEaW5mbxgCIAIoCzIdLmxpdmVraXQu",
- "cHJvdG8uQnl0ZVN0cmVhbUluZm8ibAoVQnl0ZVN0cmVhbU9wZW5SZXF1ZXN0",
- "EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIxCgdvcHRpb25z",
- "GAIgAigLMiAubGl2ZWtpdC5wcm90by5TdHJlYW1CeXRlT3B0aW9ucyIqChZC",
- "eXRlU3RyZWFtT3BlblJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIpkBChZC",
- "eXRlU3RyZWFtT3BlbkNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEjYKBndy",
- "aXRlchgCIAEoCzIkLmxpdmVraXQucHJvdG8uT3duZWRCeXRlU3RyZWFtV3Jp",
- "dGVySAASKwoFZXJyb3IYAyABKAsyGi5saXZla2l0LnByb3RvLlN0cmVhbUVy",
- "cm9ySABCCAoGcmVzdWx0IkQKHEJ5dGVTdHJlYW1Xcml0ZXJXcml0ZVJlcXVl",
- "c3QSFQoNd3JpdGVyX2hhbmRsZRgBIAIoBBINCgVieXRlcxgCIAIoDCIxCh1C",
- "eXRlU3RyZWFtV3JpdGVyV3JpdGVSZXNwb25zZRIQCghhc3luY19pZBgBIAIo",
- "BCJcCh1CeXRlU3RyZWFtV3JpdGVyV3JpdGVDYWxsYmFjaxIQCghhc3luY19p",
- "ZBgBIAIoBBIpCgVlcnJvchgCIAEoCzIaLmxpdmVraXQucHJvdG8uU3RyZWFt",
- "RXJyb3IiRQocQnl0ZVN0cmVhbVdyaXRlckNsb3NlUmVxdWVzdBIVCg13cml0",
- "ZXJfaGFuZGxlGAEgAigEEg4KBnJlYXNvbhgCIAEoCSIxCh1CeXRlU3RyZWFt",
- "V3JpdGVyQ2xvc2VSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCJcCh1CeXRl",
- "U3RyZWFtV3JpdGVyQ2xvc2VDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIp",
- "CgVlcnJvchgCIAEoCzIaLmxpdmVraXQucHJvdG8uU3RyZWFtRXJyb3IicwoV",
- "T3duZWRUZXh0U3RyZWFtV3JpdGVyEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVr",
- "aXQucHJvdG8uRmZpT3duZWRIYW5kbGUSKwoEaW5mbxgCIAIoCzIdLmxpdmVr",
- "aXQucHJvdG8uVGV4dFN0cmVhbUluZm8ibAoVVGV4dFN0cmVhbU9wZW5SZXF1",
- "ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIxCgdvcHRp",
- "b25zGAIgAigLMiAubGl2ZWtpdC5wcm90by5TdHJlYW1UZXh0T3B0aW9ucyIq",
- "ChZUZXh0U3RyZWFtT3BlblJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIpkB",
- "ChZUZXh0U3RyZWFtT3BlbkNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEjYK",
- "BndyaXRlchgCIAEoCzIkLmxpdmVraXQucHJvdG8uT3duZWRUZXh0U3RyZWFt",
- "V3JpdGVySAASKwoFZXJyb3IYAyABKAsyGi5saXZla2l0LnByb3RvLlN0cmVh",
- "bUVycm9ySABCCAoGcmVzdWx0IkMKHFRleHRTdHJlYW1Xcml0ZXJXcml0ZVJl",
- "cXVlc3QSFQoNd3JpdGVyX2hhbmRsZRgBIAIoBBIMCgR0ZXh0GAIgAigJIjEK",
- "HVRleHRTdHJlYW1Xcml0ZXJXcml0ZVJlc3BvbnNlEhAKCGFzeW5jX2lkGAEg",
- "AigEIlwKHVRleHRTdHJlYW1Xcml0ZXJXcml0ZUNhbGxiYWNrEhAKCGFzeW5j",
- "X2lkGAEgAigEEikKBWVycm9yGAIgASgLMhoubGl2ZWtpdC5wcm90by5TdHJl",
- "YW1FcnJvciJFChxUZXh0U3RyZWFtV3JpdGVyQ2xvc2VSZXF1ZXN0EhUKDXdy",
- "aXRlcl9oYW5kbGUYASACKAQSDgoGcmVhc29uGAIgASgJIjEKHVRleHRTdHJl",
- "YW1Xcml0ZXJDbG9zZVJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIlwKHVRl",
- "eHRTdHJlYW1Xcml0ZXJDbG9zZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigE",
- "EikKBWVycm9yGAIgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvciKB",
- "BAoOVGV4dFN0cmVhbUluZm8SEQoJc3RyZWFtX2lkGAEgAigJEhEKCXRpbWVz",
- "dGFtcBgCIAIoAxIRCgltaW1lX3R5cGUYAyACKAkSDQoFdG9waWMYBCACKAkS",
- "FAoMdG90YWxfbGVuZ3RoGAUgASgEEkEKCmF0dHJpYnV0ZXMYBiADKAsyLS5s",
- "aXZla2l0LnByb3RvLlRleHRTdHJlYW1JbmZvLkF0dHJpYnV0ZXNFbnRyeRJD",
- "Cg5vcGVyYXRpb25fdHlwZRgHIAIoDjIrLmxpdmVraXQucHJvdG8uVGV4dFN0",
- "cmVhbUluZm8uT3BlcmF0aW9uVHlwZRIPCgd2ZXJzaW9uGAggASgFEhoKEnJl",
- "cGx5X3RvX3N0cmVhbV9pZBgJIAEoCRIbChNhdHRhY2hlZF9zdHJlYW1faWRz",
- "GAogAygJEhEKCWdlbmVyYXRlZBgLIAEoCBI2Cg9lbmNyeXB0aW9uX3R5cGUY",
- "DCACKA4yHS5saXZla2l0LnByb3RvLkVuY3J5cHRpb25UeXBlGjEKD0F0dHJp",
- "YnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkEK",
- "DU9wZXJhdGlvblR5cGUSCgoGQ1JFQVRFEAASCgoGVVBEQVRFEAESCgoGREVM",
- "RVRFEAISDAoIUkVBQ1RJT04QAyKqAgoOQnl0ZVN0cmVhbUluZm8SEQoJc3Ry",
- "ZWFtX2lkGAEgAigJEhEKCXRpbWVzdGFtcBgCIAIoAxIRCgltaW1lX3R5cGUY",
- "AyACKAkSDQoFdG9waWMYBCACKAkSFAoMdG90YWxfbGVuZ3RoGAUgASgEEkEK",
- "CmF0dHJpYnV0ZXMYBiADKAsyLS5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1J",
- "bmZvLkF0dHJpYnV0ZXNFbnRyeRIMCgRuYW1lGAcgAigJEjYKD2VuY3J5cHRp",
- "b25fdHlwZRgIIAIoDjIdLmxpdmVraXQucHJvdG8uRW5jcnlwdGlvblR5cGUa",
- "MQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEo",
- "CToCOAEi6QIKEVN0cmVhbVRleHRPcHRpb25zEg0KBXRvcGljGAEgAigJEkQK",
- "CmF0dHJpYnV0ZXMYAiADKAsyMC5saXZla2l0LnByb3RvLlN0cmVhbVRleHRP",
- "cHRpb25zLkF0dHJpYnV0ZXNFbnRyeRIeChZkZXN0aW5hdGlvbl9pZGVudGl0",
- "aWVzGAMgAygJEgoKAmlkGAQgASgJEkMKDm9wZXJhdGlvbl90eXBlGAUgASgO",
- "MisubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtSW5mby5PcGVyYXRpb25UeXBl",
- "Eg8KB3ZlcnNpb24YBiABKAUSGgoScmVwbHlfdG9fc3RyZWFtX2lkGAcgASgJ",
- "EhsKE2F0dGFjaGVkX3N0cmVhbV9pZHMYCCADKAkSEQoJZ2VuZXJhdGVkGAkg",
- "ASgIGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUY",
- "AiABKAk6AjgBIv4BChFTdHJlYW1CeXRlT3B0aW9ucxINCgV0b3BpYxgBIAIo",
- "CRJECgphdHRyaWJ1dGVzGAIgAygLMjAubGl2ZWtpdC5wcm90by5TdHJlYW1C",
- "eXRlT3B0aW9ucy5BdHRyaWJ1dGVzRW50cnkSHgoWZGVzdGluYXRpb25faWRl",
- "bnRpdGllcxgDIAMoCRIKCgJpZBgEIAEoCRIMCgRuYW1lGAUgASgJEhEKCW1p",
- "bWVfdHlwZRgGIAEoCRIUCgx0b3RhbF9sZW5ndGgYByABKAQaMQoPQXR0cmli",
- "dXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiIgoL",
- "U3RyZWFtRXJyb3ISEwoLZGVzY3JpcHRpb24YASACKAlCEKoCDUxpdmVLaXQu",
- "UHJvdG8="));
+ "ZW1lbnRhbFJlc3BvbnNlIlEKHlRleHRTdHJlYW1SZWFkZXJSZWFkQWxsUmVx",
+ "dWVzdBIVCg1yZWFkZXJfaGFuZGxlGAEgAigEEhgKEHJlcXVlc3RfYXN5bmNf",
+ "aWQYAiABKAQiMwofVGV4dFN0cmVhbVJlYWRlclJlYWRBbGxSZXNwb25zZRIQ",
+ "Cghhc3luY19pZBgBIAIoBCJ9Ch9UZXh0U3RyZWFtUmVhZGVyUmVhZEFsbENh",
+ "bGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEhEKB2NvbnRlbnQYAiABKAlIABIr",
+ "CgVlcnJvchgDIAEoCzIaLmxpdmVraXQucHJvdG8uU3RyZWFtRXJyb3JIAEII",
+ "CgZyZXN1bHQiswEKFVRleHRTdHJlYW1SZWFkZXJFdmVudBIVCg1yZWFkZXJf",
+ "aGFuZGxlGAEgAigEEkYKDmNodW5rX3JlY2VpdmVkGAIgASgLMiwubGl2ZWtp",
+ "dC5wcm90by5UZXh0U3RyZWFtUmVhZGVyQ2h1bmtSZWNlaXZlZEgAEjEKA2Vv",
+ "cxgDIAEoCzIiLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVJlYWRlckVPU0gA",
+ "QggKBmRldGFpbCIwCh1UZXh0U3RyZWFtUmVhZGVyQ2h1bmtSZWNlaXZlZBIP",
+ "Cgdjb250ZW50GAEgAigJIkAKE1RleHRTdHJlYW1SZWFkZXJFT1MSKQoFZXJy",
+ "b3IYASABKAsyGi5saXZla2l0LnByb3RvLlN0cmVhbUVycm9yInMKFU93bmVk",
+ "Qnl0ZVN0cmVhbVJlYWRlchItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnBy",
+ "b3RvLkZmaU93bmVkSGFuZGxlEisKBGluZm8YAiACKAsyHS5saXZla2l0LnBy",
+ "b3RvLkJ5dGVTdHJlYW1JbmZvIj8KJkJ5dGVTdHJlYW1SZWFkZXJSZWFkSW5j",
+ "cmVtZW50YWxSZXF1ZXN0EhUKDXJlYWRlcl9oYW5kbGUYASACKAQiKQonQnl0",
+ "ZVN0cmVhbVJlYWRlclJlYWRJbmNyZW1lbnRhbFJlc3BvbnNlIlEKHkJ5dGVT",
+ "dHJlYW1SZWFkZXJSZWFkQWxsUmVxdWVzdBIVCg1yZWFkZXJfaGFuZGxlGAEg",
+ "AigEEhgKEHJlcXVlc3RfYXN5bmNfaWQYAiABKAQiMwofQnl0ZVN0cmVhbVJl",
+ "YWRlclJlYWRBbGxSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCJ9Ch9CeXRl",
+ "U3RyZWFtUmVhZGVyUmVhZEFsbENhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigE",
+ "EhEKB2NvbnRlbnQYAiABKAxIABIrCgVlcnJvchgDIAEoCzIaLmxpdmVraXQu",
+ "cHJvdG8uU3RyZWFtRXJyb3JIAEIICgZyZXN1bHQifwoiQnl0ZVN0cmVhbVJl",
+ "YWRlcldyaXRlVG9GaWxlUmVxdWVzdBIVCg1yZWFkZXJfaGFuZGxlGAEgAigE",
+ "EhgKEHJlcXVlc3RfYXN5bmNfaWQYAiABKAQSEQoJZGlyZWN0b3J5GAMgASgJ",
+ "EhUKDW5hbWVfb3ZlcnJpZGUYBCABKAkiNwojQnl0ZVN0cmVhbVJlYWRlcldy",
+ "aXRlVG9GaWxlUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQigwEKI0J5dGVT",
+ "dHJlYW1SZWFkZXJXcml0ZVRvRmlsZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEg",
+ "AigEEhMKCWZpbGVfcGF0aBgCIAEoCUgAEisKBWVycm9yGAMgASgLMhoubGl2",
+ "ZWtpdC5wcm90by5TdHJlYW1FcnJvckgAQggKBnJlc3VsdCKzAQoVQnl0ZVN0",
+ "cmVhbVJlYWRlckV2ZW50EhUKDXJlYWRlcl9oYW5kbGUYASACKAQSRgoOY2h1",
+ "bmtfcmVjZWl2ZWQYAiABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1S",
+ "ZWFkZXJDaHVua1JlY2VpdmVkSAASMQoDZW9zGAMgASgLMiIubGl2ZWtpdC5w",
+ "cm90by5CeXRlU3RyZWFtUmVhZGVyRU9TSABCCAoGZGV0YWlsIjAKHUJ5dGVT",
+ "dHJlYW1SZWFkZXJDaHVua1JlY2VpdmVkEg8KB2NvbnRlbnQYASACKAwiQAoT",
+ "Qnl0ZVN0cmVhbVJlYWRlckVPUxIpCgVlcnJvchgBIAEoCzIaLmxpdmVraXQu",
+ "cHJvdG8uU3RyZWFtRXJyb3IimQEKFVN0cmVhbVNlbmRGaWxlUmVxdWVzdBIg",
+ "Chhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSMQoHb3B0aW9ucxgC",
+ "IAIoCzIgLmxpdmVraXQucHJvdG8uU3RyZWFtQnl0ZU9wdGlvbnMSEQoJZmls",
+ "ZV9wYXRoGAMgAigJEhgKEHJlcXVlc3RfYXN5bmNfaWQYBCABKAQiKgoWU3Ry",
+ "ZWFtU2VuZEZpbGVSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCKQAQoWU3Ry",
+ "ZWFtU2VuZEZpbGVDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBItCgRpbmZv",
+ "GAIgASgLMh0ubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtSW5mb0gAEisKBWVy",
+ "cm9yGAMgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvckgAQggKBnJl",
+ "c3VsdCKWAQoWU3RyZWFtU2VuZEJ5dGVzUmVxdWVzdBIgChhsb2NhbF9wYXJ0",
+ "aWNpcGFudF9oYW5kbGUYASACKAQSMQoHb3B0aW9ucxgCIAIoCzIgLmxpdmVr",
+ "aXQucHJvdG8uU3RyZWFtQnl0ZU9wdGlvbnMSDQoFYnl0ZXMYAyACKAwSGAoQ",
+ "cmVxdWVzdF9hc3luY19pZBgEIAEoBCIrChdTdHJlYW1TZW5kQnl0ZXNSZXNw",
+ "b25zZRIQCghhc3luY19pZBgBIAIoBCKRAQoXU3RyZWFtU2VuZEJ5dGVzQ2Fs",
+ "bGJhY2sSEAoIYXN5bmNfaWQYASACKAQSLQoEaW5mbxgCIAEoCzIdLmxpdmVr",
+ "aXQucHJvdG8uQnl0ZVN0cmVhbUluZm9IABIrCgVlcnJvchgDIAEoCzIaLmxp",
+ "dmVraXQucHJvdG8uU3RyZWFtRXJyb3JIAEIICgZyZXN1bHQilAEKFVN0cmVh",
+ "bVNlbmRUZXh0UmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUY",
+ "ASACKAQSMQoHb3B0aW9ucxgCIAIoCzIgLmxpdmVraXQucHJvdG8uU3RyZWFt",
+ "VGV4dE9wdGlvbnMSDAoEdGV4dBgDIAIoCRIYChByZXF1ZXN0X2FzeW5jX2lk",
+ "GAQgASgEIioKFlN0cmVhbVNlbmRUZXh0UmVzcG9uc2USEAoIYXN5bmNfaWQY",
+ "ASACKAQikAEKFlN0cmVhbVNlbmRUZXh0Q2FsbGJhY2sSEAoIYXN5bmNfaWQY",
+ "ASACKAQSLQoEaW5mbxgCIAEoCzIdLmxpdmVraXQucHJvdG8uVGV4dFN0cmVh",
+ "bUluZm9IABIrCgVlcnJvchgDIAEoCzIaLmxpdmVraXQucHJvdG8uU3RyZWFt",
+ "RXJyb3JIAEIICgZyZXN1bHQicwoVT3duZWRCeXRlU3RyZWFtV3JpdGVyEi0K",
+ "BmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUS",
+ "KwoEaW5mbxgCIAIoCzIdLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbUluZm8i",
+ "hgEKFUJ5dGVTdHJlYW1PcGVuUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFu",
+ "dF9oYW5kbGUYASACKAQSMQoHb3B0aW9ucxgCIAIoCzIgLmxpdmVraXQucHJv",
+ "dG8uU3RyZWFtQnl0ZU9wdGlvbnMSGAoQcmVxdWVzdF9hc3luY19pZBgDIAEo",
+ "BCIqChZCeXRlU3RyZWFtT3BlblJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigE",
+ "IpkBChZCeXRlU3RyZWFtT3BlbkNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigE",
+ "EjYKBndyaXRlchgCIAEoCzIkLmxpdmVraXQucHJvdG8uT3duZWRCeXRlU3Ry",
+ "ZWFtV3JpdGVySAASKwoFZXJyb3IYAyABKAsyGi5saXZla2l0LnByb3RvLlN0",
+ "cmVhbUVycm9ySABCCAoGcmVzdWx0Il4KHEJ5dGVTdHJlYW1Xcml0ZXJXcml0",
+ "ZVJlcXVlc3QSFQoNd3JpdGVyX2hhbmRsZRgBIAIoBBINCgVieXRlcxgCIAIo",
+ "DBIYChByZXF1ZXN0X2FzeW5jX2lkGAMgASgEIjEKHUJ5dGVTdHJlYW1Xcml0",
+ "ZXJXcml0ZVJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIlwKHUJ5dGVTdHJl",
+ "YW1Xcml0ZXJXcml0ZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEikKBWVy",
+ "cm9yGAIgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvciJfChxCeXRl",
+ "U3RyZWFtV3JpdGVyQ2xvc2VSZXF1ZXN0EhUKDXdyaXRlcl9oYW5kbGUYASAC",
+ "KAQSDgoGcmVhc29uGAIgASgJEhgKEHJlcXVlc3RfYXN5bmNfaWQYAyABKAQi",
+ "MQodQnl0ZVN0cmVhbVdyaXRlckNsb3NlUmVzcG9uc2USEAoIYXN5bmNfaWQY",
+ "ASACKAQiXAodQnl0ZVN0cmVhbVdyaXRlckNsb3NlQ2FsbGJhY2sSEAoIYXN5",
+ "bmNfaWQYASACKAQSKQoFZXJyb3IYAiABKAsyGi5saXZla2l0LnByb3RvLlN0",
+ "cmVhbUVycm9yInMKFU93bmVkVGV4dFN0cmVhbVdyaXRlchItCgZoYW5kbGUY",
+ "ASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEisKBGluZm8Y",
+ "AiACKAsyHS5saXZla2l0LnByb3RvLlRleHRTdHJlYW1JbmZvIoYBChVUZXh0",
+ "U3RyZWFtT3BlblJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxl",
+ "GAEgAigEEjEKB29wdGlvbnMYAiACKAsyIC5saXZla2l0LnByb3RvLlN0cmVh",
+ "bVRleHRPcHRpb25zEhgKEHJlcXVlc3RfYXN5bmNfaWQYAyABKAQiKgoWVGV4",
+ "dFN0cmVhbU9wZW5SZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCKZAQoWVGV4",
+ "dFN0cmVhbU9wZW5DYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBI2CgZ3cml0",
+ "ZXIYAiABKAsyJC5saXZla2l0LnByb3RvLk93bmVkVGV4dFN0cmVhbVdyaXRl",
+ "ckgAEisKBWVycm9yGAMgASgLMhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJv",
+ "ckgAQggKBnJlc3VsdCJdChxUZXh0U3RyZWFtV3JpdGVyV3JpdGVSZXF1ZXN0",
+ "EhUKDXdyaXRlcl9oYW5kbGUYASACKAQSDAoEdGV4dBgCIAIoCRIYChByZXF1",
+ "ZXN0X2FzeW5jX2lkGAMgASgEIjEKHVRleHRTdHJlYW1Xcml0ZXJXcml0ZVJl",
+ "c3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIlwKHVRleHRTdHJlYW1Xcml0ZXJX",
+ "cml0ZUNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEikKBWVycm9yGAIgASgL",
+ "MhoubGl2ZWtpdC5wcm90by5TdHJlYW1FcnJvciJfChxUZXh0U3RyZWFtV3Jp",
+ "dGVyQ2xvc2VSZXF1ZXN0EhUKDXdyaXRlcl9oYW5kbGUYASACKAQSDgoGcmVh",
+ "c29uGAIgASgJEhgKEHJlcXVlc3RfYXN5bmNfaWQYAyABKAQiMQodVGV4dFN0",
+ "cmVhbVdyaXRlckNsb3NlUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQiXAod",
+ "VGV4dFN0cmVhbVdyaXRlckNsb3NlQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASAC",
+ "KAQSKQoFZXJyb3IYAiABKAsyGi5saXZla2l0LnByb3RvLlN0cmVhbUVycm9y",
+ "IoEECg5UZXh0U3RyZWFtSW5mbxIRCglzdHJlYW1faWQYASACKAkSEQoJdGlt",
+ "ZXN0YW1wGAIgAigDEhEKCW1pbWVfdHlwZRgDIAIoCRINCgV0b3BpYxgEIAIo",
+ "CRIUCgx0b3RhbF9sZW5ndGgYBSABKAQSQQoKYXR0cmlidXRlcxgGIAMoCzIt",
+ "LmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbUluZm8uQXR0cmlidXRlc0VudHJ5",
+ "EkMKDm9wZXJhdGlvbl90eXBlGAcgAigOMisubGl2ZWtpdC5wcm90by5UZXh0",
+ "U3RyZWFtSW5mby5PcGVyYXRpb25UeXBlEg8KB3ZlcnNpb24YCCABKAUSGgoS",
+ "cmVwbHlfdG9fc3RyZWFtX2lkGAkgASgJEhsKE2F0dGFjaGVkX3N0cmVhbV9p",
+ "ZHMYCiADKAkSEQoJZ2VuZXJhdGVkGAsgASgIEjYKD2VuY3J5cHRpb25fdHlw",
+ "ZRgMIAIoDjIdLmxpdmVraXQucHJvdG8uRW5jcnlwdGlvblR5cGUaMQoPQXR0",
+ "cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi",
+ "QQoNT3BlcmF0aW9uVHlwZRIKCgZDUkVBVEUQABIKCgZVUERBVEUQARIKCgZE",
+ "RUxFVEUQAhIMCghSRUFDVElPThADIqoCCg5CeXRlU3RyZWFtSW5mbxIRCglz",
+ "dHJlYW1faWQYASACKAkSEQoJdGltZXN0YW1wGAIgAigDEhEKCW1pbWVfdHlw",
+ "ZRgDIAIoCRINCgV0b3BpYxgEIAIoCRIUCgx0b3RhbF9sZW5ndGgYBSABKAQS",
+ "QQoKYXR0cmlidXRlcxgGIAMoCzItLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVh",
+ "bUluZm8uQXR0cmlidXRlc0VudHJ5EgwKBG5hbWUYByACKAkSNgoPZW5jcnlw",
+ "dGlvbl90eXBlGAggAigOMh0ubGl2ZWtpdC5wcm90by5FbmNyeXB0aW9uVHlw",
+ "ZRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIg",
+ "ASgJOgI4ASLpAgoRU3RyZWFtVGV4dE9wdGlvbnMSDQoFdG9waWMYASACKAkS",
+ "RAoKYXR0cmlidXRlcxgCIAMoCzIwLmxpdmVraXQucHJvdG8uU3RyZWFtVGV4",
+ "dE9wdGlvbnMuQXR0cmlidXRlc0VudHJ5Eh4KFmRlc3RpbmF0aW9uX2lkZW50",
+ "aXRpZXMYAyADKAkSCgoCaWQYBCABKAkSQwoOb3BlcmF0aW9uX3R5cGUYBSAB",
+ "KA4yKy5saXZla2l0LnByb3RvLlRleHRTdHJlYW1JbmZvLk9wZXJhdGlvblR5",
+ "cGUSDwoHdmVyc2lvbhgGIAEoBRIaChJyZXBseV90b19zdHJlYW1faWQYByAB",
+ "KAkSGwoTYXR0YWNoZWRfc3RyZWFtX2lkcxgIIAMoCRIRCglnZW5lcmF0ZWQY",
+ "CSABKAgaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1",
+ "ZRgCIAEoCToCOAEi/gEKEVN0cmVhbUJ5dGVPcHRpb25zEg0KBXRvcGljGAEg",
+ "AigJEkQKCmF0dHJpYnV0ZXMYAiADKAsyMC5saXZla2l0LnByb3RvLlN0cmVh",
+ "bUJ5dGVPcHRpb25zLkF0dHJpYnV0ZXNFbnRyeRIeChZkZXN0aW5hdGlvbl9p",
+ "ZGVudGl0aWVzGAMgAygJEgoKAmlkGAQgASgJEgwKBG5hbWUYBSABKAkSEQoJ",
+ "bWltZV90eXBlGAYgASgJEhQKDHRvdGFsX2xlbmd0aBgHIAEoBBoxCg9BdHRy",
+ "aWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIi",
+ "CgtTdHJlYW1FcnJvchITCgtkZXNjcmlwdGlvbhgBIAIoCUIQqgINTGl2ZUtp",
+ "dC5Qcm90bw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.E2EeReflection.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.TextStreamReaderReadAllRequest), global::LiveKit.Proto.TextStreamReaderReadAllRequest.Parser, new[]{ "ReaderHandle", "RequestAsyncId" }, 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),
@@ -174,42 +181,42 @@ static DataStreamReflection() {
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.ByteStreamReaderReadAllRequest), global::LiveKit.Proto.ByteStreamReaderReadAllRequest.Parser, new[]{ "ReaderHandle", "RequestAsyncId" }, 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.ByteStreamReaderWriteToFileRequest), global::LiveKit.Proto.ByteStreamReaderWriteToFileRequest.Parser, new[]{ "ReaderHandle", "RequestAsyncId", "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.StreamSendFileRequest), global::LiveKit.Proto.StreamSendFileRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "FilePath", "RequestAsyncId" }, 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.StreamSendBytesRequest), global::LiveKit.Proto.StreamSendBytesRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "Bytes" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendBytesRequest), global::LiveKit.Proto.StreamSendBytesRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "Bytes", "RequestAsyncId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendBytesResponse), global::LiveKit.Proto.StreamSendBytesResponse.Parser, new[]{ "AsyncId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.StreamSendBytesCallback), global::LiveKit.Proto.StreamSendBytesCallback.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.StreamSendTextRequest), global::LiveKit.Proto.StreamSendTextRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "Text", "RequestAsyncId" }, 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.ByteStreamOpenRequest), global::LiveKit.Proto.ByteStreamOpenRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "RequestAsyncId" }, 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.ByteStreamWriterWriteRequest), global::LiveKit.Proto.ByteStreamWriterWriteRequest.Parser, new[]{ "WriterHandle", "Bytes", "RequestAsyncId" }, 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.ByteStreamWriterCloseRequest), global::LiveKit.Proto.ByteStreamWriterCloseRequest.Parser, new[]{ "WriterHandle", "Reason", "RequestAsyncId" }, 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.TextStreamOpenRequest), global::LiveKit.Proto.TextStreamOpenRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "RequestAsyncId" }, 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.TextStreamWriterWriteRequest), global::LiveKit.Proto.TextStreamWriterWriteRequest.Parser, new[]{ "WriterHandle", "Text", "RequestAsyncId" }, 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.TextStreamWriterCloseRequest), global::LiveKit.Proto.TextStreamWriterCloseRequest.Parser, new[]{ "WriterHandle", "Reason", "RequestAsyncId" }, 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", "EncryptionType" }, null, new[]{ typeof(global::LiveKit.Proto.TextStreamInfo.Types.OperationType) }, null, new pbr::GeneratedClrTypeInfo[] { null, }),
@@ -899,6 +906,7 @@ public TextStreamReaderReadAllRequest() {
public TextStreamReaderReadAllRequest(TextStreamReaderReadAllRequest other) : this() {
_hasBits0 = other._hasBits0;
readerHandle_ = other.readerHandle_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -935,6 +943,33 @@ public void ClearReaderHandle() {
_hasBits0 &= ~1;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 2;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -951,6 +986,7 @@ public bool Equals(TextStreamReaderReadAllRequest other) {
return true;
}
if (ReaderHandle != other.ReaderHandle) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -959,6 +995,7 @@ public bool Equals(TextStreamReaderReadAllRequest other) {
public override int GetHashCode() {
int hash = 1;
if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -981,6 +1018,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -995,6 +1036,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -1008,6 +1053,9 @@ public int CalculateSize() {
if (HasReaderHandle) {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -1023,6 +1071,9 @@ public void MergeFrom(TextStreamReaderReadAllRequest other) {
if (other.HasReaderHandle) {
ReaderHandle = other.ReaderHandle;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -1046,6 +1097,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ReaderHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -1069,6 +1124,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ReaderHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -3083,6 +3142,7 @@ public ByteStreamReaderReadAllRequest() {
public ByteStreamReaderReadAllRequest(ByteStreamReaderReadAllRequest other) : this() {
_hasBits0 = other._hasBits0;
readerHandle_ = other.readerHandle_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -3119,6 +3179,33 @@ public void ClearReaderHandle() {
_hasBits0 &= ~1;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 2;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -3135,6 +3222,7 @@ public bool Equals(ByteStreamReaderReadAllRequest other) {
return true;
}
if (ReaderHandle != other.ReaderHandle) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -3143,6 +3231,7 @@ public bool Equals(ByteStreamReaderReadAllRequest other) {
public override int GetHashCode() {
int hash = 1;
if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -3165,6 +3254,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -3179,6 +3272,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -3192,6 +3289,9 @@ public int CalculateSize() {
if (HasReaderHandle) {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -3207,6 +3307,9 @@ public void MergeFrom(ByteStreamReaderReadAllRequest other) {
if (other.HasReaderHandle) {
ReaderHandle = other.ReaderHandle;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -3230,6 +3333,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ReaderHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -3253,6 +3360,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ReaderHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -3865,6 +3976,7 @@ public ByteStreamReaderWriteToFileRequest() {
public ByteStreamReaderWriteToFileRequest(ByteStreamReaderWriteToFileRequest other) : this() {
_hasBits0 = other._hasBits0;
readerHandle_ = other.readerHandle_;
+ requestAsyncId_ = other.requestAsyncId_;
directory_ = other.directory_;
nameOverride_ = other.nameOverride_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -3903,6 +4015,33 @@ public void ClearReaderHandle() {
_hasBits0 &= ~1;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 2;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
/// Field number for the "directory" field.
public const int DirectoryFieldNumber = 3;
private readonly static string DirectoryDefaultValue = "";
@@ -3980,6 +4119,7 @@ public bool Equals(ByteStreamReaderWriteToFileRequest other) {
return true;
}
if (ReaderHandle != other.ReaderHandle) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
if (Directory != other.Directory) return false;
if (NameOverride != other.NameOverride) return false;
return Equals(_unknownFields, other._unknownFields);
@@ -3990,6 +4130,7 @@ public bool Equals(ByteStreamReaderWriteToFileRequest other) {
public override int GetHashCode() {
int hash = 1;
if (HasReaderHandle) hash ^= ReaderHandle.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (HasDirectory) hash ^= Directory.GetHashCode();
if (HasNameOverride) hash ^= NameOverride.GetHashCode();
if (_unknownFields != null) {
@@ -4014,6 +4155,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (HasDirectory) {
output.WriteRawTag(26);
output.WriteString(Directory);
@@ -4036,6 +4181,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (HasDirectory) {
output.WriteRawTag(26);
output.WriteString(Directory);
@@ -4057,6 +4206,9 @@ public int CalculateSize() {
if (HasReaderHandle) {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ReaderHandle);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (HasDirectory) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Directory);
}
@@ -4078,6 +4230,9 @@ public void MergeFrom(ByteStreamReaderWriteToFileRequest other) {
if (other.HasReaderHandle) {
ReaderHandle = other.ReaderHandle;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
if (other.HasDirectory) {
Directory = other.Directory;
}
@@ -4107,6 +4262,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ReaderHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
case 26: {
Directory = input.ReadString();
break;
@@ -4138,6 +4297,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ReaderHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
case 26: {
Directory = input.ReadString();
break;
@@ -5530,6 +5693,7 @@ public StreamSendFileRequest(StreamSendFileRequest other) : this() {
localParticipantHandle_ = other.localParticipantHandle_;
options_ = other.options_ != null ? other.options_.Clone() : null;
filePath_ = other.filePath_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -5607,6 +5771,33 @@ public void ClearFilePath() {
filePath_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 4;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -5625,6 +5816,7 @@ public bool Equals(StreamSendFileRequest other) {
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (!object.Equals(Options, other.Options)) return false;
if (FilePath != other.FilePath) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -5635,6 +5827,7 @@ public override int GetHashCode() {
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (options_ != null) hash ^= Options.GetHashCode();
if (HasFilePath) hash ^= FilePath.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -5665,6 +5858,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteString(FilePath);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -5687,6 +5884,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteString(FilePath);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -5706,6 +5907,9 @@ public int CalculateSize() {
if (HasFilePath) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(FilePath);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -5730,6 +5934,9 @@ public void MergeFrom(StreamSendFileRequest other) {
if (other.HasFilePath) {
FilePath = other.FilePath;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -5764,6 +5971,10 @@ public void MergeFrom(pb::CodedInputStream input) {
FilePath = input.ReadString();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -5798,6 +6009,10 @@ public void MergeFrom(pb::CodedInputStream input) {
FilePath = input.ReadString();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -6411,6 +6626,7 @@ public StreamSendBytesRequest(StreamSendBytesRequest other) : this() {
localParticipantHandle_ = other.localParticipantHandle_;
options_ = other.options_ != null ? other.options_.Clone() : null;
bytes_ = other.bytes_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -6488,6 +6704,33 @@ public void ClearBytes() {
bytes_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 4;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -6506,6 +6749,7 @@ public bool Equals(StreamSendBytesRequest other) {
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (!object.Equals(Options, other.Options)) return false;
if (Bytes != other.Bytes) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -6516,6 +6760,7 @@ public override int GetHashCode() {
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (options_ != null) hash ^= Options.GetHashCode();
if (HasBytes) hash ^= Bytes.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -6546,6 +6791,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteBytes(Bytes);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -6568,6 +6817,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteBytes(Bytes);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -6587,6 +6840,9 @@ public int CalculateSize() {
if (HasBytes) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Bytes);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -6611,6 +6867,9 @@ public void MergeFrom(StreamSendBytesRequest other) {
if (other.HasBytes) {
Bytes = other.Bytes;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -6645,6 +6904,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Bytes = input.ReadBytes();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -6679,6 +6942,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Bytes = input.ReadBytes();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -7292,6 +7559,7 @@ public StreamSendTextRequest(StreamSendTextRequest other) : this() {
localParticipantHandle_ = other.localParticipantHandle_;
options_ = other.options_ != null ? other.options_.Clone() : null;
text_ = other.text_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -7369,6 +7637,33 @@ public void ClearText() {
text_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 4;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -7387,6 +7682,7 @@ public bool Equals(StreamSendTextRequest other) {
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (!object.Equals(Options, other.Options)) return false;
if (Text != other.Text) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -7397,6 +7693,7 @@ public override int GetHashCode() {
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (options_ != null) hash ^= Options.GetHashCode();
if (HasText) hash ^= Text.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -7427,6 +7724,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteString(Text);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -7449,6 +7750,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteString(Text);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -7468,6 +7773,9 @@ public int CalculateSize() {
if (HasText) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -7492,6 +7800,9 @@ public void MergeFrom(StreamSendTextRequest other) {
if (other.HasText) {
Text = other.Text;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -7526,6 +7837,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Text = input.ReadString();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -7560,6 +7875,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Text = input.ReadString();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -8426,6 +8745,7 @@ public ByteStreamOpenRequest(ByteStreamOpenRequest other) : this() {
_hasBits0 = other._hasBits0;
localParticipantHandle_ = other.localParticipantHandle_;
options_ = other.options_ != null ? other.options_.Clone() : null;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -8477,6 +8797,33 @@ public void ClearLocalParticipantHandle() {
}
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -8494,6 +8841,7 @@ public bool Equals(ByteStreamOpenRequest other) {
}
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (!object.Equals(Options, other.Options)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -8503,6 +8851,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (options_ != null) hash ^= Options.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -8529,6 +8878,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -8547,6 +8900,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -8563,6 +8920,9 @@ public int CalculateSize() {
if (options_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -8584,6 +8944,9 @@ public void MergeFrom(ByteStreamOpenRequest other) {
}
Options.MergeFrom(other.Options);
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -8614,6 +8977,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -8644,6 +9011,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -9256,6 +9627,7 @@ public ByteStreamWriterWriteRequest(ByteStreamWriterWriteRequest other) : this()
_hasBits0 = other._hasBits0;
writerHandle_ = other.writerHandle_;
bytes_ = other.bytes_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -9318,6 +9690,33 @@ public void ClearBytes() {
bytes_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -9335,6 +9734,7 @@ public bool Equals(ByteStreamWriterWriteRequest other) {
}
if (WriterHandle != other.WriterHandle) return false;
if (Bytes != other.Bytes) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -9344,6 +9744,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasWriterHandle) hash ^= WriterHandle.GetHashCode();
if (HasBytes) hash ^= Bytes.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -9370,6 +9771,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteBytes(Bytes);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -9388,6 +9793,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteBytes(Bytes);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -9404,6 +9813,9 @@ public int CalculateSize() {
if (HasBytes) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Bytes);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -9422,6 +9834,9 @@ public void MergeFrom(ByteStreamWriterWriteRequest other) {
if (other.HasBytes) {
Bytes = other.Bytes;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -9449,6 +9864,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Bytes = input.ReadBytes();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -9476,6 +9895,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Bytes = input.ReadBytes();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -10001,6 +10424,7 @@ public ByteStreamWriterCloseRequest(ByteStreamWriterCloseRequest other) : this()
_hasBits0 = other._hasBits0;
writerHandle_ = other.writerHandle_;
reason_ = other.reason_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -10063,6 +10487,33 @@ public void ClearReason() {
reason_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -10080,6 +10531,7 @@ public bool Equals(ByteStreamWriterCloseRequest other) {
}
if (WriterHandle != other.WriterHandle) return false;
if (Reason != other.Reason) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -10089,6 +10541,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasWriterHandle) hash ^= WriterHandle.GetHashCode();
if (HasReason) hash ^= Reason.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -10115,6 +10568,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Reason);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -10133,6 +10590,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Reason);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -10149,6 +10610,9 @@ public int CalculateSize() {
if (HasReason) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Reason);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -10167,6 +10631,9 @@ public void MergeFrom(ByteStreamWriterCloseRequest other) {
if (other.HasReason) {
Reason = other.Reason;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -10194,6 +10661,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Reason = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -10221,6 +10692,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Reason = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -11000,6 +11475,7 @@ public TextStreamOpenRequest(TextStreamOpenRequest other) : this() {
_hasBits0 = other._hasBits0;
localParticipantHandle_ = other.localParticipantHandle_;
options_ = other.options_ != null ? other.options_.Clone() : null;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -11051,6 +11527,33 @@ public void ClearLocalParticipantHandle() {
}
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -11068,6 +11571,7 @@ public bool Equals(TextStreamOpenRequest other) {
}
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (!object.Equals(Options, other.Options)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -11077,6 +11581,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (options_ != null) hash ^= Options.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -11103,6 +11608,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -11121,6 +11630,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -11137,6 +11650,9 @@ public int CalculateSize() {
if (options_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -11158,6 +11674,9 @@ public void MergeFrom(TextStreamOpenRequest other) {
}
Options.MergeFrom(other.Options);
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -11188,6 +11707,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -11218,6 +11741,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -11830,6 +12357,7 @@ public TextStreamWriterWriteRequest(TextStreamWriterWriteRequest other) : this()
_hasBits0 = other._hasBits0;
writerHandle_ = other.writerHandle_;
text_ = other.text_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -11892,6 +12420,33 @@ public void ClearText() {
text_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -11909,6 +12464,7 @@ public bool Equals(TextStreamWriterWriteRequest other) {
}
if (WriterHandle != other.WriterHandle) return false;
if (Text != other.Text) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -11918,6 +12474,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasWriterHandle) hash ^= WriterHandle.GetHashCode();
if (HasText) hash ^= Text.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -11944,6 +12501,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Text);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -11962,6 +12523,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Text);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -11978,6 +12543,9 @@ public int CalculateSize() {
if (HasText) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -11996,6 +12564,9 @@ public void MergeFrom(TextStreamWriterWriteRequest other) {
if (other.HasText) {
Text = other.Text;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -12023,6 +12594,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Text = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -12050,6 +12625,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Text = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -12575,6 +13154,7 @@ public TextStreamWriterCloseRequest(TextStreamWriterCloseRequest other) : this()
_hasBits0 = other._hasBits0;
writerHandle_ = other.writerHandle_;
reason_ = other.reason_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -12637,6 +13217,33 @@ public void ClearReason() {
reason_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -12654,6 +13261,7 @@ public bool Equals(TextStreamWriterCloseRequest other) {
}
if (WriterHandle != other.WriterHandle) return false;
if (Reason != other.Reason) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -12663,6 +13271,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasWriterHandle) hash ^= WriterHandle.GetHashCode();
if (HasReason) hash ^= Reason.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -12689,6 +13298,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Reason);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -12707,6 +13320,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Reason);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -12723,6 +13340,9 @@ public int CalculateSize() {
if (HasReason) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Reason);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -12741,6 +13361,9 @@ public void MergeFrom(TextStreamWriterCloseRequest other) {
if (other.HasReason) {
Reason = other.Reason;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -12768,6 +13391,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Reason = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -12795,6 +13422,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Reason = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
diff --git a/Runtime/Scripts/Proto/DataTrack.cs b/Runtime/Scripts/Proto/DataTrack.cs
new file mode 100644
index 00000000..2870fee5
--- /dev/null
+++ b/Runtime/Scripts/Proto/DataTrack.cs
@@ -0,0 +1,6069 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: data_track.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_track.proto
+ public static partial class DataTrackReflection {
+
+ #region Descriptor
+ /// File descriptor for data_track.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static DataTrackReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChBkYXRhX3RyYWNrLnByb3RvEg1saXZla2l0LnByb3RvGgxoYW5kbGUucHJv",
+ "dG8iPQoNRGF0YVRyYWNrSW5mbxIMCgRuYW1lGAEgAigJEgsKA3NpZBgCIAIo",
+ "CRIRCgl1c2VzX2UyZWUYAyACKAgiOQoORGF0YVRyYWNrRnJhbWUSDwoHcGF5",
+ "bG9hZBgBIAIoDBIWCg51c2VyX3RpbWVzdGFtcBgCIAEoBCIgChBEYXRhVHJh",
+ "Y2tPcHRpb25zEgwKBG5hbWUYASACKAkihwEKF1B1Ymxpc2hEYXRhVHJhY2tS",
+ "ZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIwCgdv",
+ "cHRpb25zGAIgAigLMh8ubGl2ZWtpdC5wcm90by5EYXRhVHJhY2tPcHRpb25z",
+ "EhgKEHJlcXVlc3RfYXN5bmNfaWQYAyABKAQiLAoYUHVibGlzaERhdGFUcmFj",
+ "a1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEInwKGFB1Ymxpc2hEYXRhVHJh",
+ "Y2tDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIzCgV0cmFjaxgCIAEoCzIi",
+ "LmxpdmVraXQucHJvdG8uT3duZWRMb2NhbERhdGFUcmFja0gAEg8KBWVycm9y",
+ "GAMgASgJSABCCAoGcmVzdWx0InAKE093bmVkTG9jYWxEYXRhVHJhY2sSLQoG",
+ "aGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhhbmRsZRIq",
+ "CgRpbmZvGAIgAigLMhwubGl2ZWtpdC5wcm90by5EYXRhVHJhY2tJbmZvImIK",
+ "HExvY2FsRGF0YVRyYWNrVHJ5UHVzaFJlcXVlc3QSFAoMdHJhY2tfaGFuZGxl",
+ "GAEgAigEEiwKBWZyYW1lGAIgAigLMh0ubGl2ZWtpdC5wcm90by5EYXRhVHJh",
+ "Y2tGcmFtZSIuCh1Mb2NhbERhdGFUcmFja1RyeVB1c2hSZXNwb25zZRINCgVl",
+ "cnJvchgCIAEoCSI4CiBMb2NhbERhdGFUcmFja0lzUHVibGlzaGVkUmVxdWVz",
+ "dBIUCgx0cmFja19oYW5kbGUYASACKAQiOQohTG9jYWxEYXRhVHJhY2tJc1B1",
+ "Ymxpc2hlZFJlc3BvbnNlEhQKDGlzX3B1Ymxpc2hlZBgBIAIoCCI2Ch5Mb2Nh",
+ "bERhdGFUcmFja1VucHVibGlzaFJlcXVlc3QSFAoMdHJhY2tfaGFuZGxlGAEg",
+ "AigEIiEKH0xvY2FsRGF0YVRyYWNrVW5wdWJsaXNoUmVzcG9uc2UijQEKFE93",
+ "bmVkUmVtb3RlRGF0YVRyYWNrEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQu",
+ "cHJvdG8uRmZpT3duZWRIYW5kbGUSKgoEaW5mbxgCIAIoCzIcLmxpdmVraXQu",
+ "cHJvdG8uRGF0YVRyYWNrSW5mbxIaChJwdWJsaXNoZXJfaWRlbnRpdHkYAyAC",
+ "KAkiSwoaT3duZWREYXRhVHJhY2tTdWJzY3JpcHRpb24SLQoGaGFuZGxlGAEg",
+ "AigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhhbmRsZSIbChlEYXRhVHJh",
+ "Y2tTdWJzY3JpYmVPcHRpb25zIjkKIVJlbW90ZURhdGFUcmFja0lzUHVibGlz",
+ "aGVkUmVxdWVzdBIUCgx0cmFja19oYW5kbGUYASACKAQiOgoiUmVtb3RlRGF0",
+ "YVRyYWNrSXNQdWJsaXNoZWRSZXNwb25zZRIUCgxpc19wdWJsaXNoZWQYASAC",
+ "KAgihgEKGVN1YnNjcmliZURhdGFUcmFja1JlcXVlc3QSFAoMdHJhY2tfaGFu",
+ "ZGxlGAEgAigEEjkKB29wdGlvbnMYAiACKAsyKC5saXZla2l0LnByb3RvLkRh",
+ "dGFUcmFja1N1YnNjcmliZU9wdGlvbnMSGAoQcmVxdWVzdF9hc3luY19pZBgD",
+ "IAEoBCIuChpTdWJzY3JpYmVEYXRhVHJhY2tSZXNwb25zZRIQCghhc3luY19p",
+ "ZBgBIAIoBCKMAQoaU3Vic2NyaWJlRGF0YVRyYWNrQ2FsbGJhY2sSEAoIYXN5",
+ "bmNfaWQYASACKAQSQQoMc3Vic2NyaXB0aW9uGAIgASgLMikubGl2ZWtpdC5w",
+ "cm90by5Pd25lZERhdGFUcmFja1N1YnNjcmlwdGlvbkgAEg8KBWVycm9yGAMg",
+ "ASgJSABCCAoGcmVzdWx0IsgBChpEYXRhVHJhY2tTdWJzY3JpcHRpb25FdmVu",
+ "dBIbChNzdWJzY3JpcHRpb25faGFuZGxlGAEgAigEEksKDmZyYW1lX3JlY2Vp",
+ "dmVkGAIgASgLMjEubGl2ZWtpdC5wcm90by5EYXRhVHJhY2tTdWJzY3JpcHRp",
+ "b25GcmFtZVJlY2VpdmVkSAASNgoDZW9zGAMgASgLMicubGl2ZWtpdC5wcm90",
+ "by5EYXRhVHJhY2tTdWJzY3JpcHRpb25FT1NIAEIICgZkZXRhaWwiUgoiRGF0",
+ "YVRyYWNrU3Vic2NyaXB0aW9uRnJhbWVSZWNlaXZlZBIsCgVmcmFtZRgBIAIo",
+ "CzIdLmxpdmVraXQucHJvdG8uRGF0YVRyYWNrRnJhbWUiGgoYRGF0YVRyYWNr",
+ "U3Vic2NyaXB0aW9uRU9TQhCqAg1MaXZlS2l0LlByb3Rv"));
+ 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.DataTrackInfo), global::LiveKit.Proto.DataTrackInfo.Parser, new[]{ "Name", "Sid", "UsesE2Ee" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackFrame), global::LiveKit.Proto.DataTrackFrame.Parser, new[]{ "Payload", "UserTimestamp" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackOptions), global::LiveKit.Proto.DataTrackOptions.Parser, new[]{ "Name" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishDataTrackRequest), global::LiveKit.Proto.PublishDataTrackRequest.Parser, new[]{ "LocalParticipantHandle", "Options", "RequestAsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishDataTrackResponse), global::LiveKit.Proto.PublishDataTrackResponse.Parser, new[]{ "AsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishDataTrackCallback), global::LiveKit.Proto.PublishDataTrackCallback.Parser, new[]{ "AsyncId", "Track", "Error" }, new[]{ "Result" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedLocalDataTrack), global::LiveKit.Proto.OwnedLocalDataTrack.Parser, new[]{ "Handle", "Info" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalDataTrackTryPushRequest), global::LiveKit.Proto.LocalDataTrackTryPushRequest.Parser, new[]{ "TrackHandle", "Frame" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalDataTrackTryPushResponse), global::LiveKit.Proto.LocalDataTrackTryPushResponse.Parser, new[]{ "Error" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalDataTrackIsPublishedRequest), global::LiveKit.Proto.LocalDataTrackIsPublishedRequest.Parser, new[]{ "TrackHandle" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalDataTrackIsPublishedResponse), global::LiveKit.Proto.LocalDataTrackIsPublishedResponse.Parser, new[]{ "IsPublished" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalDataTrackUnpublishRequest), global::LiveKit.Proto.LocalDataTrackUnpublishRequest.Parser, new[]{ "TrackHandle" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalDataTrackUnpublishResponse), global::LiveKit.Proto.LocalDataTrackUnpublishResponse.Parser, null, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedRemoteDataTrack), global::LiveKit.Proto.OwnedRemoteDataTrack.Parser, new[]{ "Handle", "Info", "PublisherIdentity" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedDataTrackSubscription), global::LiveKit.Proto.OwnedDataTrackSubscription.Parser, new[]{ "Handle" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscribeOptions), global::LiveKit.Proto.DataTrackSubscribeOptions.Parser, null, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest), global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest.Parser, new[]{ "TrackHandle" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse), global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse.Parser, new[]{ "IsPublished" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SubscribeDataTrackRequest), global::LiveKit.Proto.SubscribeDataTrackRequest.Parser, new[]{ "TrackHandle", "Options", "RequestAsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SubscribeDataTrackResponse), global::LiveKit.Proto.SubscribeDataTrackResponse.Parser, new[]{ "AsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SubscribeDataTrackCallback), global::LiveKit.Proto.SubscribeDataTrackCallback.Parser, new[]{ "AsyncId", "Subscription", "Error" }, new[]{ "Result" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionEvent), global::LiveKit.Proto.DataTrackSubscriptionEvent.Parser, new[]{ "SubscriptionHandle", "FrameReceived", "Eos" }, new[]{ "Detail" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionFrameReceived), global::LiveKit.Proto.DataTrackSubscriptionFrameReceived.Parser, new[]{ "Frame" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionEOS), global::LiveKit.Proto.DataTrackSubscriptionEOS.Parser, null, null, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ ///
+ /// Information about a published data track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackInfo : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackInfo());
+ 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.DataTrackReflection.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 DataTrackInfo() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackInfo(DataTrackInfo other) : this() {
+ _hasBits0 = other._hasBits0;
+ name_ = other.name_;
+ sid_ = other.sid_;
+ usesE2Ee_ = other.usesE2Ee_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackInfo Clone() {
+ return new DataTrackInfo(this);
+ }
+
+ /// Field number for the "name" field.
+ public const int NameFieldNumber = 1;
+ private readonly static string NameDefaultValue = "";
+
+ private string name_;
+ ///
+ /// Name of the track assigned by the publisher.
+ ///
+ [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 "sid" field.
+ public const int SidFieldNumber = 2;
+ private readonly static string SidDefaultValue = "";
+
+ private string sid_;
+ ///
+ /// SFU-assigned track identifier.
+ ///
+ [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 "uses_e2ee" field.
+ public const int UsesE2EeFieldNumber = 3;
+ private readonly static bool UsesE2EeDefaultValue = false;
+
+ private bool usesE2Ee_;
+ ///
+ /// Whether or not frames sent on the track use end-to-end encryption.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool UsesE2Ee {
+ get { if ((_hasBits0 & 1) != 0) { return usesE2Ee_; } else { return UsesE2EeDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ usesE2Ee_ = value;
+ }
+ }
+ /// Gets whether the "uses_e2ee" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasUsesE2Ee {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "uses_e2ee" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearUsesE2Ee() {
+ _hasBits0 &= ~1;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as DataTrackInfo);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackInfo other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Name != other.Name) return false;
+ if (Sid != other.Sid) return false;
+ if (UsesE2Ee != other.UsesE2Ee) 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 (HasSid) hash ^= Sid.GetHashCode();
+ if (HasUsesE2Ee) hash ^= UsesE2Ee.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 (HasSid) {
+ output.WriteRawTag(18);
+ output.WriteString(Sid);
+ }
+ if (HasUsesE2Ee) {
+ output.WriteRawTag(24);
+ output.WriteBool(UsesE2Ee);
+ }
+ 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 (HasSid) {
+ output.WriteRawTag(18);
+ output.WriteString(Sid);
+ }
+ if (HasUsesE2Ee) {
+ output.WriteRawTag(24);
+ output.WriteBool(UsesE2Ee);
+ }
+ 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 (HasSid) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Sid);
+ }
+ if (HasUsesE2Ee) {
+ 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(DataTrackInfo other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasName) {
+ Name = other.Name;
+ }
+ if (other.HasSid) {
+ Sid = other.Sid;
+ }
+ if (other.HasUsesE2Ee) {
+ UsesE2Ee = other.UsesE2Ee;
+ }
+ _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;
+ }
+ case 18: {
+ Sid = input.ReadString();
+ break;
+ }
+ case 24: {
+ UsesE2Ee = 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: {
+ Name = input.ReadString();
+ break;
+ }
+ case 18: {
+ Sid = input.ReadString();
+ break;
+ }
+ case 24: {
+ UsesE2Ee = input.ReadBool();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// A frame published on a data track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackFrame : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackFrame());
+ 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.DataTrackReflection.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 DataTrackFrame() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackFrame(DataTrackFrame other) : this() {
+ _hasBits0 = other._hasBits0;
+ payload_ = other.payload_;
+ userTimestamp_ = other.userTimestamp_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackFrame Clone() {
+ return new DataTrackFrame(this);
+ }
+
+ /// Field number for the "payload" field.
+ public const int PayloadFieldNumber = 1;
+ private readonly static pb::ByteString PayloadDefaultValue = pb::ByteString.Empty;
+
+ private pb::ByteString payload_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public pb::ByteString 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 "user_timestamp" field.
+ public const int UserTimestampFieldNumber = 2;
+ private readonly static ulong UserTimestampDefaultValue = 0UL;
+
+ private ulong userTimestamp_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong UserTimestamp {
+ get { if ((_hasBits0 & 1) != 0) { return userTimestamp_; } else { return UserTimestampDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ userTimestamp_ = value;
+ }
+ }
+ /// Gets whether the "user_timestamp" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasUserTimestamp {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "user_timestamp" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearUserTimestamp() {
+ _hasBits0 &= ~1;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as DataTrackFrame);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackFrame other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Payload != other.Payload) return false;
+ if (UserTimestamp != other.UserTimestamp) 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 (HasPayload) hash ^= Payload.GetHashCode();
+ if (HasUserTimestamp) hash ^= UserTimestamp.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 (HasPayload) {
+ output.WriteRawTag(10);
+ output.WriteBytes(Payload);
+ }
+ if (HasUserTimestamp) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(UserTimestamp);
+ }
+ 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 (HasPayload) {
+ output.WriteRawTag(10);
+ output.WriteBytes(Payload);
+ }
+ if (HasUserTimestamp) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(UserTimestamp);
+ }
+ 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 (HasPayload) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(Payload);
+ }
+ if (HasUserTimestamp) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(UserTimestamp);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(DataTrackFrame other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasPayload) {
+ Payload = other.Payload;
+ }
+ if (other.HasUserTimestamp) {
+ UserTimestamp = other.UserTimestamp;
+ }
+ _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: {
+ Payload = input.ReadBytes();
+ break;
+ }
+ case 16: {
+ UserTimestamp = 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: {
+ Payload = input.ReadBytes();
+ break;
+ }
+ case 16: {
+ UserTimestamp = input.ReadUInt64();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Options for publishing a data track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackOptions : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackOptions());
+ 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.DataTrackReflection.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 DataTrackOptions() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackOptions(DataTrackOptions other) : this() {
+ name_ = other.name_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackOptions Clone() {
+ return new DataTrackOptions(this);
+ }
+
+ /// Field number for the "name" field.
+ public const int NameFieldNumber = 1;
+ private readonly static string NameDefaultValue = "";
+
+ private string name_;
+ ///
+ /// Track name used to identify the track to other participants.
+ ///
+ /// Must not be empty and must be unique per publisher.
+ ///
+ [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 DataTrackOptions);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackOptions 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(DataTrackOptions 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
+
+ }
+
+ ///
+ /// Publish a data track
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class PublishDataTrackRequest : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishDataTrackRequest());
+ 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.DataTrackReflection.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 PublishDataTrackRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PublishDataTrackRequest(PublishDataTrackRequest other) : this() {
+ _hasBits0 = other._hasBits0;
+ localParticipantHandle_ = other.localParticipantHandle_;
+ options_ = other.options_ != null ? other.options_.Clone() : null;
+ requestAsyncId_ = other.requestAsyncId_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PublishDataTrackRequest Clone() {
+ return new PublishDataTrackRequest(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.DataTrackOptions options_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackOptions Options {
+ get { return options_; }
+ set {
+ options_ = value;
+ }
+ }
+
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as PublishDataTrackRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(PublishDataTrackRequest 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 (RequestAsyncId != other.RequestAsyncId) 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 (HasRequestAsyncId) hash ^= RequestAsyncId.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 (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
+ 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 (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
+ 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 (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(PublishDataTrackRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasLocalParticipantHandle) {
+ LocalParticipantHandle = other.LocalParticipantHandle;
+ }
+ if (other.options_ != null) {
+ if (options_ == null) {
+ Options = new global::LiveKit.Proto.DataTrackOptions();
+ }
+ Options.MergeFrom(other.Options);
+ }
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
+ _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.DataTrackOptions();
+ }
+ input.ReadMessage(Options);
+ break;
+ }
+ case 24: {
+ RequestAsyncId = 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: {
+ LocalParticipantHandle = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ if (options_ == null) {
+ Options = new global::LiveKit.Proto.DataTrackOptions();
+ }
+ input.ReadMessage(Options);
+ break;
+ }
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class PublishDataTrackResponse : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishDataTrackResponse());
+ 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.DataTrackReflection.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 PublishDataTrackResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PublishDataTrackResponse(PublishDataTrackResponse 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 PublishDataTrackResponse Clone() {
+ return new PublishDataTrackResponse(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 PublishDataTrackResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(PublishDataTrackResponse 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(PublishDataTrackResponse 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 PublishDataTrackCallback : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PublishDataTrackCallback());
+ 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.DataTrackReflection.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 PublishDataTrackCallback() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PublishDataTrackCallback(PublishDataTrackCallback other) : this() {
+ _hasBits0 = other._hasBits0;
+ asyncId_ = other.asyncId_;
+ switch (other.ResultCase) {
+ case ResultOneofCase.Track:
+ Track = other.Track.Clone();
+ break;
+ case ResultOneofCase.Error:
+ Error = other.Error;
+ break;
+ }
+
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PublishDataTrackCallback Clone() {
+ return new PublishDataTrackCallback(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 "track" field.
+ public const int TrackFieldNumber = 2;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.OwnedLocalDataTrack Track {
+ get { return resultCase_ == ResultOneofCase.Track ? (global::LiveKit.Proto.OwnedLocalDataTrack) result_ : null; }
+ set {
+ result_ = value;
+ resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Track;
+ }
+ }
+
+ /// Field number for the "error" field.
+ public const int ErrorFieldNumber = 3;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public string Error {
+ get { return HasError ? (string) result_ : ""; }
+ set {
+ result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ resultCase_ = ResultOneofCase.Error;
+ }
+ }
+ /// Gets whether the "error" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasError {
+ get { return resultCase_ == ResultOneofCase.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) {
+ ClearResult();
+ }
+ }
+
+ private object result_;
+ /// Enum of possible cases for the "result" oneof.
+ public enum ResultOneofCase {
+ None = 0,
+ Track = 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 PublishDataTrackCallback);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(PublishDataTrackCallback other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (AsyncId != other.AsyncId) return false;
+ if (!object.Equals(Track, other.Track)) return false;
+ if (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.Track) hash ^= Track.GetHashCode();
+ if (HasError) 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.Track) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Track);
+ }
+ 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 (HasAsyncId) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(AsyncId);
+ }
+ if (resultCase_ == ResultOneofCase.Track) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Track);
+ }
+ 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 (HasAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId);
+ }
+ if (resultCase_ == ResultOneofCase.Track) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Track);
+ }
+ 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(PublishDataTrackCallback other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasAsyncId) {
+ AsyncId = other.AsyncId;
+ }
+ switch (other.ResultCase) {
+ case ResultOneofCase.Track:
+ if (Track == null) {
+ Track = new global::LiveKit.Proto.OwnedLocalDataTrack();
+ }
+ Track.MergeFrom(other.Track);
+ break;
+ case ResultOneofCase.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 8: {
+ AsyncId = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ global::LiveKit.Proto.OwnedLocalDataTrack subBuilder = new global::LiveKit.Proto.OwnedLocalDataTrack();
+ if (resultCase_ == ResultOneofCase.Track) {
+ subBuilder.MergeFrom(Track);
+ }
+ input.ReadMessage(subBuilder);
+ Track = subBuilder;
+ 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: {
+ AsyncId = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ global::LiveKit.Proto.OwnedLocalDataTrack subBuilder = new global::LiveKit.Proto.OwnedLocalDataTrack();
+ if (resultCase_ == ResultOneofCase.Track) {
+ subBuilder.MergeFrom(Track);
+ }
+ input.ReadMessage(subBuilder);
+ Track = subBuilder;
+ break;
+ }
+ case 26: {
+ Error = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class OwnedLocalDataTrack : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedLocalDataTrack());
+ 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.DataTrackReflection.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 OwnedLocalDataTrack() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public OwnedLocalDataTrack(OwnedLocalDataTrack 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 OwnedLocalDataTrack Clone() {
+ return new OwnedLocalDataTrack(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.DataTrackInfo info_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackInfo 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 OwnedLocalDataTrack);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(OwnedLocalDataTrack 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(OwnedLocalDataTrack 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.DataTrackInfo();
+ }
+ 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.DataTrackInfo();
+ }
+ 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.DataTrackInfo();
+ }
+ input.ReadMessage(Info);
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Try pushing a frame to subscribers of the track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class LocalDataTrackTryPushRequest : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalDataTrackTryPushRequest());
+ 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.DataTrackReflection.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 LocalDataTrackTryPushRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackTryPushRequest(LocalDataTrackTryPushRequest other) : this() {
+ _hasBits0 = other._hasBits0;
+ trackHandle_ = other.trackHandle_;
+ 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 LocalDataTrackTryPushRequest Clone() {
+ return new LocalDataTrackTryPushRequest(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 "frame" field.
+ public const int FrameFieldNumber = 2;
+ private global::LiveKit.Proto.DataTrackFrame frame_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackFrame 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 LocalDataTrackTryPushRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(LocalDataTrackTryPushRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (TrackHandle != other.TrackHandle) return false;
+ 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 (HasTrackHandle) hash ^= TrackHandle.GetHashCode();
+ 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 (HasTrackHandle) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(TrackHandle);
+ }
+ if (frame_ != null) {
+ output.WriteRawTag(18);
+ 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 (HasTrackHandle) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(TrackHandle);
+ }
+ if (frame_ != null) {
+ output.WriteRawTag(18);
+ 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 (HasTrackHandle) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle);
+ }
+ 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(LocalDataTrackTryPushRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasTrackHandle) {
+ TrackHandle = other.TrackHandle;
+ }
+ if (other.frame_ != null) {
+ if (frame_ == null) {
+ Frame = new global::LiveKit.Proto.DataTrackFrame();
+ }
+ 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 8: {
+ TrackHandle = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ if (frame_ == null) {
+ Frame = new global::LiveKit.Proto.DataTrackFrame();
+ }
+ 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 8: {
+ TrackHandle = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ if (frame_ == null) {
+ Frame = new global::LiveKit.Proto.DataTrackFrame();
+ }
+ input.ReadMessage(Frame);
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class LocalDataTrackTryPushResponse : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalDataTrackTryPushResponse());
+ 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.DataTrackReflection.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 LocalDataTrackTryPushResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackTryPushResponse(LocalDataTrackTryPushResponse other) : this() {
+ error_ = other.error_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackTryPushResponse Clone() {
+ return new LocalDataTrackTryPushResponse(this);
+ }
+
+ /// 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 LocalDataTrackTryPushResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(LocalDataTrackTryPushResponse 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(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 (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 (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(LocalDataTrackTryPushResponse 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 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 18: {
+ Error = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Checks if the track is still published.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class LocalDataTrackIsPublishedRequest : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalDataTrackIsPublishedRequest());
+ 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.DataTrackReflection.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 LocalDataTrackIsPublishedRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackIsPublishedRequest(LocalDataTrackIsPublishedRequest other) : this() {
+ _hasBits0 = other._hasBits0;
+ trackHandle_ = other.trackHandle_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackIsPublishedRequest Clone() {
+ return new LocalDataTrackIsPublishedRequest(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;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as LocalDataTrackIsPublishedRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(LocalDataTrackIsPublishedRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (TrackHandle != other.TrackHandle) 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 (_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 (_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 (_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 (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(LocalDataTrackIsPublishedRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasTrackHandle) {
+ TrackHandle = other.TrackHandle;
+ }
+ _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;
+ }
+ }
+ }
+ #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;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class LocalDataTrackIsPublishedResponse : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalDataTrackIsPublishedResponse());
+ 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.DataTrackReflection.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 LocalDataTrackIsPublishedResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackIsPublishedResponse(LocalDataTrackIsPublishedResponse other) : this() {
+ _hasBits0 = other._hasBits0;
+ isPublished_ = other.isPublished_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackIsPublishedResponse Clone() {
+ return new LocalDataTrackIsPublishedResponse(this);
+ }
+
+ /// Field number for the "is_published" field.
+ public const int IsPublishedFieldNumber = 1;
+ private readonly static bool IsPublishedDefaultValue = false;
+
+ private bool isPublished_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool IsPublished {
+ get { if ((_hasBits0 & 1) != 0) { return isPublished_; } else { return IsPublishedDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ isPublished_ = value;
+ }
+ }
+ /// Gets whether the "is_published" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasIsPublished {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "is_published" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearIsPublished() {
+ _hasBits0 &= ~1;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as LocalDataTrackIsPublishedResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(LocalDataTrackIsPublishedResponse other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (IsPublished != other.IsPublished) 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 (HasIsPublished) hash ^= IsPublished.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 (HasIsPublished) {
+ output.WriteRawTag(8);
+ output.WriteBool(IsPublished);
+ }
+ 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 (HasIsPublished) {
+ output.WriteRawTag(8);
+ output.WriteBool(IsPublished);
+ }
+ 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 (HasIsPublished) {
+ 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(LocalDataTrackIsPublishedResponse other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasIsPublished) {
+ IsPublished = other.IsPublished;
+ }
+ _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: {
+ IsPublished = 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: {
+ IsPublished = input.ReadBool();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Unpublishes the track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class LocalDataTrackUnpublishRequest : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalDataTrackUnpublishRequest());
+ 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.DataTrackReflection.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 LocalDataTrackUnpublishRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackUnpublishRequest(LocalDataTrackUnpublishRequest other) : this() {
+ _hasBits0 = other._hasBits0;
+ trackHandle_ = other.trackHandle_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackUnpublishRequest Clone() {
+ return new LocalDataTrackUnpublishRequest(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;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as LocalDataTrackUnpublishRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(LocalDataTrackUnpublishRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (TrackHandle != other.TrackHandle) 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 (_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 (_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 (_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 (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(LocalDataTrackUnpublishRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasTrackHandle) {
+ TrackHandle = other.TrackHandle;
+ }
+ _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;
+ }
+ }
+ }
+ #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;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class LocalDataTrackUnpublishResponse : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LocalDataTrackUnpublishResponse());
+ 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.DataTrackReflection.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 LocalDataTrackUnpublishResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackUnpublishResponse(LocalDataTrackUnpublishResponse other) : this() {
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public LocalDataTrackUnpublishResponse Clone() {
+ return new LocalDataTrackUnpublishResponse(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as LocalDataTrackUnpublishResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(LocalDataTrackUnpublishResponse 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(LocalDataTrackUnpublishResponse 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 OwnedRemoteDataTrack : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedRemoteDataTrack());
+ 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.DataTrackReflection.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 OwnedRemoteDataTrack() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public OwnedRemoteDataTrack(OwnedRemoteDataTrack other) : this() {
+ handle_ = other.handle_ != null ? other.handle_.Clone() : null;
+ info_ = other.info_ != null ? other.info_.Clone() : null;
+ publisherIdentity_ = other.publisherIdentity_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public OwnedRemoteDataTrack Clone() {
+ return new OwnedRemoteDataTrack(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.DataTrackInfo info_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackInfo Info {
+ get { return info_; }
+ set {
+ info_ = value;
+ }
+ }
+
+ /// Field number for the "publisher_identity" field.
+ public const int PublisherIdentityFieldNumber = 3;
+ private readonly static string PublisherIdentityDefaultValue = "";
+
+ private string publisherIdentity_;
+ ///
+ /// Identity of the remote participant who published the track.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public string PublisherIdentity {
+ get { return publisherIdentity_ ?? PublisherIdentityDefaultValue; }
+ set {
+ publisherIdentity_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+ /// Gets whether the "publisher_identity" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasPublisherIdentity {
+ get { return publisherIdentity_ != null; }
+ }
+ /// Clears the value of the "publisher_identity" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearPublisherIdentity() {
+ publisherIdentity_ = null;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as OwnedRemoteDataTrack);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(OwnedRemoteDataTrack 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;
+ if (PublisherIdentity != other.PublisherIdentity) 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 (HasPublisherIdentity) hash ^= PublisherIdentity.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 (HasPublisherIdentity) {
+ output.WriteRawTag(26);
+ output.WriteString(PublisherIdentity);
+ }
+ 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 (HasPublisherIdentity) {
+ output.WriteRawTag(26);
+ output.WriteString(PublisherIdentity);
+ }
+ 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 (HasPublisherIdentity) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(PublisherIdentity);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(OwnedRemoteDataTrack 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.DataTrackInfo();
+ }
+ Info.MergeFrom(other.Info);
+ }
+ if (other.HasPublisherIdentity) {
+ PublisherIdentity = other.PublisherIdentity;
+ }
+ _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.DataTrackInfo();
+ }
+ input.ReadMessage(Info);
+ break;
+ }
+ case 26: {
+ PublisherIdentity = 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 (handle_ == null) {
+ Handle = new global::LiveKit.Proto.FfiOwnedHandle();
+ }
+ input.ReadMessage(Handle);
+ break;
+ }
+ case 18: {
+ if (info_ == null) {
+ Info = new global::LiveKit.Proto.DataTrackInfo();
+ }
+ input.ReadMessage(Info);
+ break;
+ }
+ case 26: {
+ PublisherIdentity = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Handle to an active data track subscription.
+ ///
+ /// Dropping the handle will unsubscribe from the track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class OwnedDataTrackSubscription : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OwnedDataTrackSubscription());
+ 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.DataTrackReflection.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 OwnedDataTrackSubscription() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public OwnedDataTrackSubscription(OwnedDataTrackSubscription other) : this() {
+ handle_ = other.handle_ != null ? other.handle_.Clone() : null;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public OwnedDataTrackSubscription Clone() {
+ return new OwnedDataTrackSubscription(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;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as OwnedDataTrackSubscription);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(OwnedDataTrackSubscription other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (!object.Equals(Handle, other.Handle)) 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 (_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 (_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 (_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 (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(OwnedDataTrackSubscription other) {
+ if (other == null) {
+ return;
+ }
+ if (other.handle_ != null) {
+ if (handle_ == null) {
+ Handle = new global::LiveKit.Proto.FfiOwnedHandle();
+ }
+ Handle.MergeFrom(other.Handle);
+ }
+ _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;
+ }
+ }
+ }
+ #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;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Reserved for future subscription options.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackSubscribeOptions : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackSubscribeOptions());
+ 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.DataTrackReflection.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 DataTrackSubscribeOptions() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscribeOptions(DataTrackSubscribeOptions other) : this() {
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscribeOptions Clone() {
+ return new DataTrackSubscribeOptions(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as DataTrackSubscribeOptions);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackSubscribeOptions 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(DataTrackSubscribeOptions 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
+
+ }
+
+ ///
+ /// Checks if the track is still published.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class RemoteDataTrackIsPublishedRequest : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteDataTrackIsPublishedRequest());
+ 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.DataTrackReflection.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 RemoteDataTrackIsPublishedRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public RemoteDataTrackIsPublishedRequest(RemoteDataTrackIsPublishedRequest other) : this() {
+ _hasBits0 = other._hasBits0;
+ trackHandle_ = other.trackHandle_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public RemoteDataTrackIsPublishedRequest Clone() {
+ return new RemoteDataTrackIsPublishedRequest(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;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as RemoteDataTrackIsPublishedRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(RemoteDataTrackIsPublishedRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (TrackHandle != other.TrackHandle) 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 (_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 (_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 (_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 (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(RemoteDataTrackIsPublishedRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasTrackHandle) {
+ TrackHandle = other.TrackHandle;
+ }
+ _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;
+ }
+ }
+ }
+ #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;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class RemoteDataTrackIsPublishedResponse : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteDataTrackIsPublishedResponse());
+ 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.DataTrackReflection.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 RemoteDataTrackIsPublishedResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public RemoteDataTrackIsPublishedResponse(RemoteDataTrackIsPublishedResponse other) : this() {
+ _hasBits0 = other._hasBits0;
+ isPublished_ = other.isPublished_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public RemoteDataTrackIsPublishedResponse Clone() {
+ return new RemoteDataTrackIsPublishedResponse(this);
+ }
+
+ /// Field number for the "is_published" field.
+ public const int IsPublishedFieldNumber = 1;
+ private readonly static bool IsPublishedDefaultValue = false;
+
+ private bool isPublished_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool IsPublished {
+ get { if ((_hasBits0 & 1) != 0) { return isPublished_; } else { return IsPublishedDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ isPublished_ = value;
+ }
+ }
+ /// Gets whether the "is_published" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasIsPublished {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "is_published" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearIsPublished() {
+ _hasBits0 &= ~1;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as RemoteDataTrackIsPublishedResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(RemoteDataTrackIsPublishedResponse other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (IsPublished != other.IsPublished) 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 (HasIsPublished) hash ^= IsPublished.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 (HasIsPublished) {
+ output.WriteRawTag(8);
+ output.WriteBool(IsPublished);
+ }
+ 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 (HasIsPublished) {
+ output.WriteRawTag(8);
+ output.WriteBool(IsPublished);
+ }
+ 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 (HasIsPublished) {
+ 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(RemoteDataTrackIsPublishedResponse other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasIsPublished) {
+ IsPublished = other.IsPublished;
+ }
+ _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: {
+ IsPublished = 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: {
+ IsPublished = input.ReadBool();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Subscribe to a data track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class SubscribeDataTrackRequest : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SubscribeDataTrackRequest());
+ 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.DataTrackReflection.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 SubscribeDataTrackRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public SubscribeDataTrackRequest(SubscribeDataTrackRequest other) : this() {
+ _hasBits0 = other._hasBits0;
+ trackHandle_ = other.trackHandle_;
+ options_ = other.options_ != null ? other.options_.Clone() : null;
+ requestAsyncId_ = other.requestAsyncId_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public SubscribeDataTrackRequest Clone() {
+ return new SubscribeDataTrackRequest(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 "options" field.
+ public const int OptionsFieldNumber = 2;
+ private global::LiveKit.Proto.DataTrackSubscribeOptions options_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackSubscribeOptions Options {
+ get { return options_; }
+ set {
+ options_ = value;
+ }
+ }
+
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as SubscribeDataTrackRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(SubscribeDataTrackRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (TrackHandle != other.TrackHandle) return false;
+ if (!object.Equals(Options, other.Options)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) 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 (options_ != null) hash ^= Options.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.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 (options_ != null) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Options);
+ }
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
+ 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 (options_ != null) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Options);
+ }
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
+ 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 (options_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
+ }
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(SubscribeDataTrackRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasTrackHandle) {
+ TrackHandle = other.TrackHandle;
+ }
+ if (other.options_ != null) {
+ if (options_ == null) {
+ Options = new global::LiveKit.Proto.DataTrackSubscribeOptions();
+ }
+ Options.MergeFrom(other.Options);
+ }
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
+ _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 18: {
+ if (options_ == null) {
+ Options = new global::LiveKit.Proto.DataTrackSubscribeOptions();
+ }
+ input.ReadMessage(Options);
+ break;
+ }
+ case 24: {
+ RequestAsyncId = 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: {
+ TrackHandle = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ if (options_ == null) {
+ Options = new global::LiveKit.Proto.DataTrackSubscribeOptions();
+ }
+ input.ReadMessage(Options);
+ break;
+ }
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class SubscribeDataTrackResponse : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SubscribeDataTrackResponse());
+ 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.DataTrackReflection.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 SubscribeDataTrackResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public SubscribeDataTrackResponse(SubscribeDataTrackResponse 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 SubscribeDataTrackResponse Clone() {
+ return new SubscribeDataTrackResponse(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 SubscribeDataTrackResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(SubscribeDataTrackResponse 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(SubscribeDataTrackResponse 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 SubscribeDataTrackCallback : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SubscribeDataTrackCallback());
+ 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.DataTrackReflection.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 SubscribeDataTrackCallback() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public SubscribeDataTrackCallback(SubscribeDataTrackCallback other) : this() {
+ _hasBits0 = other._hasBits0;
+ asyncId_ = other.asyncId_;
+ switch (other.ResultCase) {
+ case ResultOneofCase.Subscription:
+ Subscription = other.Subscription.Clone();
+ break;
+ case ResultOneofCase.Error:
+ Error = other.Error;
+ break;
+ }
+
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public SubscribeDataTrackCallback Clone() {
+ return new SubscribeDataTrackCallback(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 "subscription" field.
+ public const int SubscriptionFieldNumber = 2;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.OwnedDataTrackSubscription Subscription {
+ get { return resultCase_ == ResultOneofCase.Subscription ? (global::LiveKit.Proto.OwnedDataTrackSubscription) result_ : null; }
+ set {
+ result_ = value;
+ resultCase_ = value == null ? ResultOneofCase.None : ResultOneofCase.Subscription;
+ }
+ }
+
+ /// Field number for the "error" field.
+ public const int ErrorFieldNumber = 3;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public string Error {
+ get { return HasError ? (string) result_ : ""; }
+ set {
+ result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ resultCase_ = ResultOneofCase.Error;
+ }
+ }
+ /// Gets whether the "error" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasError {
+ get { return resultCase_ == ResultOneofCase.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) {
+ ClearResult();
+ }
+ }
+
+ private object result_;
+ /// Enum of possible cases for the "result" oneof.
+ public enum ResultOneofCase {
+ None = 0,
+ Subscription = 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 SubscribeDataTrackCallback);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(SubscribeDataTrackCallback other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (AsyncId != other.AsyncId) return false;
+ if (!object.Equals(Subscription, other.Subscription)) return false;
+ if (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.Subscription) hash ^= Subscription.GetHashCode();
+ if (HasError) 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.Subscription) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Subscription);
+ }
+ 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 (HasAsyncId) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(AsyncId);
+ }
+ if (resultCase_ == ResultOneofCase.Subscription) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Subscription);
+ }
+ 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 (HasAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AsyncId);
+ }
+ if (resultCase_ == ResultOneofCase.Subscription) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Subscription);
+ }
+ 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(SubscribeDataTrackCallback other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasAsyncId) {
+ AsyncId = other.AsyncId;
+ }
+ switch (other.ResultCase) {
+ case ResultOneofCase.Subscription:
+ if (Subscription == null) {
+ Subscription = new global::LiveKit.Proto.OwnedDataTrackSubscription();
+ }
+ Subscription.MergeFrom(other.Subscription);
+ break;
+ case ResultOneofCase.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 8: {
+ AsyncId = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ global::LiveKit.Proto.OwnedDataTrackSubscription subBuilder = new global::LiveKit.Proto.OwnedDataTrackSubscription();
+ if (resultCase_ == ResultOneofCase.Subscription) {
+ subBuilder.MergeFrom(Subscription);
+ }
+ input.ReadMessage(subBuilder);
+ Subscription = subBuilder;
+ 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: {
+ AsyncId = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ global::LiveKit.Proto.OwnedDataTrackSubscription subBuilder = new global::LiveKit.Proto.OwnedDataTrackSubscription();
+ if (resultCase_ == ResultOneofCase.Subscription) {
+ subBuilder.MergeFrom(Subscription);
+ }
+ input.ReadMessage(subBuilder);
+ Subscription = subBuilder;
+ break;
+ }
+ case 26: {
+ Error = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Event emitted on an active subscription.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackSubscriptionEvent : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackSubscriptionEvent());
+ 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.DataTrackReflection.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 DataTrackSubscriptionEvent() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionEvent(DataTrackSubscriptionEvent other) : this() {
+ _hasBits0 = other._hasBits0;
+ subscriptionHandle_ = other.subscriptionHandle_;
+ switch (other.DetailCase) {
+ case DetailOneofCase.FrameReceived:
+ FrameReceived = other.FrameReceived.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 DataTrackSubscriptionEvent Clone() {
+ return new DataTrackSubscriptionEvent(this);
+ }
+
+ /// Field number for the "subscription_handle" field.
+ public const int SubscriptionHandleFieldNumber = 1;
+ private readonly static ulong SubscriptionHandleDefaultValue = 0UL;
+
+ private ulong subscriptionHandle_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong SubscriptionHandle {
+ get { if ((_hasBits0 & 1) != 0) { return subscriptionHandle_; } else { return SubscriptionHandleDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ subscriptionHandle_ = value;
+ }
+ }
+ /// Gets whether the "subscription_handle" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasSubscriptionHandle {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "subscription_handle" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearSubscriptionHandle() {
+ _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.DataTrackSubscriptionFrameReceived FrameReceived {
+ get { return detailCase_ == DetailOneofCase.FrameReceived ? (global::LiveKit.Proto.DataTrackSubscriptionFrameReceived) detail_ : null; }
+ set {
+ detail_ = value;
+ detailCase_ = value == null ? DetailOneofCase.None : DetailOneofCase.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.DataTrackSubscriptionEOS Eos {
+ get { return detailCase_ == DetailOneofCase.Eos ? (global::LiveKit.Proto.DataTrackSubscriptionEOS) 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,
+ FrameReceived = 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 DataTrackSubscriptionEvent);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackSubscriptionEvent other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (SubscriptionHandle != other.SubscriptionHandle) return false;
+ if (!object.Equals(FrameReceived, other.FrameReceived)) 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 (HasSubscriptionHandle) hash ^= SubscriptionHandle.GetHashCode();
+ if (detailCase_ == DetailOneofCase.FrameReceived) hash ^= FrameReceived.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 (HasSubscriptionHandle) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(SubscriptionHandle);
+ }
+ if (detailCase_ == DetailOneofCase.FrameReceived) {
+ output.WriteRawTag(18);
+ output.WriteMessage(FrameReceived);
+ }
+ 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 (HasSubscriptionHandle) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(SubscriptionHandle);
+ }
+ if (detailCase_ == DetailOneofCase.FrameReceived) {
+ output.WriteRawTag(18);
+ output.WriteMessage(FrameReceived);
+ }
+ 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 (HasSubscriptionHandle) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SubscriptionHandle);
+ }
+ if (detailCase_ == DetailOneofCase.FrameReceived) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(FrameReceived);
+ }
+ 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(DataTrackSubscriptionEvent other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasSubscriptionHandle) {
+ SubscriptionHandle = other.SubscriptionHandle;
+ }
+ switch (other.DetailCase) {
+ case DetailOneofCase.FrameReceived:
+ if (FrameReceived == null) {
+ FrameReceived = new global::LiveKit.Proto.DataTrackSubscriptionFrameReceived();
+ }
+ FrameReceived.MergeFrom(other.FrameReceived);
+ break;
+ case DetailOneofCase.Eos:
+ if (Eos == null) {
+ Eos = new global::LiveKit.Proto.DataTrackSubscriptionEOS();
+ }
+ 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: {
+ SubscriptionHandle = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ global::LiveKit.Proto.DataTrackSubscriptionFrameReceived subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionFrameReceived();
+ if (detailCase_ == DetailOneofCase.FrameReceived) {
+ subBuilder.MergeFrom(FrameReceived);
+ }
+ input.ReadMessage(subBuilder);
+ FrameReceived = subBuilder;
+ break;
+ }
+ case 26: {
+ global::LiveKit.Proto.DataTrackSubscriptionEOS subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionEOS();
+ 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: {
+ SubscriptionHandle = input.ReadUInt64();
+ break;
+ }
+ case 18: {
+ global::LiveKit.Proto.DataTrackSubscriptionFrameReceived subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionFrameReceived();
+ if (detailCase_ == DetailOneofCase.FrameReceived) {
+ subBuilder.MergeFrom(FrameReceived);
+ }
+ input.ReadMessage(subBuilder);
+ FrameReceived = subBuilder;
+ break;
+ }
+ case 26: {
+ global::LiveKit.Proto.DataTrackSubscriptionEOS subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionEOS();
+ if (detailCase_ == DetailOneofCase.Eos) {
+ subBuilder.MergeFrom(Eos);
+ }
+ input.ReadMessage(subBuilder);
+ Eos = subBuilder;
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// A frame was received.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackSubscriptionFrameReceived : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackSubscriptionFrameReceived());
+ 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.DataTrackReflection.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 DataTrackSubscriptionFrameReceived() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionFrameReceived(DataTrackSubscriptionFrameReceived 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 DataTrackSubscriptionFrameReceived Clone() {
+ return new DataTrackSubscriptionFrameReceived(this);
+ }
+
+ /// Field number for the "frame" field.
+ public const int FrameFieldNumber = 1;
+ private global::LiveKit.Proto.DataTrackFrame frame_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackFrame 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 DataTrackSubscriptionFrameReceived);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackSubscriptionFrameReceived 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(DataTrackSubscriptionFrameReceived other) {
+ if (other == null) {
+ return;
+ }
+ if (other.frame_ != null) {
+ if (frame_ == null) {
+ Frame = new global::LiveKit.Proto.DataTrackFrame();
+ }
+ 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.DataTrackFrame();
+ }
+ 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.DataTrackFrame();
+ }
+ input.ReadMessage(Frame);
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ ///
+ /// Subscription has ended (end of stream).
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackSubscriptionEOS : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackSubscriptionEOS());
+ 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.DataTrackReflection.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 DataTrackSubscriptionEOS() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionEOS(DataTrackSubscriptionEOS other) : this() {
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionEOS Clone() {
+ return new DataTrackSubscriptionEOS(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as DataTrackSubscriptionEOS);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackSubscriptionEOS 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(DataTrackSubscriptionEOS 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/Ffi.cs b/Runtime/Scripts/Proto/Ffi.cs
index 8a62dcf7..06c04483 100644
--- a/Runtime/Scripts/Proto/Ffi.cs
+++ b/Runtime/Scripts/Proto/Ffi.cs
@@ -27,297 +27,325 @@ static FfiReflection() {
"CglmZmkucHJvdG8SDWxpdmVraXQucHJvdG8aCmUyZWUucHJvdG8aC3RyYWNr",
"LnByb3RvGhd0cmFja19wdWJsaWNhdGlvbi5wcm90bxoKcm9vbS5wcm90bxoR",
"dmlkZW9fZnJhbWUucHJvdG8aEWF1ZGlvX2ZyYW1lLnByb3RvGglycGMucHJv",
- "dG8aEWRhdGFfc3RyZWFtLnByb3RvIuYlCgpGZmlSZXF1ZXN0EjAKB2Rpc3Bv",
- "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",
- "dWVzdEgAEjsKCnNlbmRfYnl0ZXMYQyABKAsyJS5saXZla2l0LnByb3RvLlN0",
- "cmVhbVNlbmRCeXRlc1JlcXVlc3RIABJmCiRzZXRfcmVtb3RlX3RyYWNrX3B1",
- "YmxpY2F0aW9uX3F1YWxpdHkYRCABKAsyNi5saXZla2l0LnByb3RvLlNldFJl",
- "bW90ZVRyYWNrUHVibGljYXRpb25RdWFsaXR5UmVxdWVzdEgAQgkKB21lc3Nh",
- "Z2Ui5SUKC0ZmaVJlc3BvbnNlEjEKB2Rpc3Bvc2UYAiABKAsyHi5saXZla2l0",
- "LnByb3RvLkRpc3Bvc2VSZXNwb25zZUgAEjEKB2Nvbm5lY3QYAyABKAsyHi5s",
- "aXZla2l0LnByb3RvLkNvbm5lY3RSZXNwb25zZUgAEjcKCmRpc2Nvbm5lY3QY",
- "BCABKAsyIS5saXZla2l0LnByb3RvLkRpc2Nvbm5lY3RSZXNwb25zZUgAEjwK",
- "DXB1Ymxpc2hfdHJhY2sYBSABKAsyIy5saXZla2l0LnByb3RvLlB1Ymxpc2hU",
- "cmFja1Jlc3BvbnNlSAASQAoPdW5wdWJsaXNoX3RyYWNrGAYgASgLMiUubGl2",
- "ZWtpdC5wcm90by5VbnB1Ymxpc2hUcmFja1Jlc3BvbnNlSAASOgoMcHVibGlz",
- "aF9kYXRhGAcgASgLMiIubGl2ZWtpdC5wcm90by5QdWJsaXNoRGF0YVJlc3Bv",
- "bnNlSAASPgoOc2V0X3N1YnNjcmliZWQYCCABKAsyJC5saXZla2l0LnByb3Rv",
- "LlNldFN1YnNjcmliZWRSZXNwb25zZUgAEkUKEnNldF9sb2NhbF9tZXRhZGF0",
- "YRgJIAEoCzInLmxpdmVraXQucHJvdG8uU2V0TG9jYWxNZXRhZGF0YVJlc3Bv",
- "bnNlSAASPQoOc2V0X2xvY2FsX25hbWUYCiABKAsyIy5saXZla2l0LnByb3Rv",
- "LlNldExvY2FsTmFtZVJlc3BvbnNlSAASSQoUc2V0X2xvY2FsX2F0dHJpYnV0",
- "ZXMYCyABKAsyKS5saXZla2l0LnByb3RvLlNldExvY2FsQXR0cmlidXRlc1Jl",
- "c3BvbnNlSAASQwoRZ2V0X3Nlc3Npb25fc3RhdHMYDCABKAsyJi5saXZla2l0",
- "LnByb3RvLkdldFNlc3Npb25TdGF0c1Jlc3BvbnNlSAASTAoVcHVibGlzaF90",
- "cmFuc2NyaXB0aW9uGA0gASgLMisubGl2ZWtpdC5wcm90by5QdWJsaXNoVHJh",
- "bnNjcmlwdGlvblJlc3BvbnNlSAASQQoQcHVibGlzaF9zaXBfZHRtZhgOIAEo",
- "CzIlLmxpdmVraXQucHJvdG8uUHVibGlzaFNpcER0bWZSZXNwb25zZUgAEkUK",
- "EmNyZWF0ZV92aWRlb190cmFjaxgPIAEoCzInLmxpdmVraXQucHJvdG8uQ3Jl",
- "YXRlVmlkZW9UcmFja1Jlc3BvbnNlSAASRQoSY3JlYXRlX2F1ZGlvX3RyYWNr",
- "GBAgASgLMicubGl2ZWtpdC5wcm90by5DcmVhdGVBdWRpb1RyYWNrUmVzcG9u",
- "c2VIABJBChBsb2NhbF90cmFja19tdXRlGBEgASgLMiUubGl2ZWtpdC5wcm90",
- "by5Mb2NhbFRyYWNrTXV0ZVJlc3BvbnNlSAASRwoTZW5hYmxlX3JlbW90ZV90",
- "cmFjaxgSIAEoCzIoLmxpdmVraXQucHJvdG8uRW5hYmxlUmVtb3RlVHJhY2tS",
- "ZXNwb25zZUgAEjQKCWdldF9zdGF0cxgTIAEoCzIfLmxpdmVraXQucHJvdG8u",
- "R2V0U3RhdHNSZXNwb25zZUgAEmQKInNldF90cmFja19zdWJzY3JpcHRpb25f",
- "cGVybWlzc2lvbnMYLyABKAsyNi5saXZla2l0LnByb3RvLlNldFRyYWNrU3Vi",
- "c2NyaXB0aW9uUGVybWlzc2lvbnNSZXNwb25zZUgAEkEKEG5ld192aWRlb19z",
- "dHJlYW0YFCABKAsyJS5saXZla2l0LnByb3RvLk5ld1ZpZGVvU3RyZWFtUmVz",
- "cG9uc2VIABJBChBuZXdfdmlkZW9fc291cmNlGBUgASgLMiUubGl2ZWtpdC5w",
- "cm90by5OZXdWaWRlb1NvdXJjZVJlc3BvbnNlSAASRwoTY2FwdHVyZV92aWRl",
- "b19mcmFtZRgWIAEoCzIoLmxpdmVraXQucHJvdG8uQ2FwdHVyZVZpZGVvRnJh",
- "bWVSZXNwb25zZUgAEjwKDXZpZGVvX2NvbnZlcnQYFyABKAsyIy5saXZla2l0",
- "LnByb3RvLlZpZGVvQ29udmVydFJlc3BvbnNlSAASWgoddmlkZW9fc3RyZWFt",
- "X2Zyb21fcGFydGljaXBhbnQYGCABKAsyMS5saXZla2l0LnByb3RvLlZpZGVv",
- "U3RyZWFtRnJvbVBhcnRpY2lwYW50UmVzcG9uc2VIABJBChBuZXdfYXVkaW9f",
- "c3RyZWFtGBkgASgLMiUubGl2ZWtpdC5wcm90by5OZXdBdWRpb1N0cmVhbVJl",
- "c3BvbnNlSAASQQoQbmV3X2F1ZGlvX3NvdXJjZRgaIAEoCzIlLmxpdmVraXQu",
- "cHJvdG8uTmV3QXVkaW9Tb3VyY2VSZXNwb25zZUgAEkcKE2NhcHR1cmVfYXVk",
- "aW9fZnJhbWUYGyABKAsyKC5saXZla2l0LnByb3RvLkNhcHR1cmVBdWRpb0Zy",
- "YW1lUmVzcG9uc2VIABJFChJjbGVhcl9hdWRpb19idWZmZXIYHCABKAsyJy5s",
- "aXZla2l0LnByb3RvLkNsZWFyQXVkaW9CdWZmZXJSZXNwb25zZUgAEkcKE25l",
- "d19hdWRpb19yZXNhbXBsZXIYHSABKAsyKC5saXZla2l0LnByb3RvLk5ld0F1",
- "ZGlvUmVzYW1wbGVyUmVzcG9uc2VIABJFChJyZW1peF9hbmRfcmVzYW1wbGUY",
- "HiABKAsyJy5saXZla2l0LnByb3RvLlJlbWl4QW5kUmVzYW1wbGVSZXNwb25z",
- "ZUgAEloKHWF1ZGlvX3N0cmVhbV9mcm9tX3BhcnRpY2lwYW50GB8gASgLMjEu",
- "bGl2ZWtpdC5wcm90by5BdWRpb1N0cmVhbUZyb21QYXJ0aWNpcGFudFJlc3Bv",
- "bnNlSAASKwoEZTJlZRggIAEoCzIbLmxpdmVraXQucHJvdG8uRTJlZVJlc3Bv",
- "bnNlSAASQwoRbmV3X3NveF9yZXNhbXBsZXIYISABKAsyJi5saXZla2l0LnBy",
- "b3RvLk5ld1NveFJlc2FtcGxlclJlc3BvbnNlSAASRQoScHVzaF9zb3hfcmVz",
- "YW1wbGVyGCIgASgLMicubGl2ZWtpdC5wcm90by5QdXNoU294UmVzYW1wbGVy",
- "UmVzcG9uc2VIABJHChNmbHVzaF9zb3hfcmVzYW1wbGVyGCMgASgLMigubGl2",
- "ZWtpdC5wcm90by5GbHVzaFNveFJlc2FtcGxlclJlc3BvbnNlSAASQwoRc2Vu",
- "ZF9jaGF0X21lc3NhZ2UYJCABKAsyJi5saXZla2l0LnByb3RvLlNlbmRDaGF0",
- "TWVzc2FnZVJlc3BvbnNlSAASOAoLcGVyZm9ybV9ycGMYJSABKAsyIS5saXZl",
- "a2l0LnByb3RvLlBlcmZvcm1ScGNSZXNwb25zZUgAEkcKE3JlZ2lzdGVyX3Jw",
- "Y19tZXRob2QYJiABKAsyKC5saXZla2l0LnByb3RvLlJlZ2lzdGVyUnBjTWV0",
- "aG9kUmVzcG9uc2VIABJLChV1bnJlZ2lzdGVyX3JwY19tZXRob2QYJyABKAsy",
- "Ki5saXZla2l0LnByb3RvLlVucmVnaXN0ZXJScGNNZXRob2RSZXNwb25zZUgA",
- "ElwKHnJwY19tZXRob2RfaW52b2NhdGlvbl9yZXNwb25zZRgoIAEoCzIyLmxp",
- "dmVraXQucHJvdG8uUnBjTWV0aG9kSW52b2NhdGlvblJlc3BvbnNlUmVzcG9u",
- "c2VIABJeCh9lbmFibGVfcmVtb3RlX3RyYWNrX3B1YmxpY2F0aW9uGCkgASgL",
- "MjMubGl2ZWtpdC5wcm90by5FbmFibGVSZW1vdGVUcmFja1B1YmxpY2F0aW9u",
- "UmVzcG9uc2VIABJxCil1cGRhdGVfcmVtb3RlX3RyYWNrX3B1YmxpY2F0aW9u",
- "X2RpbWVuc2lvbhgqIAEoCzI8LmxpdmVraXQucHJvdG8uVXBkYXRlUmVtb3Rl",
- "VHJhY2tQdWJsaWNhdGlvbkRpbWVuc2lvblJlc3BvbnNlSAASRQoSc2VuZF9z",
- "dHJlYW1faGVhZGVyGCsgASgLMicubGl2ZWtpdC5wcm90by5TZW5kU3RyZWFt",
- "SGVhZGVyUmVzcG9uc2VIABJDChFzZW5kX3N0cmVhbV9jaHVuaxgsIAEoCzIm",
- "LmxpdmVraXQucHJvdG8uU2VuZFN0cmVhbUNodW5rUmVzcG9uc2VIABJHChNz",
- "ZW5kX3N0cmVhbV90cmFpbGVyGC0gASgLMigubGl2ZWtpdC5wcm90by5TZW5k",
- "U3RyZWFtVHJhaWxlclJlc3BvbnNlSAASeQouc2V0X2RhdGFfY2hhbm5lbF9i",
- "dWZmZXJlZF9hbW91bnRfbG93X3RocmVzaG9sZBguIAEoCzI/LmxpdmVraXQu",
- "cHJvdG8uU2V0RGF0YUNoYW5uZWxCdWZmZXJlZEFtb3VudExvd1RocmVzaG9s",
- "ZFJlc3BvbnNlSAASUAoYbG9hZF9hdWRpb19maWx0ZXJfcGx1Z2luGDAgASgL",
- "MiwubGl2ZWtpdC5wcm90by5Mb2FkQXVkaW9GaWx0ZXJQbHVnaW5SZXNwb25z",
- "ZUgAEjAKB25ld19hcG0YMSABKAsyHS5saXZla2l0LnByb3RvLk5ld0FwbVJl",
- "c3BvbnNlSAASRQoSYXBtX3Byb2Nlc3Nfc3RyZWFtGDIgASgLMicubGl2ZWtp",
- "dC5wcm90by5BcG1Qcm9jZXNzU3RyZWFtUmVzcG9uc2VIABJUChphcG1fcHJv",
- "Y2Vzc19yZXZlcnNlX3N0cmVhbRgzIAEoCzIuLmxpdmVraXQucHJvdG8uQXBt",
- "UHJvY2Vzc1JldmVyc2VTdHJlYW1SZXNwb25zZUgAEkgKFGFwbV9zZXRfc3Ry",
- "ZWFtX2RlbGF5GDQgASgLMigubGl2ZWtpdC5wcm90by5BcG1TZXRTdHJlYW1E",
- "ZWxheVJlc3BvbnNlSAASVwoVYnl0ZV9yZWFkX2luY3JlbWVudGFsGDUgASgL",
- "MjYubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVyUmVhZEluY3JlbWVu",
- "dGFsUmVzcG9uc2VIABJHCg1ieXRlX3JlYWRfYWxsGDYgASgLMi4ubGl2ZWtp",
- "dC5wcm90by5CeXRlU3RyZWFtUmVhZGVyUmVhZEFsbFJlc3BvbnNlSAASUAoS",
- "Ynl0ZV93cml0ZV90b19maWxlGDcgASgLMjIubGl2ZWtpdC5wcm90by5CeXRl",
- "U3RyZWFtUmVhZGVyV3JpdGVUb0ZpbGVSZXNwb25zZUgAElcKFXRleHRfcmVh",
- "ZF9pbmNyZW1lbnRhbBg4IAEoCzI2LmxpdmVraXQucHJvdG8uVGV4dFN0cmVh",
- "bVJlYWRlclJlYWRJbmNyZW1lbnRhbFJlc3BvbnNlSAASRwoNdGV4dF9yZWFk",
- "X2FsbBg5IAEoCzIuLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVJlYWRlclJl",
- "YWRBbGxSZXNwb25zZUgAEjoKCXNlbmRfZmlsZRg6IAEoCzIlLmxpdmVraXQu",
- "cHJvdG8uU3RyZWFtU2VuZEZpbGVSZXNwb25zZUgAEjoKCXNlbmRfdGV4dBg7",
- "IAEoCzIlLmxpdmVraXQucHJvdG8uU3RyZWFtU2VuZFRleHRSZXNwb25zZUgA",
- "EkEKEGJ5dGVfc3RyZWFtX29wZW4YPCABKAsyJS5saXZla2l0LnByb3RvLkJ5",
- "dGVTdHJlYW1PcGVuUmVzcG9uc2VIABJJChFieXRlX3N0cmVhbV93cml0ZRg9",
- "IAEoCzIsLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVdyaXRlcldyaXRlUmVz",
- "cG9uc2VIABJJChFieXRlX3N0cmVhbV9jbG9zZRg+IAEoCzIsLmxpdmVraXQu",
- "cHJvdG8uQnl0ZVN0cmVhbVdyaXRlckNsb3NlUmVzcG9uc2VIABJBChB0ZXh0",
- "X3N0cmVhbV9vcGVuGD8gASgLMiUubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFt",
- "T3BlblJlc3BvbnNlSAASSQoRdGV4dF9zdHJlYW1fd3JpdGUYQCABKAsyLC5s",
- "aXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJXcml0ZVJlc3BvbnNlSAAS",
- "SQoRdGV4dF9zdHJlYW1fY2xvc2UYQSABKAsyLC5saXZla2l0LnByb3RvLlRl",
- "eHRTdHJlYW1Xcml0ZXJDbG9zZVJlc3BvbnNlSAASPAoKc2VuZF9ieXRlcxhC",
- "IAEoCzImLmxpdmVraXQucHJvdG8uU3RyZWFtU2VuZEJ5dGVzUmVzcG9uc2VI",
- "ABJnCiRzZXRfcmVtb3RlX3RyYWNrX3B1YmxpY2F0aW9uX3F1YWxpdHkYQyAB",
- "KAsyNy5saXZla2l0LnByb3RvLlNldFJlbW90ZVRyYWNrUHVibGljYXRpb25R",
- "dWFsaXR5UmVzcG9uc2VIAEIJCgdtZXNzYWdlIoUVCghGZmlFdmVudBIuCgpy",
- "b29tX2V2ZW50GAEgASgLMhgubGl2ZWtpdC5wcm90by5Sb29tRXZlbnRIABIw",
- "Cgt0cmFja19ldmVudBgCIAEoCzIZLmxpdmVraXQucHJvdG8uVHJhY2tFdmVu",
- "dEgAEj0KEnZpZGVvX3N0cmVhbV9ldmVudBgDIAEoCzIfLmxpdmVraXQucHJv",
- "dG8uVmlkZW9TdHJlYW1FdmVudEgAEj0KEmF1ZGlvX3N0cmVhbV9ldmVudBgE",
- "IAEoCzIfLmxpdmVraXQucHJvdG8uQXVkaW9TdHJlYW1FdmVudEgAEjEKB2Nv",
- "bm5lY3QYBSABKAsyHi5saXZla2l0LnByb3RvLkNvbm5lY3RDYWxsYmFja0gA",
- "EjcKCmRpc2Nvbm5lY3QYByABKAsyIS5saXZla2l0LnByb3RvLkRpc2Nvbm5l",
- "Y3RDYWxsYmFja0gAEjEKB2Rpc3Bvc2UYCCABKAsyHi5saXZla2l0LnByb3Rv",
- "LkRpc3Bvc2VDYWxsYmFja0gAEjwKDXB1Ymxpc2hfdHJhY2sYCSABKAsyIy5s",
- "aXZla2l0LnByb3RvLlB1Ymxpc2hUcmFja0NhbGxiYWNrSAASQAoPdW5wdWJs",
- "aXNoX3RyYWNrGAogASgLMiUubGl2ZWtpdC5wcm90by5VbnB1Ymxpc2hUcmFj",
- "a0NhbGxiYWNrSAASOgoMcHVibGlzaF9kYXRhGAsgASgLMiIubGl2ZWtpdC5w",
- "cm90by5QdWJsaXNoRGF0YUNhbGxiYWNrSAASTAoVcHVibGlzaF90cmFuc2Ny",
- "aXB0aW9uGAwgASgLMisubGl2ZWtpdC5wcm90by5QdWJsaXNoVHJhbnNjcmlw",
- "dGlvbkNhbGxiYWNrSAASRwoTY2FwdHVyZV9hdWRpb19mcmFtZRgNIAEoCzIo",
- "LmxpdmVraXQucHJvdG8uQ2FwdHVyZUF1ZGlvRnJhbWVDYWxsYmFja0gAEkUK",
- "EnNldF9sb2NhbF9tZXRhZGF0YRgOIAEoCzInLmxpdmVraXQucHJvdG8uU2V0",
- "TG9jYWxNZXRhZGF0YUNhbGxiYWNrSAASPQoOc2V0X2xvY2FsX25hbWUYDyAB",
- "KAsyIy5saXZla2l0LnByb3RvLlNldExvY2FsTmFtZUNhbGxiYWNrSAASSQoU",
- "c2V0X2xvY2FsX2F0dHJpYnV0ZXMYECABKAsyKS5saXZla2l0LnByb3RvLlNl",
- "dExvY2FsQXR0cmlidXRlc0NhbGxiYWNrSAASNAoJZ2V0X3N0YXRzGBEgASgL",
- "Mh8ubGl2ZWtpdC5wcm90by5HZXRTdGF0c0NhbGxiYWNrSAASJwoEbG9ncxgS",
- "IAEoCzIXLmxpdmVraXQucHJvdG8uTG9nQmF0Y2hIABJDChFnZXRfc2Vzc2lv",
- "bl9zdGF0cxgTIAEoCzImLmxpdmVraXQucHJvdG8uR2V0U2Vzc2lvblN0YXRz",
- "Q2FsbGJhY2tIABIlCgVwYW5pYxgUIAEoCzIULmxpdmVraXQucHJvdG8uUGFu",
- "aWNIABJBChBwdWJsaXNoX3NpcF9kdG1mGBUgASgLMiUubGl2ZWtpdC5wcm90",
- "by5QdWJsaXNoU2lwRHRtZkNhbGxiYWNrSAASPgoMY2hhdF9tZXNzYWdlGBYg",
- "ASgLMiYubGl2ZWtpdC5wcm90by5TZW5kQ2hhdE1lc3NhZ2VDYWxsYmFja0gA",
- "EjgKC3BlcmZvcm1fcnBjGBcgASgLMiEubGl2ZWtpdC5wcm90by5QZXJmb3Jt",
- "UnBjQ2FsbGJhY2tIABJIChVycGNfbWV0aG9kX2ludm9jYXRpb24YGCABKAsy",
- "Jy5saXZla2l0LnByb3RvLlJwY01ldGhvZEludm9jYXRpb25FdmVudEgAEkUK",
- "EnNlbmRfc3RyZWFtX2hlYWRlchgZIAEoCzInLmxpdmVraXQucHJvdG8uU2Vu",
- "ZFN0cmVhbUhlYWRlckNhbGxiYWNrSAASQwoRc2VuZF9zdHJlYW1fY2h1bmsY",
- "GiABKAsyJi5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1DaHVua0NhbGxiYWNr",
- "SAASRwoTc2VuZF9zdHJlYW1fdHJhaWxlchgbIAEoCzIoLmxpdmVraXQucHJv",
- "dG8uU2VuZFN0cmVhbVRyYWlsZXJDYWxsYmFja0gAEkgKGGJ5dGVfc3RyZWFt",
- "X3JlYWRlcl9ldmVudBgcIAEoCzIkLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVh",
- "bVJlYWRlckV2ZW50SAASVQobYnl0ZV9zdHJlYW1fcmVhZGVyX3JlYWRfYWxs",
- "GB0gASgLMi4ubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVyUmVhZEFs",
- "bENhbGxiYWNrSAASXgogYnl0ZV9zdHJlYW1fcmVhZGVyX3dyaXRlX3RvX2Zp",
- "bGUYHiABKAsyMi5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1SZWFkZXJXcml0",
- "ZVRvRmlsZUNhbGxiYWNrSAASQQoQYnl0ZV9zdHJlYW1fb3BlbhgfIAEoCzIl",
- "LmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbU9wZW5DYWxsYmFja0gAElAKGGJ5",
- "dGVfc3RyZWFtX3dyaXRlcl93cml0ZRggIAEoCzIsLmxpdmVraXQucHJvdG8u",
- "Qnl0ZVN0cmVhbVdyaXRlcldyaXRlQ2FsbGJhY2tIABJQChhieXRlX3N0cmVh",
- "bV93cml0ZXJfY2xvc2UYISABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJl",
- "YW1Xcml0ZXJDbG9zZUNhbGxiYWNrSAASOgoJc2VuZF9maWxlGCIgASgLMiUu",
- "bGl2ZWtpdC5wcm90by5TdHJlYW1TZW5kRmlsZUNhbGxiYWNrSAASSAoYdGV4",
- "dF9zdHJlYW1fcmVhZGVyX2V2ZW50GCMgASgLMiQubGl2ZWtpdC5wcm90by5U",
- "ZXh0U3RyZWFtUmVhZGVyRXZlbnRIABJVCht0ZXh0X3N0cmVhbV9yZWFkZXJf",
- "cmVhZF9hbGwYJCABKAsyLi5saXZla2l0LnByb3RvLlRleHRTdHJlYW1SZWFk",
- "ZXJSZWFkQWxsQ2FsbGJhY2tIABJBChB0ZXh0X3N0cmVhbV9vcGVuGCUgASgL",
- "MiUubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtT3BlbkNhbGxiYWNrSAASUAoY",
- "dGV4dF9zdHJlYW1fd3JpdGVyX3dyaXRlGCYgASgLMiwubGl2ZWtpdC5wcm90",
- "by5UZXh0U3RyZWFtV3JpdGVyV3JpdGVDYWxsYmFja0gAElAKGHRleHRfc3Ry",
- "ZWFtX3dyaXRlcl9jbG9zZRgnIAEoCzIsLmxpdmVraXQucHJvdG8uVGV4dFN0",
- "cmVhbVdyaXRlckNsb3NlQ2FsbGJhY2tIABI6CglzZW5kX3RleHQYKCABKAsy",
- "JS5saXZla2l0LnByb3RvLlN0cmVhbVNlbmRUZXh0Q2FsbGJhY2tIABI8Cgpz",
- "ZW5kX2J5dGVzGCkgASgLMiYubGl2ZWtpdC5wcm90by5TdHJlYW1TZW5kQnl0",
- "ZXNDYWxsYmFja0gAQgkKB21lc3NhZ2UiHwoORGlzcG9zZVJlcXVlc3QSDQoF",
- "YXN5bmMYASACKAgiIwoPRGlzcG9zZVJlc3BvbnNlEhAKCGFzeW5jX2lkGAEg",
- "ASgEIiMKD0Rpc3Bvc2VDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBCKFAQoJ",
- "TG9nUmVjb3JkEiYKBWxldmVsGAEgAigOMhcubGl2ZWtpdC5wcm90by5Mb2dM",
- "ZXZlbBIOCgZ0YXJnZXQYAiACKAkSEwoLbW9kdWxlX3BhdGgYAyABKAkSDAoE",
- "ZmlsZRgEIAEoCRIMCgRsaW5lGAUgASgNEg8KB21lc3NhZ2UYBiACKAkiNQoI",
- "TG9nQmF0Y2gSKQoHcmVjb3JkcxgBIAMoCzIYLmxpdmVraXQucHJvdG8uTG9n",
- "UmVjb3JkIhgKBVBhbmljEg8KB21lc3NhZ2UYASACKAkqUwoITG9nTGV2ZWwS",
- "DQoJTE9HX0VSUk9SEAASDAoITE9HX1dBUk4QARIMCghMT0dfSU5GTxACEg0K",
- "CUxPR19ERUJVRxADEg0KCUxPR19UUkFDRRAEQhCqAg1MaXZlS2l0LlByb3Rv"));
+ "dG8aEWRhdGFfc3RyZWFtLnByb3RvGhBkYXRhX3RyYWNrLnByb3RvItMpCgpG",
+ "ZmlSZXF1ZXN0EjAKB2Rpc3Bvc2UYAiABKAsyHS5saXZla2l0LnByb3RvLkRp",
+ "c3Bvc2VSZXF1ZXN0SAASMAoHY29ubmVjdBgDIAEoCzIdLmxpdmVraXQucHJv",
+ "dG8uQ29ubmVjdFJlcXVlc3RIABI2CgpkaXNjb25uZWN0GAQgASgLMiAubGl2",
+ "ZWtpdC5wcm90by5EaXNjb25uZWN0UmVxdWVzdEgAEjsKDXB1Ymxpc2hfdHJh",
+ "Y2sYBSABKAsyIi5saXZla2l0LnByb3RvLlB1Ymxpc2hUcmFja1JlcXVlc3RI",
+ "ABI/Cg91bnB1Ymxpc2hfdHJhY2sYBiABKAsyJC5saXZla2l0LnByb3RvLlVu",
+ "cHVibGlzaFRyYWNrUmVxdWVzdEgAEjkKDHB1Ymxpc2hfZGF0YRgHIAEoCzIh",
+ "LmxpdmVraXQucHJvdG8uUHVibGlzaERhdGFSZXF1ZXN0SAASPQoOc2V0X3N1",
+ "YnNjcmliZWQYCCABKAsyIy5saXZla2l0LnByb3RvLlNldFN1YnNjcmliZWRS",
+ "ZXF1ZXN0SAASRAoSc2V0X2xvY2FsX21ldGFkYXRhGAkgASgLMiYubGl2ZWtp",
+ "dC5wcm90by5TZXRMb2NhbE1ldGFkYXRhUmVxdWVzdEgAEjwKDnNldF9sb2Nh",
+ "bF9uYW1lGAogASgLMiIubGl2ZWtpdC5wcm90by5TZXRMb2NhbE5hbWVSZXF1",
+ "ZXN0SAASSAoUc2V0X2xvY2FsX2F0dHJpYnV0ZXMYCyABKAsyKC5saXZla2l0",
+ "LnByb3RvLlNldExvY2FsQXR0cmlidXRlc1JlcXVlc3RIABJCChFnZXRfc2Vz",
+ "c2lvbl9zdGF0cxgMIAEoCzIlLmxpdmVraXQucHJvdG8uR2V0U2Vzc2lvblN0",
+ "YXRzUmVxdWVzdEgAEksKFXB1Ymxpc2hfdHJhbnNjcmlwdGlvbhgNIAEoCzIq",
+ "LmxpdmVraXQucHJvdG8uUHVibGlzaFRyYW5zY3JpcHRpb25SZXF1ZXN0SAAS",
+ "QAoQcHVibGlzaF9zaXBfZHRtZhgOIAEoCzIkLmxpdmVraXQucHJvdG8uUHVi",
+ "bGlzaFNpcER0bWZSZXF1ZXN0SAASRAoSY3JlYXRlX3ZpZGVvX3RyYWNrGA8g",
+ "ASgLMiYubGl2ZWtpdC5wcm90by5DcmVhdGVWaWRlb1RyYWNrUmVxdWVzdEgA",
+ "EkQKEmNyZWF0ZV9hdWRpb190cmFjaxgQIAEoCzImLmxpdmVraXQucHJvdG8u",
+ "Q3JlYXRlQXVkaW9UcmFja1JlcXVlc3RIABJAChBsb2NhbF90cmFja19tdXRl",
+ "GBEgASgLMiQubGl2ZWtpdC5wcm90by5Mb2NhbFRyYWNrTXV0ZVJlcXVlc3RI",
+ "ABJGChNlbmFibGVfcmVtb3RlX3RyYWNrGBIgASgLMicubGl2ZWtpdC5wcm90",
+ "by5FbmFibGVSZW1vdGVUcmFja1JlcXVlc3RIABIzCglnZXRfc3RhdHMYEyAB",
+ "KAsyHi5saXZla2l0LnByb3RvLkdldFN0YXRzUmVxdWVzdEgAEmMKInNldF90",
+ "cmFja19zdWJzY3JpcHRpb25fcGVybWlzc2lvbnMYMCABKAsyNS5saXZla2l0",
+ "LnByb3RvLlNldFRyYWNrU3Vic2NyaXB0aW9uUGVybWlzc2lvbnNSZXF1ZXN0",
+ "SAASQAoQbmV3X3ZpZGVvX3N0cmVhbRgUIAEoCzIkLmxpdmVraXQucHJvdG8u",
+ "TmV3VmlkZW9TdHJlYW1SZXF1ZXN0SAASQAoQbmV3X3ZpZGVvX3NvdXJjZRgV",
+ "IAEoCzIkLmxpdmVraXQucHJvdG8uTmV3VmlkZW9Tb3VyY2VSZXF1ZXN0SAAS",
+ "RgoTY2FwdHVyZV92aWRlb19mcmFtZRgWIAEoCzInLmxpdmVraXQucHJvdG8u",
+ "Q2FwdHVyZVZpZGVvRnJhbWVSZXF1ZXN0SAASOwoNdmlkZW9fY29udmVydBgX",
+ "IAEoCzIiLmxpdmVraXQucHJvdG8uVmlkZW9Db252ZXJ0UmVxdWVzdEgAElkK",
+ "HXZpZGVvX3N0cmVhbV9mcm9tX3BhcnRpY2lwYW50GBggASgLMjAubGl2ZWtp",
+ "dC5wcm90by5WaWRlb1N0cmVhbUZyb21QYXJ0aWNpcGFudFJlcXVlc3RIABJA",
+ "ChBuZXdfYXVkaW9fc3RyZWFtGBkgASgLMiQubGl2ZWtpdC5wcm90by5OZXdB",
+ "dWRpb1N0cmVhbVJlcXVlc3RIABJAChBuZXdfYXVkaW9fc291cmNlGBogASgL",
+ "MiQubGl2ZWtpdC5wcm90by5OZXdBdWRpb1NvdXJjZVJlcXVlc3RIABJGChNj",
+ "YXB0dXJlX2F1ZGlvX2ZyYW1lGBsgASgLMicubGl2ZWtpdC5wcm90by5DYXB0",
+ "dXJlQXVkaW9GcmFtZVJlcXVlc3RIABJEChJjbGVhcl9hdWRpb19idWZmZXIY",
+ "HCABKAsyJi5saXZla2l0LnByb3RvLkNsZWFyQXVkaW9CdWZmZXJSZXF1ZXN0",
+ "SAASRgoTbmV3X2F1ZGlvX3Jlc2FtcGxlchgdIAEoCzInLmxpdmVraXQucHJv",
+ "dG8uTmV3QXVkaW9SZXNhbXBsZXJSZXF1ZXN0SAASRAoScmVtaXhfYW5kX3Jl",
+ "c2FtcGxlGB4gASgLMiYubGl2ZWtpdC5wcm90by5SZW1peEFuZFJlc2FtcGxl",
+ "UmVxdWVzdEgAEioKBGUyZWUYHyABKAsyGi5saXZla2l0LnByb3RvLkUyZWVS",
+ "ZXF1ZXN0SAASWQodYXVkaW9fc3RyZWFtX2Zyb21fcGFydGljaXBhbnQYICAB",
+ "KAsyMC5saXZla2l0LnByb3RvLkF1ZGlvU3RyZWFtRnJvbVBhcnRpY2lwYW50",
+ "UmVxdWVzdEgAEkIKEW5ld19zb3hfcmVzYW1wbGVyGCEgASgLMiUubGl2ZWtp",
+ "dC5wcm90by5OZXdTb3hSZXNhbXBsZXJSZXF1ZXN0SAASRAoScHVzaF9zb3hf",
+ "cmVzYW1wbGVyGCIgASgLMiYubGl2ZWtpdC5wcm90by5QdXNoU294UmVzYW1w",
+ "bGVyUmVxdWVzdEgAEkYKE2ZsdXNoX3NveF9yZXNhbXBsZXIYIyABKAsyJy5s",
+ "aXZla2l0LnByb3RvLkZsdXNoU294UmVzYW1wbGVyUmVxdWVzdEgAEkIKEXNl",
+ "bmRfY2hhdF9tZXNzYWdlGCQgASgLMiUubGl2ZWtpdC5wcm90by5TZW5kQ2hh",
+ "dE1lc3NhZ2VSZXF1ZXN0SAASQgoRZWRpdF9jaGF0X21lc3NhZ2UYJSABKAsy",
+ "JS5saXZla2l0LnByb3RvLkVkaXRDaGF0TWVzc2FnZVJlcXVlc3RIABI3Cgtw",
+ "ZXJmb3JtX3JwYxgmIAEoCzIgLmxpdmVraXQucHJvdG8uUGVyZm9ybVJwY1Jl",
+ "cXVlc3RIABJGChNyZWdpc3Rlcl9ycGNfbWV0aG9kGCcgASgLMicubGl2ZWtp",
+ "dC5wcm90by5SZWdpc3RlclJwY01ldGhvZFJlcXVlc3RIABJKChV1bnJlZ2lz",
+ "dGVyX3JwY19tZXRob2QYKCABKAsyKS5saXZla2l0LnByb3RvLlVucmVnaXN0",
+ "ZXJScGNNZXRob2RSZXF1ZXN0SAASWwoecnBjX21ldGhvZF9pbnZvY2F0aW9u",
+ "X3Jlc3BvbnNlGCkgASgLMjEubGl2ZWtpdC5wcm90by5ScGNNZXRob2RJbnZv",
+ "Y2F0aW9uUmVzcG9uc2VSZXF1ZXN0SAASXQofZW5hYmxlX3JlbW90ZV90cmFj",
+ "a19wdWJsaWNhdGlvbhgqIAEoCzIyLmxpdmVraXQucHJvdG8uRW5hYmxlUmVt",
+ "b3RlVHJhY2tQdWJsaWNhdGlvblJlcXVlc3RIABJwCil1cGRhdGVfcmVtb3Rl",
+ "X3RyYWNrX3B1YmxpY2F0aW9uX2RpbWVuc2lvbhgrIAEoCzI7LmxpdmVraXQu",
+ "cHJvdG8uVXBkYXRlUmVtb3RlVHJhY2tQdWJsaWNhdGlvbkRpbWVuc2lvblJl",
+ "cXVlc3RIABJEChJzZW5kX3N0cmVhbV9oZWFkZXIYLCABKAsyJi5saXZla2l0",
+ "LnByb3RvLlNlbmRTdHJlYW1IZWFkZXJSZXF1ZXN0SAASQgoRc2VuZF9zdHJl",
+ "YW1fY2h1bmsYLSABKAsyJS5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1DaHVu",
+ "a1JlcXVlc3RIABJGChNzZW5kX3N0cmVhbV90cmFpbGVyGC4gASgLMicubGl2",
+ "ZWtpdC5wcm90by5TZW5kU3RyZWFtVHJhaWxlclJlcXVlc3RIABJ4Ci5zZXRf",
+ "ZGF0YV9jaGFubmVsX2J1ZmZlcmVkX2Ftb3VudF9sb3dfdGhyZXNob2xkGC8g",
+ "ASgLMj4ubGl2ZWtpdC5wcm90by5TZXREYXRhQ2hhbm5lbEJ1ZmZlcmVkQW1v",
+ "dW50TG93VGhyZXNob2xkUmVxdWVzdEgAEk8KGGxvYWRfYXVkaW9fZmlsdGVy",
+ "X3BsdWdpbhgxIAEoCzIrLmxpdmVraXQucHJvdG8uTG9hZEF1ZGlvRmlsdGVy",
+ "UGx1Z2luUmVxdWVzdEgAEi8KB25ld19hcG0YMiABKAsyHC5saXZla2l0LnBy",
+ "b3RvLk5ld0FwbVJlcXVlc3RIABJEChJhcG1fcHJvY2Vzc19zdHJlYW0YMyAB",
+ "KAsyJi5saXZla2l0LnByb3RvLkFwbVByb2Nlc3NTdHJlYW1SZXF1ZXN0SAAS",
+ "UwoaYXBtX3Byb2Nlc3NfcmV2ZXJzZV9zdHJlYW0YNCABKAsyLS5saXZla2l0",
+ "LnByb3RvLkFwbVByb2Nlc3NSZXZlcnNlU3RyZWFtUmVxdWVzdEgAEkcKFGFw",
+ "bV9zZXRfc3RyZWFtX2RlbGF5GDUgASgLMicubGl2ZWtpdC5wcm90by5BcG1T",
+ "ZXRTdHJlYW1EZWxheVJlcXVlc3RIABJWChVieXRlX3JlYWRfaW5jcmVtZW50",
+ "YWwYNiABKAsyNS5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1SZWFkZXJSZWFk",
+ "SW5jcmVtZW50YWxSZXF1ZXN0SAASRgoNYnl0ZV9yZWFkX2FsbBg3IAEoCzIt",
+ "LmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVJlYWRlclJlYWRBbGxSZXF1ZXN0",
+ "SAASTwoSYnl0ZV93cml0ZV90b19maWxlGDggASgLMjEubGl2ZWtpdC5wcm90",
+ "by5CeXRlU3RyZWFtUmVhZGVyV3JpdGVUb0ZpbGVSZXF1ZXN0SAASVgoVdGV4",
+ "dF9yZWFkX2luY3JlbWVudGFsGDkgASgLMjUubGl2ZWtpdC5wcm90by5UZXh0",
+ "U3RyZWFtUmVhZGVyUmVhZEluY3JlbWVudGFsUmVxdWVzdEgAEkYKDXRleHRf",
+ "cmVhZF9hbGwYOiABKAsyLS5saXZla2l0LnByb3RvLlRleHRTdHJlYW1SZWFk",
+ "ZXJSZWFkQWxsUmVxdWVzdEgAEjkKCXNlbmRfZmlsZRg7IAEoCzIkLmxpdmVr",
+ "aXQucHJvdG8uU3RyZWFtU2VuZEZpbGVSZXF1ZXN0SAASOQoJc2VuZF90ZXh0",
+ "GDwgASgLMiQubGl2ZWtpdC5wcm90by5TdHJlYW1TZW5kVGV4dFJlcXVlc3RI",
+ "ABJAChBieXRlX3N0cmVhbV9vcGVuGD0gASgLMiQubGl2ZWtpdC5wcm90by5C",
+ "eXRlU3RyZWFtT3BlblJlcXVlc3RIABJIChFieXRlX3N0cmVhbV93cml0ZRg+",
+ "IAEoCzIrLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVdyaXRlcldyaXRlUmVx",
+ "dWVzdEgAEkgKEWJ5dGVfc3RyZWFtX2Nsb3NlGD8gASgLMisubGl2ZWtpdC5w",
+ "cm90by5CeXRlU3RyZWFtV3JpdGVyQ2xvc2VSZXF1ZXN0SAASQAoQdGV4dF9z",
+ "dHJlYW1fb3BlbhhAIAEoCzIkLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbU9w",
+ "ZW5SZXF1ZXN0SAASSAoRdGV4dF9zdHJlYW1fd3JpdGUYQSABKAsyKy5saXZl",
+ "a2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJXcml0ZVJlcXVlc3RIABJIChF0",
+ "ZXh0X3N0cmVhbV9jbG9zZRhCIAEoCzIrLmxpdmVraXQucHJvdG8uVGV4dFN0",
+ "cmVhbVdyaXRlckNsb3NlUmVxdWVzdEgAEjsKCnNlbmRfYnl0ZXMYQyABKAsy",
+ "JS5saXZla2l0LnByb3RvLlN0cmVhbVNlbmRCeXRlc1JlcXVlc3RIABJmCiRz",
+ "ZXRfcmVtb3RlX3RyYWNrX3B1YmxpY2F0aW9uX3F1YWxpdHkYRCABKAsyNi5s",
+ "aXZla2l0LnByb3RvLlNldFJlbW90ZVRyYWNrUHVibGljYXRpb25RdWFsaXR5",
+ "UmVxdWVzdEgAEkQKEnB1Ymxpc2hfZGF0YV90cmFjaxhFIAEoCzImLmxpdmVr",
+ "aXQucHJvdG8uUHVibGlzaERhdGFUcmFja1JlcXVlc3RIABJQChlsb2NhbF9k",
+ "YXRhX3RyYWNrX3RyeV9wdXNoGEYgASgLMisubGl2ZWtpdC5wcm90by5Mb2Nh",
+ "bERhdGFUcmFja1RyeVB1c2hSZXF1ZXN0SAASUwoabG9jYWxfZGF0YV90cmFj",
+ "a191bnB1Ymxpc2gYRyABKAsyLS5saXZla2l0LnByb3RvLkxvY2FsRGF0YVRy",
+ "YWNrVW5wdWJsaXNoUmVxdWVzdEgAElgKHWxvY2FsX2RhdGFfdHJhY2tfaXNf",
+ "cHVibGlzaGVkGEggASgLMi8ubGl2ZWtpdC5wcm90by5Mb2NhbERhdGFUcmFj",
+ "a0lzUHVibGlzaGVkUmVxdWVzdEgAEkgKFHN1YnNjcmliZV9kYXRhX3RyYWNr",
+ "GEkgASgLMigubGl2ZWtpdC5wcm90by5TdWJzY3JpYmVEYXRhVHJhY2tSZXF1",
+ "ZXN0SAASWgoecmVtb3RlX2RhdGFfdHJhY2tfaXNfcHVibGlzaGVkGEogASgL",
+ "MjAubGl2ZWtpdC5wcm90by5SZW1vdGVEYXRhVHJhY2tJc1B1Ymxpc2hlZFJl",
+ "cXVlc3RIAEIJCgdtZXNzYWdlItgpCgtGZmlSZXNwb25zZRIxCgdkaXNwb3Nl",
+ "GAIgASgLMh4ubGl2ZWtpdC5wcm90by5EaXNwb3NlUmVzcG9uc2VIABIxCgdj",
+ "b25uZWN0GAMgASgLMh4ubGl2ZWtpdC5wcm90by5Db25uZWN0UmVzcG9uc2VI",
+ "ABI3CgpkaXNjb25uZWN0GAQgASgLMiEubGl2ZWtpdC5wcm90by5EaXNjb25u",
+ "ZWN0UmVzcG9uc2VIABI8Cg1wdWJsaXNoX3RyYWNrGAUgASgLMiMubGl2ZWtp",
+ "dC5wcm90by5QdWJsaXNoVHJhY2tSZXNwb25zZUgAEkAKD3VucHVibGlzaF90",
+ "cmFjaxgGIAEoCzIlLmxpdmVraXQucHJvdG8uVW5wdWJsaXNoVHJhY2tSZXNw",
+ "b25zZUgAEjoKDHB1Ymxpc2hfZGF0YRgHIAEoCzIiLmxpdmVraXQucHJvdG8u",
+ "UHVibGlzaERhdGFSZXNwb25zZUgAEj4KDnNldF9zdWJzY3JpYmVkGAggASgL",
+ "MiQubGl2ZWtpdC5wcm90by5TZXRTdWJzY3JpYmVkUmVzcG9uc2VIABJFChJz",
+ "ZXRfbG9jYWxfbWV0YWRhdGEYCSABKAsyJy5saXZla2l0LnByb3RvLlNldExv",
+ "Y2FsTWV0YWRhdGFSZXNwb25zZUgAEj0KDnNldF9sb2NhbF9uYW1lGAogASgL",
+ "MiMubGl2ZWtpdC5wcm90by5TZXRMb2NhbE5hbWVSZXNwb25zZUgAEkkKFHNl",
+ "dF9sb2NhbF9hdHRyaWJ1dGVzGAsgASgLMikubGl2ZWtpdC5wcm90by5TZXRM",
+ "b2NhbEF0dHJpYnV0ZXNSZXNwb25zZUgAEkMKEWdldF9zZXNzaW9uX3N0YXRz",
+ "GAwgASgLMiYubGl2ZWtpdC5wcm90by5HZXRTZXNzaW9uU3RhdHNSZXNwb25z",
+ "ZUgAEkwKFXB1Ymxpc2hfdHJhbnNjcmlwdGlvbhgNIAEoCzIrLmxpdmVraXQu",
+ "cHJvdG8uUHVibGlzaFRyYW5zY3JpcHRpb25SZXNwb25zZUgAEkEKEHB1Ymxp",
+ "c2hfc2lwX2R0bWYYDiABKAsyJS5saXZla2l0LnByb3RvLlB1Ymxpc2hTaXBE",
+ "dG1mUmVzcG9uc2VIABJFChJjcmVhdGVfdmlkZW9fdHJhY2sYDyABKAsyJy5s",
+ "aXZla2l0LnByb3RvLkNyZWF0ZVZpZGVvVHJhY2tSZXNwb25zZUgAEkUKEmNy",
+ "ZWF0ZV9hdWRpb190cmFjaxgQIAEoCzInLmxpdmVraXQucHJvdG8uQ3JlYXRl",
+ "QXVkaW9UcmFja1Jlc3BvbnNlSAASQQoQbG9jYWxfdHJhY2tfbXV0ZRgRIAEo",
+ "CzIlLmxpdmVraXQucHJvdG8uTG9jYWxUcmFja011dGVSZXNwb25zZUgAEkcK",
+ "E2VuYWJsZV9yZW1vdGVfdHJhY2sYEiABKAsyKC5saXZla2l0LnByb3RvLkVu",
+ "YWJsZVJlbW90ZVRyYWNrUmVzcG9uc2VIABI0CglnZXRfc3RhdHMYEyABKAsy",
+ "Hy5saXZla2l0LnByb3RvLkdldFN0YXRzUmVzcG9uc2VIABJkCiJzZXRfdHJh",
+ "Y2tfc3Vic2NyaXB0aW9uX3Blcm1pc3Npb25zGC8gASgLMjYubGl2ZWtpdC5w",
+ "cm90by5TZXRUcmFja1N1YnNjcmlwdGlvblBlcm1pc3Npb25zUmVzcG9uc2VI",
+ "ABJBChBuZXdfdmlkZW9fc3RyZWFtGBQgASgLMiUubGl2ZWtpdC5wcm90by5O",
+ "ZXdWaWRlb1N0cmVhbVJlc3BvbnNlSAASQQoQbmV3X3ZpZGVvX3NvdXJjZRgV",
+ "IAEoCzIlLmxpdmVraXQucHJvdG8uTmV3VmlkZW9Tb3VyY2VSZXNwb25zZUgA",
+ "EkcKE2NhcHR1cmVfdmlkZW9fZnJhbWUYFiABKAsyKC5saXZla2l0LnByb3Rv",
+ "LkNhcHR1cmVWaWRlb0ZyYW1lUmVzcG9uc2VIABI8Cg12aWRlb19jb252ZXJ0",
+ "GBcgASgLMiMubGl2ZWtpdC5wcm90by5WaWRlb0NvbnZlcnRSZXNwb25zZUgA",
+ "EloKHXZpZGVvX3N0cmVhbV9mcm9tX3BhcnRpY2lwYW50GBggASgLMjEubGl2",
+ "ZWtpdC5wcm90by5WaWRlb1N0cmVhbUZyb21QYXJ0aWNpcGFudFJlc3BvbnNl",
+ "SAASQQoQbmV3X2F1ZGlvX3N0cmVhbRgZIAEoCzIlLmxpdmVraXQucHJvdG8u",
+ "TmV3QXVkaW9TdHJlYW1SZXNwb25zZUgAEkEKEG5ld19hdWRpb19zb3VyY2UY",
+ "GiABKAsyJS5saXZla2l0LnByb3RvLk5ld0F1ZGlvU291cmNlUmVzcG9uc2VI",
+ "ABJHChNjYXB0dXJlX2F1ZGlvX2ZyYW1lGBsgASgLMigubGl2ZWtpdC5wcm90",
+ "by5DYXB0dXJlQXVkaW9GcmFtZVJlc3BvbnNlSAASRQoSY2xlYXJfYXVkaW9f",
+ "YnVmZmVyGBwgASgLMicubGl2ZWtpdC5wcm90by5DbGVhckF1ZGlvQnVmZmVy",
+ "UmVzcG9uc2VIABJHChNuZXdfYXVkaW9fcmVzYW1wbGVyGB0gASgLMigubGl2",
+ "ZWtpdC5wcm90by5OZXdBdWRpb1Jlc2FtcGxlclJlc3BvbnNlSAASRQoScmVt",
+ "aXhfYW5kX3Jlc2FtcGxlGB4gASgLMicubGl2ZWtpdC5wcm90by5SZW1peEFu",
+ "ZFJlc2FtcGxlUmVzcG9uc2VIABJaCh1hdWRpb19zdHJlYW1fZnJvbV9wYXJ0",
+ "aWNpcGFudBgfIAEoCzIxLmxpdmVraXQucHJvdG8uQXVkaW9TdHJlYW1Gcm9t",
+ "UGFydGljaXBhbnRSZXNwb25zZUgAEisKBGUyZWUYICABKAsyGy5saXZla2l0",
+ "LnByb3RvLkUyZWVSZXNwb25zZUgAEkMKEW5ld19zb3hfcmVzYW1wbGVyGCEg",
+ "ASgLMiYubGl2ZWtpdC5wcm90by5OZXdTb3hSZXNhbXBsZXJSZXNwb25zZUgA",
+ "EkUKEnB1c2hfc294X3Jlc2FtcGxlchgiIAEoCzInLmxpdmVraXQucHJvdG8u",
+ "UHVzaFNveFJlc2FtcGxlclJlc3BvbnNlSAASRwoTZmx1c2hfc294X3Jlc2Ft",
+ "cGxlchgjIAEoCzIoLmxpdmVraXQucHJvdG8uRmx1c2hTb3hSZXNhbXBsZXJS",
+ "ZXNwb25zZUgAEkMKEXNlbmRfY2hhdF9tZXNzYWdlGCQgASgLMiYubGl2ZWtp",
+ "dC5wcm90by5TZW5kQ2hhdE1lc3NhZ2VSZXNwb25zZUgAEjgKC3BlcmZvcm1f",
+ "cnBjGCUgASgLMiEubGl2ZWtpdC5wcm90by5QZXJmb3JtUnBjUmVzcG9uc2VI",
+ "ABJHChNyZWdpc3Rlcl9ycGNfbWV0aG9kGCYgASgLMigubGl2ZWtpdC5wcm90",
+ "by5SZWdpc3RlclJwY01ldGhvZFJlc3BvbnNlSAASSwoVdW5yZWdpc3Rlcl9y",
+ "cGNfbWV0aG9kGCcgASgLMioubGl2ZWtpdC5wcm90by5VbnJlZ2lzdGVyUnBj",
+ "TWV0aG9kUmVzcG9uc2VIABJcCh5ycGNfbWV0aG9kX2ludm9jYXRpb25fcmVz",
+ "cG9uc2UYKCABKAsyMi5saXZla2l0LnByb3RvLlJwY01ldGhvZEludm9jYXRp",
+ "b25SZXNwb25zZVJlc3BvbnNlSAASXgofZW5hYmxlX3JlbW90ZV90cmFja19w",
+ "dWJsaWNhdGlvbhgpIAEoCzIzLmxpdmVraXQucHJvdG8uRW5hYmxlUmVtb3Rl",
+ "VHJhY2tQdWJsaWNhdGlvblJlc3BvbnNlSAAScQopdXBkYXRlX3JlbW90ZV90",
+ "cmFja19wdWJsaWNhdGlvbl9kaW1lbnNpb24YKiABKAsyPC5saXZla2l0LnBy",
+ "b3RvLlVwZGF0ZVJlbW90ZVRyYWNrUHVibGljYXRpb25EaW1lbnNpb25SZXNw",
+ "b25zZUgAEkUKEnNlbmRfc3RyZWFtX2hlYWRlchgrIAEoCzInLmxpdmVraXQu",
+ "cHJvdG8uU2VuZFN0cmVhbUhlYWRlclJlc3BvbnNlSAASQwoRc2VuZF9zdHJl",
+ "YW1fY2h1bmsYLCABKAsyJi5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1DaHVu",
+ "a1Jlc3BvbnNlSAASRwoTc2VuZF9zdHJlYW1fdHJhaWxlchgtIAEoCzIoLmxp",
+ "dmVraXQucHJvdG8uU2VuZFN0cmVhbVRyYWlsZXJSZXNwb25zZUgAEnkKLnNl",
+ "dF9kYXRhX2NoYW5uZWxfYnVmZmVyZWRfYW1vdW50X2xvd190aHJlc2hvbGQY",
+ "LiABKAsyPy5saXZla2l0LnByb3RvLlNldERhdGFDaGFubmVsQnVmZmVyZWRB",
+ "bW91bnRMb3dUaHJlc2hvbGRSZXNwb25zZUgAElAKGGxvYWRfYXVkaW9fZmls",
+ "dGVyX3BsdWdpbhgwIAEoCzIsLmxpdmVraXQucHJvdG8uTG9hZEF1ZGlvRmls",
+ "dGVyUGx1Z2luUmVzcG9uc2VIABIwCgduZXdfYXBtGDEgASgLMh0ubGl2ZWtp",
+ "dC5wcm90by5OZXdBcG1SZXNwb25zZUgAEkUKEmFwbV9wcm9jZXNzX3N0cmVh",
+ "bRgyIAEoCzInLmxpdmVraXQucHJvdG8uQXBtUHJvY2Vzc1N0cmVhbVJlc3Bv",
+ "bnNlSAASVAoaYXBtX3Byb2Nlc3NfcmV2ZXJzZV9zdHJlYW0YMyABKAsyLi5s",
+ "aXZla2l0LnByb3RvLkFwbVByb2Nlc3NSZXZlcnNlU3RyZWFtUmVzcG9uc2VI",
+ "ABJIChRhcG1fc2V0X3N0cmVhbV9kZWxheRg0IAEoCzIoLmxpdmVraXQucHJv",
+ "dG8uQXBtU2V0U3RyZWFtRGVsYXlSZXNwb25zZUgAElcKFWJ5dGVfcmVhZF9p",
+ "bmNyZW1lbnRhbBg1IAEoCzI2LmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVJl",
+ "YWRlclJlYWRJbmNyZW1lbnRhbFJlc3BvbnNlSAASRwoNYnl0ZV9yZWFkX2Fs",
+ "bBg2IAEoCzIuLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVJlYWRlclJlYWRB",
+ "bGxSZXNwb25zZUgAElAKEmJ5dGVfd3JpdGVfdG9fZmlsZRg3IAEoCzIyLmxp",
+ "dmVraXQucHJvdG8uQnl0ZVN0cmVhbVJlYWRlcldyaXRlVG9GaWxlUmVzcG9u",
+ "c2VIABJXChV0ZXh0X3JlYWRfaW5jcmVtZW50YWwYOCABKAsyNi5saXZla2l0",
+ "LnByb3RvLlRleHRTdHJlYW1SZWFkZXJSZWFkSW5jcmVtZW50YWxSZXNwb25z",
+ "ZUgAEkcKDXRleHRfcmVhZF9hbGwYOSABKAsyLi5saXZla2l0LnByb3RvLlRl",
+ "eHRTdHJlYW1SZWFkZXJSZWFkQWxsUmVzcG9uc2VIABI6CglzZW5kX2ZpbGUY",
+ "OiABKAsyJS5saXZla2l0LnByb3RvLlN0cmVhbVNlbmRGaWxlUmVzcG9uc2VI",
+ "ABI6CglzZW5kX3RleHQYOyABKAsyJS5saXZla2l0LnByb3RvLlN0cmVhbVNl",
+ "bmRUZXh0UmVzcG9uc2VIABJBChBieXRlX3N0cmVhbV9vcGVuGDwgASgLMiUu",
+ "bGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtT3BlblJlc3BvbnNlSAASSQoRYnl0",
+ "ZV9zdHJlYW1fd3JpdGUYPSABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJl",
+ "YW1Xcml0ZXJXcml0ZVJlc3BvbnNlSAASSQoRYnl0ZV9zdHJlYW1fY2xvc2UY",
+ "PiABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1Xcml0ZXJDbG9zZVJl",
+ "c3BvbnNlSAASQQoQdGV4dF9zdHJlYW1fb3Blbhg/IAEoCzIlLmxpdmVraXQu",
+ "cHJvdG8uVGV4dFN0cmVhbU9wZW5SZXNwb25zZUgAEkkKEXRleHRfc3RyZWFt",
+ "X3dyaXRlGEAgASgLMiwubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtV3JpdGVy",
+ "V3JpdGVSZXNwb25zZUgAEkkKEXRleHRfc3RyZWFtX2Nsb3NlGEEgASgLMiwu",
+ "bGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtV3JpdGVyQ2xvc2VSZXNwb25zZUgA",
+ "EjwKCnNlbmRfYnl0ZXMYQiABKAsyJi5saXZla2l0LnByb3RvLlN0cmVhbVNl",
+ "bmRCeXRlc1Jlc3BvbnNlSAASZwokc2V0X3JlbW90ZV90cmFja19wdWJsaWNh",
+ "dGlvbl9xdWFsaXR5GEMgASgLMjcubGl2ZWtpdC5wcm90by5TZXRSZW1vdGVU",
+ "cmFja1B1YmxpY2F0aW9uUXVhbGl0eVJlc3BvbnNlSAASRQoScHVibGlzaF9k",
+ "YXRhX3RyYWNrGEQgASgLMicubGl2ZWtpdC5wcm90by5QdWJsaXNoRGF0YVRy",
+ "YWNrUmVzcG9uc2VIABJRChlsb2NhbF9kYXRhX3RyYWNrX3RyeV9wdXNoGEUg",
+ "ASgLMiwubGl2ZWtpdC5wcm90by5Mb2NhbERhdGFUcmFja1RyeVB1c2hSZXNw",
+ "b25zZUgAElQKGmxvY2FsX2RhdGFfdHJhY2tfdW5wdWJsaXNoGEYgASgLMi4u",
+ "bGl2ZWtpdC5wcm90by5Mb2NhbERhdGFUcmFja1VucHVibGlzaFJlc3BvbnNl",
+ "SAASWQodbG9jYWxfZGF0YV90cmFja19pc19wdWJsaXNoZWQYRyABKAsyMC5s",
+ "aXZla2l0LnByb3RvLkxvY2FsRGF0YVRyYWNrSXNQdWJsaXNoZWRSZXNwb25z",
+ "ZUgAEkkKFHN1YnNjcmliZV9kYXRhX3RyYWNrGEggASgLMikubGl2ZWtpdC5w",
+ "cm90by5TdWJzY3JpYmVEYXRhVHJhY2tSZXNwb25zZUgAElsKHnJlbW90ZV9k",
+ "YXRhX3RyYWNrX2lzX3B1Ymxpc2hlZBhJIAEoCzIxLmxpdmVraXQucHJvdG8u",
+ "UmVtb3RlRGF0YVRyYWNrSXNQdWJsaXNoZWRSZXNwb25zZUgAQgkKB21lc3Nh",
+ "Z2Ui6xYKCEZmaUV2ZW50Ei4KCnJvb21fZXZlbnQYASABKAsyGC5saXZla2l0",
+ "LnByb3RvLlJvb21FdmVudEgAEjAKC3RyYWNrX2V2ZW50GAIgASgLMhkubGl2",
+ "ZWtpdC5wcm90by5UcmFja0V2ZW50SAASPQoSdmlkZW9fc3RyZWFtX2V2ZW50",
+ "GAMgASgLMh8ubGl2ZWtpdC5wcm90by5WaWRlb1N0cmVhbUV2ZW50SAASPQoS",
+ "YXVkaW9fc3RyZWFtX2V2ZW50GAQgASgLMh8ubGl2ZWtpdC5wcm90by5BdWRp",
+ "b1N0cmVhbUV2ZW50SAASMQoHY29ubmVjdBgFIAEoCzIeLmxpdmVraXQucHJv",
+ "dG8uQ29ubmVjdENhbGxiYWNrSAASNwoKZGlzY29ubmVjdBgHIAEoCzIhLmxp",
+ "dmVraXQucHJvdG8uRGlzY29ubmVjdENhbGxiYWNrSAASMQoHZGlzcG9zZRgI",
+ "IAEoCzIeLmxpdmVraXQucHJvdG8uRGlzcG9zZUNhbGxiYWNrSAASPAoNcHVi",
+ "bGlzaF90cmFjaxgJIAEoCzIjLmxpdmVraXQucHJvdG8uUHVibGlzaFRyYWNr",
+ "Q2FsbGJhY2tIABJACg91bnB1Ymxpc2hfdHJhY2sYCiABKAsyJS5saXZla2l0",
+ "LnByb3RvLlVucHVibGlzaFRyYWNrQ2FsbGJhY2tIABI6CgxwdWJsaXNoX2Rh",
+ "dGEYCyABKAsyIi5saXZla2l0LnByb3RvLlB1Ymxpc2hEYXRhQ2FsbGJhY2tI",
+ "ABJMChVwdWJsaXNoX3RyYW5zY3JpcHRpb24YDCABKAsyKy5saXZla2l0LnBy",
+ "b3RvLlB1Ymxpc2hUcmFuc2NyaXB0aW9uQ2FsbGJhY2tIABJHChNjYXB0dXJl",
+ "X2F1ZGlvX2ZyYW1lGA0gASgLMigubGl2ZWtpdC5wcm90by5DYXB0dXJlQXVk",
+ "aW9GcmFtZUNhbGxiYWNrSAASRQoSc2V0X2xvY2FsX21ldGFkYXRhGA4gASgL",
+ "MicubGl2ZWtpdC5wcm90by5TZXRMb2NhbE1ldGFkYXRhQ2FsbGJhY2tIABI9",
+ "Cg5zZXRfbG9jYWxfbmFtZRgPIAEoCzIjLmxpdmVraXQucHJvdG8uU2V0TG9j",
+ "YWxOYW1lQ2FsbGJhY2tIABJJChRzZXRfbG9jYWxfYXR0cmlidXRlcxgQIAEo",
+ "CzIpLmxpdmVraXQucHJvdG8uU2V0TG9jYWxBdHRyaWJ1dGVzQ2FsbGJhY2tI",
+ "ABI0CglnZXRfc3RhdHMYESABKAsyHy5saXZla2l0LnByb3RvLkdldFN0YXRz",
+ "Q2FsbGJhY2tIABInCgRsb2dzGBIgASgLMhcubGl2ZWtpdC5wcm90by5Mb2dC",
+ "YXRjaEgAEkMKEWdldF9zZXNzaW9uX3N0YXRzGBMgASgLMiYubGl2ZWtpdC5w",
+ "cm90by5HZXRTZXNzaW9uU3RhdHNDYWxsYmFja0gAEiUKBXBhbmljGBQgASgL",
+ "MhQubGl2ZWtpdC5wcm90by5QYW5pY0gAEkEKEHB1Ymxpc2hfc2lwX2R0bWYY",
+ "FSABKAsyJS5saXZla2l0LnByb3RvLlB1Ymxpc2hTaXBEdG1mQ2FsbGJhY2tI",
+ "ABI+CgxjaGF0X21lc3NhZ2UYFiABKAsyJi5saXZla2l0LnByb3RvLlNlbmRD",
+ "aGF0TWVzc2FnZUNhbGxiYWNrSAASOAoLcGVyZm9ybV9ycGMYFyABKAsyIS5s",
+ "aXZla2l0LnByb3RvLlBlcmZvcm1ScGNDYWxsYmFja0gAEkgKFXJwY19tZXRo",
+ "b2RfaW52b2NhdGlvbhgYIAEoCzInLmxpdmVraXQucHJvdG8uUnBjTWV0aG9k",
+ "SW52b2NhdGlvbkV2ZW50SAASRQoSc2VuZF9zdHJlYW1faGVhZGVyGBkgASgL",
+ "MicubGl2ZWtpdC5wcm90by5TZW5kU3RyZWFtSGVhZGVyQ2FsbGJhY2tIABJD",
+ "ChFzZW5kX3N0cmVhbV9jaHVuaxgaIAEoCzImLmxpdmVraXQucHJvdG8uU2Vu",
+ "ZFN0cmVhbUNodW5rQ2FsbGJhY2tIABJHChNzZW5kX3N0cmVhbV90cmFpbGVy",
+ "GBsgASgLMigubGl2ZWtpdC5wcm90by5TZW5kU3RyZWFtVHJhaWxlckNhbGxi",
+ "YWNrSAASSAoYYnl0ZV9zdHJlYW1fcmVhZGVyX2V2ZW50GBwgASgLMiQubGl2",
+ "ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVyRXZlbnRIABJVChtieXRlX3N0",
+ "cmVhbV9yZWFkZXJfcmVhZF9hbGwYHSABKAsyLi5saXZla2l0LnByb3RvLkJ5",
+ "dGVTdHJlYW1SZWFkZXJSZWFkQWxsQ2FsbGJhY2tIABJeCiBieXRlX3N0cmVh",
+ "bV9yZWFkZXJfd3JpdGVfdG9fZmlsZRgeIAEoCzIyLmxpdmVraXQucHJvdG8u",
+ "Qnl0ZVN0cmVhbVJlYWRlcldyaXRlVG9GaWxlQ2FsbGJhY2tIABJBChBieXRl",
+ "X3N0cmVhbV9vcGVuGB8gASgLMiUubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFt",
+ "T3BlbkNhbGxiYWNrSAASUAoYYnl0ZV9zdHJlYW1fd3JpdGVyX3dyaXRlGCAg",
+ "ASgLMiwubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtV3JpdGVyV3JpdGVDYWxs",
+ "YmFja0gAElAKGGJ5dGVfc3RyZWFtX3dyaXRlcl9jbG9zZRghIAEoCzIsLmxp",
+ "dmVraXQucHJvdG8uQnl0ZVN0cmVhbVdyaXRlckNsb3NlQ2FsbGJhY2tIABI6",
+ "CglzZW5kX2ZpbGUYIiABKAsyJS5saXZla2l0LnByb3RvLlN0cmVhbVNlbmRG",
+ "aWxlQ2FsbGJhY2tIABJIChh0ZXh0X3N0cmVhbV9yZWFkZXJfZXZlbnQYIyAB",
+ "KAsyJC5saXZla2l0LnByb3RvLlRleHRTdHJlYW1SZWFkZXJFdmVudEgAElUK",
+ "G3RleHRfc3RyZWFtX3JlYWRlcl9yZWFkX2FsbBgkIAEoCzIuLmxpdmVraXQu",
+ "cHJvdG8uVGV4dFN0cmVhbVJlYWRlclJlYWRBbGxDYWxsYmFja0gAEkEKEHRl",
+ "eHRfc3RyZWFtX29wZW4YJSABKAsyJS5saXZla2l0LnByb3RvLlRleHRTdHJl",
+ "YW1PcGVuQ2FsbGJhY2tIABJQChh0ZXh0X3N0cmVhbV93cml0ZXJfd3JpdGUY",
+ "JiABKAsyLC5saXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJXcml0ZUNh",
+ "bGxiYWNrSAASUAoYdGV4dF9zdHJlYW1fd3JpdGVyX2Nsb3NlGCcgASgLMiwu",
+ "bGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtV3JpdGVyQ2xvc2VDYWxsYmFja0gA",
+ "EjoKCXNlbmRfdGV4dBgoIAEoCzIlLmxpdmVraXQucHJvdG8uU3RyZWFtU2Vu",
+ "ZFRleHRDYWxsYmFja0gAEjwKCnNlbmRfYnl0ZXMYKSABKAsyJi5saXZla2l0",
+ "LnByb3RvLlN0cmVhbVNlbmRCeXRlc0NhbGxiYWNrSAASRQoScHVibGlzaF9k",
+ "YXRhX3RyYWNrGCogASgLMicubGl2ZWtpdC5wcm90by5QdWJsaXNoRGF0YVRy",
+ "YWNrQ2FsbGJhY2tIABJJChRzdWJzY3JpYmVfZGF0YV90cmFjaxgrIAEoCzIp",
+ "LmxpdmVraXQucHJvdG8uU3Vic2NyaWJlRGF0YVRyYWNrQ2FsbGJhY2tIABJS",
+ "Ch1kYXRhX3RyYWNrX3N1YnNjcmlwdGlvbl9ldmVudBgsIAEoCzIpLmxpdmVr",
+ "aXQucHJvdG8uRGF0YVRyYWNrU3Vic2NyaXB0aW9uRXZlbnRIAEIJCgdtZXNz",
+ "YWdlIh8KDkRpc3Bvc2VSZXF1ZXN0Eg0KBWFzeW5jGAEgAigIIiMKD0Rpc3Bv",
+ "c2VSZXNwb25zZRIQCghhc3luY19pZBgBIAEoBCIjCg9EaXNwb3NlQ2FsbGJh",
+ "Y2sSEAoIYXN5bmNfaWQYASACKAQihQEKCUxvZ1JlY29yZBImCgVsZXZlbBgB",
+ "IAIoDjIXLmxpdmVraXQucHJvdG8uTG9nTGV2ZWwSDgoGdGFyZ2V0GAIgAigJ",
+ "EhMKC21vZHVsZV9wYXRoGAMgASgJEgwKBGZpbGUYBCABKAkSDAoEbGluZRgF",
+ "IAEoDRIPCgdtZXNzYWdlGAYgAigJIjUKCExvZ0JhdGNoEikKB3JlY29yZHMY",
+ "ASADKAsyGC5saXZla2l0LnByb3RvLkxvZ1JlY29yZCIYCgVQYW5pYxIPCgdt",
+ "ZXNzYWdlGAEgAigJKlMKCExvZ0xldmVsEg0KCUxPR19FUlJPUhAAEgwKCExP",
+ "R19XQVJOEAESDAoITE9HX0lORk8QAhINCglMT0dfREVCVUcQAxINCglMT0df",
+ "VFJBQ0UQBEIQqgINTGl2ZUtpdC5Qcm90bw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
- 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::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, global::LiveKit.Proto.DataTrackReflection.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", "SendBytes", "SetRemoteTrackPublicationQuality" }, 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", "SendBytes", "SetRemoteTrackPublicationQuality" }, 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", "SendBytes" }, new[]{ "Message" }, null, null, null),
+ 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", "SendBytes", "SetRemoteTrackPublicationQuality", "PublishDataTrack", "LocalDataTrackTryPush", "LocalDataTrackUnpublish", "LocalDataTrackIsPublished", "SubscribeDataTrack", "RemoteDataTrackIsPublished" }, 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", "SendBytes", "SetRemoteTrackPublicationQuality", "PublishDataTrack", "LocalDataTrackTryPush", "LocalDataTrackUnpublish", "LocalDataTrackIsPublished", "SubscribeDataTrack", "RemoteDataTrackIsPublished" }, 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", "SendBytes", "PublishDataTrack", "SubscribeDataTrack", "DataTrackSubscriptionEvent" }, 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" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisposeCallback), global::LiveKit.Proto.DisposeCallback.Parser, new[]{ "AsyncId" }, null, null, null, null),
@@ -582,6 +610,24 @@ public FfiRequest(FfiRequest other) : this() {
case MessageOneofCase.SetRemoteTrackPublicationQuality:
SetRemoteTrackPublicationQuality = other.SetRemoteTrackPublicationQuality.Clone();
break;
+ case MessageOneofCase.PublishDataTrack:
+ PublishDataTrack = other.PublishDataTrack.Clone();
+ break;
+ case MessageOneofCase.LocalDataTrackTryPush:
+ LocalDataTrackTryPush = other.LocalDataTrackTryPush.Clone();
+ break;
+ case MessageOneofCase.LocalDataTrackUnpublish:
+ LocalDataTrackUnpublish = other.LocalDataTrackUnpublish.Clone();
+ break;
+ case MessageOneofCase.LocalDataTrackIsPublished:
+ LocalDataTrackIsPublished = other.LocalDataTrackIsPublished.Clone();
+ break;
+ case MessageOneofCase.SubscribeDataTrack:
+ SubscribeDataTrack = other.SubscribeDataTrack.Clone();
+ break;
+ case MessageOneofCase.RemoteDataTrackIsPublished:
+ RemoteDataTrackIsPublished = other.RemoteDataTrackIsPublished.Clone();
+ break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -1427,6 +1473,84 @@ public FfiRequest Clone() {
}
}
+ /// Field number for the "publish_data_track" field.
+ public const int PublishDataTrackFieldNumber = 69;
+ ///
+ /// Data Track (local)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.PublishDataTrackRequest PublishDataTrack {
+ get { return messageCase_ == MessageOneofCase.PublishDataTrack ? (global::LiveKit.Proto.PublishDataTrackRequest) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishDataTrack;
+ }
+ }
+
+ /// Field number for the "local_data_track_try_push" field.
+ public const int LocalDataTrackTryPushFieldNumber = 70;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.LocalDataTrackTryPushRequest LocalDataTrackTryPush {
+ get { return messageCase_ == MessageOneofCase.LocalDataTrackTryPush ? (global::LiveKit.Proto.LocalDataTrackTryPushRequest) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalDataTrackTryPush;
+ }
+ }
+
+ /// Field number for the "local_data_track_unpublish" field.
+ public const int LocalDataTrackUnpublishFieldNumber = 71;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.LocalDataTrackUnpublishRequest LocalDataTrackUnpublish {
+ get { return messageCase_ == MessageOneofCase.LocalDataTrackUnpublish ? (global::LiveKit.Proto.LocalDataTrackUnpublishRequest) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalDataTrackUnpublish;
+ }
+ }
+
+ /// Field number for the "local_data_track_is_published" field.
+ public const int LocalDataTrackIsPublishedFieldNumber = 72;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.LocalDataTrackIsPublishedRequest LocalDataTrackIsPublished {
+ get { return messageCase_ == MessageOneofCase.LocalDataTrackIsPublished ? (global::LiveKit.Proto.LocalDataTrackIsPublishedRequest) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalDataTrackIsPublished;
+ }
+ }
+
+ /// Field number for the "subscribe_data_track" field.
+ public const int SubscribeDataTrackFieldNumber = 73;
+ ///
+ /// Data Track (remote)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.SubscribeDataTrackRequest SubscribeDataTrack {
+ get { return messageCase_ == MessageOneofCase.SubscribeDataTrack ? (global::LiveKit.Proto.SubscribeDataTrackRequest) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SubscribeDataTrack;
+ }
+ }
+
+ /// Field number for the "remote_data_track_is_published" field.
+ public const int RemoteDataTrackIsPublishedFieldNumber = 74;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest RemoteDataTrackIsPublished {
+ get { return messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished ? (global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RemoteDataTrackIsPublished;
+ }
+ }
+
private object message_;
/// Enum of possible cases for the "message" oneof.
public enum MessageOneofCase {
@@ -1498,6 +1622,12 @@ public enum MessageOneofCase {
TextStreamClose = 66,
SendBytes = 67,
SetRemoteTrackPublicationQuality = 68,
+ PublishDataTrack = 69,
+ LocalDataTrackTryPush = 70,
+ LocalDataTrackUnpublish = 71,
+ LocalDataTrackIsPublished = 72,
+ SubscribeDataTrack = 73,
+ RemoteDataTrackIsPublished = 74,
}
private MessageOneofCase messageCase_ = MessageOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -1595,6 +1725,12 @@ public bool Equals(FfiRequest other) {
if (!object.Equals(TextStreamClose, other.TextStreamClose)) return false;
if (!object.Equals(SendBytes, other.SendBytes)) return false;
if (!object.Equals(SetRemoteTrackPublicationQuality, other.SetRemoteTrackPublicationQuality)) return false;
+ if (!object.Equals(PublishDataTrack, other.PublishDataTrack)) return false;
+ if (!object.Equals(LocalDataTrackTryPush, other.LocalDataTrackTryPush)) return false;
+ if (!object.Equals(LocalDataTrackUnpublish, other.LocalDataTrackUnpublish)) return false;
+ if (!object.Equals(LocalDataTrackIsPublished, other.LocalDataTrackIsPublished)) return false;
+ if (!object.Equals(SubscribeDataTrack, other.SubscribeDataTrack)) return false;
+ if (!object.Equals(RemoteDataTrackIsPublished, other.RemoteDataTrackIsPublished)) return false;
if (MessageCase != other.MessageCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -1670,6 +1806,12 @@ public override int GetHashCode() {
if (messageCase_ == MessageOneofCase.TextStreamClose) hash ^= TextStreamClose.GetHashCode();
if (messageCase_ == MessageOneofCase.SendBytes) hash ^= SendBytes.GetHashCode();
if (messageCase_ == MessageOneofCase.SetRemoteTrackPublicationQuality) hash ^= SetRemoteTrackPublicationQuality.GetHashCode();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) hash ^= PublishDataTrack.GetHashCode();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) hash ^= LocalDataTrackTryPush.GetHashCode();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) hash ^= LocalDataTrackUnpublish.GetHashCode();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) hash ^= LocalDataTrackIsPublished.GetHashCode();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) hash ^= SubscribeDataTrack.GetHashCode();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) hash ^= RemoteDataTrackIsPublished.GetHashCode();
hash ^= (int) messageCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -1957,6 +2099,30 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(162, 4);
output.WriteMessage(SetRemoteTrackPublicationQuality);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ output.WriteRawTag(170, 4);
+ output.WriteMessage(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ output.WriteRawTag(178, 4);
+ output.WriteMessage(LocalDataTrackTryPush);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ output.WriteRawTag(186, 4);
+ output.WriteMessage(LocalDataTrackUnpublish);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ output.WriteRawTag(194, 4);
+ output.WriteMessage(LocalDataTrackIsPublished);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ output.WriteRawTag(202, 4);
+ output.WriteMessage(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ output.WriteRawTag(210, 4);
+ output.WriteMessage(RemoteDataTrackIsPublished);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -2235,6 +2401,30 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(162, 4);
output.WriteMessage(SetRemoteTrackPublicationQuality);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ output.WriteRawTag(170, 4);
+ output.WriteMessage(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ output.WriteRawTag(178, 4);
+ output.WriteMessage(LocalDataTrackTryPush);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ output.WriteRawTag(186, 4);
+ output.WriteMessage(LocalDataTrackUnpublish);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ output.WriteRawTag(194, 4);
+ output.WriteMessage(LocalDataTrackIsPublished);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ output.WriteRawTag(202, 4);
+ output.WriteMessage(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ output.WriteRawTag(210, 4);
+ output.WriteMessage(RemoteDataTrackIsPublished);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -2446,6 +2636,24 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.SetRemoteTrackPublicationQuality) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetRemoteTrackPublicationQuality);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalDataTrackTryPush);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalDataTrackUnpublish);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalDataTrackIsPublished);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteDataTrackIsPublished);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -2861,6 +3069,42 @@ public void MergeFrom(FfiRequest other) {
}
SetRemoteTrackPublicationQuality.MergeFrom(other.SetRemoteTrackPublicationQuality);
break;
+ case MessageOneofCase.PublishDataTrack:
+ if (PublishDataTrack == null) {
+ PublishDataTrack = new global::LiveKit.Proto.PublishDataTrackRequest();
+ }
+ PublishDataTrack.MergeFrom(other.PublishDataTrack);
+ break;
+ case MessageOneofCase.LocalDataTrackTryPush:
+ if (LocalDataTrackTryPush == null) {
+ LocalDataTrackTryPush = new global::LiveKit.Proto.LocalDataTrackTryPushRequest();
+ }
+ LocalDataTrackTryPush.MergeFrom(other.LocalDataTrackTryPush);
+ break;
+ case MessageOneofCase.LocalDataTrackUnpublish:
+ if (LocalDataTrackUnpublish == null) {
+ LocalDataTrackUnpublish = new global::LiveKit.Proto.LocalDataTrackUnpublishRequest();
+ }
+ LocalDataTrackUnpublish.MergeFrom(other.LocalDataTrackUnpublish);
+ break;
+ case MessageOneofCase.LocalDataTrackIsPublished:
+ if (LocalDataTrackIsPublished == null) {
+ LocalDataTrackIsPublished = new global::LiveKit.Proto.LocalDataTrackIsPublishedRequest();
+ }
+ LocalDataTrackIsPublished.MergeFrom(other.LocalDataTrackIsPublished);
+ break;
+ case MessageOneofCase.SubscribeDataTrack:
+ if (SubscribeDataTrack == null) {
+ SubscribeDataTrack = new global::LiveKit.Proto.SubscribeDataTrackRequest();
+ }
+ SubscribeDataTrack.MergeFrom(other.SubscribeDataTrack);
+ break;
+ case MessageOneofCase.RemoteDataTrackIsPublished:
+ if (RemoteDataTrackIsPublished == null) {
+ RemoteDataTrackIsPublished = new global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest();
+ }
+ RemoteDataTrackIsPublished.MergeFrom(other.RemoteDataTrackIsPublished);
+ break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -3485,6 +3729,60 @@ public void MergeFrom(pb::CodedInputStream input) {
SetRemoteTrackPublicationQuality = subBuilder;
break;
}
+ case 554: {
+ global::LiveKit.Proto.PublishDataTrackRequest subBuilder = new global::LiveKit.Proto.PublishDataTrackRequest();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ subBuilder.MergeFrom(PublishDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ PublishDataTrack = subBuilder;
+ break;
+ }
+ case 562: {
+ global::LiveKit.Proto.LocalDataTrackTryPushRequest subBuilder = new global::LiveKit.Proto.LocalDataTrackTryPushRequest();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ subBuilder.MergeFrom(LocalDataTrackTryPush);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackTryPush = subBuilder;
+ break;
+ }
+ case 570: {
+ global::LiveKit.Proto.LocalDataTrackUnpublishRequest subBuilder = new global::LiveKit.Proto.LocalDataTrackUnpublishRequest();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ subBuilder.MergeFrom(LocalDataTrackUnpublish);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackUnpublish = subBuilder;
+ break;
+ }
+ case 578: {
+ global::LiveKit.Proto.LocalDataTrackIsPublishedRequest subBuilder = new global::LiveKit.Proto.LocalDataTrackIsPublishedRequest();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ subBuilder.MergeFrom(LocalDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackIsPublished = subBuilder;
+ break;
+ }
+ case 586: {
+ global::LiveKit.Proto.SubscribeDataTrackRequest subBuilder = new global::LiveKit.Proto.SubscribeDataTrackRequest();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ subBuilder.MergeFrom(SubscribeDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ SubscribeDataTrack = subBuilder;
+ break;
+ }
+ case 594: {
+ global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest subBuilder = new global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ subBuilder.MergeFrom(RemoteDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ RemoteDataTrackIsPublished = subBuilder;
+ break;
+ }
}
}
#endif
@@ -4107,6 +4405,60 @@ public void MergeFrom(pb::CodedInputStream input) {
SetRemoteTrackPublicationQuality = subBuilder;
break;
}
+ case 554: {
+ global::LiveKit.Proto.PublishDataTrackRequest subBuilder = new global::LiveKit.Proto.PublishDataTrackRequest();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ subBuilder.MergeFrom(PublishDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ PublishDataTrack = subBuilder;
+ break;
+ }
+ case 562: {
+ global::LiveKit.Proto.LocalDataTrackTryPushRequest subBuilder = new global::LiveKit.Proto.LocalDataTrackTryPushRequest();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ subBuilder.MergeFrom(LocalDataTrackTryPush);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackTryPush = subBuilder;
+ break;
+ }
+ case 570: {
+ global::LiveKit.Proto.LocalDataTrackUnpublishRequest subBuilder = new global::LiveKit.Proto.LocalDataTrackUnpublishRequest();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ subBuilder.MergeFrom(LocalDataTrackUnpublish);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackUnpublish = subBuilder;
+ break;
+ }
+ case 578: {
+ global::LiveKit.Proto.LocalDataTrackIsPublishedRequest subBuilder = new global::LiveKit.Proto.LocalDataTrackIsPublishedRequest();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ subBuilder.MergeFrom(LocalDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackIsPublished = subBuilder;
+ break;
+ }
+ case 586: {
+ global::LiveKit.Proto.SubscribeDataTrackRequest subBuilder = new global::LiveKit.Proto.SubscribeDataTrackRequest();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ subBuilder.MergeFrom(SubscribeDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ SubscribeDataTrack = subBuilder;
+ break;
+ }
+ case 594: {
+ global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest subBuilder = new global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ subBuilder.MergeFrom(RemoteDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ RemoteDataTrackIsPublished = subBuilder;
+ break;
+ }
}
}
}
@@ -4351,6 +4703,24 @@ public FfiResponse(FfiResponse other) : this() {
case MessageOneofCase.SetRemoteTrackPublicationQuality:
SetRemoteTrackPublicationQuality = other.SetRemoteTrackPublicationQuality.Clone();
break;
+ case MessageOneofCase.PublishDataTrack:
+ PublishDataTrack = other.PublishDataTrack.Clone();
+ break;
+ case MessageOneofCase.LocalDataTrackTryPush:
+ LocalDataTrackTryPush = other.LocalDataTrackTryPush.Clone();
+ break;
+ case MessageOneofCase.LocalDataTrackUnpublish:
+ LocalDataTrackUnpublish = other.LocalDataTrackUnpublish.Clone();
+ break;
+ case MessageOneofCase.LocalDataTrackIsPublished:
+ LocalDataTrackIsPublished = other.LocalDataTrackIsPublished.Clone();
+ break;
+ case MessageOneofCase.SubscribeDataTrack:
+ SubscribeDataTrack = other.SubscribeDataTrack.Clone();
+ break;
+ case MessageOneofCase.RemoteDataTrackIsPublished:
+ RemoteDataTrackIsPublished = other.RemoteDataTrackIsPublished.Clone();
+ break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -5184,6 +5554,84 @@ public FfiResponse Clone() {
}
}
+ /// Field number for the "publish_data_track" field.
+ public const int PublishDataTrackFieldNumber = 68;
+ ///
+ /// Data Track (local)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.PublishDataTrackResponse PublishDataTrack {
+ get { return messageCase_ == MessageOneofCase.PublishDataTrack ? (global::LiveKit.Proto.PublishDataTrackResponse) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishDataTrack;
+ }
+ }
+
+ /// Field number for the "local_data_track_try_push" field.
+ public const int LocalDataTrackTryPushFieldNumber = 69;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.LocalDataTrackTryPushResponse LocalDataTrackTryPush {
+ get { return messageCase_ == MessageOneofCase.LocalDataTrackTryPush ? (global::LiveKit.Proto.LocalDataTrackTryPushResponse) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalDataTrackTryPush;
+ }
+ }
+
+ /// Field number for the "local_data_track_unpublish" field.
+ public const int LocalDataTrackUnpublishFieldNumber = 70;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.LocalDataTrackUnpublishResponse LocalDataTrackUnpublish {
+ get { return messageCase_ == MessageOneofCase.LocalDataTrackUnpublish ? (global::LiveKit.Proto.LocalDataTrackUnpublishResponse) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalDataTrackUnpublish;
+ }
+ }
+
+ /// Field number for the "local_data_track_is_published" field.
+ public const int LocalDataTrackIsPublishedFieldNumber = 71;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.LocalDataTrackIsPublishedResponse LocalDataTrackIsPublished {
+ get { return messageCase_ == MessageOneofCase.LocalDataTrackIsPublished ? (global::LiveKit.Proto.LocalDataTrackIsPublishedResponse) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.LocalDataTrackIsPublished;
+ }
+ }
+
+ /// Field number for the "subscribe_data_track" field.
+ public const int SubscribeDataTrackFieldNumber = 72;
+ ///
+ /// Data Track (remote)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.SubscribeDataTrackResponse SubscribeDataTrack {
+ get { return messageCase_ == MessageOneofCase.SubscribeDataTrack ? (global::LiveKit.Proto.SubscribeDataTrackResponse) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SubscribeDataTrack;
+ }
+ }
+
+ /// Field number for the "remote_data_track_is_published" field.
+ public const int RemoteDataTrackIsPublishedFieldNumber = 73;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse RemoteDataTrackIsPublished {
+ get { return messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished ? (global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RemoteDataTrackIsPublished;
+ }
+ }
+
private object message_;
/// Enum of possible cases for the "message" oneof.
public enum MessageOneofCase {
@@ -5254,6 +5702,12 @@ public enum MessageOneofCase {
TextStreamClose = 65,
SendBytes = 66,
SetRemoteTrackPublicationQuality = 67,
+ PublishDataTrack = 68,
+ LocalDataTrackTryPush = 69,
+ LocalDataTrackUnpublish = 70,
+ LocalDataTrackIsPublished = 71,
+ SubscribeDataTrack = 72,
+ RemoteDataTrackIsPublished = 73,
}
private MessageOneofCase messageCase_ = MessageOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -5350,6 +5804,12 @@ public bool Equals(FfiResponse other) {
if (!object.Equals(TextStreamClose, other.TextStreamClose)) return false;
if (!object.Equals(SendBytes, other.SendBytes)) return false;
if (!object.Equals(SetRemoteTrackPublicationQuality, other.SetRemoteTrackPublicationQuality)) return false;
+ if (!object.Equals(PublishDataTrack, other.PublishDataTrack)) return false;
+ if (!object.Equals(LocalDataTrackTryPush, other.LocalDataTrackTryPush)) return false;
+ if (!object.Equals(LocalDataTrackUnpublish, other.LocalDataTrackUnpublish)) return false;
+ if (!object.Equals(LocalDataTrackIsPublished, other.LocalDataTrackIsPublished)) return false;
+ if (!object.Equals(SubscribeDataTrack, other.SubscribeDataTrack)) return false;
+ if (!object.Equals(RemoteDataTrackIsPublished, other.RemoteDataTrackIsPublished)) return false;
if (MessageCase != other.MessageCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -5424,6 +5884,12 @@ public override int GetHashCode() {
if (messageCase_ == MessageOneofCase.TextStreamClose) hash ^= TextStreamClose.GetHashCode();
if (messageCase_ == MessageOneofCase.SendBytes) hash ^= SendBytes.GetHashCode();
if (messageCase_ == MessageOneofCase.SetRemoteTrackPublicationQuality) hash ^= SetRemoteTrackPublicationQuality.GetHashCode();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) hash ^= PublishDataTrack.GetHashCode();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) hash ^= LocalDataTrackTryPush.GetHashCode();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) hash ^= LocalDataTrackUnpublish.GetHashCode();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) hash ^= LocalDataTrackIsPublished.GetHashCode();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) hash ^= SubscribeDataTrack.GetHashCode();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) hash ^= RemoteDataTrackIsPublished.GetHashCode();
hash ^= (int) messageCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -5707,6 +6173,30 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(154, 4);
output.WriteMessage(SetRemoteTrackPublicationQuality);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ output.WriteRawTag(162, 4);
+ output.WriteMessage(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ output.WriteRawTag(170, 4);
+ output.WriteMessage(LocalDataTrackTryPush);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ output.WriteRawTag(178, 4);
+ output.WriteMessage(LocalDataTrackUnpublish);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ output.WriteRawTag(186, 4);
+ output.WriteMessage(LocalDataTrackIsPublished);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ output.WriteRawTag(194, 4);
+ output.WriteMessage(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ output.WriteRawTag(202, 4);
+ output.WriteMessage(RemoteDataTrackIsPublished);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -5981,6 +6471,30 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(154, 4);
output.WriteMessage(SetRemoteTrackPublicationQuality);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ output.WriteRawTag(162, 4);
+ output.WriteMessage(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ output.WriteRawTag(170, 4);
+ output.WriteMessage(LocalDataTrackTryPush);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ output.WriteRawTag(178, 4);
+ output.WriteMessage(LocalDataTrackUnpublish);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ output.WriteRawTag(186, 4);
+ output.WriteMessage(LocalDataTrackIsPublished);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ output.WriteRawTag(194, 4);
+ output.WriteMessage(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ output.WriteRawTag(202, 4);
+ output.WriteMessage(RemoteDataTrackIsPublished);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -6189,6 +6703,24 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.SetRemoteTrackPublicationQuality) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetRemoteTrackPublicationQuality);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalDataTrackTryPush);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalDataTrackUnpublish);
+ }
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(LocalDataTrackIsPublished);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteDataTrackIsPublished);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -6598,6 +7130,42 @@ public void MergeFrom(FfiResponse other) {
}
SetRemoteTrackPublicationQuality.MergeFrom(other.SetRemoteTrackPublicationQuality);
break;
+ case MessageOneofCase.PublishDataTrack:
+ if (PublishDataTrack == null) {
+ PublishDataTrack = new global::LiveKit.Proto.PublishDataTrackResponse();
+ }
+ PublishDataTrack.MergeFrom(other.PublishDataTrack);
+ break;
+ case MessageOneofCase.LocalDataTrackTryPush:
+ if (LocalDataTrackTryPush == null) {
+ LocalDataTrackTryPush = new global::LiveKit.Proto.LocalDataTrackTryPushResponse();
+ }
+ LocalDataTrackTryPush.MergeFrom(other.LocalDataTrackTryPush);
+ break;
+ case MessageOneofCase.LocalDataTrackUnpublish:
+ if (LocalDataTrackUnpublish == null) {
+ LocalDataTrackUnpublish = new global::LiveKit.Proto.LocalDataTrackUnpublishResponse();
+ }
+ LocalDataTrackUnpublish.MergeFrom(other.LocalDataTrackUnpublish);
+ break;
+ case MessageOneofCase.LocalDataTrackIsPublished:
+ if (LocalDataTrackIsPublished == null) {
+ LocalDataTrackIsPublished = new global::LiveKit.Proto.LocalDataTrackIsPublishedResponse();
+ }
+ LocalDataTrackIsPublished.MergeFrom(other.LocalDataTrackIsPublished);
+ break;
+ case MessageOneofCase.SubscribeDataTrack:
+ if (SubscribeDataTrack == null) {
+ SubscribeDataTrack = new global::LiveKit.Proto.SubscribeDataTrackResponse();
+ }
+ SubscribeDataTrack.MergeFrom(other.SubscribeDataTrack);
+ break;
+ case MessageOneofCase.RemoteDataTrackIsPublished:
+ if (RemoteDataTrackIsPublished == null) {
+ RemoteDataTrackIsPublished = new global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse();
+ }
+ RemoteDataTrackIsPublished.MergeFrom(other.RemoteDataTrackIsPublished);
+ break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -7213,6 +7781,60 @@ public void MergeFrom(pb::CodedInputStream input) {
SetRemoteTrackPublicationQuality = subBuilder;
break;
}
+ case 546: {
+ global::LiveKit.Proto.PublishDataTrackResponse subBuilder = new global::LiveKit.Proto.PublishDataTrackResponse();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ subBuilder.MergeFrom(PublishDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ PublishDataTrack = subBuilder;
+ break;
+ }
+ case 554: {
+ global::LiveKit.Proto.LocalDataTrackTryPushResponse subBuilder = new global::LiveKit.Proto.LocalDataTrackTryPushResponse();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ subBuilder.MergeFrom(LocalDataTrackTryPush);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackTryPush = subBuilder;
+ break;
+ }
+ case 562: {
+ global::LiveKit.Proto.LocalDataTrackUnpublishResponse subBuilder = new global::LiveKit.Proto.LocalDataTrackUnpublishResponse();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ subBuilder.MergeFrom(LocalDataTrackUnpublish);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackUnpublish = subBuilder;
+ break;
+ }
+ case 570: {
+ global::LiveKit.Proto.LocalDataTrackIsPublishedResponse subBuilder = new global::LiveKit.Proto.LocalDataTrackIsPublishedResponse();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ subBuilder.MergeFrom(LocalDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackIsPublished = subBuilder;
+ break;
+ }
+ case 578: {
+ global::LiveKit.Proto.SubscribeDataTrackResponse subBuilder = new global::LiveKit.Proto.SubscribeDataTrackResponse();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ subBuilder.MergeFrom(SubscribeDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ SubscribeDataTrack = subBuilder;
+ break;
+ }
+ case 586: {
+ global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse subBuilder = new global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ subBuilder.MergeFrom(RemoteDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ RemoteDataTrackIsPublished = subBuilder;
+ break;
+ }
}
}
#endif
@@ -7826,6 +8448,60 @@ public void MergeFrom(pb::CodedInputStream input) {
SetRemoteTrackPublicationQuality = subBuilder;
break;
}
+ case 546: {
+ global::LiveKit.Proto.PublishDataTrackResponse subBuilder = new global::LiveKit.Proto.PublishDataTrackResponse();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ subBuilder.MergeFrom(PublishDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ PublishDataTrack = subBuilder;
+ break;
+ }
+ case 554: {
+ global::LiveKit.Proto.LocalDataTrackTryPushResponse subBuilder = new global::LiveKit.Proto.LocalDataTrackTryPushResponse();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackTryPush) {
+ subBuilder.MergeFrom(LocalDataTrackTryPush);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackTryPush = subBuilder;
+ break;
+ }
+ case 562: {
+ global::LiveKit.Proto.LocalDataTrackUnpublishResponse subBuilder = new global::LiveKit.Proto.LocalDataTrackUnpublishResponse();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackUnpublish) {
+ subBuilder.MergeFrom(LocalDataTrackUnpublish);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackUnpublish = subBuilder;
+ break;
+ }
+ case 570: {
+ global::LiveKit.Proto.LocalDataTrackIsPublishedResponse subBuilder = new global::LiveKit.Proto.LocalDataTrackIsPublishedResponse();
+ if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) {
+ subBuilder.MergeFrom(LocalDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ LocalDataTrackIsPublished = subBuilder;
+ break;
+ }
+ case 578: {
+ global::LiveKit.Proto.SubscribeDataTrackResponse subBuilder = new global::LiveKit.Proto.SubscribeDataTrackResponse();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ subBuilder.MergeFrom(SubscribeDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ SubscribeDataTrack = subBuilder;
+ break;
+ }
+ case 586: {
+ global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse subBuilder = new global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
+ subBuilder.MergeFrom(RemoteDataTrackIsPublished);
+ }
+ input.ReadMessage(subBuilder);
+ RemoteDataTrackIsPublished = subBuilder;
+ break;
+ }
}
}
}
@@ -7994,6 +8670,15 @@ public FfiEvent(FfiEvent other) : this() {
case MessageOneofCase.SendBytes:
SendBytes = other.SendBytes.Clone();
break;
+ case MessageOneofCase.PublishDataTrack:
+ PublishDataTrack = other.PublishDataTrack.Clone();
+ break;
+ case MessageOneofCase.SubscribeDataTrack:
+ SubscribeDataTrack = other.SubscribeDataTrack.Clone();
+ break;
+ case MessageOneofCase.DataTrackSubscriptionEvent:
+ DataTrackSubscriptionEvent = other.DataTrackSubscriptionEvent.Clone();
+ break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -8491,6 +9176,48 @@ public FfiEvent Clone() {
}
}
+ /// Field number for the "publish_data_track" field.
+ public const int PublishDataTrackFieldNumber = 42;
+ ///
+ /// Data Track (local)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.PublishDataTrackCallback PublishDataTrack {
+ get { return messageCase_ == MessageOneofCase.PublishDataTrack ? (global::LiveKit.Proto.PublishDataTrackCallback) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.PublishDataTrack;
+ }
+ }
+
+ /// Field number for the "subscribe_data_track" field.
+ public const int SubscribeDataTrackFieldNumber = 43;
+ ///
+ /// Data Track (remote)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.SubscribeDataTrackCallback SubscribeDataTrack {
+ get { return messageCase_ == MessageOneofCase.SubscribeDataTrack ? (global::LiveKit.Proto.SubscribeDataTrackCallback) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.SubscribeDataTrack;
+ }
+ }
+
+ /// Field number for the "data_track_subscription_event" field.
+ public const int DataTrackSubscriptionEventFieldNumber = 44;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackSubscriptionEvent DataTrackSubscriptionEvent {
+ get { return messageCase_ == MessageOneofCase.DataTrackSubscriptionEvent ? (global::LiveKit.Proto.DataTrackSubscriptionEvent) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataTrackSubscriptionEvent;
+ }
+ }
+
private object message_;
/// Enum of possible cases for the "message" oneof.
public enum MessageOneofCase {
@@ -8535,6 +9262,9 @@ public enum MessageOneofCase {
TextStreamWriterClose = 39,
SendText = 40,
SendBytes = 41,
+ PublishDataTrack = 42,
+ SubscribeDataTrack = 43,
+ DataTrackSubscriptionEvent = 44,
}
private MessageOneofCase messageCase_ = MessageOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -8605,6 +9335,9 @@ public bool Equals(FfiEvent other) {
if (!object.Equals(TextStreamWriterClose, other.TextStreamWriterClose)) return false;
if (!object.Equals(SendText, other.SendText)) return false;
if (!object.Equals(SendBytes, other.SendBytes)) return false;
+ if (!object.Equals(PublishDataTrack, other.PublishDataTrack)) return false;
+ if (!object.Equals(SubscribeDataTrack, other.SubscribeDataTrack)) return false;
+ if (!object.Equals(DataTrackSubscriptionEvent, other.DataTrackSubscriptionEvent)) return false;
if (MessageCase != other.MessageCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -8653,6 +9386,9 @@ public override int GetHashCode() {
if (messageCase_ == MessageOneofCase.TextStreamWriterClose) hash ^= TextStreamWriterClose.GetHashCode();
if (messageCase_ == MessageOneofCase.SendText) hash ^= SendText.GetHashCode();
if (messageCase_ == MessageOneofCase.SendBytes) hash ^= SendBytes.GetHashCode();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) hash ^= PublishDataTrack.GetHashCode();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) hash ^= SubscribeDataTrack.GetHashCode();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionEvent) hash ^= DataTrackSubscriptionEvent.GetHashCode();
hash ^= (int) messageCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -8832,6 +9568,18 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(202, 2);
output.WriteMessage(SendBytes);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ output.WriteRawTag(210, 2);
+ output.WriteMessage(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ output.WriteRawTag(218, 2);
+ output.WriteMessage(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionEvent) {
+ output.WriteRawTag(226, 2);
+ output.WriteMessage(DataTrackSubscriptionEvent);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -9002,6 +9750,18 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(202, 2);
output.WriteMessage(SendBytes);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ output.WriteRawTag(210, 2);
+ output.WriteMessage(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ output.WriteRawTag(218, 2);
+ output.WriteMessage(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionEvent) {
+ output.WriteRawTag(226, 2);
+ output.WriteMessage(DataTrackSubscriptionEvent);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -9132,6 +9892,15 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.SendBytes) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(SendBytes);
}
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(PublishDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(SubscribeDataTrack);
+ }
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionEvent) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(DataTrackSubscriptionEvent);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -9385,6 +10154,24 @@ public void MergeFrom(FfiEvent other) {
}
SendBytes.MergeFrom(other.SendBytes);
break;
+ case MessageOneofCase.PublishDataTrack:
+ if (PublishDataTrack == null) {
+ PublishDataTrack = new global::LiveKit.Proto.PublishDataTrackCallback();
+ }
+ PublishDataTrack.MergeFrom(other.PublishDataTrack);
+ break;
+ case MessageOneofCase.SubscribeDataTrack:
+ if (SubscribeDataTrack == null) {
+ SubscribeDataTrack = new global::LiveKit.Proto.SubscribeDataTrackCallback();
+ }
+ SubscribeDataTrack.MergeFrom(other.SubscribeDataTrack);
+ break;
+ case MessageOneofCase.DataTrackSubscriptionEvent:
+ if (DataTrackSubscriptionEvent == null) {
+ DataTrackSubscriptionEvent = new global::LiveKit.Proto.DataTrackSubscriptionEvent();
+ }
+ DataTrackSubscriptionEvent.MergeFrom(other.DataTrackSubscriptionEvent);
+ break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -9766,6 +10553,33 @@ public void MergeFrom(pb::CodedInputStream input) {
SendBytes = subBuilder;
break;
}
+ case 338: {
+ global::LiveKit.Proto.PublishDataTrackCallback subBuilder = new global::LiveKit.Proto.PublishDataTrackCallback();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ subBuilder.MergeFrom(PublishDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ PublishDataTrack = subBuilder;
+ break;
+ }
+ case 346: {
+ global::LiveKit.Proto.SubscribeDataTrackCallback subBuilder = new global::LiveKit.Proto.SubscribeDataTrackCallback();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ subBuilder.MergeFrom(SubscribeDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ SubscribeDataTrack = subBuilder;
+ break;
+ }
+ case 354: {
+ global::LiveKit.Proto.DataTrackSubscriptionEvent subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionEvent();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionEvent) {
+ subBuilder.MergeFrom(DataTrackSubscriptionEvent);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackSubscriptionEvent = subBuilder;
+ break;
+ }
}
}
#endif
@@ -10145,6 +10959,33 @@ public void MergeFrom(pb::CodedInputStream input) {
SendBytes = subBuilder;
break;
}
+ case 338: {
+ global::LiveKit.Proto.PublishDataTrackCallback subBuilder = new global::LiveKit.Proto.PublishDataTrackCallback();
+ if (messageCase_ == MessageOneofCase.PublishDataTrack) {
+ subBuilder.MergeFrom(PublishDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ PublishDataTrack = subBuilder;
+ break;
+ }
+ case 346: {
+ global::LiveKit.Proto.SubscribeDataTrackCallback subBuilder = new global::LiveKit.Proto.SubscribeDataTrackCallback();
+ if (messageCase_ == MessageOneofCase.SubscribeDataTrack) {
+ subBuilder.MergeFrom(SubscribeDataTrack);
+ }
+ input.ReadMessage(subBuilder);
+ SubscribeDataTrack = subBuilder;
+ break;
+ }
+ case 354: {
+ global::LiveKit.Proto.DataTrackSubscriptionEvent subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionEvent();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionEvent) {
+ subBuilder.MergeFrom(DataTrackSubscriptionEvent);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackSubscriptionEvent = subBuilder;
+ break;
+ }
}
}
}
diff --git a/Runtime/Scripts/Proto/Participant.cs b/Runtime/Scripts/Proto/Participant.cs
index f5778964..60ae0e7f 100644
--- a/Runtime/Scripts/Proto/Participant.cs
+++ b/Runtime/Scripts/Proto/Participant.cs
@@ -25,33 +25,49 @@ static ParticipantReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChFwYXJ0aWNpcGFudC5wcm90bxINbGl2ZWtpdC5wcm90bxoMaGFuZGxlLnBy",
- "b3RvIrECCg9QYXJ0aWNpcGFudEluZm8SCwoDc2lkGAEgAigJEgwKBG5hbWUY",
- "AiACKAkSEAoIaWRlbnRpdHkYAyACKAkSEAoIbWV0YWRhdGEYBCACKAkSQgoK",
- "YXR0cmlidXRlcxgFIAMoCzIuLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRJ",
- "bmZvLkF0dHJpYnV0ZXNFbnRyeRIsCgRraW5kGAYgAigOMh4ubGl2ZWtpdC5w",
- "cm90by5QYXJ0aWNpcGFudEtpbmQSOgoRZGlzY29ubmVjdF9yZWFzb24YByAC",
- "KA4yHy5saXZla2l0LnByb3RvLkRpc2Nvbm5lY3RSZWFzb24aMQoPQXR0cmli",
- "dXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEibwoQ",
- "T3duZWRQYXJ0aWNpcGFudBItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnBy",
- "b3RvLkZmaU93bmVkSGFuZGxlEiwKBGluZm8YAiACKAsyHi5saXZla2l0LnBy",
- "b3RvLlBhcnRpY2lwYW50SW5mbyqhAQoPUGFydGljaXBhbnRLaW5kEh0KGVBB",
- "UlRJQ0lQQU5UX0tJTkRfU1RBTkRBUkQQABIcChhQQVJUSUNJUEFOVF9LSU5E",
- "X0lOR1JFU1MQARIbChdQQVJUSUNJUEFOVF9LSU5EX0VHUkVTUxACEhgKFFBB",
- "UlRJQ0lQQU5UX0tJTkRfU0lQEAMSGgoWUEFSVElDSVBBTlRfS0lORF9BR0VO",
- "VBAEKtcCChBEaXNjb25uZWN0UmVhc29uEhIKDlVOS05PV05fUkVBU09OEAAS",
- "FAoQQ0xJRU5UX0lOSVRJQVRFRBABEhYKEkRVUExJQ0FURV9JREVOVElUWRAC",
- "EhMKD1NFUlZFUl9TSFVURE9XThADEhcKE1BBUlRJQ0lQQU5UX1JFTU9WRUQQ",
- "BBIQCgxST09NX0RFTEVURUQQBRISCg5TVEFURV9NSVNNQVRDSBAGEhAKDEpP",
- "SU5fRkFJTFVSRRAHEg0KCU1JR1JBVElPThAIEhAKDFNJR05BTF9DTE9TRRAJ",
- "Eg8KC1JPT01fQ0xPU0VEEAoSFAoQVVNFUl9VTkFWQUlMQUJMRRALEhEKDVVT",
- "RVJfUkVKRUNURUQQDBIVChFTSVBfVFJVTktfRkFJTFVSRRANEhYKEkNPTk5F",
- "Q1RJT05fVElNRU9VVBAOEhEKDU1FRElBX0ZBSUxVUkUQD0IQqgINTGl2ZUtp",
- "dC5Qcm90bw=="));
+ "b3RvGgt0cmFjay5wcm90byKnAwoPUGFydGljaXBhbnRJbmZvEgsKA3NpZBgB",
+ "IAIoCRIMCgRuYW1lGAIgAigJEhAKCGlkZW50aXR5GAMgAigJEhAKCG1ldGFk",
+ "YXRhGAQgAigJEkIKCmF0dHJpYnV0ZXMYBSADKAsyLi5saXZla2l0LnByb3Rv",
+ "LlBhcnRpY2lwYW50SW5mby5BdHRyaWJ1dGVzRW50cnkSLAoEa2luZBgGIAIo",
+ "DjIeLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRLaW5kEjoKEWRpc2Nvbm5l",
+ "Y3RfcmVhc29uGAcgAigOMh8ubGl2ZWtpdC5wcm90by5EaXNjb25uZWN0UmVh",
+ "c29uEjoKDGtpbmRfZGV0YWlscxgIIAMoDjIkLmxpdmVraXQucHJvdG8uUGFy",
+ "dGljaXBhbnRLaW5kRGV0YWlsEjgKCnBlcm1pc3Npb24YCSABKAsyJC5saXZl",
+ "a2l0LnByb3RvLlBhcnRpY2lwYW50UGVybWlzc2lvbhoxCg9BdHRyaWJ1dGVz",
+ "RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJvChBPd25l",
+ "ZFBhcnRpY2lwYW50Ei0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8u",
+ "RmZpT3duZWRIYW5kbGUSLAoEaW5mbxgCIAIoCzIeLmxpdmVraXQucHJvdG8u",
+ "UGFydGljaXBhbnRJbmZvIoQCChVQYXJ0aWNpcGFudFBlcm1pc3Npb24SFQoN",
+ "Y2FuX3N1YnNjcmliZRgBIAIoCBITCgtjYW5fcHVibGlzaBgCIAIoCBIYChBj",
+ "YW5fcHVibGlzaF9kYXRhGAMgAigIEjcKE2Nhbl9wdWJsaXNoX3NvdXJjZXMY",
+ "CSADKA4yGi5saXZla2l0LnByb3RvLlRyYWNrU291cmNlEg4KBmhpZGRlbhgH",
+ "IAIoCBIbChNjYW5fdXBkYXRlX21ldGFkYXRhGAogAigIEh0KFWNhbl9zdWJz",
+ "Y3JpYmVfbWV0cmljcxgMIAIoCBIgChhjYW5fbWFuYWdlX2FnZW50X3Nlc3Np",
+ "b24YDSACKAgq3gEKD1BhcnRpY2lwYW50S2luZBIdChlQQVJUSUNJUEFOVF9L",
+ "SU5EX1NUQU5EQVJEEAASHAoYUEFSVElDSVBBTlRfS0lORF9JTkdSRVNTEAES",
+ "GwoXUEFSVElDSVBBTlRfS0lORF9FR1JFU1MQAhIYChRQQVJUSUNJUEFOVF9L",
+ "SU5EX1NJUBADEhoKFlBBUlRJQ0lQQU5UX0tJTkRfQUdFTlQQBBIeChpQQVJU",
+ "SUNJUEFOVF9LSU5EX0NPTk5FQ1RPUhAFEhsKF1BBUlRJQ0lQQU5UX0tJTkRf",
+ "QlJJREdFEAYq7gEKFVBhcnRpY2lwYW50S2luZERldGFpbBInCiNQQVJUSUNJ",
+ "UEFOVF9LSU5EX0RFVEFJTF9DTE9VRF9BR0VOVBAAEiUKIVBBUlRJQ0lQQU5U",
+ "X0tJTkRfREVUQUlMX0ZPUldBUkRFRBABEi4KKlBBUlRJQ0lQQU5UX0tJTkRf",
+ "REVUQUlMX0NPTk5FQ1RPUl9XSEFUU0FQUBACEiwKKFBBUlRJQ0lQQU5UX0tJ",
+ "TkRfREVUQUlMX0NPTk5FQ1RPUl9UV0lMSU8QAxInCiNQQVJUSUNJUEFOVF9L",
+ "SU5EX0RFVEFJTF9CUklER0VfUlRTUBAEKtcCChBEaXNjb25uZWN0UmVhc29u",
+ "EhIKDlVOS05PV05fUkVBU09OEAASFAoQQ0xJRU5UX0lOSVRJQVRFRBABEhYK",
+ "EkRVUExJQ0FURV9JREVOVElUWRACEhMKD1NFUlZFUl9TSFVURE9XThADEhcK",
+ "E1BBUlRJQ0lQQU5UX1JFTU9WRUQQBBIQCgxST09NX0RFTEVURUQQBRISCg5T",
+ "VEFURV9NSVNNQVRDSBAGEhAKDEpPSU5fRkFJTFVSRRAHEg0KCU1JR1JBVElP",
+ "ThAIEhAKDFNJR05BTF9DTE9TRRAJEg8KC1JPT01fQ0xPU0VEEAoSFAoQVVNF",
+ "Ul9VTkFWQUlMQUJMRRALEhEKDVVTRVJfUkVKRUNURUQQDBIVChFTSVBfVFJV",
+ "TktfRkFJTFVSRRANEhYKEkNPTk5FQ1RJT05fVElNRU9VVBAOEhEKDU1FRElB",
+ "X0ZBSUxVUkUQD0IQqgINTGl2ZUtpdC5Qcm90bw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
- 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)
+ new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, },
+ new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.ParticipantKind), typeof(global::LiveKit.Proto.ParticipantKindDetail), 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", "KindDetails", "Permission" }, 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),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.ParticipantPermission), global::LiveKit.Proto.ParticipantPermission.Parser, new[]{ "CanSubscribe", "CanPublish", "CanPublishData", "CanPublishSources", "Hidden", "CanUpdateMetadata", "CanSubscribeMetrics", "CanManageAgentSession" }, null, null, null, null)
}));
}
#endregion
@@ -64,6 +80,16 @@ public enum ParticipantKind {
[pbr::OriginalName("PARTICIPANT_KIND_EGRESS")] Egress = 2,
[pbr::OriginalName("PARTICIPANT_KIND_SIP")] Sip = 3,
[pbr::OriginalName("PARTICIPANT_KIND_AGENT")] Agent = 4,
+ [pbr::OriginalName("PARTICIPANT_KIND_CONNECTOR")] Connector = 5,
+ [pbr::OriginalName("PARTICIPANT_KIND_BRIDGE")] Bridge = 6,
+ }
+
+ public enum ParticipantKindDetail {
+ [pbr::OriginalName("PARTICIPANT_KIND_DETAIL_CLOUD_AGENT")] CloudAgent = 0,
+ [pbr::OriginalName("PARTICIPANT_KIND_DETAIL_FORWARDED")] Forwarded = 1,
+ [pbr::OriginalName("PARTICIPANT_KIND_DETAIL_CONNECTOR_WHATSAPP")] ConnectorWhatsapp = 2,
+ [pbr::OriginalName("PARTICIPANT_KIND_DETAIL_CONNECTOR_TWILIO")] ConnectorTwilio = 3,
+ [pbr::OriginalName("PARTICIPANT_KIND_DETAIL_BRIDGE_RTSP")] BridgeRtsp = 4,
}
public enum DisconnectReason {
@@ -171,6 +197,8 @@ public ParticipantInfo(ParticipantInfo other) : this() {
attributes_ = other.attributes_.Clone();
kind_ = other.kind_;
disconnectReason_ = other.disconnectReason_;
+ kindDetails_ = other.kindDetails_.Clone();
+ permission_ = other.permission_ != null ? other.permission_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -349,6 +377,29 @@ public void ClearDisconnectReason() {
_hasBits0 &= ~2;
}
+ /// Field number for the "kind_details" field.
+ public const int KindDetailsFieldNumber = 8;
+ private static readonly pb::FieldCodec _repeated_kindDetails_codec
+ = pb::FieldCodec.ForEnum(64, x => (int) x, x => (global::LiveKit.Proto.ParticipantKindDetail) x);
+ private readonly pbc::RepeatedField kindDetails_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public pbc::RepeatedField KindDetails {
+ get { return kindDetails_; }
+ }
+
+ /// Field number for the "permission" field.
+ public const int PermissionFieldNumber = 9;
+ private global::LiveKit.Proto.ParticipantPermission permission_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.ParticipantPermission Permission {
+ get { return permission_; }
+ set {
+ permission_ = value;
+ }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -371,6 +422,8 @@ public bool Equals(ParticipantInfo other) {
if (!Attributes.Equals(other.Attributes)) return false;
if (Kind != other.Kind) return false;
if (DisconnectReason != other.DisconnectReason) return false;
+ if(!kindDetails_.Equals(other.kindDetails_)) return false;
+ if (!object.Equals(Permission, other.Permission)) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -385,6 +438,8 @@ public override int GetHashCode() {
hash ^= Attributes.GetHashCode();
if (HasKind) hash ^= Kind.GetHashCode();
if (HasDisconnectReason) hash ^= DisconnectReason.GetHashCode();
+ hash ^= kindDetails_.GetHashCode();
+ if (permission_ != null) hash ^= Permission.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -428,6 +483,11 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(56);
output.WriteEnum((int) DisconnectReason);
}
+ kindDetails_.WriteTo(output, _repeated_kindDetails_codec);
+ if (permission_ != null) {
+ output.WriteRawTag(74);
+ output.WriteMessage(Permission);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -463,6 +523,11 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(56);
output.WriteEnum((int) DisconnectReason);
}
+ kindDetails_.WriteTo(ref output, _repeated_kindDetails_codec);
+ if (permission_ != null) {
+ output.WriteRawTag(74);
+ output.WriteMessage(Permission);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -492,6 +557,10 @@ public int CalculateSize() {
if (HasDisconnectReason) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DisconnectReason);
}
+ size += kindDetails_.CalculateSize(_repeated_kindDetails_codec);
+ if (permission_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Permission);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -523,6 +592,13 @@ public void MergeFrom(ParticipantInfo other) {
if (other.HasDisconnectReason) {
DisconnectReason = other.DisconnectReason;
}
+ kindDetails_.Add(other.kindDetails_);
+ if (other.permission_ != null) {
+ if (permission_ == null) {
+ Permission = new global::LiveKit.Proto.ParticipantPermission();
+ }
+ Permission.MergeFrom(other.Permission);
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -570,6 +646,18 @@ public void MergeFrom(pb::CodedInputStream input) {
DisconnectReason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum();
break;
}
+ case 66:
+ case 64: {
+ kindDetails_.AddEntriesFrom(input, _repeated_kindDetails_codec);
+ break;
+ }
+ case 74: {
+ if (permission_ == null) {
+ Permission = new global::LiveKit.Proto.ParticipantPermission();
+ }
+ input.ReadMessage(Permission);
+ break;
+ }
}
}
#endif
@@ -617,6 +705,18 @@ public void MergeFrom(pb::CodedInputStream input) {
DisconnectReason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum();
break;
}
+ case 66:
+ case 64: {
+ kindDetails_.AddEntriesFrom(ref input, _repeated_kindDetails_codec);
+ break;
+ }
+ case 74: {
+ if (permission_ == null) {
+ Permission = new global::LiveKit.Proto.ParticipantPermission();
+ }
+ input.ReadMessage(Permission);
+ break;
+ }
}
}
}
@@ -877,6 +977,588 @@ public void MergeFrom(pb::CodedInputStream input) {
}
+ ///
+ /// copied from livekit-protocol/protocol/protobufs/livekit_models.proto and removed deprecated fields
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class ParticipantPermission : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ParticipantPermission());
+ 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.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 ParticipantPermission() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ParticipantPermission(ParticipantPermission other) : this() {
+ _hasBits0 = other._hasBits0;
+ canSubscribe_ = other.canSubscribe_;
+ canPublish_ = other.canPublish_;
+ canPublishData_ = other.canPublishData_;
+ canPublishSources_ = other.canPublishSources_.Clone();
+ hidden_ = other.hidden_;
+ canUpdateMetadata_ = other.canUpdateMetadata_;
+ canSubscribeMetrics_ = other.canSubscribeMetrics_;
+ canManageAgentSession_ = other.canManageAgentSession_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ParticipantPermission Clone() {
+ return new ParticipantPermission(this);
+ }
+
+ /// Field number for the "can_subscribe" field.
+ public const int CanSubscribeFieldNumber = 1;
+ private readonly static bool CanSubscribeDefaultValue = false;
+
+ private bool canSubscribe_;
+ ///
+ /// allow participant to subscribe to other tracks in the room
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool CanSubscribe {
+ get { if ((_hasBits0 & 1) != 0) { return canSubscribe_; } else { return CanSubscribeDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ canSubscribe_ = value;
+ }
+ }
+ /// Gets whether the "can_subscribe" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasCanSubscribe {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "can_subscribe" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearCanSubscribe() {
+ _hasBits0 &= ~1;
+ }
+
+ /// Field number for the "can_publish" field.
+ public const int CanPublishFieldNumber = 2;
+ private readonly static bool CanPublishDefaultValue = false;
+
+ private bool canPublish_;
+ ///
+ /// allow participant to publish new tracks to room
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool CanPublish {
+ get { if ((_hasBits0 & 2) != 0) { return canPublish_; } else { return CanPublishDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ canPublish_ = value;
+ }
+ }
+ /// Gets whether the "can_publish" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasCanPublish {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "can_publish" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearCanPublish() {
+ _hasBits0 &= ~2;
+ }
+
+ /// Field number for the "can_publish_data" field.
+ public const int CanPublishDataFieldNumber = 3;
+ private readonly static bool CanPublishDataDefaultValue = false;
+
+ private bool canPublishData_;
+ ///
+ /// allow participant to publish data
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool CanPublishData {
+ get { if ((_hasBits0 & 4) != 0) { return canPublishData_; } else { return CanPublishDataDefaultValue; } }
+ set {
+ _hasBits0 |= 4;
+ canPublishData_ = value;
+ }
+ }
+ /// Gets whether the "can_publish_data" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasCanPublishData {
+ get { return (_hasBits0 & 4) != 0; }
+ }
+ /// Clears the value of the "can_publish_data" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearCanPublishData() {
+ _hasBits0 &= ~4;
+ }
+
+ /// Field number for the "can_publish_sources" field.
+ public const int CanPublishSourcesFieldNumber = 9;
+ private static readonly pb::FieldCodec _repeated_canPublishSources_codec
+ = pb::FieldCodec.ForEnum(72, x => (int) x, x => (global::LiveKit.Proto.TrackSource) x);
+ private readonly pbc::RepeatedField canPublishSources_ = new pbc::RepeatedField();
+ ///
+ /// sources that are allowed to be published
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public pbc::RepeatedField CanPublishSources {
+ get { return canPublishSources_; }
+ }
+
+ /// Field number for the "hidden" field.
+ public const int HiddenFieldNumber = 7;
+ private readonly static bool HiddenDefaultValue = false;
+
+ private bool hidden_;
+ ///
+ /// indicates that it's hidden to others
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Hidden {
+ get { if ((_hasBits0 & 8) != 0) { return hidden_; } else { return HiddenDefaultValue; } }
+ set {
+ _hasBits0 |= 8;
+ hidden_ = value;
+ }
+ }
+ /// Gets whether the "hidden" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasHidden {
+ get { return (_hasBits0 & 8) != 0; }
+ }
+ /// Clears the value of the "hidden" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearHidden() {
+ _hasBits0 &= ~8;
+ }
+
+ /// Field number for the "can_update_metadata" field.
+ public const int CanUpdateMetadataFieldNumber = 10;
+ private readonly static bool CanUpdateMetadataDefaultValue = false;
+
+ private bool canUpdateMetadata_;
+ ///
+ /// indicates that participant can update own metadata and attributes
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool CanUpdateMetadata {
+ get { if ((_hasBits0 & 16) != 0) { return canUpdateMetadata_; } else { return CanUpdateMetadataDefaultValue; } }
+ set {
+ _hasBits0 |= 16;
+ canUpdateMetadata_ = value;
+ }
+ }
+ /// Gets whether the "can_update_metadata" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasCanUpdateMetadata {
+ get { return (_hasBits0 & 16) != 0; }
+ }
+ /// Clears the value of the "can_update_metadata" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearCanUpdateMetadata() {
+ _hasBits0 &= ~16;
+ }
+
+ /// Field number for the "can_subscribe_metrics" field.
+ public const int CanSubscribeMetricsFieldNumber = 12;
+ private readonly static bool CanSubscribeMetricsDefaultValue = false;
+
+ private bool canSubscribeMetrics_;
+ ///
+ /// if a participant can subscribe to metrics
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool CanSubscribeMetrics {
+ get { if ((_hasBits0 & 32) != 0) { return canSubscribeMetrics_; } else { return CanSubscribeMetricsDefaultValue; } }
+ set {
+ _hasBits0 |= 32;
+ canSubscribeMetrics_ = value;
+ }
+ }
+ /// Gets whether the "can_subscribe_metrics" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasCanSubscribeMetrics {
+ get { return (_hasBits0 & 32) != 0; }
+ }
+ /// Clears the value of the "can_subscribe_metrics" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearCanSubscribeMetrics() {
+ _hasBits0 &= ~32;
+ }
+
+ /// Field number for the "can_manage_agent_session" field.
+ public const int CanManageAgentSessionFieldNumber = 13;
+ private readonly static bool CanManageAgentSessionDefaultValue = false;
+
+ private bool canManageAgentSession_;
+ ///
+ /// if a participant can manage an agent session via RemoteSession (control and access state)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool CanManageAgentSession {
+ get { if ((_hasBits0 & 64) != 0) { return canManageAgentSession_; } else { return CanManageAgentSessionDefaultValue; } }
+ set {
+ _hasBits0 |= 64;
+ canManageAgentSession_ = value;
+ }
+ }
+ /// Gets whether the "can_manage_agent_session" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasCanManageAgentSession {
+ get { return (_hasBits0 & 64) != 0; }
+ }
+ /// Clears the value of the "can_manage_agent_session" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearCanManageAgentSession() {
+ _hasBits0 &= ~64;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as ParticipantPermission);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(ParticipantPermission other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (CanSubscribe != other.CanSubscribe) return false;
+ if (CanPublish != other.CanPublish) return false;
+ if (CanPublishData != other.CanPublishData) return false;
+ if(!canPublishSources_.Equals(other.canPublishSources_)) return false;
+ if (Hidden != other.Hidden) return false;
+ if (CanUpdateMetadata != other.CanUpdateMetadata) return false;
+ if (CanSubscribeMetrics != other.CanSubscribeMetrics) return false;
+ if (CanManageAgentSession != other.CanManageAgentSession) 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 (HasCanSubscribe) hash ^= CanSubscribe.GetHashCode();
+ if (HasCanPublish) hash ^= CanPublish.GetHashCode();
+ if (HasCanPublishData) hash ^= CanPublishData.GetHashCode();
+ hash ^= canPublishSources_.GetHashCode();
+ if (HasHidden) hash ^= Hidden.GetHashCode();
+ if (HasCanUpdateMetadata) hash ^= CanUpdateMetadata.GetHashCode();
+ if (HasCanSubscribeMetrics) hash ^= CanSubscribeMetrics.GetHashCode();
+ if (HasCanManageAgentSession) hash ^= CanManageAgentSession.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 (HasCanSubscribe) {
+ output.WriteRawTag(8);
+ output.WriteBool(CanSubscribe);
+ }
+ if (HasCanPublish) {
+ output.WriteRawTag(16);
+ output.WriteBool(CanPublish);
+ }
+ if (HasCanPublishData) {
+ output.WriteRawTag(24);
+ output.WriteBool(CanPublishData);
+ }
+ if (HasHidden) {
+ output.WriteRawTag(56);
+ output.WriteBool(Hidden);
+ }
+ canPublishSources_.WriteTo(output, _repeated_canPublishSources_codec);
+ if (HasCanUpdateMetadata) {
+ output.WriteRawTag(80);
+ output.WriteBool(CanUpdateMetadata);
+ }
+ if (HasCanSubscribeMetrics) {
+ output.WriteRawTag(96);
+ output.WriteBool(CanSubscribeMetrics);
+ }
+ if (HasCanManageAgentSession) {
+ output.WriteRawTag(104);
+ output.WriteBool(CanManageAgentSession);
+ }
+ 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 (HasCanSubscribe) {
+ output.WriteRawTag(8);
+ output.WriteBool(CanSubscribe);
+ }
+ if (HasCanPublish) {
+ output.WriteRawTag(16);
+ output.WriteBool(CanPublish);
+ }
+ if (HasCanPublishData) {
+ output.WriteRawTag(24);
+ output.WriteBool(CanPublishData);
+ }
+ if (HasHidden) {
+ output.WriteRawTag(56);
+ output.WriteBool(Hidden);
+ }
+ canPublishSources_.WriteTo(ref output, _repeated_canPublishSources_codec);
+ if (HasCanUpdateMetadata) {
+ output.WriteRawTag(80);
+ output.WriteBool(CanUpdateMetadata);
+ }
+ if (HasCanSubscribeMetrics) {
+ output.WriteRawTag(96);
+ output.WriteBool(CanSubscribeMetrics);
+ }
+ if (HasCanManageAgentSession) {
+ output.WriteRawTag(104);
+ output.WriteBool(CanManageAgentSession);
+ }
+ 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 (HasCanSubscribe) {
+ size += 1 + 1;
+ }
+ if (HasCanPublish) {
+ size += 1 + 1;
+ }
+ if (HasCanPublishData) {
+ size += 1 + 1;
+ }
+ size += canPublishSources_.CalculateSize(_repeated_canPublishSources_codec);
+ if (HasHidden) {
+ size += 1 + 1;
+ }
+ if (HasCanUpdateMetadata) {
+ size += 1 + 1;
+ }
+ if (HasCanSubscribeMetrics) {
+ size += 1 + 1;
+ }
+ if (HasCanManageAgentSession) {
+ 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(ParticipantPermission other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasCanSubscribe) {
+ CanSubscribe = other.CanSubscribe;
+ }
+ if (other.HasCanPublish) {
+ CanPublish = other.CanPublish;
+ }
+ if (other.HasCanPublishData) {
+ CanPublishData = other.CanPublishData;
+ }
+ canPublishSources_.Add(other.canPublishSources_);
+ if (other.HasHidden) {
+ Hidden = other.Hidden;
+ }
+ if (other.HasCanUpdateMetadata) {
+ CanUpdateMetadata = other.CanUpdateMetadata;
+ }
+ if (other.HasCanSubscribeMetrics) {
+ CanSubscribeMetrics = other.CanSubscribeMetrics;
+ }
+ if (other.HasCanManageAgentSession) {
+ CanManageAgentSession = other.CanManageAgentSession;
+ }
+ _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: {
+ CanSubscribe = input.ReadBool();
+ break;
+ }
+ case 16: {
+ CanPublish = input.ReadBool();
+ break;
+ }
+ case 24: {
+ CanPublishData = input.ReadBool();
+ break;
+ }
+ case 56: {
+ Hidden = input.ReadBool();
+ break;
+ }
+ case 74:
+ case 72: {
+ canPublishSources_.AddEntriesFrom(input, _repeated_canPublishSources_codec);
+ break;
+ }
+ case 80: {
+ CanUpdateMetadata = input.ReadBool();
+ break;
+ }
+ case 96: {
+ CanSubscribeMetrics = input.ReadBool();
+ break;
+ }
+ case 104: {
+ CanManageAgentSession = 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: {
+ CanSubscribe = input.ReadBool();
+ break;
+ }
+ case 16: {
+ CanPublish = input.ReadBool();
+ break;
+ }
+ case 24: {
+ CanPublishData = input.ReadBool();
+ break;
+ }
+ case 56: {
+ Hidden = input.ReadBool();
+ break;
+ }
+ case 74:
+ case 72: {
+ canPublishSources_.AddEntriesFrom(ref input, _repeated_canPublishSources_codec);
+ break;
+ }
+ case 80: {
+ CanUpdateMetadata = input.ReadBool();
+ break;
+ }
+ case 96: {
+ CanSubscribeMetrics = input.ReadBool();
+ break;
+ }
+ case 104: {
+ CanManageAgentSession = input.ReadBool();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
#endregion
}
diff --git a/Runtime/Scripts/Proto/Room.cs b/Runtime/Scripts/Proto/Room.cs
index ddea49df..daae97d4 100644
--- a/Runtime/Scripts/Proto/Room.cs
+++ b/Runtime/Scripts/Proto/Room.cs
@@ -27,345 +27,365 @@ static RoomReflection() {
"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",
- "ZGluZxITCgttYXhfYml0cmF0ZRgBIAIoBCK1AgoTVHJhY2tQdWJsaXNoT3B0",
- "aW9ucxI0Cg52aWRlb19lbmNvZGluZxgBIAEoCzIcLmxpdmVraXQucHJvdG8u",
- "VmlkZW9FbmNvZGluZxI0Cg5hdWRpb19lbmNvZGluZxgCIAEoCzIcLmxpdmVr",
- "aXQucHJvdG8uQXVkaW9FbmNvZGluZxIuCgt2aWRlb19jb2RlYxgDIAEoDjIZ",
- "LmxpdmVraXQucHJvdG8uVmlkZW9Db2RlYxILCgNkdHgYBCABKAgSCwoDcmVk",
- "GAUgASgIEhEKCXNpbXVsY2FzdBgGIAEoCBIqCgZzb3VyY2UYByABKA4yGi5s",
- "aXZla2l0LnByb3RvLlRyYWNrU291cmNlEg4KBnN0cmVhbRgIIAEoCRIZChFw",
- "cmVjb25uZWN0X2J1ZmZlchgJIAEoCCI9CglJY2VTZXJ2ZXISDAoEdXJscxgB",
- "IAMoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghwYXNzd29yZBgDIAEoCSLEAQoJ",
- "UnRjQ29uZmlnEjsKEmljZV90cmFuc3BvcnRfdHlwZRgBIAEoDjIfLmxpdmVr",
- "aXQucHJvdG8uSWNlVHJhbnNwb3J0VHlwZRJLChpjb250aW51YWxfZ2F0aGVy",
- "aW5nX3BvbGljeRgCIAEoDjInLmxpdmVraXQucHJvdG8uQ29udGludWFsR2F0",
- "aGVyaW5nUG9saWN5Ei0KC2ljZV9zZXJ2ZXJzGAMgAygLMhgubGl2ZWtpdC5w",
- "cm90by5JY2VTZXJ2ZXIi8gEKC1Jvb21PcHRpb25zEhYKDmF1dG9fc3Vic2Ny",
- "aWJlGAEgASgIEhcKD2FkYXB0aXZlX3N0cmVhbRgCIAEoCBIQCghkeW5hY2Fz",
- "dBgDIAEoCBIsCgRlMmVlGAQgASgLMhoubGl2ZWtpdC5wcm90by5FMmVlT3B0",
- "aW9uc0ICGAESLAoKcnRjX2NvbmZpZxgFIAEoCzIYLmxpdmVraXQucHJvdG8u",
- "UnRjQ29uZmlnEhQKDGpvaW5fcmV0cmllcxgGIAEoDRIuCgplbmNyeXB0aW9u",
- "GAcgASgLMhoubGl2ZWtpdC5wcm90by5FMmVlT3B0aW9ucyJ3ChRUcmFuc2Ny",
- "aXB0aW9uU2VnbWVudBIKCgJpZBgBIAIoCRIMCgR0ZXh0GAIgAigJEhIKCnN0",
- "YXJ0X3RpbWUYAyACKAQSEAoIZW5kX3RpbWUYBCACKAQSDQoFZmluYWwYBSAC",
- "KAgSEAoIbGFuZ3VhZ2UYBiACKAkiMAoKQnVmZmVySW5mbxIQCghkYXRhX3B0",
- "chgBIAIoBBIQCghkYXRhX2xlbhgCIAIoBCJlCgtPd25lZEJ1ZmZlchItCgZo",
- "YW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEicK",
- "BGRhdGEYAiACKAsyGS5saXZla2l0LnByb3RvLkJ1ZmZlckluZm8iqhQKCVJv",
- "b21FdmVudBITCgtyb29tX2hhbmRsZRgBIAIoBBJEChVwYXJ0aWNpcGFudF9j",
- "b25uZWN0ZWQYAiABKAsyIy5saXZla2l0LnByb3RvLlBhcnRpY2lwYW50Q29u",
- "bmVjdGVkSAASSgoYcGFydGljaXBhbnRfZGlzY29ubmVjdGVkGAMgASgLMiYu",
- "bGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFudERpc2Nvbm5lY3RlZEgAEkMKFWxv",
- "Y2FsX3RyYWNrX3B1Ymxpc2hlZBgEIAEoCzIiLmxpdmVraXQucHJvdG8uTG9j",
- "YWxUcmFja1B1Ymxpc2hlZEgAEkcKF2xvY2FsX3RyYWNrX3VucHVibGlzaGVk",
- "GAUgASgLMiQubGl2ZWtpdC5wcm90by5Mb2NhbFRyYWNrVW5wdWJsaXNoZWRI",
- "ABJFChZsb2NhbF90cmFja19zdWJzY3JpYmVkGAYgASgLMiMubGl2ZWtpdC5w",
- "cm90by5Mb2NhbFRyYWNrU3Vic2NyaWJlZEgAEjgKD3RyYWNrX3B1Ymxpc2hl",
- "ZBgHIAEoCzIdLmxpdmVraXQucHJvdG8uVHJhY2tQdWJsaXNoZWRIABI8ChF0",
- "cmFja191bnB1Ymxpc2hlZBgIIAEoCzIfLmxpdmVraXQucHJvdG8uVHJhY2tV",
- "bnB1Ymxpc2hlZEgAEjoKEHRyYWNrX3N1YnNjcmliZWQYCSABKAsyHi5saXZl",
- "a2l0LnByb3RvLlRyYWNrU3Vic2NyaWJlZEgAEj4KEnRyYWNrX3Vuc3Vic2Ny",
- "aWJlZBgKIAEoCzIgLmxpdmVraXQucHJvdG8uVHJhY2tVbnN1YnNjcmliZWRI",
- "ABJLChl0cmFja19zdWJzY3JpcHRpb25fZmFpbGVkGAsgASgLMiYubGl2ZWtp",
- "dC5wcm90by5UcmFja1N1YnNjcmlwdGlvbkZhaWxlZEgAEjAKC3RyYWNrX211",
- "dGVkGAwgASgLMhkubGl2ZWtpdC5wcm90by5UcmFja011dGVkSAASNAoNdHJh",
- "Y2tfdW5tdXRlZBgNIAEoCzIbLmxpdmVraXQucHJvdG8uVHJhY2tVbm11dGVk",
- "SAASRwoXYWN0aXZlX3NwZWFrZXJzX2NoYW5nZWQYDiABKAsyJC5saXZla2l0",
- "LnByb3RvLkFjdGl2ZVNwZWFrZXJzQ2hhbmdlZEgAEkMKFXJvb21fbWV0YWRh",
- "dGFfY2hhbmdlZBgPIAEoCzIiLmxpdmVraXQucHJvdG8uUm9vbU1ldGFkYXRh",
- "Q2hhbmdlZEgAEjkKEHJvb21fc2lkX2NoYW5nZWQYECABKAsyHS5saXZla2l0",
- "LnByb3RvLlJvb21TaWRDaGFuZ2VkSAASUQoccGFydGljaXBhbnRfbWV0YWRh",
- "dGFfY2hhbmdlZBgRIAEoCzIpLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRN",
- "ZXRhZGF0YUNoYW5nZWRIABJJChhwYXJ0aWNpcGFudF9uYW1lX2NoYW5nZWQY",
- "EiABKAsyJS5saXZla2l0LnByb3RvLlBhcnRpY2lwYW50TmFtZUNoYW5nZWRI",
- "ABJVCh5wYXJ0aWNpcGFudF9hdHRyaWJ1dGVzX2NoYW5nZWQYEyABKAsyKy5s",
- "aXZla2l0LnByb3RvLlBhcnRpY2lwYW50QXR0cmlidXRlc0NoYW5nZWRIABJi",
- "CiVwYXJ0aWNpcGFudF9lbmNyeXB0aW9uX3N0YXR1c19jaGFuZ2VkGCcgASgL",
- "MjEubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFudEVuY3J5cHRpb25TdGF0dXND",
- "aGFuZ2VkSAASTQoaY29ubmVjdGlvbl9xdWFsaXR5X2NoYW5nZWQYFCABKAsy",
- "Jy5saXZla2l0LnByb3RvLkNvbm5lY3Rpb25RdWFsaXR5Q2hhbmdlZEgAEkkK",
- "GGNvbm5lY3Rpb25fc3RhdGVfY2hhbmdlZBgVIAEoCzIlLmxpdmVraXQucHJv",
- "dG8uQ29ubmVjdGlvblN0YXRlQ2hhbmdlZEgAEjMKDGRpc2Nvbm5lY3RlZBgW",
- "IAEoCzIbLmxpdmVraXQucHJvdG8uRGlzY29ubmVjdGVkSAASMwoMcmVjb25u",
- "ZWN0aW5nGBcgASgLMhsubGl2ZWtpdC5wcm90by5SZWNvbm5lY3RpbmdIABIx",
- "CgtyZWNvbm5lY3RlZBgYIAEoCzIaLmxpdmVraXQucHJvdG8uUmVjb25uZWN0",
- "ZWRIABI9ChJlMmVlX3N0YXRlX2NoYW5nZWQYGSABKAsyHy5saXZla2l0LnBy",
- "b3RvLkUyZWVTdGF0ZUNoYW5nZWRIABIlCgNlb3MYGiABKAsyFi5saXZla2l0",
- "LnByb3RvLlJvb21FT1NIABJBChRkYXRhX3BhY2tldF9yZWNlaXZlZBgbIAEo",
- "CzIhLmxpdmVraXQucHJvdG8uRGF0YVBhY2tldFJlY2VpdmVkSAASRgoWdHJh",
- "bnNjcmlwdGlvbl9yZWNlaXZlZBgcIAEoCzIkLmxpdmVraXQucHJvdG8uVHJh",
- "bnNjcmlwdGlvblJlY2VpdmVkSAASOgoMY2hhdF9tZXNzYWdlGB0gASgLMiIu",
- "bGl2ZWtpdC5wcm90by5DaGF0TWVzc2FnZVJlY2VpdmVkSAASSQoWc3RyZWFt",
- "X2hlYWRlcl9yZWNlaXZlZBgeIAEoCzInLmxpdmVraXQucHJvdG8uRGF0YVN0",
- "cmVhbUhlYWRlclJlY2VpdmVkSAASRwoVc3RyZWFtX2NodW5rX3JlY2VpdmVk",
- "GB8gASgLMiYubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFtQ2h1bmtSZWNlaXZl",
- "ZEgAEksKF3N0cmVhbV90cmFpbGVyX3JlY2VpdmVkGCAgASgLMigubGl2ZWtp",
- "dC5wcm90by5EYXRhU3RyZWFtVHJhaWxlclJlY2VpdmVkSAASaQoiZGF0YV9j",
- "aGFubmVsX2xvd190aHJlc2hvbGRfY2hhbmdlZBghIAEoCzI7LmxpdmVraXQu",
- "cHJvdG8uRGF0YUNoYW5uZWxCdWZmZXJlZEFtb3VudExvd1RocmVzaG9sZENo",
- "YW5nZWRIABI9ChJieXRlX3N0cmVhbV9vcGVuZWQYIiABKAsyHy5saXZla2l0",
- "LnByb3RvLkJ5dGVTdHJlYW1PcGVuZWRIABI9ChJ0ZXh0X3N0cmVhbV9vcGVu",
- "ZWQYIyABKAsyHy5saXZla2l0LnByb3RvLlRleHRTdHJlYW1PcGVuZWRIABIv",
- "Cgxyb29tX3VwZGF0ZWQYJCABKAsyFy5saXZla2l0LnByb3RvLlJvb21JbmZv",
- "SAASKAoFbW92ZWQYJSABKAsyFy5saXZla2l0LnByb3RvLlJvb21JbmZvSAAS",
- "QgoUcGFydGljaXBhbnRzX3VwZGF0ZWQYJiABKAsyIi5saXZla2l0LnByb3Rv",
- "LlBhcnRpY2lwYW50c1VwZGF0ZWRIAEIJCgdtZXNzYWdlIskCCghSb29tSW5m",
- "bxILCgNzaWQYASABKAkSDAoEbmFtZRgCIAIoCRIQCghtZXRhZGF0YRgDIAIo",
- "CRIuCiZsb3NzeV9kY19idWZmZXJlZF9hbW91bnRfbG93X3RocmVzaG9sZBgE",
- "IAIoBBIxCilyZWxpYWJsZV9kY19idWZmZXJlZF9hbW91bnRfbG93X3RocmVz",
- "aG9sZBgFIAIoBBIVCg1lbXB0eV90aW1lb3V0GAYgAigNEhkKEWRlcGFydHVy",
- "ZV90aW1lb3V0GAcgAigNEhgKEG1heF9wYXJ0aWNpcGFudHMYCCACKA0SFQoN",
- "Y3JlYXRpb25fdGltZRgJIAIoAxIYChBudW1fcGFydGljaXBhbnRzGAogAigN",
- "EhYKDm51bV9wdWJsaXNoZXJzGAsgAigNEhgKEGFjdGl2ZV9yZWNvcmRpbmcY",
- "DCACKAgiYQoJT3duZWRSb29tEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQu",
- "cHJvdG8uRmZpT3duZWRIYW5kbGUSJQoEaW5mbxgCIAIoCzIXLmxpdmVraXQu",
- "cHJvdG8uUm9vbUluZm8iSwoTUGFydGljaXBhbnRzVXBkYXRlZBI0CgxwYXJ0",
- "aWNpcGFudHMYASADKAsyHi5saXZla2l0LnByb3RvLlBhcnRpY2lwYW50SW5m",
- "byJFChRQYXJ0aWNpcGFudENvbm5lY3RlZBItCgRpbmZvGAEgAigLMh8ubGl2",
- "ZWtpdC5wcm90by5Pd25lZFBhcnRpY2lwYW50InMKF1BhcnRpY2lwYW50RGlz",
- "Y29ubmVjdGVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEjoKEWRp",
- "c2Nvbm5lY3RfcmVhc29uGAIgAigOMh8ubGl2ZWtpdC5wcm90by5EaXNjb25u",
- "ZWN0UmVhc29uIigKE0xvY2FsVHJhY2tQdWJsaXNoZWQSEQoJdHJhY2tfc2lk",
- "GAEgAigJIjAKFUxvY2FsVHJhY2tVbnB1Ymxpc2hlZBIXCg9wdWJsaWNhdGlv",
- "bl9zaWQYASACKAkiKQoUTG9jYWxUcmFja1N1YnNjcmliZWQSEQoJdHJhY2tf",
- "c2lkGAIgAigJImkKDlRyYWNrUHVibGlzaGVkEhwKFHBhcnRpY2lwYW50X2lk",
- "ZW50aXR5GAEgAigJEjkKC3B1YmxpY2F0aW9uGAIgAigLMiQubGl2ZWtpdC5w",
- "cm90by5Pd25lZFRyYWNrUHVibGljYXRpb24iSQoQVHJhY2tVbnB1Ymxpc2hl",
- "ZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIXCg9wdWJsaWNhdGlv",
- "bl9zaWQYAiACKAkiWQoPVHJhY2tTdWJzY3JpYmVkEhwKFHBhcnRpY2lwYW50",
- "X2lkZW50aXR5GAEgAigJEigKBXRyYWNrGAIgAigLMhkubGl2ZWtpdC5wcm90",
- "by5Pd25lZFRyYWNrIkQKEVRyYWNrVW5zdWJzY3JpYmVkEhwKFHBhcnRpY2lw",
- "YW50X2lkZW50aXR5GAEgAigJEhEKCXRyYWNrX3NpZBgCIAIoCSJZChdUcmFj",
- "a1N1YnNjcmlwdGlvbkZhaWxlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgB",
- "IAIoCRIRCgl0cmFja19zaWQYAiACKAkSDQoFZXJyb3IYAyACKAkiPQoKVHJh",
- "Y2tNdXRlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIRCgl0cmFj",
- "a19zaWQYAiACKAkiPwoMVHJhY2tVbm11dGVkEhwKFHBhcnRpY2lwYW50X2lk",
- "ZW50aXR5GAEgAigJEhEKCXRyYWNrX3NpZBgCIAIoCSJfChBFMmVlU3RhdGVD",
- "aGFuZ2VkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEi0KBXN0YXRl",
- "GAIgAigOMh4ubGl2ZWtpdC5wcm90by5FbmNyeXB0aW9uU3RhdGUiNwoVQWN0",
- "aXZlU3BlYWtlcnNDaGFuZ2VkEh4KFnBhcnRpY2lwYW50X2lkZW50aXRpZXMY",
- "ASADKAkiJwoTUm9vbU1ldGFkYXRhQ2hhbmdlZBIQCghtZXRhZGF0YRgBIAIo",
- "CSIdCg5Sb29tU2lkQ2hhbmdlZBILCgNzaWQYASACKAkiTAoaUGFydGljaXBh",
- "bnRNZXRhZGF0YUNoYW5nZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASAC",
- "KAkSEAoIbWV0YWRhdGEYAiACKAkirAEKHFBhcnRpY2lwYW50QXR0cmlidXRl",
- "c0NoYW5nZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSMgoKYXR0",
- "cmlidXRlcxgCIAMoCzIeLmxpdmVraXQucHJvdG8uQXR0cmlidXRlc0VudHJ5",
- "EjoKEmNoYW5nZWRfYXR0cmlidXRlcxgDIAMoCzIeLmxpdmVraXQucHJvdG8u",
- "QXR0cmlidXRlc0VudHJ5IlgKIlBhcnRpY2lwYW50RW5jcnlwdGlvblN0YXR1",
- "c0NoYW5nZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSFAoMaXNf",
- "ZW5jcnlwdGVkGAIgAigIIkQKFlBhcnRpY2lwYW50TmFtZUNoYW5nZWQSHAoU",
- "cGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSDAoEbmFtZRgCIAIoCSJrChhD",
- "b25uZWN0aW9uUXVhbGl0eUNoYW5nZWQSHAoUcGFydGljaXBhbnRfaWRlbnRp",
- "dHkYASACKAkSMQoHcXVhbGl0eRgCIAIoDjIgLmxpdmVraXQucHJvdG8uQ29u",
- "bmVjdGlvblF1YWxpdHkiRQoKVXNlclBhY2tldBIoCgRkYXRhGAEgAigLMhou",
- "bGl2ZWtpdC5wcm90by5Pd25lZEJ1ZmZlchINCgV0b3BpYxgCIAEoCSJ5CgtD",
- "aGF0TWVzc2FnZRIKCgJpZBgBIAIoCRIRCgl0aW1lc3RhbXAYAiACKAMSDwoH",
- "bWVzc2FnZRgDIAIoCRIWCg5lZGl0X3RpbWVzdGFtcBgEIAEoAxIPCgdkZWxl",
- "dGVkGAUgASgIEhEKCWdlbmVyYXRlZBgGIAEoCCJgChNDaGF0TWVzc2FnZVJl",
- "Y2VpdmVkEisKB21lc3NhZ2UYASACKAsyGi5saXZla2l0LnByb3RvLkNoYXRN",
- "ZXNzYWdlEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAIgAigJIiYKB1NpcERU",
- "TUYSDAoEY29kZRgBIAIoDRINCgVkaWdpdBgCIAEoCSK/AQoSRGF0YVBhY2tl",
- "dFJlY2VpdmVkEisKBGtpbmQYASACKA4yHS5saXZla2l0LnByb3RvLkRhdGFQ",
- "YWNrZXRLaW5kEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAIgAigJEikKBHVz",
- "ZXIYBCABKAsyGS5saXZla2l0LnByb3RvLlVzZXJQYWNrZXRIABIqCghzaXBf",
- "ZHRtZhgFIAEoCzIWLmxpdmVraXQucHJvdG8uU2lwRFRNRkgAQgcKBXZhbHVl",
- "In8KFVRyYW5zY3JpcHRpb25SZWNlaXZlZBIcChRwYXJ0aWNpcGFudF9pZGVu",
- "dGl0eRgBIAEoCRIRCgl0cmFja19zaWQYAiABKAkSNQoIc2VnbWVudHMYAyAD",
- "KAsyIy5saXZla2l0LnByb3RvLlRyYW5zY3JpcHRpb25TZWdtZW50IkcKFkNv",
- "bm5lY3Rpb25TdGF0ZUNoYW5nZWQSLQoFc3RhdGUYASACKA4yHi5saXZla2l0",
- "LnByb3RvLkNvbm5lY3Rpb25TdGF0ZSILCglDb25uZWN0ZWQiPwoMRGlzY29u",
- "bmVjdGVkEi8KBnJlYXNvbhgBIAIoDjIfLmxpdmVraXQucHJvdG8uRGlzY29u",
- "bmVjdFJlYXNvbiIOCgxSZWNvbm5lY3RpbmciDQoLUmVjb25uZWN0ZWQiCQoH",
- "Um9vbUVPUyKOBwoKRGF0YVN0cmVhbRqqAQoKVGV4dEhlYWRlchI/Cg5vcGVy",
- "YXRpb25fdHlwZRgBIAIoDjInLmxpdmVraXQucHJvdG8uRGF0YVN0cmVhbS5P",
- "cGVyYXRpb25UeXBlEg8KB3ZlcnNpb24YAiABKAUSGgoScmVwbHlfdG9fc3Ry",
- "ZWFtX2lkGAMgASgJEhsKE2F0dGFjaGVkX3N0cmVhbV9pZHMYBCADKAkSEQoJ",
- "Z2VuZXJhdGVkGAUgASgIGhoKCkJ5dGVIZWFkZXISDAoEbmFtZRgBIAIoCRrr",
- "AgoGSGVhZGVyEhEKCXN0cmVhbV9pZBgBIAIoCRIRCgl0aW1lc3RhbXAYAiAC",
- "KAMSEQoJbWltZV90eXBlGAMgAigJEg0KBXRvcGljGAQgAigJEhQKDHRvdGFs",
- "X2xlbmd0aBgFIAEoBBJECgphdHRyaWJ1dGVzGAYgAygLMjAubGl2ZWtpdC5w",
- "cm90by5EYXRhU3RyZWFtLkhlYWRlci5BdHRyaWJ1dGVzRW50cnkSOwoLdGV4",
- "dF9oZWFkZXIYByABKAsyJC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uVGV4",
- "dEhlYWRlckgAEjsKC2J5dGVfaGVhZGVyGAggASgLMiQubGl2ZWtpdC5wcm90",
- "by5EYXRhU3RyZWFtLkJ5dGVIZWFkZXJIABoxCg9BdHRyaWJ1dGVzRW50cnkS",
- "CwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIQCg5jb250ZW50X2hl",
- "YWRlchpdCgVDaHVuaxIRCglzdHJlYW1faWQYASACKAkSEwoLY2h1bmtfaW5k",
- "ZXgYAiACKAQSDwoHY29udGVudBgDIAIoDBIPCgd2ZXJzaW9uGAQgASgFEgoK",
- "Aml2GAUgASgMGqYBCgdUcmFpbGVyEhEKCXN0cmVhbV9pZBgBIAIoCRIOCgZy",
- "ZWFzb24YAiACKAkSRQoKYXR0cmlidXRlcxgDIAMoCzIxLmxpdmVraXQucHJv",
- "dG8uRGF0YVN0cmVhbS5UcmFpbGVyLkF0dHJpYnV0ZXNFbnRyeRoxCg9BdHRy",
- "aWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJB",
- "Cg1PcGVyYXRpb25UeXBlEgoKBkNSRUFURRAAEgoKBlVQREFURRABEgoKBkRF",
- "TEVURRACEgwKCFJFQUNUSU9OEAMiagoYRGF0YVN0cmVhbUhlYWRlclJlY2Vp",
- "dmVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEjAKBmhlYWRlchgC",
- "IAIoCzIgLmxpdmVraXQucHJvdG8uRGF0YVN0cmVhbS5IZWFkZXIiZwoXRGF0",
- "YVN0cmVhbUNodW5rUmVjZWl2ZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkY",
- "ASACKAkSLgoFY2h1bmsYAiACKAsyHy5saXZla2l0LnByb3RvLkRhdGFTdHJl",
- "YW0uQ2h1bmsibQoZRGF0YVN0cmVhbVRyYWlsZXJSZWNlaXZlZBIcChRwYXJ0",
- "aWNpcGFudF9pZGVudGl0eRgBIAIoCRIyCgd0cmFpbGVyGAIgAigLMiEubGl2",
- "ZWtpdC5wcm90by5EYXRhU3RyZWFtLlRyYWlsZXIipgEKF1NlbmRTdHJlYW1I",
- "ZWFkZXJSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
- "BBIwCgZoZWFkZXIYAiACKAsyIC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0u",
- "SGVhZGVyEh4KFmRlc3RpbmF0aW9uX2lkZW50aXRpZXMYAyADKAkSFwoPc2Vu",
- "ZGVyX2lkZW50aXR5GAQgAigJIqMBChZTZW5kU3RyZWFtQ2h1bmtSZXF1ZXN0",
- "EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIuCgVjaHVuaxgC",
- "IAIoCzIfLmxpdmVraXQucHJvdG8uRGF0YVN0cmVhbS5DaHVuaxIeChZkZXN0",
- "aW5hdGlvbl9pZGVudGl0aWVzGAMgAygJEhcKD3NlbmRlcl9pZGVudGl0eRgE",
- "IAIoCSKpAQoYU2VuZFN0cmVhbVRyYWlsZXJSZXF1ZXN0EiAKGGxvY2FsX3Bh",
- "cnRpY2lwYW50X2hhbmRsZRgBIAIoBBIyCgd0cmFpbGVyGAIgAigLMiEubGl2",
- "ZWtpdC5wcm90by5EYXRhU3RyZWFtLlRyYWlsZXISHgoWZGVzdGluYXRpb25f",
- "aWRlbnRpdGllcxgDIAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBCACKAkiLAoY",
- "U2VuZFN0cmVhbUhlYWRlclJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIisK",
- "F1NlbmRTdHJlYW1DaHVua1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIi0K",
- "GVNlbmRTdHJlYW1UcmFpbGVyUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQi",
- "OwoYU2VuZFN0cmVhbUhlYWRlckNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigE",
- "Eg0KBWVycm9yGAIgASgJIjoKF1NlbmRTdHJlYW1DaHVua0NhbGxiYWNrEhAK",
- "CGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJIjwKGVNlbmRTdHJlYW1U",
- "cmFpbGVyQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IYAiAB",
- "KAkikwEKL1NldERhdGFDaGFubmVsQnVmZmVyZWRBbW91bnRMb3dUaHJlc2hv",
- "bGRSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIR",
- "Cgl0aHJlc2hvbGQYAiACKAQSKwoEa2luZBgDIAIoDjIdLmxpdmVraXQucHJv",
- "dG8uRGF0YVBhY2tldEtpbmQiMgowU2V0RGF0YUNoYW5uZWxCdWZmZXJlZEFt",
- "b3VudExvd1RocmVzaG9sZFJlc3BvbnNlIm4KLERhdGFDaGFubmVsQnVmZmVy",
- "ZWRBbW91bnRMb3dUaHJlc2hvbGRDaGFuZ2VkEisKBGtpbmQYASACKA4yHS5s",
- "aXZla2l0LnByb3RvLkRhdGFQYWNrZXRLaW5kEhEKCXRocmVzaG9sZBgCIAIo",
- "BCJmChBCeXRlU3RyZWFtT3BlbmVkEjQKBnJlYWRlchgBIAIoCzIkLmxpdmVr",
- "aXQucHJvdG8uT3duZWRCeXRlU3RyZWFtUmVhZGVyEhwKFHBhcnRpY2lwYW50",
- "X2lkZW50aXR5GAIgAigJImYKEFRleHRTdHJlYW1PcGVuZWQSNAoGcmVhZGVy",
- "GAEgAigLMiQubGl2ZWtpdC5wcm90by5Pd25lZFRleHRTdHJlYW1SZWFkZXIS",
- "HAoUcGFydGljaXBhbnRfaWRlbnRpdHkYAiACKAkqUAoQSWNlVHJhbnNwb3J0",
- "VHlwZRITCg9UUkFOU1BPUlRfUkVMQVkQABIUChBUUkFOU1BPUlRfTk9IT1NU",
- "EAESEQoNVFJBTlNQT1JUX0FMTBACKkMKGENvbnRpbnVhbEdhdGhlcmluZ1Bv",
- "bGljeRIPCgtHQVRIRVJfT05DRRAAEhYKEkdBVEhFUl9DT05USU5VQUxMWRAB",
- "KmAKEUNvbm5lY3Rpb25RdWFsaXR5EhAKDFFVQUxJVFlfUE9PUhAAEhAKDFFV",
- "QUxJVFlfR09PRBABEhUKEVFVQUxJVFlfRVhDRUxMRU5UEAISEAoMUVVBTElU",
- "WV9MT1NUEAMqUwoPQ29ubmVjdGlvblN0YXRlEhUKEUNPTk5fRElTQ09OTkVD",
- "VEVEEAASEgoOQ09OTl9DT05ORUNURUQQARIVChFDT05OX1JFQ09OTkVDVElO",
- "RxACKjMKDkRhdGFQYWNrZXRLaW5kEg4KCktJTkRfTE9TU1kQABIRCg1LSU5E",
- "X1JFTElBQkxFEAFCEKoCDUxpdmVLaXQuUHJvdG8="));
+ "bxoQZGF0YV90cmFjay5wcm90byJzCg5Db25uZWN0UmVxdWVzdBILCgN1cmwY",
+ "ASACKAkSDQoFdG9rZW4YAiACKAkSKwoHb3B0aW9ucxgDIAIoCzIaLmxpdmVr",
+ "aXQucHJvdG8uUm9vbU9wdGlvbnMSGAoQcmVxdWVzdF9hc3luY19pZBgEIAEo",
+ "BCIjCg9Db25uZWN0UmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQivwMKD0Nv",
+ "bm5lY3RDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIPCgVlcnJvchgCIAEo",
+ "CUgAEjcKBnJlc3VsdBgDIAEoCzIlLmxpdmVraXQucHJvdG8uQ29ubmVjdENh",
+ "bGxiYWNrLlJlc3VsdEgAGokBChVQYXJ0aWNpcGFudFdpdGhUcmFja3MSNAoL",
+ "cGFydGljaXBhbnQYASACKAsyHy5saXZla2l0LnByb3RvLk93bmVkUGFydGlj",
+ "aXBhbnQSOgoMcHVibGljYXRpb25zGAIgAygLMiQubGl2ZWtpdC5wcm90by5P",
+ "d25lZFRyYWNrUHVibGljYXRpb24auAEKBlJlc3VsdBImCgRyb29tGAEgAigL",
+ "MhgubGl2ZWtpdC5wcm90by5Pd25lZFJvb20SOgoRbG9jYWxfcGFydGljaXBh",
+ "bnQYAiACKAsyHy5saXZla2l0LnByb3RvLk93bmVkUGFydGljaXBhbnQSSgoM",
+ "cGFydGljaXBhbnRzGAMgAygLMjQubGl2ZWtpdC5wcm90by5Db25uZWN0Q2Fs",
+ "bGJhY2suUGFydGljaXBhbnRXaXRoVHJhY2tzQgkKB21lc3NhZ2UiQgoRRGlz",
+ "Y29ubmVjdFJlcXVlc3QSEwoLcm9vbV9oYW5kbGUYASACKAQSGAoQcmVxdWVz",
+ "dF9hc3luY19pZBgCIAEoBCImChJEaXNjb25uZWN0UmVzcG9uc2USEAoIYXN5",
+ "bmNfaWQYASACKAQiJgoSRGlzY29ubmVjdENhbGxiYWNrEhAKCGFzeW5jX2lk",
+ "GAEgAigEIpwBChNQdWJsaXNoVHJhY2tSZXF1ZXN0EiAKGGxvY2FsX3BhcnRp",
+ "Y2lwYW50X2hhbmRsZRgBIAIoBBIUCgx0cmFja19oYW5kbGUYAiACKAQSMwoH",
+ "b3B0aW9ucxgDIAIoCzIiLmxpdmVraXQucHJvdG8uVHJhY2tQdWJsaXNoT3B0",
+ "aW9ucxIYChByZXF1ZXN0X2FzeW5jX2lkGAQgASgEIigKFFB1Ymxpc2hUcmFj",
+ "a1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIoEBChRQdWJsaXNoVHJhY2tD",
+ "YWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIPCgVlcnJvchgCIAEoCUgAEjsK",
+ "C3B1YmxpY2F0aW9uGAMgASgLMiQubGl2ZWtpdC5wcm90by5Pd25lZFRyYWNr",
+ "UHVibGljYXRpb25IAEIJCgdtZXNzYWdlIoEBChVVbnB1Ymxpc2hUcmFja1Jl",
+ "cXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEhEKCXRy",
+ "YWNrX3NpZBgCIAIoCRIZChFzdG9wX29uX3VucHVibGlzaBgDIAIoCBIYChBy",
+ "ZXF1ZXN0X2FzeW5jX2lkGAQgASgEIioKFlVucHVibGlzaFRyYWNrUmVzcG9u",
+ "c2USEAoIYXN5bmNfaWQYASACKAQiOQoWVW5wdWJsaXNoVHJhY2tDYWxsYmFj",
+ "axIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSLTAQoSUHVibGlz",
+ "aERhdGFSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
+ "BBIQCghkYXRhX3B0chgCIAIoBBIQCghkYXRhX2xlbhgDIAIoBBIQCghyZWxp",
+ "YWJsZRgEIAIoCBIcChBkZXN0aW5hdGlvbl9zaWRzGAUgAygJQgIYARINCgV0",
+ "b3BpYxgGIAEoCRIeChZkZXN0aW5hdGlvbl9pZGVudGl0aWVzGAcgAygJEhgK",
+ "EHJlcXVlc3RfYXN5bmNfaWQYCCABKAQiJwoTUHVibGlzaERhdGFSZXNwb25z",
+ "ZRIQCghhc3luY19pZBgBIAIoBCI2ChNQdWJsaXNoRGF0YUNhbGxiYWNrEhAK",
+ "CGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJIsABChtQdWJsaXNoVHJh",
+ "bnNjcmlwdGlvblJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxl",
+ "GAEgAigEEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAIgAigJEhAKCHRyYWNr",
+ "X2lkGAMgAigJEjUKCHNlZ21lbnRzGAQgAygLMiMubGl2ZWtpdC5wcm90by5U",
+ "cmFuc2NyaXB0aW9uU2VnbWVudBIYChByZXF1ZXN0X2FzeW5jX2lkGAUgASgE",
+ "IjAKHFB1Ymxpc2hUcmFuc2NyaXB0aW9uUmVzcG9uc2USEAoIYXN5bmNfaWQY",
+ "ASACKAQiPwocUHVibGlzaFRyYW5zY3JpcHRpb25DYWxsYmFjaxIQCghhc3lu",
+ "Y19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSKQAQoVUHVibGlzaFNpcER0bWZS",
+ "ZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIMCgRj",
+ "b2RlGAIgAigNEg0KBWRpZ2l0GAMgAigJEh4KFmRlc3RpbmF0aW9uX2lkZW50",
+ "aXRpZXMYBCADKAkSGAoQcmVxdWVzdF9hc3luY19pZBgFIAEoBCIqChZQdWJs",
+ "aXNoU2lwRHRtZlJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIjkKFlB1Ymxp",
+ "c2hTaXBEdG1mQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IY",
+ "AiABKAkiZwoXU2V0TG9jYWxNZXRhZGF0YVJlcXVlc3QSIAoYbG9jYWxfcGFy",
+ "dGljaXBhbnRfaGFuZGxlGAEgAigEEhAKCG1ldGFkYXRhGAIgAigJEhgKEHJl",
+ "cXVlc3RfYXN5bmNfaWQYAyABKAQiLAoYU2V0TG9jYWxNZXRhZGF0YVJlc3Bv",
+ "bnNlEhAKCGFzeW5jX2lkGAEgAigEIjsKGFNldExvY2FsTWV0YWRhdGFDYWxs",
+ "YmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSKeAQoWU2Vu",
+ "ZENoYXRNZXNzYWdlUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5k",
+ "bGUYASACKAQSDwoHbWVzc2FnZRgCIAIoCRIeChZkZXN0aW5hdGlvbl9pZGVu",
+ "dGl0aWVzGAMgAygJEhcKD3NlbmRlcl9pZGVudGl0eRgEIAEoCRIYChByZXF1",
+ "ZXN0X2FzeW5jX2lkGAUgASgEItYBChZFZGl0Q2hhdE1lc3NhZ2VSZXF1ZXN0",
+ "EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIRCgllZGl0X3Rl",
+ "eHQYAiACKAkSNAoQb3JpZ2luYWxfbWVzc2FnZRgDIAIoCzIaLmxpdmVraXQu",
+ "cHJvdG8uQ2hhdE1lc3NhZ2USHgoWZGVzdGluYXRpb25faWRlbnRpdGllcxgE",
+ "IAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBSABKAkSGAoQcmVxdWVzdF9hc3lu",
+ "Y19pZBgGIAEoBCIrChdTZW5kQ2hhdE1lc3NhZ2VSZXNwb25zZRIQCghhc3lu",
+ "Y19pZBgBIAIoBCJ7ChdTZW5kQ2hhdE1lc3NhZ2VDYWxsYmFjaxIQCghhc3lu",
+ "Y19pZBgBIAIoBBIPCgVlcnJvchgCIAEoCUgAEjIKDGNoYXRfbWVzc2FnZRgD",
+ "IAEoCzIaLmxpdmVraXQucHJvdG8uQ2hhdE1lc3NhZ2VIAEIJCgdtZXNzYWdl",
+ "IosBChlTZXRMb2NhbEF0dHJpYnV0ZXNSZXF1ZXN0EiAKGGxvY2FsX3BhcnRp",
+ "Y2lwYW50X2hhbmRsZRgBIAIoBBIyCgphdHRyaWJ1dGVzGAIgAygLMh4ubGl2",
+ "ZWtpdC5wcm90by5BdHRyaWJ1dGVzRW50cnkSGAoQcmVxdWVzdF9hc3luY19p",
+ "ZBgDIAEoBCItCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgAigJEg0KBXZh",
+ "bHVlGAIgAigJIi4KGlNldExvY2FsQXR0cmlidXRlc1Jlc3BvbnNlEhAKCGFz",
+ "eW5jX2lkGAEgAigEIj0KGlNldExvY2FsQXR0cmlidXRlc0NhbGxiYWNrEhAK",
+ "CGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJIl8KE1NldExvY2FsTmFt",
+ "ZVJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEgwK",
+ "BG5hbWUYAiACKAkSGAoQcmVxdWVzdF9hc3luY19pZBgDIAEoBCIoChRTZXRM",
+ "b2NhbE5hbWVSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCI3ChRTZXRMb2Nh",
+ "bE5hbWVDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEo",
+ "CSJFChRTZXRTdWJzY3JpYmVkUmVxdWVzdBIRCglzdWJzY3JpYmUYASACKAgS",
+ "GgoScHVibGljYXRpb25faGFuZGxlGAIgAigEIhcKFVNldFN1YnNjcmliZWRS",
+ "ZXNwb25zZSJHChZHZXRTZXNzaW9uU3RhdHNSZXF1ZXN0EhMKC3Jvb21faGFu",
+ "ZGxlGAEgAigEEhgKEHJlcXVlc3RfYXN5bmNfaWQYAiABKAQiKwoXR2V0U2Vz",
+ "c2lvblN0YXRzUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQi9wEKF0dldFNl",
+ "c3Npb25TdGF0c0NhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEg8KBWVycm9y",
+ "GAIgASgJSAASPwoGcmVzdWx0GAMgASgLMi0ubGl2ZWtpdC5wcm90by5HZXRT",
+ "ZXNzaW9uU3RhdHNDYWxsYmFjay5SZXN1bHRIABptCgZSZXN1bHQSMAoPcHVi",
+ "bGlzaGVyX3N0YXRzGAEgAygLMhcubGl2ZWtpdC5wcm90by5SdGNTdGF0cxIx",
+ "ChBzdWJzY3JpYmVyX3N0YXRzGAIgAygLMhcubGl2ZWtpdC5wcm90by5SdGNT",
+ "dGF0c0IJCgdtZXNzYWdlIjsKDVZpZGVvRW5jb2RpbmcSEwoLbWF4X2JpdHJh",
+ "dGUYASACKAQSFQoNbWF4X2ZyYW1lcmF0ZRgCIAIoASIkCg1BdWRpb0VuY29k",
+ "aW5nEhMKC21heF9iaXRyYXRlGAEgAigEIrUCChNUcmFja1B1Ymxpc2hPcHRp",
+ "b25zEjQKDnZpZGVvX2VuY29kaW5nGAEgASgLMhwubGl2ZWtpdC5wcm90by5W",
+ "aWRlb0VuY29kaW5nEjQKDmF1ZGlvX2VuY29kaW5nGAIgASgLMhwubGl2ZWtp",
+ "dC5wcm90by5BdWRpb0VuY29kaW5nEi4KC3ZpZGVvX2NvZGVjGAMgASgOMhku",
+ "bGl2ZWtpdC5wcm90by5WaWRlb0NvZGVjEgsKA2R0eBgEIAEoCBILCgNyZWQY",
+ "BSABKAgSEQoJc2ltdWxjYXN0GAYgASgIEioKBnNvdXJjZRgHIAEoDjIaLmxp",
+ "dmVraXQucHJvdG8uVHJhY2tTb3VyY2USDgoGc3RyZWFtGAggASgJEhkKEXBy",
+ "ZWNvbm5lY3RfYnVmZmVyGAkgASgIIj0KCUljZVNlcnZlchIMCgR1cmxzGAEg",
+ "AygJEhAKCHVzZXJuYW1lGAIgASgJEhAKCHBhc3N3b3JkGAMgASgJIsQBCglS",
+ "dGNDb25maWcSOwoSaWNlX3RyYW5zcG9ydF90eXBlGAEgASgOMh8ubGl2ZWtp",
+ "dC5wcm90by5JY2VUcmFuc3BvcnRUeXBlEksKGmNvbnRpbnVhbF9nYXRoZXJp",
+ "bmdfcG9saWN5GAIgASgOMicubGl2ZWtpdC5wcm90by5Db250aW51YWxHYXRo",
+ "ZXJpbmdQb2xpY3kSLQoLaWNlX3NlcnZlcnMYAyADKAsyGC5saXZla2l0LnBy",
+ "b3RvLkljZVNlcnZlciLyAQoLUm9vbU9wdGlvbnMSFgoOYXV0b19zdWJzY3Jp",
+ "YmUYASABKAgSFwoPYWRhcHRpdmVfc3RyZWFtGAIgASgIEhAKCGR5bmFjYXN0",
+ "GAMgASgIEiwKBGUyZWUYBCABKAsyGi5saXZla2l0LnByb3RvLkUyZWVPcHRp",
+ "b25zQgIYARIsCgpydGNfY29uZmlnGAUgASgLMhgubGl2ZWtpdC5wcm90by5S",
+ "dGNDb25maWcSFAoMam9pbl9yZXRyaWVzGAYgASgNEi4KCmVuY3J5cHRpb24Y",
+ "ByABKAsyGi5saXZla2l0LnByb3RvLkUyZWVPcHRpb25zIncKFFRyYW5zY3Jp",
+ "cHRpb25TZWdtZW50EgoKAmlkGAEgAigJEgwKBHRleHQYAiACKAkSEgoKc3Rh",
+ "cnRfdGltZRgDIAIoBBIQCghlbmRfdGltZRgEIAIoBBINCgVmaW5hbBgFIAIo",
+ "CBIQCghsYW5ndWFnZRgGIAIoCSIwCgpCdWZmZXJJbmZvEhAKCGRhdGFfcHRy",
+ "GAEgAigEEhAKCGRhdGFfbGVuGAIgAigEImUKC093bmVkQnVmZmVyEi0KBmhh",
+ "bmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUSJwoE",
+ "ZGF0YRgCIAIoCzIZLmxpdmVraXQucHJvdG8uQnVmZmVySW5mbyKLFgoJUm9v",
+ "bUV2ZW50EhMKC3Jvb21faGFuZGxlGAEgAigEEkQKFXBhcnRpY2lwYW50X2Nv",
+ "bm5lY3RlZBgCIAEoCzIjLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRDb25u",
+ "ZWN0ZWRIABJKChhwYXJ0aWNpcGFudF9kaXNjb25uZWN0ZWQYAyABKAsyJi5s",
+ "aXZla2l0LnByb3RvLlBhcnRpY2lwYW50RGlzY29ubmVjdGVkSAASQwoVbG9j",
+ "YWxfdHJhY2tfcHVibGlzaGVkGAQgASgLMiIubGl2ZWtpdC5wcm90by5Mb2Nh",
+ "bFRyYWNrUHVibGlzaGVkSAASRwoXbG9jYWxfdHJhY2tfdW5wdWJsaXNoZWQY",
+ "BSABKAsyJC5saXZla2l0LnByb3RvLkxvY2FsVHJhY2tVbnB1Ymxpc2hlZEgA",
+ "EkUKFmxvY2FsX3RyYWNrX3N1YnNjcmliZWQYBiABKAsyIy5saXZla2l0LnBy",
+ "b3RvLkxvY2FsVHJhY2tTdWJzY3JpYmVkSAASOAoPdHJhY2tfcHVibGlzaGVk",
+ "GAcgASgLMh0ubGl2ZWtpdC5wcm90by5UcmFja1B1Ymxpc2hlZEgAEjwKEXRy",
+ "YWNrX3VucHVibGlzaGVkGAggASgLMh8ubGl2ZWtpdC5wcm90by5UcmFja1Vu",
+ "cHVibGlzaGVkSAASOgoQdHJhY2tfc3Vic2NyaWJlZBgJIAEoCzIeLmxpdmVr",
+ "aXQucHJvdG8uVHJhY2tTdWJzY3JpYmVkSAASPgoSdHJhY2tfdW5zdWJzY3Jp",
+ "YmVkGAogASgLMiAubGl2ZWtpdC5wcm90by5UcmFja1Vuc3Vic2NyaWJlZEgA",
+ "EksKGXRyYWNrX3N1YnNjcmlwdGlvbl9mYWlsZWQYCyABKAsyJi5saXZla2l0",
+ "LnByb3RvLlRyYWNrU3Vic2NyaXB0aW9uRmFpbGVkSAASMAoLdHJhY2tfbXV0",
+ "ZWQYDCABKAsyGS5saXZla2l0LnByb3RvLlRyYWNrTXV0ZWRIABI0Cg10cmFj",
+ "a191bm11dGVkGA0gASgLMhsubGl2ZWtpdC5wcm90by5UcmFja1VubXV0ZWRI",
+ "ABJHChdhY3RpdmVfc3BlYWtlcnNfY2hhbmdlZBgOIAEoCzIkLmxpdmVraXQu",
+ "cHJvdG8uQWN0aXZlU3BlYWtlcnNDaGFuZ2VkSAASQwoVcm9vbV9tZXRhZGF0",
+ "YV9jaGFuZ2VkGA8gASgLMiIubGl2ZWtpdC5wcm90by5Sb29tTWV0YWRhdGFD",
+ "aGFuZ2VkSAASOQoQcm9vbV9zaWRfY2hhbmdlZBgQIAEoCzIdLmxpdmVraXQu",
+ "cHJvdG8uUm9vbVNpZENoYW5nZWRIABJRChxwYXJ0aWNpcGFudF9tZXRhZGF0",
+ "YV9jaGFuZ2VkGBEgASgLMikubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFudE1l",
+ "dGFkYXRhQ2hhbmdlZEgAEkkKGHBhcnRpY2lwYW50X25hbWVfY2hhbmdlZBgS",
+ "IAEoCzIlLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnROYW1lQ2hhbmdlZEgA",
+ "ElUKHnBhcnRpY2lwYW50X2F0dHJpYnV0ZXNfY2hhbmdlZBgTIAEoCzIrLmxp",
+ "dmVraXQucHJvdG8uUGFydGljaXBhbnRBdHRyaWJ1dGVzQ2hhbmdlZEgAEk0K",
+ "GmNvbm5lY3Rpb25fcXVhbGl0eV9jaGFuZ2VkGBQgASgLMicubGl2ZWtpdC5w",
+ "cm90by5Db25uZWN0aW9uUXVhbGl0eUNoYW5nZWRIABJJChhjb25uZWN0aW9u",
+ "X3N0YXRlX2NoYW5nZWQYFSABKAsyJS5saXZla2l0LnByb3RvLkNvbm5lY3Rp",
+ "b25TdGF0ZUNoYW5nZWRIABIzCgxkaXNjb25uZWN0ZWQYFiABKAsyGy5saXZl",
+ "a2l0LnByb3RvLkRpc2Nvbm5lY3RlZEgAEjMKDHJlY29ubmVjdGluZxgXIAEo",
+ "CzIbLmxpdmVraXQucHJvdG8uUmVjb25uZWN0aW5nSAASMQoLcmVjb25uZWN0",
+ "ZWQYGCABKAsyGi5saXZla2l0LnByb3RvLlJlY29ubmVjdGVkSAASPQoSZTJl",
+ "ZV9zdGF0ZV9jaGFuZ2VkGBkgASgLMh8ubGl2ZWtpdC5wcm90by5FMmVlU3Rh",
+ "dGVDaGFuZ2VkSAASJQoDZW9zGBogASgLMhYubGl2ZWtpdC5wcm90by5Sb29t",
+ "RU9TSAASQQoUZGF0YV9wYWNrZXRfcmVjZWl2ZWQYGyABKAsyIS5saXZla2l0",
+ "LnByb3RvLkRhdGFQYWNrZXRSZWNlaXZlZEgAEkYKFnRyYW5zY3JpcHRpb25f",
+ "cmVjZWl2ZWQYHCABKAsyJC5saXZla2l0LnByb3RvLlRyYW5zY3JpcHRpb25S",
+ "ZWNlaXZlZEgAEjoKDGNoYXRfbWVzc2FnZRgdIAEoCzIiLmxpdmVraXQucHJv",
+ "dG8uQ2hhdE1lc3NhZ2VSZWNlaXZlZEgAEkkKFnN0cmVhbV9oZWFkZXJfcmVj",
+ "ZWl2ZWQYHiABKAsyJy5saXZla2l0LnByb3RvLkRhdGFTdHJlYW1IZWFkZXJS",
+ "ZWNlaXZlZEgAEkcKFXN0cmVhbV9jaHVua19yZWNlaXZlZBgfIAEoCzImLmxp",
+ "dmVraXQucHJvdG8uRGF0YVN0cmVhbUNodW5rUmVjZWl2ZWRIABJLChdzdHJl",
+ "YW1fdHJhaWxlcl9yZWNlaXZlZBggIAEoCzIoLmxpdmVraXQucHJvdG8uRGF0",
+ "YVN0cmVhbVRyYWlsZXJSZWNlaXZlZEgAEmkKImRhdGFfY2hhbm5lbF9sb3df",
+ "dGhyZXNob2xkX2NoYW5nZWQYISABKAsyOy5saXZla2l0LnByb3RvLkRhdGFD",
+ "aGFubmVsQnVmZmVyZWRBbW91bnRMb3dUaHJlc2hvbGRDaGFuZ2VkSAASPQoS",
+ "Ynl0ZV9zdHJlYW1fb3BlbmVkGCIgASgLMh8ubGl2ZWtpdC5wcm90by5CeXRl",
+ "U3RyZWFtT3BlbmVkSAASPQoSdGV4dF9zdHJlYW1fb3BlbmVkGCMgASgLMh8u",
+ "bGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtT3BlbmVkSAASLwoMcm9vbV91cGRh",
+ "dGVkGCQgASgLMhcubGl2ZWtpdC5wcm90by5Sb29tSW5mb0gAEigKBW1vdmVk",
+ "GCUgASgLMhcubGl2ZWtpdC5wcm90by5Sb29tSW5mb0gAEkIKFHBhcnRpY2lw",
+ "YW50c191cGRhdGVkGCYgASgLMiIubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFu",
+ "dHNVcGRhdGVkSAASYgolcGFydGljaXBhbnRfZW5jcnlwdGlvbl9zdGF0dXNf",
+ "Y2hhbmdlZBgnIAEoCzIxLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRFbmNy",
+ "eXB0aW9uU3RhdHVzQ2hhbmdlZEgAElUKHnBhcnRpY2lwYW50X3Blcm1pc3Np",
+ "b25fY2hhbmdlZBgpIAEoCzIrLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRQ",
+ "ZXJtaXNzaW9uQ2hhbmdlZEgAEjgKD3Rva2VuX3JlZnJlc2hlZBgoIAEoCzId",
+ "LmxpdmVraXQucHJvdG8uVG9rZW5SZWZyZXNoZWRIABJOChtyZW1vdGVfZGF0",
+ "YV90cmFja19wdWJsaXNoZWQYKiABKAsyJy5saXZla2l0LnByb3RvLlJlbW90",
+ "ZURhdGFUcmFja1B1Ymxpc2hlZEgAQgkKB21lc3NhZ2UiyQIKCFJvb21JbmZv",
+ "EgsKA3NpZBgBIAEoCRIMCgRuYW1lGAIgAigJEhAKCG1ldGFkYXRhGAMgAigJ",
+ "Ei4KJmxvc3N5X2RjX2J1ZmZlcmVkX2Ftb3VudF9sb3dfdGhyZXNob2xkGAQg",
+ "AigEEjEKKXJlbGlhYmxlX2RjX2J1ZmZlcmVkX2Ftb3VudF9sb3dfdGhyZXNo",
+ "b2xkGAUgAigEEhUKDWVtcHR5X3RpbWVvdXQYBiACKA0SGQoRZGVwYXJ0dXJl",
+ "X3RpbWVvdXQYByACKA0SGAoQbWF4X3BhcnRpY2lwYW50cxgIIAIoDRIVCg1j",
+ "cmVhdGlvbl90aW1lGAkgAigDEhgKEG51bV9wYXJ0aWNpcGFudHMYCiACKA0S",
+ "FgoObnVtX3B1Ymxpc2hlcnMYCyACKA0SGAoQYWN0aXZlX3JlY29yZGluZxgM",
+ "IAIoCCJhCglPd25lZFJvb20SLQoGaGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5w",
+ "cm90by5GZmlPd25lZEhhbmRsZRIlCgRpbmZvGAIgAigLMhcubGl2ZWtpdC5w",
+ "cm90by5Sb29tSW5mbyJLChNQYXJ0aWNpcGFudHNVcGRhdGVkEjQKDHBhcnRp",
+ "Y2lwYW50cxgBIAMoCzIeLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRJbmZv",
+ "IkUKFFBhcnRpY2lwYW50Q29ubmVjdGVkEi0KBGluZm8YASACKAsyHy5saXZl",
+ "a2l0LnByb3RvLk93bmVkUGFydGljaXBhbnQicwoXUGFydGljaXBhbnREaXNj",
+ "b25uZWN0ZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSOgoRZGlz",
+ "Y29ubmVjdF9yZWFzb24YAiACKA4yHy5saXZla2l0LnByb3RvLkRpc2Nvbm5l",
+ "Y3RSZWFzb24iKAoTTG9jYWxUcmFja1B1Ymxpc2hlZBIRCgl0cmFja19zaWQY",
+ "ASACKAkiMAoVTG9jYWxUcmFja1VucHVibGlzaGVkEhcKD3B1YmxpY2F0aW9u",
+ "X3NpZBgBIAIoCSIpChRMb2NhbFRyYWNrU3Vic2NyaWJlZBIRCgl0cmFja19z",
+ "aWQYAiACKAkiaQoOVHJhY2tQdWJsaXNoZWQSHAoUcGFydGljaXBhbnRfaWRl",
+ "bnRpdHkYASACKAkSOQoLcHVibGljYXRpb24YAiACKAsyJC5saXZla2l0LnBy",
+ "b3RvLk93bmVkVHJhY2tQdWJsaWNhdGlvbiJJChBUcmFja1VucHVibGlzaGVk",
+ "EhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhcKD3B1YmxpY2F0aW9u",
+ "X3NpZBgCIAIoCSJZCg9UcmFja1N1YnNjcmliZWQSHAoUcGFydGljaXBhbnRf",
+ "aWRlbnRpdHkYASACKAkSKAoFdHJhY2sYAiACKAsyGS5saXZla2l0LnByb3Rv",
+ "Lk93bmVkVHJhY2siRAoRVHJhY2tVbnN1YnNjcmliZWQSHAoUcGFydGljaXBh",
+ "bnRfaWRlbnRpdHkYASACKAkSEQoJdHJhY2tfc2lkGAIgAigJIlkKF1RyYWNr",
+ "U3Vic2NyaXB0aW9uRmFpbGVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEg",
+ "AigJEhEKCXRyYWNrX3NpZBgCIAIoCRINCgVlcnJvchgDIAIoCSI9CgpUcmFj",
+ "a011dGVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhEKCXRyYWNr",
+ "X3NpZBgCIAIoCSI/CgxUcmFja1VubXV0ZWQSHAoUcGFydGljaXBhbnRfaWRl",
+ "bnRpdHkYASACKAkSEQoJdHJhY2tfc2lkGAIgAigJIl8KEEUyZWVTdGF0ZUNo",
+ "YW5nZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSLQoFc3RhdGUY",
+ "AiACKA4yHi5saXZla2l0LnByb3RvLkVuY3J5cHRpb25TdGF0ZSI3ChVBY3Rp",
+ "dmVTcGVha2Vyc0NoYW5nZWQSHgoWcGFydGljaXBhbnRfaWRlbnRpdGllcxgB",
+ "IAMoCSInChNSb29tTWV0YWRhdGFDaGFuZ2VkEhAKCG1ldGFkYXRhGAEgAigJ",
+ "Ih0KDlJvb21TaWRDaGFuZ2VkEgsKA3NpZBgBIAIoCSJMChpQYXJ0aWNpcGFu",
+ "dE1ldGFkYXRhQ2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIo",
+ "CRIQCghtZXRhZGF0YRgCIAIoCSKsAQocUGFydGljaXBhbnRBdHRyaWJ1dGVz",
+ "Q2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIyCgphdHRy",
+ "aWJ1dGVzGAIgAygLMh4ubGl2ZWtpdC5wcm90by5BdHRyaWJ1dGVzRW50cnkS",
+ "OgoSY2hhbmdlZF9hdHRyaWJ1dGVzGAMgAygLMh4ubGl2ZWtpdC5wcm90by5B",
+ "dHRyaWJ1dGVzRW50cnkiWAoiUGFydGljaXBhbnRFbmNyeXB0aW9uU3RhdHVz",
+ "Q2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIUCgxpc19l",
+ "bmNyeXB0ZWQYAiACKAgiRAoWUGFydGljaXBhbnROYW1lQ2hhbmdlZBIcChRw",
+ "YXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIMCgRuYW1lGAIgAigJInYKHFBh",
+ "cnRpY2lwYW50UGVybWlzc2lvbkNoYW5nZWQSHAoUcGFydGljaXBhbnRfaWRl",
+ "bnRpdHkYASACKAkSOAoKcGVybWlzc2lvbhgCIAEoCzIkLmxpdmVraXQucHJv",
+ "dG8uUGFydGljaXBhbnRQZXJtaXNzaW9uImsKGENvbm5lY3Rpb25RdWFsaXR5",
+ "Q2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIxCgdxdWFs",
+ "aXR5GAIgAigOMiAubGl2ZWtpdC5wcm90by5Db25uZWN0aW9uUXVhbGl0eSJF",
+ "CgpVc2VyUGFja2V0EigKBGRhdGEYASACKAsyGi5saXZla2l0LnByb3RvLk93",
+ "bmVkQnVmZmVyEg0KBXRvcGljGAIgASgJInkKC0NoYXRNZXNzYWdlEgoKAmlk",
+ "GAEgAigJEhEKCXRpbWVzdGFtcBgCIAIoAxIPCgdtZXNzYWdlGAMgAigJEhYK",
+ "DmVkaXRfdGltZXN0YW1wGAQgASgDEg8KB2RlbGV0ZWQYBSABKAgSEQoJZ2Vu",
+ "ZXJhdGVkGAYgASgIImAKE0NoYXRNZXNzYWdlUmVjZWl2ZWQSKwoHbWVzc2Fn",
+ "ZRgBIAIoCzIaLmxpdmVraXQucHJvdG8uQ2hhdE1lc3NhZ2USHAoUcGFydGlj",
+ "aXBhbnRfaWRlbnRpdHkYAiACKAkiJgoHU2lwRFRNRhIMCgRjb2RlGAEgAigN",
+ "Eg0KBWRpZ2l0GAIgASgJIr8BChJEYXRhUGFja2V0UmVjZWl2ZWQSKwoEa2lu",
+ "ZBgBIAIoDjIdLmxpdmVraXQucHJvdG8uRGF0YVBhY2tldEtpbmQSHAoUcGFy",
+ "dGljaXBhbnRfaWRlbnRpdHkYAiACKAkSKQoEdXNlchgEIAEoCzIZLmxpdmVr",
+ "aXQucHJvdG8uVXNlclBhY2tldEgAEioKCHNpcF9kdG1mGAUgASgLMhYubGl2",
+ "ZWtpdC5wcm90by5TaXBEVE1GSABCBwoFdmFsdWUifwoVVHJhbnNjcmlwdGlv",
+ "blJlY2VpdmVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgASgJEhEKCXRy",
+ "YWNrX3NpZBgCIAEoCRI1CghzZWdtZW50cxgDIAMoCzIjLmxpdmVraXQucHJv",
+ "dG8uVHJhbnNjcmlwdGlvblNlZ21lbnQiRwoWQ29ubmVjdGlvblN0YXRlQ2hh",
+ "bmdlZBItCgVzdGF0ZRgBIAIoDjIeLmxpdmVraXQucHJvdG8uQ29ubmVjdGlv",
+ "blN0YXRlIgsKCUNvbm5lY3RlZCI/CgxEaXNjb25uZWN0ZWQSLwoGcmVhc29u",
+ "GAEgAigOMh8ubGl2ZWtpdC5wcm90by5EaXNjb25uZWN0UmVhc29uIg4KDFJl",
+ "Y29ubmVjdGluZyINCgtSZWNvbm5lY3RlZCIfCg5Ub2tlblJlZnJlc2hlZBIN",
+ "CgV0b2tlbhgBIAIoCSIJCgdSb29tRU9TIo4HCgpEYXRhU3RyZWFtGqoBCgpU",
+ "ZXh0SGVhZGVyEj8KDm9wZXJhdGlvbl90eXBlGAEgAigOMicubGl2ZWtpdC5w",
+ "cm90by5EYXRhU3RyZWFtLk9wZXJhdGlvblR5cGUSDwoHdmVyc2lvbhgCIAEo",
+ "BRIaChJyZXBseV90b19zdHJlYW1faWQYAyABKAkSGwoTYXR0YWNoZWRfc3Ry",
+ "ZWFtX2lkcxgEIAMoCRIRCglnZW5lcmF0ZWQYBSABKAgaGgoKQnl0ZUhlYWRl",
+ "chIMCgRuYW1lGAEgAigJGusCCgZIZWFkZXISEQoJc3RyZWFtX2lkGAEgAigJ",
+ "EhEKCXRpbWVzdGFtcBgCIAIoAxIRCgltaW1lX3R5cGUYAyACKAkSDQoFdG9w",
+ "aWMYBCACKAkSFAoMdG90YWxfbGVuZ3RoGAUgASgEEkQKCmF0dHJpYnV0ZXMY",
+ "BiADKAsyMC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uSGVhZGVyLkF0dHJp",
+ "YnV0ZXNFbnRyeRI7Cgt0ZXh0X2hlYWRlchgHIAEoCzIkLmxpdmVraXQucHJv",
+ "dG8uRGF0YVN0cmVhbS5UZXh0SGVhZGVySAASOwoLYnl0ZV9oZWFkZXIYCCAB",
+ "KAsyJC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uQnl0ZUhlYWRlckgAGjEK",
+ "D0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6",
+ "AjgBQhAKDmNvbnRlbnRfaGVhZGVyGl0KBUNodW5rEhEKCXN0cmVhbV9pZBgB",
+ "IAIoCRITCgtjaHVua19pbmRleBgCIAIoBBIPCgdjb250ZW50GAMgAigMEg8K",
+ "B3ZlcnNpb24YBCABKAUSCgoCaXYYBSABKAwapgEKB1RyYWlsZXISEQoJc3Ry",
+ "ZWFtX2lkGAEgAigJEg4KBnJlYXNvbhgCIAIoCRJFCgphdHRyaWJ1dGVzGAMg",
+ "AygLMjEubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFtLlRyYWlsZXIuQXR0cmli",
+ "dXRlc0VudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoF",
+ "dmFsdWUYAiABKAk6AjgBIkEKDU9wZXJhdGlvblR5cGUSCgoGQ1JFQVRFEAAS",
+ "CgoGVVBEQVRFEAESCgoGREVMRVRFEAISDAoIUkVBQ1RJT04QAyJqChhEYXRh",
+ "U3RyZWFtSGVhZGVyUmVjZWl2ZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkY",
+ "ASACKAkSMAoGaGVhZGVyGAIgAigLMiAubGl2ZWtpdC5wcm90by5EYXRhU3Ry",
+ "ZWFtLkhlYWRlciJnChdEYXRhU3RyZWFtQ2h1bmtSZWNlaXZlZBIcChRwYXJ0",
+ "aWNpcGFudF9pZGVudGl0eRgBIAIoCRIuCgVjaHVuaxgCIAIoCzIfLmxpdmVr",
+ "aXQucHJvdG8uRGF0YVN0cmVhbS5DaHVuayJtChlEYXRhU3RyZWFtVHJhaWxl",
+ "clJlY2VpdmVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEjIKB3Ry",
+ "YWlsZXIYAiACKAsyIS5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uVHJhaWxl",
+ "ciLAAQoXU2VuZFN0cmVhbUhlYWRlclJlcXVlc3QSIAoYbG9jYWxfcGFydGlj",
+ "aXBhbnRfaGFuZGxlGAEgAigEEjAKBmhlYWRlchgCIAIoCzIgLmxpdmVraXQu",
+ "cHJvdG8uRGF0YVN0cmVhbS5IZWFkZXISHgoWZGVzdGluYXRpb25faWRlbnRp",
+ "dGllcxgDIAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBCACKAkSGAoQcmVxdWVz",
+ "dF9hc3luY19pZBgFIAEoBCK9AQoWU2VuZFN0cmVhbUNodW5rUmVxdWVzdBIg",
+ "Chhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSLgoFY2h1bmsYAiAC",
+ "KAsyHy5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uQ2h1bmsSHgoWZGVzdGlu",
+ "YXRpb25faWRlbnRpdGllcxgDIAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBCAC",
+ "KAkSGAoQcmVxdWVzdF9hc3luY19pZBgFIAEoBCLDAQoYU2VuZFN0cmVhbVRy",
+ "YWlsZXJSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
+ "BBIyCgd0cmFpbGVyGAIgAigLMiEubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFt",
+ "LlRyYWlsZXISHgoWZGVzdGluYXRpb25faWRlbnRpdGllcxgDIAMoCRIXCg9z",
+ "ZW5kZXJfaWRlbnRpdHkYBCACKAkSGAoQcmVxdWVzdF9hc3luY19pZBgFIAEo",
+ "BCIsChhTZW5kU3RyZWFtSGVhZGVyUmVzcG9uc2USEAoIYXN5bmNfaWQYASAC",
+ "KAQiKwoXU2VuZFN0cmVhbUNodW5rUmVzcG9uc2USEAoIYXN5bmNfaWQYASAC",
+ "KAQiLQoZU2VuZFN0cmVhbVRyYWlsZXJSZXNwb25zZRIQCghhc3luY19pZBgB",
+ "IAIoBCI7ChhTZW5kU3RyZWFtSGVhZGVyQ2FsbGJhY2sSEAoIYXN5bmNfaWQY",
+ "ASACKAQSDQoFZXJyb3IYAiABKAkiOgoXU2VuZFN0cmVhbUNodW5rQ2FsbGJh",
+ "Y2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IYAiABKAkiPAoZU2VuZFN0",
+ "cmVhbVRyYWlsZXJDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJv",
+ "chgCIAEoCSKTAQovU2V0RGF0YUNoYW5uZWxCdWZmZXJlZEFtb3VudExvd1Ro",
+ "cmVzaG9sZFJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEg",
+ "AigEEhEKCXRocmVzaG9sZBgCIAIoBBIrCgRraW5kGAMgAigOMh0ubGl2ZWtp",
+ "dC5wcm90by5EYXRhUGFja2V0S2luZCIyCjBTZXREYXRhQ2hhbm5lbEJ1ZmZl",
+ "cmVkQW1vdW50TG93VGhyZXNob2xkUmVzcG9uc2UibgosRGF0YUNoYW5uZWxC",
+ "dWZmZXJlZEFtb3VudExvd1RocmVzaG9sZENoYW5nZWQSKwoEa2luZBgBIAIo",
+ "DjIdLmxpdmVraXQucHJvdG8uRGF0YVBhY2tldEtpbmQSEQoJdGhyZXNob2xk",
+ "GAIgAigEImYKEEJ5dGVTdHJlYW1PcGVuZWQSNAoGcmVhZGVyGAEgAigLMiQu",
+ "bGl2ZWtpdC5wcm90by5Pd25lZEJ5dGVTdHJlYW1SZWFkZXISHAoUcGFydGlj",
+ "aXBhbnRfaWRlbnRpdHkYAiACKAkiZgoQVGV4dFN0cmVhbU9wZW5lZBI0CgZy",
+ "ZWFkZXIYASACKAsyJC5saXZla2l0LnByb3RvLk93bmVkVGV4dFN0cmVhbVJl",
+ "YWRlchIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgCIAIoCSJOChhSZW1vdGVE",
+ "YXRhVHJhY2tQdWJsaXNoZWQSMgoFdHJhY2sYASACKAsyIy5saXZla2l0LnBy",
+ "b3RvLk93bmVkUmVtb3RlRGF0YVRyYWNrKlAKEEljZVRyYW5zcG9ydFR5cGUS",
+ "EwoPVFJBTlNQT1JUX1JFTEFZEAASFAoQVFJBTlNQT1JUX05PSE9TVBABEhEK",
+ "DVRSQU5TUE9SVF9BTEwQAipDChhDb250aW51YWxHYXRoZXJpbmdQb2xpY3kS",
+ "DwoLR0FUSEVSX09OQ0UQABIWChJHQVRIRVJfQ09OVElOVUFMTFkQASpgChFD",
+ "b25uZWN0aW9uUXVhbGl0eRIQCgxRVUFMSVRZX1BPT1IQABIQCgxRVUFMSVRZ",
+ "X0dPT0QQARIVChFRVUFMSVRZX0VYQ0VMTEVOVBACEhAKDFFVQUxJVFlfTE9T",
+ "VBADKlMKD0Nvbm5lY3Rpb25TdGF0ZRIVChFDT05OX0RJU0NPTk5FQ1RFRBAA",
+ "EhIKDkNPTk5fQ09OTkVDVEVEEAESFQoRQ09OTl9SRUNPTk5FQ1RJTkcQAioz",
+ "Cg5EYXRhUGFja2V0S2luZBIOCgpLSU5EX0xPU1NZEAASEQoNS0lORF9SRUxJ",
+ "QUJMRRABQhCqAg1MaXZlS2l0LlByb3Rv"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
- 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::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, global::LiveKit.Proto.DataTrackReflection.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.ConnectRequest), global::LiveKit.Proto.ConnectRequest.Parser, new[]{ "Url", "Token", "Options", "RequestAsyncId" }, 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", "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.DisconnectRequest), global::LiveKit.Proto.DisconnectRequest.Parser, new[]{ "RoomHandle", "RequestAsyncId" }, 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, 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.PublishTrackRequest), global::LiveKit.Proto.PublishTrackRequest.Parser, new[]{ "LocalParticipantHandle", "TrackHandle", "Options", "RequestAsyncId" }, 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[]{ "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.UnpublishTrackRequest), global::LiveKit.Proto.UnpublishTrackRequest.Parser, new[]{ "LocalParticipantHandle", "TrackSid", "StopOnUnpublish", "RequestAsyncId" }, 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[]{ "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.PublishDataRequest), global::LiveKit.Proto.PublishDataRequest.Parser, new[]{ "LocalParticipantHandle", "DataPtr", "DataLen", "Reliable", "DestinationSids", "Topic", "DestinationIdentities", "RequestAsyncId" }, 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.PublishTranscriptionRequest), global::LiveKit.Proto.PublishTranscriptionRequest.Parser, new[]{ "LocalParticipantHandle", "ParticipantIdentity", "TrackId", "Segments", "RequestAsyncId" }, 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.PublishSipDtmfRequest), global::LiveKit.Proto.PublishSipDtmfRequest.Parser, new[]{ "LocalParticipantHandle", "Code", "Digit", "DestinationIdentities", "RequestAsyncId" }, 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.SetLocalMetadataRequest), global::LiveKit.Proto.SetLocalMetadataRequest.Parser, new[]{ "LocalParticipantHandle", "Metadata", "RequestAsyncId" }, 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.SendChatMessageRequest), global::LiveKit.Proto.SendChatMessageRequest.Parser, new[]{ "LocalParticipantHandle", "Message", "DestinationIdentities", "SenderIdentity", "RequestAsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.EditChatMessageRequest), global::LiveKit.Proto.EditChatMessageRequest.Parser, new[]{ "LocalParticipantHandle", "EditText", "OriginalMessage", "DestinationIdentities", "SenderIdentity", "RequestAsyncId" }, 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.SetLocalAttributesRequest), global::LiveKit.Proto.SetLocalAttributesRequest.Parser, new[]{ "LocalParticipantHandle", "Attributes", "RequestAsyncId" }, 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.SetLocalNameRequest), global::LiveKit.Proto.SetLocalNameRequest.Parser, new[]{ "LocalParticipantHandle", "Name", "RequestAsyncId" }, 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.GetSessionStatsRequest), global::LiveKit.Proto.GetSessionStatsRequest.Parser, new[]{ "RoomHandle", "RequestAsyncId" }, 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),
@@ -377,7 +397,7 @@ static RoomReflection() {
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", "ParticipantEncryptionStatusChanged", "ConnectionQualityChanged", "ConnectionStateChanged", "Disconnected", "Reconnecting", "Reconnected", "E2EeStateChanged", "Eos", "DataPacketReceived", "TranscriptionReceived", "ChatMessage", "StreamHeaderReceived", "StreamChunkReceived", "StreamTrailerReceived", "DataChannelLowThresholdChanged", "ByteStreamOpened", "TextStreamOpened", "RoomUpdated", "Moved", "ParticipantsUpdated" }, new[]{ "Message" }, 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", "RoomUpdated", "Moved", "ParticipantsUpdated", "ParticipantEncryptionStatusChanged", "ParticipantPermissionChanged", "TokenRefreshed", "RemoteDataTrackPublished" }, new[]{ "Message" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomInfo), global::LiveKit.Proto.RoomInfo.Parser, new[]{ "Sid", "Name", "Metadata", "LossyDcBufferedAmountLowThreshold", "ReliableDcBufferedAmountLowThreshold", "EmptyTimeout", "DepartureTimeout", "MaxParticipants", "CreationTime", "NumParticipants", "NumPublishers", "ActiveRecording" }, 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.ParticipantsUpdated), global::LiveKit.Proto.ParticipantsUpdated.Parser, new[]{ "Participants" }, null, null, null, null),
@@ -401,6 +421,7 @@ static RoomReflection() {
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.ParticipantEncryptionStatusChanged), global::LiveKit.Proto.ParticipantEncryptionStatusChanged.Parser, new[]{ "ParticipantIdentity", "IsEncrypted" }, 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.ParticipantPermissionChanged), global::LiveKit.Proto.ParticipantPermissionChanged.Parser, new[]{ "ParticipantIdentity", "Permission" }, 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),
@@ -413,6 +434,7 @@ static RoomReflection() {
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.TokenRefreshed), global::LiveKit.Proto.TokenRefreshed.Parser, new[]{ "Token" }, 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),
@@ -422,9 +444,9 @@ static RoomReflection() {
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.SendStreamHeaderRequest), global::LiveKit.Proto.SendStreamHeaderRequest.Parser, new[]{ "LocalParticipantHandle", "Header", "DestinationIdentities", "SenderIdentity", "RequestAsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamChunkRequest), global::LiveKit.Proto.SendStreamChunkRequest.Parser, new[]{ "LocalParticipantHandle", "Chunk", "DestinationIdentities", "SenderIdentity", "RequestAsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SendStreamTrailerRequest), global::LiveKit.Proto.SendStreamTrailerRequest.Parser, new[]{ "LocalParticipantHandle", "Trailer", "DestinationIdentities", "SenderIdentity", "RequestAsyncId" }, 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),
@@ -435,7 +457,8 @@ static RoomReflection() {
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)
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TextStreamOpened), global::LiveKit.Proto.TextStreamOpened.Parser, new[]{ "Reader", "ParticipantIdentity" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteDataTrackPublished), global::LiveKit.Proto.RemoteDataTrackPublished.Parser, new[]{ "Track" }, null, null, null, null)
}));
}
#endregion
@@ -485,6 +508,7 @@ public sealed partial class ConnectRequest : pb::IMessage
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ConnectRequest());
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; } }
@@ -512,9 +536,11 @@ public ConnectRequest() {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ConnectRequest(ConnectRequest other) : this() {
+ _hasBits0 = other._hasBits0;
url_ = other.url_;
token_ = other.token_;
options_ = other.options_ != null ? other.options_.Clone() : null;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -588,6 +614,33 @@ public void ClearToken() {
}
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 4;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 1) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~1;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -606,6 +659,7 @@ public bool Equals(ConnectRequest other) {
if (Url != other.Url) return false;
if (Token != other.Token) return false;
if (!object.Equals(Options, other.Options)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -616,6 +670,7 @@ public override int GetHashCode() {
if (HasUrl) hash ^= Url.GetHashCode();
if (HasToken) hash ^= Token.GetHashCode();
if (options_ != null) hash ^= Options.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -646,6 +701,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -668,6 +727,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -687,6 +750,9 @@ public int CalculateSize() {
if (options_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -711,6 +777,9 @@ public void MergeFrom(ConnectRequest other) {
}
Options.MergeFrom(other.Options);
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -745,6 +814,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -779,6 +852,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -1915,6 +1992,7 @@ public DisconnectRequest() {
public DisconnectRequest(DisconnectRequest other) : this() {
_hasBits0 = other._hasBits0;
roomHandle_ = other.roomHandle_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -1951,6 +2029,33 @@ public void ClearRoomHandle() {
_hasBits0 &= ~1;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 2;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -1967,6 +2072,7 @@ public bool Equals(DisconnectRequest other) {
return true;
}
if (RoomHandle != other.RoomHandle) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -1975,6 +2081,7 @@ public bool Equals(DisconnectRequest other) {
public override int GetHashCode() {
int hash = 1;
if (HasRoomHandle) hash ^= RoomHandle.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1997,6 +2104,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(RoomHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -2011,6 +2122,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(RoomHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -2024,6 +2139,9 @@ public int CalculateSize() {
if (HasRoomHandle) {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoomHandle);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -2039,6 +2157,9 @@ public void MergeFrom(DisconnectRequest other) {
if (other.HasRoomHandle) {
RoomHandle = other.RoomHandle;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -2062,6 +2183,10 @@ public void MergeFrom(pb::CodedInputStream input) {
RoomHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -2085,6 +2210,10 @@ public void MergeFrom(pb::CodedInputStream input) {
RoomHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -2565,6 +2694,7 @@ public PublishTrackRequest(PublishTrackRequest other) : this() {
localParticipantHandle_ = other.localParticipantHandle_;
trackHandle_ = other.trackHandle_;
options_ = other.options_ != null ? other.options_.Clone() : null;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -2640,6 +2770,33 @@ public void ClearTrackHandle() {
}
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 4;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 4) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 4;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 4) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~4;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -2658,6 +2815,7 @@ public bool Equals(PublishTrackRequest other) {
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (TrackHandle != other.TrackHandle) return false;
if (!object.Equals(Options, other.Options)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -2668,6 +2826,7 @@ public override int GetHashCode() {
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (HasTrackHandle) hash ^= TrackHandle.GetHashCode();
if (options_ != null) hash ^= Options.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -2698,6 +2857,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -2720,6 +2883,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(26);
output.WriteMessage(Options);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -2739,6 +2906,9 @@ public int CalculateSize() {
if (options_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Options);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -2763,6 +2933,9 @@ public void MergeFrom(PublishTrackRequest other) {
}
Options.MergeFrom(other.Options);
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -2797,6 +2970,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -2831,6 +3008,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Options);
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -3445,6 +3626,7 @@ public UnpublishTrackRequest(UnpublishTrackRequest other) : this() {
localParticipantHandle_ = other.localParticipantHandle_;
trackSid_ = other.trackSid_;
stopOnUnpublish_ = other.stopOnUnpublish_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -3534,6 +3716,33 @@ public void ClearStopOnUnpublish() {
_hasBits0 &= ~2;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 4;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 4) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 4;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 4) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~4;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -3552,6 +3761,7 @@ public bool Equals(UnpublishTrackRequest other) {
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (TrackSid != other.TrackSid) return false;
if (StopOnUnpublish != other.StopOnUnpublish) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -3562,6 +3772,7 @@ public override int GetHashCode() {
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (HasTrackSid) hash ^= TrackSid.GetHashCode();
if (HasStopOnUnpublish) hash ^= StopOnUnpublish.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -3592,6 +3803,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(24);
output.WriteBool(StopOnUnpublish);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -3614,6 +3829,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(24);
output.WriteBool(StopOnUnpublish);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(32);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -3633,6 +3852,9 @@ public int CalculateSize() {
if (HasStopOnUnpublish) {
size += 1 + 1;
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -3654,6 +3876,9 @@ public void MergeFrom(UnpublishTrackRequest other) {
if (other.HasStopOnUnpublish) {
StopOnUnpublish = other.StopOnUnpublish;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -3685,6 +3910,10 @@ public void MergeFrom(pb::CodedInputStream input) {
StopOnUnpublish = input.ReadBool();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -3716,6 +3945,10 @@ public void MergeFrom(pb::CodedInputStream input) {
StopOnUnpublish = input.ReadBool();
break;
}
+ case 32: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -4251,6 +4484,7 @@ public PublishDataRequest(PublishDataRequest other) : this() {
destinationSids_ = other.destinationSids_.Clone();
topic_ = other.topic_;
destinationIdentities_ = other.destinationIdentities_.Clone();
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -4417,6 +4651,33 @@ public void ClearTopic() {
get { return destinationIdentities_; }
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 8;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 16) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 16;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 16) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~16;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -4439,6 +4700,7 @@ public bool Equals(PublishDataRequest other) {
if(!destinationSids_.Equals(other.destinationSids_)) return false;
if (Topic != other.Topic) return false;
if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -4453,6 +4715,7 @@ public override int GetHashCode() {
hash ^= destinationSids_.GetHashCode();
if (HasTopic) hash ^= Topic.GetHashCode();
hash ^= destinationIdentities_.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -4493,6 +4756,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteString(Topic);
}
destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(64);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -4525,6 +4792,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteString(Topic);
}
destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(64);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -4552,6 +4823,9 @@ public int CalculateSize() {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Topic);
}
size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec);
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -4581,6 +4855,9 @@ public void MergeFrom(PublishDataRequest other) {
Topic = other.Topic;
}
destinationIdentities_.Add(other.destinationIdentities_);
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -4628,6 +4905,10 @@ public void MergeFrom(pb::CodedInputStream input) {
destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec);
break;
}
+ case 64: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -4675,6 +4956,10 @@ public void MergeFrom(pb::CodedInputStream input) {
destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec);
break;
}
+ case 64: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -5207,6 +5492,7 @@ public PublishTranscriptionRequest(PublishTranscriptionRequest other) : this() {
participantIdentity_ = other.participantIdentity_;
trackId_ = other.trackId_;
segments_ = other.segments_.Clone();
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -5306,6 +5592,33 @@ public void ClearTrackId() {
get { return segments_; }
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 5;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -5325,6 +5638,7 @@ public bool Equals(PublishTranscriptionRequest other) {
if (ParticipantIdentity != other.ParticipantIdentity) return false;
if (TrackId != other.TrackId) return false;
if(!segments_.Equals(other.segments_)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -5336,6 +5650,7 @@ public override int GetHashCode() {
if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode();
if (HasTrackId) hash ^= TrackId.GetHashCode();
hash ^= segments_.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -5367,6 +5682,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteString(TrackId);
}
segments_.WriteTo(output, _repeated_segments_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -5390,6 +5709,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteString(TrackId);
}
segments_.WriteTo(ref output, _repeated_segments_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -5410,6 +5733,9 @@ public int CalculateSize() {
size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackId);
}
size += segments_.CalculateSize(_repeated_segments_codec);
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -5432,6 +5758,9 @@ public void MergeFrom(PublishTranscriptionRequest other) {
TrackId = other.TrackId;
}
segments_.Add(other.segments_);
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -5467,6 +5796,10 @@ public void MergeFrom(pb::CodedInputStream input) {
segments_.AddEntriesFrom(input, _repeated_segments_codec);
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -5502,6 +5835,10 @@ public void MergeFrom(pb::CodedInputStream input) {
segments_.AddEntriesFrom(ref input, _repeated_segments_codec);
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -6034,6 +6371,7 @@ public PublishSipDtmfRequest(PublishSipDtmfRequest other) : this() {
code_ = other.code_;
digit_ = other.digit_;
destinationIdentities_ = other.destinationIdentities_.Clone();
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -6134,6 +6472,33 @@ public void ClearDigit() {
get { return destinationIdentities_; }
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 5;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 4) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 4;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 4) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~4;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -6153,6 +6518,7 @@ public bool Equals(PublishSipDtmfRequest other) {
if (Code != other.Code) return false;
if (Digit != other.Digit) return false;
if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -6164,6 +6530,7 @@ public override int GetHashCode() {
if (HasCode) hash ^= Code.GetHashCode();
if (HasDigit) hash ^= Digit.GetHashCode();
hash ^= destinationIdentities_.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -6195,6 +6562,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteString(Digit);
}
destinationIdentities_.WriteTo(output, _repeated_destinationIdentities_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -6218,6 +6589,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteString(Digit);
}
destinationIdentities_.WriteTo(ref output, _repeated_destinationIdentities_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -6238,6 +6613,9 @@ public int CalculateSize() {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Digit);
}
size += destinationIdentities_.CalculateSize(_repeated_destinationIdentities_codec);
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -6260,6 +6638,9 @@ public void MergeFrom(PublishSipDtmfRequest other) {
Digit = other.Digit;
}
destinationIdentities_.Add(other.destinationIdentities_);
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -6295,6 +6676,10 @@ public void MergeFrom(pb::CodedInputStream input) {
destinationIdentities_.AddEntriesFrom(input, _repeated_destinationIdentities_codec);
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -6330,6 +6715,10 @@ public void MergeFrom(pb::CodedInputStream input) {
destinationIdentities_.AddEntriesFrom(ref input, _repeated_destinationIdentities_codec);
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -6860,6 +7249,7 @@ public SetLocalMetadataRequest(SetLocalMetadataRequest other) : this() {
_hasBits0 = other._hasBits0;
localParticipantHandle_ = other.localParticipantHandle_;
metadata_ = other.metadata_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -6922,6 +7312,33 @@ public void ClearMetadata() {
metadata_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -6939,6 +7356,7 @@ public bool Equals(SetLocalMetadataRequest other) {
}
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (Metadata != other.Metadata) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -6948,6 +7366,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (HasMetadata) hash ^= Metadata.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -6974,6 +7393,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Metadata);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -6992,6 +7415,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Metadata);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -7008,6 +7435,9 @@ public int CalculateSize() {
if (HasMetadata) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Metadata);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -7026,6 +7456,9 @@ public void MergeFrom(SetLocalMetadataRequest other) {
if (other.HasMetadata) {
Metadata = other.Metadata;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -7053,6 +7486,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Metadata = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -7080,6 +7517,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Metadata = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -7609,6 +8050,7 @@ public SendChatMessageRequest(SendChatMessageRequest other) : this() {
message_ = other.message_;
destinationIdentities_ = other.destinationIdentities_.Clone();
senderIdentity_ = other.senderIdentity_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -7708,6 +8150,33 @@ public void ClearSenderIdentity() {
senderIdentity_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 5;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -7727,6 +8196,7 @@ public bool Equals(SendChatMessageRequest other) {
if (Message != other.Message) return false;
if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false;
if (SenderIdentity != other.SenderIdentity) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -7738,6 +8208,7 @@ public override int GetHashCode() {
if (HasMessage) hash ^= Message.GetHashCode();
hash ^= destinationIdentities_.GetHashCode();
if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -7769,6 +8240,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -7792,6 +8267,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -7812,6 +8291,9 @@ public int CalculateSize() {
if (HasSenderIdentity) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -7834,6 +8316,9 @@ public void MergeFrom(SendChatMessageRequest other) {
if (other.HasSenderIdentity) {
SenderIdentity = other.SenderIdentity;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -7869,6 +8354,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -7904,6 +8393,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -7953,6 +8446,7 @@ public EditChatMessageRequest(EditChatMessageRequest other) : this() {
originalMessage_ = other.originalMessage_ != null ? other.originalMessage_.Clone() : null;
destinationIdentities_ = other.destinationIdentities_.Clone();
senderIdentity_ = other.senderIdentity_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -8064,6 +8558,33 @@ public void ClearSenderIdentity() {
senderIdentity_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 6;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -8084,6 +8605,7 @@ public bool Equals(EditChatMessageRequest other) {
if (!object.Equals(OriginalMessage, other.OriginalMessage)) return false;
if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false;
if (SenderIdentity != other.SenderIdentity) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -8096,6 +8618,7 @@ public override int GetHashCode() {
if (originalMessage_ != null) hash ^= OriginalMessage.GetHashCode();
hash ^= destinationIdentities_.GetHashCode();
if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -8131,6 +8654,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(42);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(48);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -8158,6 +8685,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(42);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(48);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -8181,6 +8712,9 @@ public int CalculateSize() {
if (HasSenderIdentity) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -8209,6 +8743,9 @@ public void MergeFrom(EditChatMessageRequest other) {
if (other.HasSenderIdentity) {
SenderIdentity = other.SenderIdentity;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -8251,6 +8788,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 48: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -8293,6 +8834,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 48: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -8906,6 +9451,7 @@ public SetLocalAttributesRequest(SetLocalAttributesRequest other) : this() {
_hasBits0 = other._hasBits0;
localParticipantHandle_ = other.localParticipantHandle_;
attributes_ = other.attributes_.Clone();
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -8953,6 +9499,33 @@ public void ClearLocalParticipantHandle() {
get { return attributes_; }
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -8970,6 +9543,7 @@ public bool Equals(SetLocalAttributesRequest other) {
}
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if(!attributes_.Equals(other.attributes_)) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -8979,6 +9553,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
hash ^= attributes_.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -9002,6 +9577,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteUInt64(LocalParticipantHandle);
}
attributes_.WriteTo(output, _repeated_attributes_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -9017,6 +9596,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteUInt64(LocalParticipantHandle);
}
attributes_.WriteTo(ref output, _repeated_attributes_codec);
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -9031,6 +9614,9 @@ public int CalculateSize() {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LocalParticipantHandle);
}
size += attributes_.CalculateSize(_repeated_attributes_codec);
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -9047,6 +9633,9 @@ public void MergeFrom(SetLocalAttributesRequest other) {
LocalParticipantHandle = other.LocalParticipantHandle;
}
attributes_.Add(other.attributes_);
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -9074,6 +9663,10 @@ public void MergeFrom(pb::CodedInputStream input) {
attributes_.AddEntriesFrom(input, _repeated_attributes_codec);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -9101,6 +9694,10 @@ public void MergeFrom(pb::CodedInputStream input) {
attributes_.AddEntriesFrom(ref input, _repeated_attributes_codec);
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -9894,6 +10491,7 @@ public SetLocalNameRequest(SetLocalNameRequest other) : this() {
_hasBits0 = other._hasBits0;
localParticipantHandle_ = other.localParticipantHandle_;
name_ = other.name_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -9956,6 +10554,33 @@ public void ClearName() {
name_ = null;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 3;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -9973,6 +10598,7 @@ public bool Equals(SetLocalNameRequest other) {
}
if (LocalParticipantHandle != other.LocalParticipantHandle) return false;
if (Name != other.Name) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -9982,6 +10608,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasLocalParticipantHandle) hash ^= LocalParticipantHandle.GetHashCode();
if (HasName) hash ^= Name.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -10008,6 +10635,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Name);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -10026,6 +10657,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteString(Name);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(24);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -10042,6 +10677,9 @@ public int CalculateSize() {
if (HasName) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -10060,6 +10698,9 @@ public void MergeFrom(SetLocalNameRequest other) {
if (other.HasName) {
Name = other.Name;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -10087,6 +10728,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Name = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -10114,6 +10759,10 @@ public void MergeFrom(pb::CodedInputStream input) {
Name = input.ReadString();
break;
}
+ case 24: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -11071,6 +11720,7 @@ public GetSessionStatsRequest() {
public GetSessionStatsRequest(GetSessionStatsRequest other) : this() {
_hasBits0 = other._hasBits0;
roomHandle_ = other.roomHandle_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -11107,6 +11757,33 @@ public void ClearRoomHandle() {
_hasBits0 &= ~1;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 2;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -11123,6 +11800,7 @@ public bool Equals(GetSessionStatsRequest other) {
return true;
}
if (RoomHandle != other.RoomHandle) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -11131,6 +11809,7 @@ public bool Equals(GetSessionStatsRequest other) {
public override int GetHashCode() {
int hash = 1;
if (HasRoomHandle) hash ^= RoomHandle.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -11153,6 +11832,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(RoomHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -11167,6 +11850,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(RoomHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -11180,6 +11867,9 @@ public int CalculateSize() {
if (HasRoomHandle) {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoomHandle);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -11195,6 +11885,9 @@ public void MergeFrom(GetSessionStatsRequest other) {
if (other.HasRoomHandle) {
RoomHandle = other.RoomHandle;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -11218,6 +11911,10 @@ public void MergeFrom(pb::CodedInputStream input) {
RoomHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -11241,6 +11938,10 @@ public void MergeFrom(pb::CodedInputStream input) {
RoomHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -15319,9 +16020,6 @@ public RoomEvent(RoomEvent other) : this() {
case MessageOneofCase.ParticipantAttributesChanged:
ParticipantAttributesChanged = other.ParticipantAttributesChanged.Clone();
break;
- case MessageOneofCase.ParticipantEncryptionStatusChanged:
- ParticipantEncryptionStatusChanged = other.ParticipantEncryptionStatusChanged.Clone();
- break;
case MessageOneofCase.ConnectionQualityChanged:
ConnectionQualityChanged = other.ConnectionQualityChanged.Clone();
break;
@@ -15379,6 +16077,18 @@ public RoomEvent(RoomEvent other) : this() {
case MessageOneofCase.ParticipantsUpdated:
ParticipantsUpdated = other.ParticipantsUpdated.Clone();
break;
+ case MessageOneofCase.ParticipantEncryptionStatusChanged:
+ ParticipantEncryptionStatusChanged = other.ParticipantEncryptionStatusChanged.Clone();
+ break;
+ case MessageOneofCase.ParticipantPermissionChanged:
+ ParticipantPermissionChanged = other.ParticipantPermissionChanged.Clone();
+ break;
+ case MessageOneofCase.TokenRefreshed:
+ TokenRefreshed = other.TokenRefreshed.Clone();
+ break;
+ case MessageOneofCase.RemoteDataTrackPublished:
+ RemoteDataTrackPublished = other.RemoteDataTrackPublished.Clone();
+ break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -15633,18 +16343,6 @@ public void ClearRoomHandle() {
}
}
- /// Field number for the "participant_encryption_status_changed" field.
- public const int ParticipantEncryptionStatusChangedFieldNumber = 39;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
- public global::LiveKit.Proto.ParticipantEncryptionStatusChanged ParticipantEncryptionStatusChanged {
- get { return messageCase_ == MessageOneofCase.ParticipantEncryptionStatusChanged ? (global::LiveKit.Proto.ParticipantEncryptionStatusChanged) message_ : null; }
- set {
- message_ = value;
- messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantEncryptionStatusChanged;
- }
- }
-
/// Field number for the "connection_quality_changed" field.
public const int ConnectionQualityChangedFieldNumber = 20;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -15894,6 +16592,54 @@ public void ClearRoomHandle() {
}
}
+ /// Field number for the "participant_encryption_status_changed" field.
+ public const int ParticipantEncryptionStatusChangedFieldNumber = 39;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.ParticipantEncryptionStatusChanged ParticipantEncryptionStatusChanged {
+ get { return messageCase_ == MessageOneofCase.ParticipantEncryptionStatusChanged ? (global::LiveKit.Proto.ParticipantEncryptionStatusChanged) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantEncryptionStatusChanged;
+ }
+ }
+
+ /// Field number for the "participant_permission_changed" field.
+ public const int ParticipantPermissionChangedFieldNumber = 41;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.ParticipantPermissionChanged ParticipantPermissionChanged {
+ get { return messageCase_ == MessageOneofCase.ParticipantPermissionChanged ? (global::LiveKit.Proto.ParticipantPermissionChanged) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.ParticipantPermissionChanged;
+ }
+ }
+
+ /// Field number for the "token_refreshed" field.
+ public const int TokenRefreshedFieldNumber = 40;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.TokenRefreshed TokenRefreshed {
+ get { return messageCase_ == MessageOneofCase.TokenRefreshed ? (global::LiveKit.Proto.TokenRefreshed) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.TokenRefreshed;
+ }
+ }
+
+ /// Field number for the "remote_data_track_published" field.
+ public const int RemoteDataTrackPublishedFieldNumber = 42;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.RemoteDataTrackPublished RemoteDataTrackPublished {
+ get { return messageCase_ == MessageOneofCase.RemoteDataTrackPublished ? (global::LiveKit.Proto.RemoteDataTrackPublished) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RemoteDataTrackPublished;
+ }
+ }
+
private object message_;
/// Enum of possible cases for the "message" oneof.
public enum MessageOneofCase {
@@ -15916,7 +16662,6 @@ public enum MessageOneofCase {
ParticipantMetadataChanged = 17,
ParticipantNameChanged = 18,
ParticipantAttributesChanged = 19,
- ParticipantEncryptionStatusChanged = 39,
ConnectionQualityChanged = 20,
ConnectionStateChanged = 21,
Disconnected = 22,
@@ -15936,6 +16681,10 @@ public enum MessageOneofCase {
RoomUpdated = 36,
Moved = 37,
ParticipantsUpdated = 38,
+ ParticipantEncryptionStatusChanged = 39,
+ ParticipantPermissionChanged = 41,
+ TokenRefreshed = 40,
+ RemoteDataTrackPublished = 42,
}
private MessageOneofCase messageCase_ = MessageOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -15985,7 +16734,6 @@ public bool Equals(RoomEvent other) {
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(ParticipantEncryptionStatusChanged, other.ParticipantEncryptionStatusChanged)) 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;
@@ -16005,6 +16753,10 @@ public bool Equals(RoomEvent other) {
if (!object.Equals(RoomUpdated, other.RoomUpdated)) return false;
if (!object.Equals(Moved, other.Moved)) return false;
if (!object.Equals(ParticipantsUpdated, other.ParticipantsUpdated)) return false;
+ if (!object.Equals(ParticipantEncryptionStatusChanged, other.ParticipantEncryptionStatusChanged)) return false;
+ if (!object.Equals(ParticipantPermissionChanged, other.ParticipantPermissionChanged)) return false;
+ if (!object.Equals(TokenRefreshed, other.TokenRefreshed)) return false;
+ if (!object.Equals(RemoteDataTrackPublished, other.RemoteDataTrackPublished)) return false;
if (MessageCase != other.MessageCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -16032,7 +16784,6 @@ public override int 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.ParticipantEncryptionStatusChanged) hash ^= ParticipantEncryptionStatusChanged.GetHashCode();
if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) hash ^= ConnectionQualityChanged.GetHashCode();
if (messageCase_ == MessageOneofCase.ConnectionStateChanged) hash ^= ConnectionStateChanged.GetHashCode();
if (messageCase_ == MessageOneofCase.Disconnected) hash ^= Disconnected.GetHashCode();
@@ -16052,6 +16803,10 @@ public override int GetHashCode() {
if (messageCase_ == MessageOneofCase.RoomUpdated) hash ^= RoomUpdated.GetHashCode();
if (messageCase_ == MessageOneofCase.Moved) hash ^= Moved.GetHashCode();
if (messageCase_ == MessageOneofCase.ParticipantsUpdated) hash ^= ParticipantsUpdated.GetHashCode();
+ if (messageCase_ == MessageOneofCase.ParticipantEncryptionStatusChanged) hash ^= ParticipantEncryptionStatusChanged.GetHashCode();
+ if (messageCase_ == MessageOneofCase.ParticipantPermissionChanged) hash ^= ParticipantPermissionChanged.GetHashCode();
+ if (messageCase_ == MessageOneofCase.TokenRefreshed) hash ^= TokenRefreshed.GetHashCode();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) hash ^= RemoteDataTrackPublished.GetHashCode();
hash ^= (int) messageCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -16227,6 +16982,18 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(186, 2);
output.WriteMessage(ParticipantEncryptionStatusChanged);
}
+ if (messageCase_ == MessageOneofCase.TokenRefreshed) {
+ output.WriteRawTag(194, 2);
+ output.WriteMessage(TokenRefreshed);
+ }
+ if (messageCase_ == MessageOneofCase.ParticipantPermissionChanged) {
+ output.WriteRawTag(202, 2);
+ output.WriteMessage(ParticipantPermissionChanged);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
+ output.WriteRawTag(210, 2);
+ output.WriteMessage(RemoteDataTrackPublished);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -16393,6 +17160,18 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(186, 2);
output.WriteMessage(ParticipantEncryptionStatusChanged);
}
+ if (messageCase_ == MessageOneofCase.TokenRefreshed) {
+ output.WriteRawTag(194, 2);
+ output.WriteMessage(TokenRefreshed);
+ }
+ if (messageCase_ == MessageOneofCase.ParticipantPermissionChanged) {
+ output.WriteRawTag(202, 2);
+ output.WriteMessage(ParticipantPermissionChanged);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
+ output.WriteRawTag(210, 2);
+ output.WriteMessage(RemoteDataTrackPublished);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -16460,9 +17239,6 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.ParticipantAttributesChanged) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantAttributesChanged);
}
- if (messageCase_ == MessageOneofCase.ParticipantEncryptionStatusChanged) {
- size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantEncryptionStatusChanged);
- }
if (messageCase_ == MessageOneofCase.ConnectionQualityChanged) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(ConnectionQualityChanged);
}
@@ -16520,6 +17296,18 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.ParticipantsUpdated) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantsUpdated);
}
+ if (messageCase_ == MessageOneofCase.ParticipantEncryptionStatusChanged) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantEncryptionStatusChanged);
+ }
+ if (messageCase_ == MessageOneofCase.ParticipantPermissionChanged) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(ParticipantPermissionChanged);
+ }
+ if (messageCase_ == MessageOneofCase.TokenRefreshed) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(TokenRefreshed);
+ }
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteDataTrackPublished);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -16644,12 +17432,6 @@ public void MergeFrom(RoomEvent other) {
}
ParticipantAttributesChanged.MergeFrom(other.ParticipantAttributesChanged);
break;
- case MessageOneofCase.ParticipantEncryptionStatusChanged:
- if (ParticipantEncryptionStatusChanged == null) {
- ParticipantEncryptionStatusChanged = new global::LiveKit.Proto.ParticipantEncryptionStatusChanged();
- }
- ParticipantEncryptionStatusChanged.MergeFrom(other.ParticipantEncryptionStatusChanged);
- break;
case MessageOneofCase.ConnectionQualityChanged:
if (ConnectionQualityChanged == null) {
ConnectionQualityChanged = new global::LiveKit.Proto.ConnectionQualityChanged();
@@ -16764,6 +17546,30 @@ public void MergeFrom(RoomEvent other) {
}
ParticipantsUpdated.MergeFrom(other.ParticipantsUpdated);
break;
+ case MessageOneofCase.ParticipantEncryptionStatusChanged:
+ if (ParticipantEncryptionStatusChanged == null) {
+ ParticipantEncryptionStatusChanged = new global::LiveKit.Proto.ParticipantEncryptionStatusChanged();
+ }
+ ParticipantEncryptionStatusChanged.MergeFrom(other.ParticipantEncryptionStatusChanged);
+ break;
+ case MessageOneofCase.ParticipantPermissionChanged:
+ if (ParticipantPermissionChanged == null) {
+ ParticipantPermissionChanged = new global::LiveKit.Proto.ParticipantPermissionChanged();
+ }
+ ParticipantPermissionChanged.MergeFrom(other.ParticipantPermissionChanged);
+ break;
+ case MessageOneofCase.TokenRefreshed:
+ if (TokenRefreshed == null) {
+ TokenRefreshed = new global::LiveKit.Proto.TokenRefreshed();
+ }
+ TokenRefreshed.MergeFrom(other.TokenRefreshed);
+ break;
+ case MessageOneofCase.RemoteDataTrackPublished:
+ if (RemoteDataTrackPublished == null) {
+ RemoteDataTrackPublished = new global::LiveKit.Proto.RemoteDataTrackPublished();
+ }
+ RemoteDataTrackPublished.MergeFrom(other.RemoteDataTrackPublished);
+ break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -17131,6 +17937,33 @@ public void MergeFrom(pb::CodedInputStream input) {
ParticipantEncryptionStatusChanged = subBuilder;
break;
}
+ case 322: {
+ global::LiveKit.Proto.TokenRefreshed subBuilder = new global::LiveKit.Proto.TokenRefreshed();
+ if (messageCase_ == MessageOneofCase.TokenRefreshed) {
+ subBuilder.MergeFrom(TokenRefreshed);
+ }
+ input.ReadMessage(subBuilder);
+ TokenRefreshed = subBuilder;
+ break;
+ }
+ case 330: {
+ global::LiveKit.Proto.ParticipantPermissionChanged subBuilder = new global::LiveKit.Proto.ParticipantPermissionChanged();
+ if (messageCase_ == MessageOneofCase.ParticipantPermissionChanged) {
+ subBuilder.MergeFrom(ParticipantPermissionChanged);
+ }
+ input.ReadMessage(subBuilder);
+ ParticipantPermissionChanged = subBuilder;
+ break;
+ }
+ case 338: {
+ global::LiveKit.Proto.RemoteDataTrackPublished subBuilder = new global::LiveKit.Proto.RemoteDataTrackPublished();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
+ subBuilder.MergeFrom(RemoteDataTrackPublished);
+ }
+ input.ReadMessage(subBuilder);
+ RemoteDataTrackPublished = subBuilder;
+ break;
+ }
}
}
#endif
@@ -17496,6 +18329,33 @@ public void MergeFrom(pb::CodedInputStream input) {
ParticipantEncryptionStatusChanged = subBuilder;
break;
}
+ case 322: {
+ global::LiveKit.Proto.TokenRefreshed subBuilder = new global::LiveKit.Proto.TokenRefreshed();
+ if (messageCase_ == MessageOneofCase.TokenRefreshed) {
+ subBuilder.MergeFrom(TokenRefreshed);
+ }
+ input.ReadMessage(subBuilder);
+ TokenRefreshed = subBuilder;
+ break;
+ }
+ case 330: {
+ global::LiveKit.Proto.ParticipantPermissionChanged subBuilder = new global::LiveKit.Proto.ParticipantPermissionChanged();
+ if (messageCase_ == MessageOneofCase.ParticipantPermissionChanged) {
+ subBuilder.MergeFrom(ParticipantPermissionChanged);
+ }
+ input.ReadMessage(subBuilder);
+ ParticipantPermissionChanged = subBuilder;
+ break;
+ }
+ case 338: {
+ global::LiveKit.Proto.RemoteDataTrackPublished subBuilder = new global::LiveKit.Proto.RemoteDataTrackPublished();
+ if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
+ subBuilder.MergeFrom(RemoteDataTrackPublished);
+ }
+ input.ReadMessage(subBuilder);
+ RemoteDataTrackPublished = subBuilder;
+ break;
+ }
}
}
}
@@ -23666,17 +24526,16 @@ public void MergeFrom(pb::CodedInputStream input) {
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
- public sealed partial class ConnectionQualityChanged : pb::IMessage
+ public sealed partial class ParticipantPermissionChanged : 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 ParticipantPermissionChanged());
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)]
@@ -23692,7 +24551,7 @@ public sealed partial class ConnectionQualityChanged : pb::IMessageField number for the "participant_identity" field.
@@ -23739,42 +24597,27 @@ 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_;
+ /// Field number for the "permission" field.
+ public const int PermissionFieldNumber = 2;
+ private global::LiveKit.Proto.ParticipantPermission permission_;
[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; } }
+ public global::LiveKit.Proto.ParticipantPermission Permission {
+ get { return permission_; }
set {
- _hasBits0 |= 1;
- quality_ = value;
+ permission_ = 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);
+ return Equals(other as ParticipantPermissionChanged);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
- public bool Equals(ConnectionQualityChanged other) {
+ public bool Equals(ParticipantPermissionChanged other) {
if (ReferenceEquals(other, null)) {
return false;
}
@@ -23782,7 +24625,7 @@ public bool Equals(ConnectionQualityChanged other) {
return true;
}
if (ParticipantIdentity != other.ParticipantIdentity) return false;
- if (Quality != other.Quality) return false;
+ if (!object.Equals(Permission, other.Permission)) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -23791,7 +24634,7 @@ public bool Equals(ConnectionQualityChanged other) {
public override int GetHashCode() {
int hash = 1;
if (HasParticipantIdentity) hash ^= ParticipantIdentity.GetHashCode();
- if (HasQuality) hash ^= Quality.GetHashCode();
+ if (permission_ != null) hash ^= Permission.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -23814,9 +24657,9 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(10);
output.WriteString(ParticipantIdentity);
}
- if (HasQuality) {
- output.WriteRawTag(16);
- output.WriteEnum((int) Quality);
+ if (permission_ != null) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Permission);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
@@ -23832,9 +24675,9 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(10);
output.WriteString(ParticipantIdentity);
}
- if (HasQuality) {
- output.WriteRawTag(16);
- output.WriteEnum((int) Quality);
+ if (permission_ != null) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Permission);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
@@ -23849,8 +24692,8 @@ public int CalculateSize() {
if (HasParticipantIdentity) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(ParticipantIdentity);
}
- if (HasQuality) {
- size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Quality);
+ if (permission_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Permission);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
@@ -23860,15 +24703,290 @@ public int CalculateSize() {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
- public void MergeFrom(ConnectionQualityChanged other) {
+ public void MergeFrom(ParticipantPermissionChanged other) {
if (other == null) {
return;
}
if (other.HasParticipantIdentity) {
ParticipantIdentity = other.ParticipantIdentity;
}
- if (other.HasQuality) {
- Quality = other.Quality;
+ if (other.permission_ != null) {
+ if (permission_ == null) {
+ Permission = new global::LiveKit.Proto.ParticipantPermission();
+ }
+ Permission.MergeFrom(other.Permission);
+ }
+ _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 (permission_ == null) {
+ Permission = new global::LiveKit.Proto.ParticipantPermission();
+ }
+ input.ReadMessage(Permission);
+ 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 (permission_ == null) {
+ Permission = new global::LiveKit.Proto.ParticipantPermission();
+ }
+ input.ReadMessage(Permission);
+ 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[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 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);
}
@@ -23946,7 +25064,7 @@ public sealed partial class UserPacket : pb::IMessage
[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]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[75]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -24205,7 +25323,7 @@ public sealed partial class ChatMessage : pb::IMessage
[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]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[76]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -24677,7 +25795,7 @@ public sealed partial class ChatMessageReceived : pb::IMessage
[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]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[78]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -25202,7 +26320,7 @@ public sealed partial class DataPacketReceived : pb::IMessage
[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]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[82]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -26269,7 +27387,7 @@ public sealed partial class Disconnected : pb::IMessage
[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]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[83]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -26483,7 +27601,7 @@ public sealed partial class Reconnecting : pb::IMessage
[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]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[84]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -26644,7 +27762,7 @@ public sealed partial class Reconnected : pb::IMessage
[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]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[85]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -26790,6 +27908,218 @@ public void MergeFrom(pb::CodedInputStream input) {
}
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class TokenRefreshed : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TokenRefreshed());
+ 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[86]; }
+ }
+
+ [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 TokenRefreshed() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public TokenRefreshed(TokenRefreshed other) : this() {
+ token_ = other.token_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public TokenRefreshed Clone() {
+ return new TokenRefreshed(this);
+ }
+
+ /// Field number for the "token" field.
+ public const int TokenFieldNumber = 1;
+ 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_ ?? 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;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as TokenRefreshed);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(TokenRefreshed other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Token != other.Token) 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 (HasToken) hash ^= Token.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 (HasToken) {
+ output.WriteRawTag(10);
+ output.WriteString(Token);
+ }
+ 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 (HasToken) {
+ output.WriteRawTag(10);
+ output.WriteString(Token);
+ }
+ 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 (HasToken) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Token);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(TokenRefreshed other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasToken) {
+ Token = other.Token;
+ }
+ _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: {
+ Token = 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: {
+ Token = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
public sealed partial class RoomEOS : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
@@ -26805,7 +28135,7 @@ public sealed partial class RoomEOS : pb::IMessage
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
- get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[85]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[87]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -26966,7 +28296,7 @@ public sealed partial class DataStream : pb::IMessage
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
- get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[86]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[88]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -29095,7 +30425,7 @@ public sealed partial class DataStreamHeaderReceived : pb::IMessageField number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 5;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -29999,6 +31357,7 @@ public bool Equals(SendStreamHeaderRequest other) {
if (!object.Equals(Header, other.Header)) return false;
if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false;
if (SenderIdentity != other.SenderIdentity) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -30010,6 +31369,7 @@ public override int GetHashCode() {
if (header_ != null) hash ^= Header.GetHashCode();
hash ^= destinationIdentities_.GetHashCode();
if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -30041,6 +31401,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -30064,6 +31428,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -30084,6 +31452,9 @@ public int CalculateSize() {
if (HasSenderIdentity) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -30109,6 +31480,9 @@ public void MergeFrom(SendStreamHeaderRequest other) {
if (other.HasSenderIdentity) {
SenderIdentity = other.SenderIdentity;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -30147,6 +31521,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -30185,6 +31563,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -30208,7 +31590,7 @@ public sealed partial class SendStreamChunkRequest : pb::IMessageField number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 5;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -30337,6 +31747,7 @@ public bool Equals(SendStreamChunkRequest other) {
if (!object.Equals(Chunk, other.Chunk)) return false;
if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false;
if (SenderIdentity != other.SenderIdentity) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -30348,6 +31759,7 @@ public override int GetHashCode() {
if (chunk_ != null) hash ^= Chunk.GetHashCode();
hash ^= destinationIdentities_.GetHashCode();
if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -30379,6 +31791,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -30402,6 +31818,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -30422,6 +31842,9 @@ public int CalculateSize() {
if (HasSenderIdentity) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -30447,6 +31870,9 @@ public void MergeFrom(SendStreamChunkRequest other) {
if (other.HasSenderIdentity) {
SenderIdentity = other.SenderIdentity;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -30485,6 +31911,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -30523,6 +31953,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -30546,7 +31980,7 @@ public sealed partial class SendStreamTrailerRequest : pb::IMessageField number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 5;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -30675,6 +32137,7 @@ public bool Equals(SendStreamTrailerRequest other) {
if (!object.Equals(Trailer, other.Trailer)) return false;
if(!destinationIdentities_.Equals(other.destinationIdentities_)) return false;
if (SenderIdentity != other.SenderIdentity) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -30686,6 +32149,7 @@ public override int GetHashCode() {
if (trailer_ != null) hash ^= Trailer.GetHashCode();
hash ^= destinationIdentities_.GetHashCode();
if (HasSenderIdentity) hash ^= SenderIdentity.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -30717,6 +32181,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -30740,6 +32208,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(34);
output.WriteString(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(40);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -30760,6 +32232,9 @@ public int CalculateSize() {
if (HasSenderIdentity) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIdentity);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -30785,6 +32260,9 @@ public void MergeFrom(SendStreamTrailerRequest other) {
if (other.HasSenderIdentity) {
SenderIdentity = other.SenderIdentity;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -30823,6 +32301,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -30861,6 +32343,10 @@ public void MergeFrom(pb::CodedInputStream input) {
SenderIdentity = input.ReadString();
break;
}
+ case 40: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -30884,7 +32370,7 @@ public sealed partial class SendStreamHeaderResponse : pb::IMessage
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
- get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[102]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[104]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -33331,7 +34817,7 @@ public sealed partial class TextStreamOpened : pb::IMessage
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
- get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[103]; }
+ get { return global::LiveKit.Proto.RoomReflection.Descriptor.MessageTypes[105]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -33574,6 +35060,216 @@ public void MergeFrom(pb::CodedInputStream input) {
}
+ ///
+ /// A remote participant published a data track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class RemoteDataTrackPublished : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteDataTrackPublished());
+ 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[106]; }
+ }
+
+ [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 RemoteDataTrackPublished() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public RemoteDataTrackPublished(RemoteDataTrackPublished other) : this() {
+ 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 RemoteDataTrackPublished Clone() {
+ return new RemoteDataTrackPublished(this);
+ }
+
+ /// Field number for the "track" field.
+ public const int TrackFieldNumber = 1;
+ private global::LiveKit.Proto.OwnedRemoteDataTrack track_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.OwnedRemoteDataTrack 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 RemoteDataTrackPublished);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(RemoteDataTrackPublished other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ 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 (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 (track_ != null) {
+ output.WriteRawTag(10);
+ 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 (track_ != null) {
+ output.WriteRawTag(10);
+ 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 (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(RemoteDataTrackPublished other) {
+ if (other == null) {
+ return;
+ }
+ if (other.track_ != null) {
+ if (track_ == null) {
+ Track = new global::LiveKit.Proto.OwnedRemoteDataTrack();
+ }
+ 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: {
+ if (track_ == null) {
+ Track = new global::LiveKit.Proto.OwnedRemoteDataTrack();
+ }
+ 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: {
+ if (track_ == null) {
+ Track = new global::LiveKit.Proto.OwnedRemoteDataTrack();
+ }
+ input.ReadMessage(Track);
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
#endregion
}
diff --git a/Runtime/Scripts/Proto/Rpc.cs b/Runtime/Scripts/Proto/Rpc.cs
index 3404191c..c09b6e2d 100644
--- a/Runtime/Scripts/Proto/Rpc.cs
+++ b/Runtime/Scripts/Proto/Rpc.cs
@@ -25,33 +25,33 @@ static RpcReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CglycGMucHJvdG8SDWxpdmVraXQucHJvdG8iNwoIUnBjRXJyb3ISDAoEY29k",
- "ZRgBIAIoDRIPCgdtZXNzYWdlGAIgAigJEgwKBGRhdGEYAyABKAkikQEKEVBl",
+ "ZRgBIAIoDRIPCgdtZXNzYWdlGAIgAigJEgwKBGRhdGEYAyABKAkiqwEKEVBl",
"cmZvcm1ScGNSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgB",
"IAIoBBIcChRkZXN0aW5hdGlvbl9pZGVudGl0eRgCIAIoCRIOCgZtZXRob2QY",
"AyACKAkSDwoHcGF5bG9hZBgEIAIoCRIbChNyZXNwb25zZV90aW1lb3V0X21z",
- "GAUgASgNIkwKGFJlZ2lzdGVyUnBjTWV0aG9kUmVxdWVzdBIgChhsb2NhbF9w",
- "YXJ0aWNpcGFudF9oYW5kbGUYASACKAQSDgoGbWV0aG9kGAIgAigJIk4KGlVu",
- "cmVnaXN0ZXJScGNNZXRob2RSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50",
- "X2hhbmRsZRgBIAIoBBIOCgZtZXRob2QYAiACKAkilgEKIlJwY01ldGhvZElu",
- "dm9jYXRpb25SZXNwb25zZVJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRf",
- "aGFuZGxlGAEgAigEEhUKDWludm9jYXRpb25faWQYAiACKAQSDwoHcGF5bG9h",
- "ZBgDIAEoCRImCgVlcnJvchgEIAEoCzIXLmxpdmVraXQucHJvdG8uUnBjRXJy",
- "b3IiJgoSUGVyZm9ybVJwY1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIhsK",
- "GVJlZ2lzdGVyUnBjTWV0aG9kUmVzcG9uc2UiHQobVW5yZWdpc3RlclJwY01l",
- "dGhvZFJlc3BvbnNlIjQKI1JwY01ldGhvZEludm9jYXRpb25SZXNwb25zZVJl",
- "c3BvbnNlEg0KBWVycm9yGAEgASgJIl8KElBlcmZvcm1ScGNDYWxsYmFjaxIQ",
- "Cghhc3luY19pZBgBIAIoBBIPCgdwYXlsb2FkGAIgASgJEiYKBWVycm9yGAMg",
- "ASgLMhcubGl2ZWtpdC5wcm90by5ScGNFcnJvciK+AQoYUnBjTWV0aG9kSW52",
- "b2NhdGlvbkV2ZW50EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
- "BBIVCg1pbnZvY2F0aW9uX2lkGAIgAigEEg4KBm1ldGhvZBgDIAIoCRISCgpy",
- "ZXF1ZXN0X2lkGAQgAigJEhcKD2NhbGxlcl9pZGVudGl0eRgFIAIoCRIPCgdw",
- "YXlsb2FkGAYgAigJEhsKE3Jlc3BvbnNlX3RpbWVvdXRfbXMYByACKA1CEKoC",
- "DUxpdmVLaXQuUHJvdG8="));
+ "GAUgASgNEhgKEHJlcXVlc3RfYXN5bmNfaWQYBiABKAQiTAoYUmVnaXN0ZXJS",
+ "cGNNZXRob2RSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgB",
+ "IAIoBBIOCgZtZXRob2QYAiACKAkiTgoaVW5yZWdpc3RlclJwY01ldGhvZFJl",
+ "cXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEg4KBm1l",
+ "dGhvZBgCIAIoCSKWAQoiUnBjTWV0aG9kSW52b2NhdGlvblJlc3BvbnNlUmVx",
+ "dWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSFQoNaW52",
+ "b2NhdGlvbl9pZBgCIAIoBBIPCgdwYXlsb2FkGAMgASgJEiYKBWVycm9yGAQg",
+ "ASgLMhcubGl2ZWtpdC5wcm90by5ScGNFcnJvciImChJQZXJmb3JtUnBjUmVz",
+ "cG9uc2USEAoIYXN5bmNfaWQYASACKAQiGwoZUmVnaXN0ZXJScGNNZXRob2RS",
+ "ZXNwb25zZSIdChtVbnJlZ2lzdGVyUnBjTWV0aG9kUmVzcG9uc2UiNAojUnBj",
+ "TWV0aG9kSW52b2NhdGlvblJlc3BvbnNlUmVzcG9uc2USDQoFZXJyb3IYASAB",
+ "KAkiXwoSUGVyZm9ybVJwY0NhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEg8K",
+ "B3BheWxvYWQYAiABKAkSJgoFZXJyb3IYAyABKAsyFy5saXZla2l0LnByb3Rv",
+ "LlJwY0Vycm9yIr4BChhScGNNZXRob2RJbnZvY2F0aW9uRXZlbnQSIAoYbG9j",
+ "YWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEhUKDWludm9jYXRpb25faWQY",
+ "AiACKAQSDgoGbWV0aG9kGAMgAigJEhIKCnJlcXVlc3RfaWQYBCACKAkSFwoP",
+ "Y2FsbGVyX2lkZW50aXR5GAUgAigJEg8KB3BheWxvYWQYBiACKAkSGwoTcmVz",
+ "cG9uc2VfdGltZW91dF9tcxgHIAIoDUIQqgINTGl2ZUtpdC5Qcm90bw=="));
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.PerformRpcRequest), global::LiveKit.Proto.PerformRpcRequest.Parser, new[]{ "LocalParticipantHandle", "DestinationIdentity", "Method", "Payload", "ResponseTimeoutMs", "RequestAsyncId" }, 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),
@@ -429,6 +429,7 @@ public PerformRpcRequest(PerformRpcRequest other) : this() {
method_ = other.method_;
payload_ = other.payload_;
responseTimeoutMs_ = other.responseTimeoutMs_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -570,6 +571,33 @@ public void ClearResponseTimeoutMs() {
_hasBits0 &= ~2;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 6;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 4) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 4;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 4) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~4;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -590,6 +618,7 @@ public bool Equals(PerformRpcRequest other) {
if (Method != other.Method) return false;
if (Payload != other.Payload) return false;
if (ResponseTimeoutMs != other.ResponseTimeoutMs) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -602,6 +631,7 @@ public override int GetHashCode() {
if (HasMethod) hash ^= Method.GetHashCode();
if (HasPayload) hash ^= Payload.GetHashCode();
if (HasResponseTimeoutMs) hash ^= ResponseTimeoutMs.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -640,6 +670,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(40);
output.WriteUInt32(ResponseTimeoutMs);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(48);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -670,6 +704,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(40);
output.WriteUInt32(ResponseTimeoutMs);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(48);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -695,6 +733,9 @@ public int CalculateSize() {
if (HasResponseTimeoutMs) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ResponseTimeoutMs);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -722,6 +763,9 @@ public void MergeFrom(PerformRpcRequest other) {
if (other.HasResponseTimeoutMs) {
ResponseTimeoutMs = other.ResponseTimeoutMs;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -761,6 +805,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ResponseTimeoutMs = input.ReadUInt32();
break;
}
+ case 48: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -800,6 +848,10 @@ public void MergeFrom(pb::CodedInputStream input) {
ResponseTimeoutMs = input.ReadUInt32();
break;
}
+ case 48: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
diff --git a/Runtime/Scripts/Proto/Track.cs b/Runtime/Scripts/Proto/Track.cs
index 8652c72c..d47dcfb8 100644
--- a/Runtime/Scripts/Proto/Track.cs
+++ b/Runtime/Scripts/Proto/Track.cs
@@ -31,50 +31,51 @@ static TrackReflection() {
"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"));
+ "a2l0LnByb3RvLk93bmVkVHJhY2siQQoPR2V0U3RhdHNSZXF1ZXN0EhQKDHRy",
+ "YWNrX2hhbmRsZRgBIAIoBBIYChByZXF1ZXN0X2FzeW5jX2lkGAIgASgEIiQK",
+ "EEdldFN0YXRzUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQiWwoQR2V0U3Rh",
+ "dHNDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCRIm",
+ "CgVzdGF0cxgDIAMoCzIXLmxpdmVraXQucHJvdG8uUnRjU3RhdHMiDAoKVHJh",
+ "Y2tFdmVudCLdAgoUVHJhY2tQdWJsaWNhdGlvbkluZm8SCwoDc2lkGAEgAigJ",
+ "EgwKBG5hbWUYAiACKAkSJgoEa2luZBgDIAIoDjIYLmxpdmVraXQucHJvdG8u",
+ "VHJhY2tLaW5kEioKBnNvdXJjZRgEIAIoDjIaLmxpdmVraXQucHJvdG8uVHJh",
+ "Y2tTb3VyY2USEwoLc2ltdWxjYXN0ZWQYBSACKAgSDQoFd2lkdGgYBiACKA0S",
+ "DgoGaGVpZ2h0GAcgAigNEhEKCW1pbWVfdHlwZRgIIAIoCRINCgVtdXRlZBgJ",
+ "IAIoCBIOCgZyZW1vdGUYCiACKAgSNgoPZW5jcnlwdGlvbl90eXBlGAsgAigO",
+ "Mh0ubGl2ZWtpdC5wcm90by5FbmNyeXB0aW9uVHlwZRI4Cg5hdWRpb19mZWF0",
+ "dXJlcxgMIAMoDjIgLmxpdmVraXQucHJvdG8uQXVkaW9UcmFja0ZlYXR1cmUi",
+ "eQoVT3duZWRUcmFja1B1YmxpY2F0aW9uEi0KBmhhbmRsZRgBIAIoCzIdLmxp",
+ "dmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUSMQoEaW5mbxgCIAIoCzIjLmxp",
+ "dmVraXQucHJvdG8uVHJhY2tQdWJsaWNhdGlvbkluZm8inwEKCVRyYWNrSW5m",
+ "bxILCgNzaWQYASACKAkSDAoEbmFtZRgCIAIoCRImCgRraW5kGAMgAigOMhgu",
+ "bGl2ZWtpdC5wcm90by5UcmFja0tpbmQSMAoMc3RyZWFtX3N0YXRlGAQgAigO",
+ "MhoubGl2ZWtpdC5wcm90by5TdHJlYW1TdGF0ZRINCgVtdXRlZBgFIAIoCBIO",
+ "CgZyZW1vdGUYBiACKAgiYwoKT3duZWRUcmFjaxItCgZoYW5kbGUYASACKAsy",
+ "HS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEiYKBGluZm8YAiACKAsy",
+ "GC5saXZla2l0LnByb3RvLlRyYWNrSW5mbyI7ChVMb2NhbFRyYWNrTXV0ZVJl",
+ "cXVlc3QSFAoMdHJhY2tfaGFuZGxlGAEgAigEEgwKBG11dGUYAiACKAgiJwoW",
+ "TG9jYWxUcmFja011dGVSZXNwb25zZRINCgVtdXRlZBgBIAIoCCJBChhFbmFi",
+ "bGVSZW1vdGVUcmFja1JlcXVlc3QSFAoMdHJhY2tfaGFuZGxlGAEgAigEEg8K",
+ "B2VuYWJsZWQYAiACKAgiLAoZRW5hYmxlUmVtb3RlVHJhY2tSZXNwb25zZRIP",
+ "CgdlbmFibGVkGAEgAigIIqwBCiZTZXRUcmFja1N1YnNjcmlwdGlvblBlcm1p",
+ "c3Npb25zUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASAC",
+ "KAQSIAoYYWxsX3BhcnRpY2lwYW50c19hbGxvd2VkGAIgAigIEj4KC3Blcm1p",
+ "c3Npb25zGAMgAygLMikubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFudFRyYWNr",
+ "UGVybWlzc2lvbiJpChpQYXJ0aWNpcGFudFRyYWNrUGVybWlzc2lvbhIcChRw",
+ "YXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIRCglhbGxvd19hbGwYAiABKAgS",
+ "GgoSYWxsb3dlZF90cmFja19zaWRzGAMgAygJIikKJ1NldFRyYWNrU3Vic2Ny",
+ "aXB0aW9uUGVybWlzc2lvbnNSZXNwb25zZSo9CglUcmFja0tpbmQSEAoMS0lO",
+ "RF9VTktOT1dOEAASDgoKS0lORF9BVURJTxABEg4KCktJTkRfVklERU8QAiqB",
+ "AQoLVHJhY2tTb3VyY2USEgoOU09VUkNFX1VOS05PV04QABIRCg1TT1VSQ0Vf",
+ "Q0FNRVJBEAESFQoRU09VUkNFX01JQ1JPUEhPTkUQAhIWChJTT1VSQ0VfU0NS",
+ "RUVOU0hBUkUQAxIcChhTT1VSQ0VfU0NSRUVOU0hBUkVfQVVESU8QBCpECgtT",
+ "dHJlYW1TdGF0ZRIRCg1TVEFURV9VTktOT1dOEAASEAoMU1RBVEVfQUNUSVZF",
+ "EAESEAoMU1RBVEVfUEFVU0VEEAIqvQEKEUF1ZGlvVHJhY2tGZWF0dXJlEg0K",
+ "CVRGX1NURVJFTxAAEg0KCVRGX05PX0RUWBABEhgKFFRGX0FVVE9fR0FJTl9D",
+ "T05UUk9MEAISGAoUVEZfRUNIT19DQU5DRUxMQVRJT04QAxIYChRURl9OT0lT",
+ "RV9TVVBQUkVTU0lPThAEEiIKHlRGX0VOSEFOQ0VEX05PSVNFX0NBTkNFTExB",
+ "VElPThAFEhgKFFRGX1BSRUNPTk5FQ1RfQlVGRkVSEAZCEKoCDUxpdmVLaXQu",
+ "UHJvdG8="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
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[] {
@@ -82,7 +83,7 @@ static TrackReflection() {
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", "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.GetStatsRequest), global::LiveKit.Proto.GetStatsRequest.Parser, new[]{ "TrackHandle", "RequestAsyncId" }, 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),
@@ -1129,6 +1130,7 @@ public GetStatsRequest() {
public GetStatsRequest(GetStatsRequest other) : this() {
_hasBits0 = other._hasBits0;
trackHandle_ = other.trackHandle_;
+ requestAsyncId_ = other.requestAsyncId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -1165,6 +1167,33 @@ public void ClearTrackHandle() {
_hasBits0 &= ~1;
}
+ /// Field number for the "request_async_id" field.
+ public const int RequestAsyncIdFieldNumber = 2;
+ private readonly static ulong RequestAsyncIdDefaultValue = 0UL;
+
+ private ulong requestAsyncId_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong RequestAsyncId {
+ get { if ((_hasBits0 & 2) != 0) { return requestAsyncId_; } else { return RequestAsyncIdDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ requestAsyncId_ = value;
+ }
+ }
+ /// Gets whether the "request_async_id" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasRequestAsyncId {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "request_async_id" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearRequestAsyncId() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -1181,6 +1210,7 @@ public bool Equals(GetStatsRequest other) {
return true;
}
if (TrackHandle != other.TrackHandle) return false;
+ if (RequestAsyncId != other.RequestAsyncId) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -1189,6 +1219,7 @@ public bool Equals(GetStatsRequest other) {
public override int GetHashCode() {
int hash = 1;
if (HasTrackHandle) hash ^= TrackHandle.GetHashCode();
+ if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1211,6 +1242,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(TrackHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -1225,6 +1260,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(8);
output.WriteUInt64(TrackHandle);
}
+ if (HasRequestAsyncId) {
+ output.WriteRawTag(16);
+ output.WriteUInt64(RequestAsyncId);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -1238,6 +1277,9 @@ public int CalculateSize() {
if (HasTrackHandle) {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrackHandle);
}
+ if (HasRequestAsyncId) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -1253,6 +1295,9 @@ public void MergeFrom(GetStatsRequest other) {
if (other.HasTrackHandle) {
TrackHandle = other.TrackHandle;
}
+ if (other.HasRequestAsyncId) {
+ RequestAsyncId = other.RequestAsyncId;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -1276,6 +1321,10 @@ public void MergeFrom(pb::CodedInputStream input) {
TrackHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -1299,6 +1348,10 @@ public void MergeFrom(pb::CodedInputStream input) {
TrackHandle = input.ReadUInt64();
break;
}
+ case 16: {
+ RequestAsyncId = input.ReadUInt64();
+ break;
+ }
}
}
}
From 12fbc694bb8b6d945a875efe898be5aa3b57e9f5 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Mon, 9 Mar 2026 14:37:37 -0700
Subject: [PATCH 03/17] Initial implementation
---
Runtime/Scripts/DataTrack.cs | 483 ++++++++++++++++++
Runtime/Scripts/DataTrack.cs.meta | 11 +
Runtime/Scripts/Internal/FFIClient.cs | 15 +
.../Scripts/Internal/FFIClients/FFIEvents.cs | 7 +
.../FFIClients/FfiRequestExtensions.cs | 37 ++
Runtime/Scripts/Participant.cs | 94 ++++
Runtime/Scripts/Proto/DataTrack.cs.meta | 11 +
Runtime/Scripts/Room.cs | 9 +-
8 files changed, 666 insertions(+), 1 deletion(-)
create mode 100644 Runtime/Scripts/DataTrack.cs
create mode 100644 Runtime/Scripts/DataTrack.cs.meta
create mode 100644 Runtime/Scripts/Proto/DataTrack.cs.meta
diff --git a/Runtime/Scripts/DataTrack.cs b/Runtime/Scripts/DataTrack.cs
new file mode 100644
index 00000000..c61943f7
--- /dev/null
+++ b/Runtime/Scripts/DataTrack.cs
@@ -0,0 +1,483 @@
+using System;
+using LiveKit.Internal;
+using LiveKit.Internal.FFIClients.Requests;
+using LiveKit.Proto;
+using UnityEngine;
+
+namespace LiveKit
+{
+ ///
+ /// Information about a published data track.
+ ///
+ public sealed class DataTrackInfo
+ {
+ ///
+ /// Unique track identifier assigned by the SFU.
+ ///
+ ///
+ /// This identifier may change if a reconnect occurs. Use
+ /// if a stable identifier is needed.
+ ///
+ public string Sid { get; }
+
+ ///
+ /// Name of the track assigned by the publisher.
+ ///
+ public string Name { get; }
+
+ ///
+ /// Whether or not frames sent on the track use end-to-end encryption.
+ ///
+ public bool UsesE2EE { get; }
+
+ internal DataTrackInfo(Proto.DataTrackInfo proto)
+ {
+ Sid = proto.Sid;
+ Name = proto.Name;
+ UsesE2EE = proto.UsesE2Ee;
+ }
+ }
+
+ ///
+ /// Options for publishing a data track.
+ ///
+ public class DataTrackOptions
+ {
+ ///
+ /// The track name is used to identify the track to other participants.
+ /// Must not be empty and must be unique per publisher.
+ ///
+ public string Name { get; set; }
+
+ public DataTrackOptions(string name)
+ {
+ Name = name;
+ }
+ }
+
+ ///
+ /// A frame published on a data track, consisting of a payload and optional metadata.
+ ///
+ public class DataTrackFrame
+ {
+ ///
+ /// The frame's payload.
+ ///
+ public byte[] Payload { get; }
+
+ ///
+ /// The frame's user timestamp in milliseconds, if one is associated.
+ ///
+ public ulong? UserTimestamp { get; }
+
+ ///
+ /// Creates a new data track frame.
+ ///
+ /// The frame's payload.
+ /// Optional user timestamp in milliseconds.
+ public DataTrackFrame(byte[] payload, ulong? userTimestamp = null)
+ {
+ Payload = payload;
+ UserTimestamp = userTimestamp;
+ }
+
+ internal DataTrackFrame(Proto.DataTrackFrame proto)
+ {
+ Payload = proto.Payload.ToByteArray();
+ UserTimestamp = proto.HasUserTimestamp ? proto.UserTimestamp : null;
+ }
+
+ private static ulong TimestampNowMs()
+ {
+ return (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
+ }
+
+ ///
+ /// Associates the current Unix timestamp (in milliseconds) with the frame.
+ /// Returns a new with the timestamp set; the original is
+ /// not modified.
+ ///
+ /// A new with the current timestamp.
+ public DataTrackFrame WithUserTimestampNow()
+ {
+ return new DataTrackFrame(Payload, TimestampNowMs());
+ }
+
+ ///
+ /// If the frame has a user timestamp, calculates how long has passed
+ /// relative to the current system time.
+ ///
+ ///
+ /// The timestamp is assumed to be a Unix timestamp in milliseconds
+ /// (as set by on the publisher side).
+ ///
+ /// The elapsed duration in seconds, or null if no timestamp is set.
+ public double? DurationSinceTimestamp()
+ {
+ if (UserTimestamp == null)
+ return null;
+ var elapsedMs = TimestampNowMs() - UserTimestamp.Value;
+ return elapsedMs / 1000.0;
+ }
+ }
+
+ ///
+ /// An error that can occur when pushing a frame to a data track.
+ ///
+ ///
+ /// Pushing a frame can fail for several reasons:
+ ///
+ /// - The track has been unpublished by the local participant or SFU
+ /// - The room is no longer connected
+ /// - Frames are being pushed too fast
+ ///
+ ///
+ public sealed class PushFrameError : Exception
+ {
+ public PushFrameError(string message) : base(message) { }
+ }
+
+ ///
+ /// An error that can occur when subscribing to a data track.
+ ///
+ public sealed class SubscribeDataTrackError : Exception
+ {
+ public SubscribeDataTrackError(string message) : base(message) { }
+ }
+
+ ///
+ /// An error that can occur when publishing a data track.
+ ///
+ public sealed class PublishDataTrackError : Exception
+ {
+ public PublishDataTrackError(string message) : base(message) { }
+ }
+
+ ///
+ /// Data track published by the local participant.
+ ///
+ public sealed class LocalDataTrack
+ {
+ private readonly FfiHandle _handle;
+ private readonly DataTrackInfo _info;
+
+ internal LocalDataTrack(OwnedLocalDataTrack owned)
+ {
+ _handle = FfiHandle.FromOwnedHandle(owned.Handle);
+ _info = new DataTrackInfo(owned.Info);
+ }
+
+ ///
+ /// Information about the data track.
+ ///
+ public DataTrackInfo Info => _info;
+
+ ///
+ /// Try pushing a frame to subscribers of the track.
+ ///
+ ///
+ /// See for how to construct a frame and attach metadata.
+ ///
+ /// The data track frame to send.
+ /// Thrown if the push fails.
+ public void TryPush(DataTrackFrame frame)
+ {
+ using var request = FFIBridge.Instance.NewRequest();
+ var pushReq = request.request;
+ pushReq.TrackHandle = (ulong)_handle.DangerousGetHandle();
+
+ var protoFrame = new Proto.DataTrackFrame
+ {
+ Payload = Google.Protobuf.ByteString.CopyFrom(frame.Payload)
+ };
+ if (frame.UserTimestamp != null)
+ {
+ protoFrame.UserTimestamp = frame.UserTimestamp.Value;
+ }
+ pushReq.Frame = protoFrame;
+
+ using var response = request.Send();
+ FfiResponse res = response;
+ if (res.LocalDataTrackTryPush.HasError)
+ {
+ throw new PushFrameError(res.LocalDataTrackTryPush.Error);
+ }
+ }
+
+ ///
+ /// Whether or not the track is still published.
+ ///
+ /// true if the track is published; false otherwise.
+ public bool IsPublished()
+ {
+ using var request = FFIBridge.Instance.NewRequest();
+ var isPublishedReq = request.request;
+ isPublishedReq.TrackHandle = (ulong)_handle.DangerousGetHandle();
+
+ using var response = request.Send();
+ FfiResponse res = response;
+ return res.LocalDataTrackIsPublished.IsPublished;
+ }
+
+ ///
+ /// Unpublishes the track.
+ ///
+ public void Unpublish()
+ {
+ using var request = FFIBridge.Instance.NewRequest();
+ var unpublishReq = request.request;
+ unpublishReq.TrackHandle = (ulong)_handle.DangerousGetHandle();
+ request.Send();
+ }
+ }
+
+ ///
+ /// Data track published by a remote participant.
+ ///
+ public sealed class RemoteDataTrack
+ {
+ private readonly FfiHandle _handle;
+ private readonly DataTrackInfo _info;
+ private readonly string _publisherIdentity;
+
+ internal RemoteDataTrack(OwnedRemoteDataTrack owned)
+ {
+ _handle = FfiHandle.FromOwnedHandle(owned.Handle);
+ _info = new DataTrackInfo(owned.Info);
+ _publisherIdentity = owned.PublisherIdentity;
+ }
+
+ ///
+ /// Information about the data track.
+ ///
+ public DataTrackInfo Info => _info;
+
+ ///
+ /// Identity of the participant who published the track.
+ ///
+ public string PublisherIdentity => _publisherIdentity;
+
+ ///
+ /// Subscribes to the data track to receive frames.
+ ///
+ ///
+ /// A that completes when the subscription
+ /// is established or errors.
+ /// Check and access
+ /// to handle the result.
+ ///
+ public SubscribeDataTrackInstruction Subscribe()
+ {
+ using var request = FFIBridge.Instance.NewRequest();
+ var subReq = request.request;
+ subReq.TrackHandle = (ulong)_handle.DangerousGetHandle();
+ subReq.Options = new DataTrackSubscribeOptions();
+
+ using var response = request.Send();
+ FfiResponse res = response;
+ return new SubscribeDataTrackInstruction(res.SubscribeDataTrack.AsyncId);
+ }
+
+ ///
+ /// Whether or not the track is still published.
+ ///
+ /// true if the track is published; false otherwise.
+ public bool IsPublished()
+ {
+ using var request = FFIBridge.Instance.NewRequest();
+ var isPublishedReq = request.request;
+ isPublishedReq.TrackHandle = (ulong)_handle.DangerousGetHandle();
+
+ using var response = request.Send();
+ FfiResponse res = response;
+ return res.RemoteDataTrackIsPublished.IsPublished;
+ }
+ }
+
+ ///
+ /// YieldInstruction for .
+ ///
+ ///
+ /// Access after checking .
+ ///
+ public sealed class SubscribeDataTrackInstruction : YieldInstruction
+ {
+ private ulong _asyncId;
+ private DataTrackSubscription _subscription;
+
+ internal SubscribeDataTrackInstruction(ulong asyncId)
+ {
+ _asyncId = asyncId;
+ FfiClient.Instance.SubscribeDataTrackReceived += OnSubscribe;
+ }
+
+ internal void OnSubscribe(SubscribeDataTrackCallback e)
+ {
+ if (e.AsyncId != _asyncId)
+ return;
+
+ switch (e.ResultCase)
+ {
+ case SubscribeDataTrackCallback.ResultOneofCase.Error:
+ Error = new SubscribeDataTrackError(e.Error);
+ IsError = true;
+ break;
+ case SubscribeDataTrackCallback.ResultOneofCase.Subscription:
+ _subscription = new DataTrackSubscription(e.Subscription);
+ break;
+ }
+ IsDone = true;
+ FfiClient.Instance.SubscribeDataTrackReceived -= OnSubscribe;
+ }
+
+ ///
+ /// The active subscription to the data track.
+ ///
+ /// Thrown if the subscription failed.
+ public DataTrackSubscription Subscription
+ {
+ get
+ {
+ if (IsError) throw Error;
+ return _subscription;
+ }
+ }
+
+ public SubscribeDataTrackError Error { get; private set; }
+ }
+
+ ///
+ /// An active subscription to a remote data track.
+ ///
+ ///
+ /// Use in a coroutine loop to receive frames:
+ ///
+ /// while (!subscription.IsEos)
+ /// {
+ /// var frameInstruction = subscription.ReadFrame();
+ /// yield return frameInstruction;
+ /// if (frameInstruction.IsCurrentReadDone)
+ /// {
+ /// ProcessFrame(frameInstruction.Frame);
+ /// }
+ /// }
+ ///
+ /// Calling or dropping the subscription unsubscribes from the track.
+ ///
+ public sealed class DataTrackSubscription
+ {
+ private readonly FfiHandle _handle;
+ private readonly ulong _handleId;
+ private ReadFrameInstruction _currentInstruction;
+ private bool _closed;
+
+ internal DataTrackSubscription(OwnedDataTrackSubscription owned)
+ {
+ _handle = FfiHandle.FromOwnedHandle(owned.Handle);
+ _handleId = owned.Handle.Id;
+ FfiClient.Instance.DataTrackSubscriptionEventReceived += OnSubscriptionEvent;
+ }
+
+ ///
+ /// True if the subscription has ended (end of stream).
+ ///
+ public bool IsEos { get; private set; }
+
+ ///
+ /// Prepares to read the next frame from the subscription.
+ ///
+ ///
+ /// A that completes when a frame is received
+ /// or the subscription ends.
+ ///
+ public ReadFrameInstruction ReadFrame()
+ {
+ _currentInstruction = new ReadFrameInstruction();
+ return _currentInstruction;
+ }
+
+ private void OnSubscriptionEvent(DataTrackSubscriptionEvent e)
+ {
+ if (e.SubscriptionHandle != _handleId)
+ return;
+
+ switch (e.DetailCase)
+ {
+ case DataTrackSubscriptionEvent.DetailOneofCase.FrameReceived:
+ if (_currentInstruction != null)
+ {
+ _currentInstruction.SetFrame(new DataTrackFrame(e.FrameReceived.Frame));
+ }
+ break;
+ case DataTrackSubscriptionEvent.DetailOneofCase.Eos:
+ IsEos = true;
+ if (_currentInstruction != null)
+ {
+ _currentInstruction.SetEos();
+ }
+ Cleanup();
+ break;
+ }
+ }
+
+ ///
+ /// Explicitly close the subscription and unsubscribe from the track.
+ ///
+ public void Close()
+ {
+ if (_closed) return;
+ Cleanup();
+ _handle.Dispose();
+ }
+
+ private void Cleanup()
+ {
+ if (_closed) return;
+ _closed = true;
+ FfiClient.Instance.DataTrackSubscriptionEventReceived -= OnSubscriptionEvent;
+ }
+
+ ///
+ /// YieldInstruction for reading a single frame from a .
+ ///
+ ///
+ /// Usage: while is false (i.e. the subscription has not ended),
+ /// call , yield the instruction,
+ /// then check and access .
+ ///
+ public sealed class ReadFrameInstruction : CustomYieldInstruction
+ {
+ private DataTrackFrame _frame;
+
+ internal ReadFrameInstruction() { }
+
+ ///
+ /// True if the subscription has ended (end of stream).
+ ///
+ public bool IsEos { get; private set; }
+
+ ///
+ /// True if a frame has been received for the current read.
+ ///
+ public bool IsCurrentReadDone { get; private set; }
+
+ public override bool keepWaiting => !IsCurrentReadDone && !IsEos;
+
+ internal void SetFrame(DataTrackFrame frame)
+ {
+ _frame = frame;
+ IsCurrentReadDone = true;
+ }
+
+ internal void SetEos()
+ {
+ IsEos = true;
+ }
+
+ ///
+ /// The received data track frame.
+ ///
+ public DataTrackFrame Frame => _frame;
+ }
+ }
+}
diff --git a/Runtime/Scripts/DataTrack.cs.meta b/Runtime/Scripts/DataTrack.cs.meta
new file mode 100644
index 00000000..d3602372
--- /dev/null
+++ b/Runtime/Scripts/DataTrack.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aa5b8cb768085410a8bd45eeb569c2ba
+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 d037a3bb..77f68c24 100644
--- a/Runtime/Scripts/Internal/FFIClient.cs
+++ b/Runtime/Scripts/Internal/FFIClient.cs
@@ -64,6 +64,11 @@ internal sealed class FfiClient : IFFIClient
public event TextStreamWriterCloseReceivedDelegate? TextStreamWriterCloseReceived;
public event SendTextReceivedDelegate? SendTextReceived;
+ // Data Track
+ public event PublishDataTrackReceivedDelegate? PublishDataTrackReceived;
+ public event SubscribeDataTrackReceivedDelegate? SubscribeDataTrackReceived;
+ public event DataTrackSubscriptionEventReceivedDelegate? DataTrackSubscriptionEventReceived;
+
public FfiClient() : this(Pools.NewFfiResponsePool(), new ArrayMemoryPool())
{
}
@@ -333,6 +338,16 @@ static unsafe void FFICallback(UIntPtr data, UIntPtr size)
case FfiEvent.MessageOneofCase.SendText:
Instance.SendTextReceived?.Invoke(r.SendText!);
break;
+ // Data Track
+ case FfiEvent.MessageOneofCase.PublishDataTrack:
+ Instance.PublishDataTrackReceived?.Invoke(r.PublishDataTrack!);
+ break;
+ case FfiEvent.MessageOneofCase.SubscribeDataTrack:
+ Instance.SubscribeDataTrackReceived?.Invoke(r.SubscribeDataTrack!);
+ break;
+ case FfiEvent.MessageOneofCase.DataTrackSubscriptionEvent:
+ Instance.DataTrackSubscriptionEventReceived?.Invoke(r.DataTrackSubscriptionEvent!);
+ break;
case FfiEvent.MessageOneofCase.Panic:
break;
default:
diff --git a/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs b/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs
index 94f0b1da..f358ed0c 100644
--- a/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs
+++ b/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs
@@ -70,4 +70,11 @@ namespace LiveKit.Internal
internal delegate void ByteStreamReaderEventReceivedDelegate(ByteStreamReaderEvent e);
internal delegate void TextStreamReaderEventReceivedDelegate(TextStreamReaderEvent e);
+
+ // Data Track
+ internal delegate void PublishDataTrackReceivedDelegate(PublishDataTrackCallback e);
+
+ internal delegate void SubscribeDataTrackReceivedDelegate(SubscribeDataTrackCallback e);
+
+ internal delegate void DataTrackSubscriptionEventReceivedDelegate(DataTrackSubscriptionEvent e);
}
\ No newline at end of file
diff --git a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs
index 3e19741f..7838dd52 100644
--- a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs
+++ b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs
@@ -146,6 +146,25 @@ public static void Inject(this FfiRequest ffiRequest, T request)
case SetRemoteTrackPublicationQualityRequest setRemoteTrackPublicationQualityRequest:
ffiRequest.SetRemoteTrackPublicationQuality = setRemoteTrackPublicationQualityRequest;
break;
+ // Data Track
+ case PublishDataTrackRequest publishDataTrackRequest:
+ ffiRequest.PublishDataTrack = publishDataTrackRequest;
+ break;
+ case LocalDataTrackTryPushRequest localDataTrackTryPushRequest:
+ ffiRequest.LocalDataTrackTryPush = localDataTrackTryPushRequest;
+ break;
+ case LocalDataTrackUnpublishRequest localDataTrackUnpublishRequest:
+ ffiRequest.LocalDataTrackUnpublish = localDataTrackUnpublishRequest;
+ break;
+ case LocalDataTrackIsPublishedRequest localDataTrackIsPublishedRequest:
+ ffiRequest.LocalDataTrackIsPublished = localDataTrackIsPublishedRequest;
+ break;
+ case SubscribeDataTrackRequest subscribeDataTrackRequest:
+ ffiRequest.SubscribeDataTrack = subscribeDataTrackRequest;
+ break;
+ case RemoteDataTrackIsPublishedRequest remoteDataTrackIsPublishedRequest:
+ ffiRequest.RemoteDataTrackIsPublished = remoteDataTrackIsPublishedRequest;
+ break;
default:
throw new Exception($"Unknown request type: {request?.GetType().FullName ?? "null"}");
}
@@ -201,6 +220,15 @@ public static void EnsureClean(this FfiRequest request)
|| request.UnregisterRpcMethod != null
|| request.PerformRpc != null
|| request.RpcMethodInvocationResponse != null
+ ||
+
+ // Data Track
+ request.PublishDataTrack != null
+ || request.LocalDataTrackTryPush != null
+ || request.LocalDataTrackUnpublish != null
+ || request.LocalDataTrackIsPublished != null
+ || request.SubscribeDataTrack != null
+ || request.RemoteDataTrackIsPublished != null
)
{
throw new InvalidOperationException("Request is not cleared");
@@ -257,6 +285,15 @@ public static void EnsureClean(this FfiResponse response)
|| response.UnregisterRpcMethod != null
|| response.PerformRpc != null
|| response.RpcMethodInvocationResponse != null
+ ||
+
+ // Data Track
+ response.PublishDataTrack != null
+ || response.LocalDataTrackTryPush != null
+ || response.LocalDataTrackUnpublish != null
+ || response.LocalDataTrackIsPublished != null
+ || response.SubscribeDataTrack != null
+ || response.RemoteDataTrackIsPublished != null
)
{
throw new InvalidOperationException("Response is not cleared: ");
diff --git a/Runtime/Scripts/Participant.cs b/Runtime/Scripts/Participant.cs
index 426d63aa..8be41fe2 100644
--- a/Runtime/Scripts/Participant.cs
+++ b/Runtime/Scripts/Participant.cs
@@ -541,6 +541,47 @@ public StreamTextInstruction StreamText(string topic)
var options = new StreamTextOptions { Topic = topic };
return StreamText(options);
}
+
+ ///
+ /// Publishes a data track.
+ ///
+ /// Options for the data track, including the track name.
+ ///
+ /// A that completes when the track is published or errors.
+ /// Check and access
+ /// to get the published track.
+ /// Use to send data frames on the track.
+ ///
+ public PublishDataTrackInstruction PublishDataTrack(DataTrackOptions options)
+ {
+ using var request = FFIBridge.Instance.NewRequest();
+ var publishReq = request.request;
+ publishReq.LocalParticipantHandle = (ulong)Handle.DangerousGetHandle();
+ publishReq.Options = new Proto.DataTrackOptions { Name = options.Name };
+
+ using var response = request.Send();
+ FfiResponse res = response;
+ return new PublishDataTrackInstruction(res.PublishDataTrack.AsyncId);
+ }
+
+ ///
+ /// Publishes a data track.
+ ///
+ /// The track name used to identify the track to other participants.
+ /// Must not be empty and must be unique per publisher.
+ ///
+ /// Use the overload to set additional options.
+ ///
+ ///
+ /// A that completes when the track is published or errors.
+ /// Check and access
+ /// to get the published track.
+ /// Use to send data frames on the track.
+ ///
+ public PublishDataTrackInstruction PublishDataTrack(string name)
+ {
+ return PublishDataTrack(new DataTrackOptions(name));
+ }
}
public sealed class RemoteParticipant : Participant
@@ -915,4 +956,57 @@ public ByteStreamWriter Writer
public StreamError Error { get; private set; }
}
+
+ ///
+ /// YieldInstruction for publishing a data track. Returned by .
+ ///
+ ///
+ /// Access after checking .
+ ///
+ public sealed class PublishDataTrackInstruction : YieldInstruction
+ {
+ private ulong _asyncId;
+ private LocalDataTrack _track;
+
+ internal PublishDataTrackInstruction(ulong asyncId)
+ {
+ _asyncId = asyncId;
+ FfiClient.Instance.PublishDataTrackReceived += OnPublishDataTrack;
+ }
+
+ internal void OnPublishDataTrack(PublishDataTrackCallback e)
+ {
+ if (e.AsyncId != _asyncId)
+ return;
+
+ switch (e.ResultCase)
+ {
+ case PublishDataTrackCallback.ResultOneofCase.Error:
+ Error = new PublishDataTrackError(e.Error);
+ IsError = true;
+ break;
+ case PublishDataTrackCallback.ResultOneofCase.Track:
+ _track = new LocalDataTrack(e.Track);
+ break;
+ }
+ IsDone = true;
+ FfiClient.Instance.PublishDataTrackReceived -= OnPublishDataTrack;
+ }
+
+ ///
+ /// The published data track. Use to send
+ /// data frames on the track.
+ ///
+ /// Thrown if the publish operation failed.
+ public LocalDataTrack Track
+ {
+ get
+ {
+ if (IsError) throw Error;
+ return _track;
+ }
+ }
+
+ public PublishDataTrackError Error { get; private set; }
+ }
}
diff --git a/Runtime/Scripts/Proto/DataTrack.cs.meta b/Runtime/Scripts/Proto/DataTrack.cs.meta
new file mode 100644
index 00000000..c0cd2e4a
--- /dev/null
+++ b/Runtime/Scripts/Proto/DataTrack.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5bb8f4b61313248248b43d1323a2756b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/Room.cs b/Runtime/Scripts/Room.cs
index d4ec1280..8ce87ece 100644
--- a/Runtime/Scripts/Room.cs
+++ b/Runtime/Scripts/Room.cs
@@ -126,6 +126,7 @@ public class Room
public delegate void ConnectionStateChangeDelegate(ConnectionState connectionState);
public delegate void ConnectionDelegate(Room room);
public delegate void E2EeStateChangedDelegate(Participant participant, EncryptionState state);
+ public delegate void RemoteDataTrackPublishedDelegate(RemoteDataTrack track);
public string Sid { private set; get; }
public string Name { private set; get; }
@@ -161,6 +162,7 @@ public class Room
public event ParticipantDelegate ParticipantMetadataChanged;
public event ParticipantDelegate ParticipantNameChanged;
public event ParticipantDelegate ParticipantAttributesChanged;
+ public event RemoteDataTrackPublishedDelegate RemoteDataTrackPublished;
public ConnectInstruction Connect(string url, string token, RoomOptions options)
{
@@ -501,10 +503,15 @@ internal void OnEventReceived(RoomEvent e)
break;
case RoomEvent.MessageOneofCase.Moved:
{
- // Participants moved to new room.
UpdateFromInfo(e.Moved);
}
break;
+ case RoomEvent.MessageOneofCase.RemoteDataTrackPublished:
+ {
+ var track = new RemoteDataTrack(e.RemoteDataTrackPublished.Track);
+ RemoteDataTrackPublished?.Invoke(track);
+ }
+ break;
}
}
From 07a5625b25e9a2c7c49e43704cccf9787f5027c5 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Mon, 9 Mar 2026 15:05:35 -0700
Subject: [PATCH 04/17] End-to-end tests
---
Tests/PlayMode/DataTrackTests.cs | 294 ++++++++++++++++++++++++++
Tests/PlayMode/DataTrackTests.cs.meta | 11 +
2 files changed, 305 insertions(+)
create mode 100644 Tests/PlayMode/DataTrackTests.cs
create mode 100644 Tests/PlayMode/DataTrackTests.cs.meta
diff --git a/Tests/PlayMode/DataTrackTests.cs b/Tests/PlayMode/DataTrackTests.cs
new file mode 100644
index 00000000..7ddb178d
--- /dev/null
+++ b/Tests/PlayMode/DataTrackTests.cs
@@ -0,0 +1,294 @@
+using System.Collections;
+using NUnit.Framework;
+using UnityEngine;
+using UnityEngine.TestTools;
+using LiveKit.PlayModeTests.Utils;
+
+namespace LiveKit.PlayModeTests
+{
+ public class DataTrackTests
+ {
+ [UnityTest, Category("E2E")]
+ public IEnumerator PublishDataTrack_Succeeds()
+ {
+ using var context = new TestRoomContext();
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var room = context.Rooms[0];
+ var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ yield return publishInstruction;
+
+ Assert.IsFalse(publishInstruction.IsError, "PublishDataTrack should not error");
+ Assert.IsNotNull(publishInstruction.Track);
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator PublishDataTrack_TrackInfoMatchesOptions()
+ {
+ using var context = new TestRoomContext();
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var room = context.Rooms[0];
+ var publishInstruction = room.LocalParticipant.PublishDataTrack("my-sensor");
+ yield return publishInstruction;
+
+ Assert.IsFalse(publishInstruction.IsError);
+ var track = publishInstruction.Track;
+ Assert.AreEqual("my-sensor", track.Info.Name);
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator PublishDataTrack_IsPublishedReturnsTrue()
+ {
+ using var context = new TestRoomContext();
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var room = context.Rooms[0];
+ var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ yield return publishInstruction;
+
+ Assert.IsFalse(publishInstruction.IsError);
+ Assert.IsTrue(publishInstruction.Track.IsPublished());
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator TryPush_Succeeds()
+ {
+ using var context = new TestRoomContext();
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var room = context.Rooms[0];
+ var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ yield return publishInstruction;
+
+ Assert.IsFalse(publishInstruction.IsError);
+ var track = publishInstruction.Track;
+
+ Assert.DoesNotThrow(() =>
+ {
+ track.TryPush(new DataTrackFrame(new byte[] { 0x01, 0x02, 0x03 }));
+ });
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator Unpublish_IsPublishedReturnsFalse()
+ {
+ using var context = new TestRoomContext();
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var room = context.Rooms[0];
+ var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ yield return publishInstruction;
+
+ Assert.IsFalse(publishInstruction.IsError);
+ var track = publishInstruction.Track;
+ Assert.IsTrue(track.IsPublished());
+
+ track.Unpublish();
+ Assert.IsFalse(track.IsPublished());
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator RemoteDataTrackPublished_TriggersEvent()
+ {
+ var publisher = TestRoomContext.ConnectionOptions.Default;
+ publisher.Identity = "publisher";
+ var subscriber = TestRoomContext.ConnectionOptions.Default;
+ subscriber.Identity = "subscriber";
+
+ using var context = new TestRoomContext(new[] { publisher, subscriber });
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var subscriberRoom = context.Rooms[1];
+ var expectation = new Expectation(timeoutSeconds: 10f);
+
+ subscriberRoom.RemoteDataTrackPublished += (track) =>
+ {
+ if (track.Info.Name == "shared-track" && track.PublisherIdentity == publisher.Identity)
+ expectation.Fulfill();
+ else
+ expectation.Fail($"Unexpected track: name={track.Info.Name}, publisher={track.PublisherIdentity}");
+ };
+
+ var publisherRoom = context.Rooms[0];
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("shared-track");
+ yield return publishInstruction;
+ if (publishInstruction.IsError)
+ Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+
+ yield return expectation.Wait();
+ if (expectation.Error != null) Assert.Fail(expectation.Error);
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator Subscribe_Succeeds()
+ {
+ var publisher = TestRoomContext.ConnectionOptions.Default;
+ publisher.Identity = "publisher";
+ var subscriber = TestRoomContext.ConnectionOptions.Default;
+ subscriber.Identity = "subscriber";
+
+ using var context = new TestRoomContext(new[] { publisher, subscriber });
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var subscriberRoom = context.Rooms[1];
+ var trackExpectation = new Expectation(timeoutSeconds: 10f);
+ RemoteDataTrack remoteTrack = null;
+
+ subscriberRoom.RemoteDataTrackPublished += (track) =>
+ {
+ remoteTrack = track;
+ trackExpectation.Fulfill();
+ };
+
+ var publisherRoom = context.Rooms[0];
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("sub-test");
+ yield return publishInstruction;
+ if (publishInstruction.IsError)
+ Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+
+ yield return trackExpectation.Wait();
+ if (trackExpectation.Error != null) Assert.Fail(trackExpectation.Error);
+
+ var subInstruction = remoteTrack.Subscribe();
+ yield return subInstruction;
+
+ Assert.IsFalse(subInstruction.IsError, "Subscribe should not error");
+ Assert.IsNotNull(subInstruction.Subscription);
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator PushAndReceive_FramePayloadMatches()
+ {
+ var publisher = TestRoomContext.ConnectionOptions.Default;
+ publisher.Identity = "publisher";
+ var subscriber = TestRoomContext.ConnectionOptions.Default;
+ subscriber.Identity = "subscriber";
+
+ using var context = new TestRoomContext(new[] { publisher, subscriber });
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var subscriberRoom = context.Rooms[1];
+ var trackExpectation = new Expectation(timeoutSeconds: 10f);
+ RemoteDataTrack remoteTrack = null;
+
+ subscriberRoom.RemoteDataTrackPublished += (track) =>
+ {
+ remoteTrack = track;
+ trackExpectation.Fulfill();
+ };
+
+ var publisherRoom = context.Rooms[0];
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("payload-test");
+ yield return publishInstruction;
+ if (publishInstruction.IsError)
+ Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+
+ yield return trackExpectation.Wait();
+ if (trackExpectation.Error != null) Assert.Fail(trackExpectation.Error);
+
+ var subInstruction = remoteTrack.Subscribe();
+ yield return subInstruction;
+ if (subInstruction.IsError)
+ Assert.Fail($"Failed to subscribe: {subInstruction.Error.Message}");
+
+ var subscription = subInstruction.Subscription;
+
+ var sentPayload = new byte[] { 0xDE, 0xAD, 0xBE, 0xEF };
+ publishInstruction.Track.TryPush(new DataTrackFrame(sentPayload));
+
+ var frameInstruction = subscription.ReadFrame();
+ yield return frameInstruction;
+
+ Assert.IsTrue(frameInstruction.IsCurrentReadDone, "Should have received a frame");
+ Assert.AreEqual(sentPayload, frameInstruction.Frame.Payload);
+ }
+
+ [UnityTest, Category("E2E")]
+ public IEnumerator PushAndReceive_TimestampIsPreserved()
+ {
+ var publisher = TestRoomContext.ConnectionOptions.Default;
+ publisher.Identity = "publisher";
+ var subscriber = TestRoomContext.ConnectionOptions.Default;
+ subscriber.Identity = "subscriber";
+
+ using var context = new TestRoomContext(new[] { publisher, subscriber });
+ yield return context.ConnectAll();
+ if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+
+ var subscriberRoom = context.Rooms[1];
+ var trackExpectation = new Expectation(timeoutSeconds: 10f);
+ RemoteDataTrack remoteTrack = null;
+
+ subscriberRoom.RemoteDataTrackPublished += (track) =>
+ {
+ remoteTrack = track;
+ trackExpectation.Fulfill();
+ };
+
+ var publisherRoom = context.Rooms[0];
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("ts-test");
+ yield return publishInstruction;
+ if (publishInstruction.IsError)
+ Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+
+ yield return trackExpectation.Wait();
+ if (trackExpectation.Error != null) Assert.Fail(trackExpectation.Error);
+
+ var subInstruction = remoteTrack.Subscribe();
+ yield return subInstruction;
+ if (subInstruction.IsError)
+ Assert.Fail($"Failed to subscribe: {subInstruction.Error.Message}");
+
+ var subscription = subInstruction.Subscription;
+
+ var frame = new DataTrackFrame(new byte[] { 0x01 }).WithUserTimestampNow();
+ publishInstruction.Track.TryPush(frame);
+
+ var frameInstruction = subscription.ReadFrame();
+ yield return frameInstruction;
+
+ Assert.IsTrue(frameInstruction.IsCurrentReadDone, "Should have received a frame");
+ Assert.IsNotNull(frameInstruction.Frame.UserTimestamp, "Timestamp should be preserved");
+
+ var latency = frameInstruction.Frame.DurationSinceTimestamp();
+ Assert.IsNotNull(latency);
+ Assert.Less(latency.Value, 5.0, "Latency should be reasonable");
+ }
+
+ [Test]
+ public void DataTrackFrame_WithUserTimestampNow_SetsTimestamp()
+ {
+ var frame = new DataTrackFrame(new byte[] { 0x01, 0x02 });
+ Assert.IsNull(frame.UserTimestamp);
+
+ var stamped = frame.WithUserTimestampNow();
+ Assert.IsNotNull(stamped.UserTimestamp);
+ Assert.AreEqual(frame.Payload, stamped.Payload);
+ }
+
+ [Test]
+ public void DataTrackFrame_DurationSinceTimestamp_NullWithoutTimestamp()
+ {
+ var frame = new DataTrackFrame(new byte[] { 0x01 });
+ Assert.IsNull(frame.DurationSinceTimestamp());
+ }
+
+ [Test]
+ public void DataTrackFrame_DurationSinceTimestamp_ReturnsValue()
+ {
+ var frame = new DataTrackFrame(new byte[] { 0x01 }).WithUserTimestampNow();
+ var duration = frame.DurationSinceTimestamp();
+ Assert.IsNotNull(duration);
+ Assert.GreaterOrEqual(duration.Value, 0.0);
+ }
+ }
+}
diff --git a/Tests/PlayMode/DataTrackTests.cs.meta b/Tests/PlayMode/DataTrackTests.cs.meta
new file mode 100644
index 00000000..61e8b16f
--- /dev/null
+++ b/Tests/PlayMode/DataTrackTests.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8774d5b919bdc49f4b50e9365781b7e0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
From 87f25f22216429409bd8241bc367da4a669d7cd4 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Wed, 11 Mar 2026 14:27:57 -0700
Subject: [PATCH 05/17] Clean up
---
Runtime/Scripts/DataTrack.cs | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/Runtime/Scripts/DataTrack.cs b/Runtime/Scripts/DataTrack.cs
index c61943f7..778f5606 100644
--- a/Runtime/Scripts/DataTrack.cs
+++ b/Runtime/Scripts/DataTrack.cs
@@ -311,19 +311,19 @@ internal SubscribeDataTrackInstruction(ulong asyncId)
FfiClient.Instance.SubscribeDataTrackReceived += OnSubscribe;
}
- internal void OnSubscribe(SubscribeDataTrackCallback e)
+ internal void OnSubscribe(SubscribeDataTrackCallback callback)
{
- if (e.AsyncId != _asyncId)
+ if (callback.AsyncId != _asyncId)
return;
- switch (e.ResultCase)
+ switch (callback.ResultCase)
{
case SubscribeDataTrackCallback.ResultOneofCase.Error:
- Error = new SubscribeDataTrackError(e.Error);
+ Error = new SubscribeDataTrackError(callback.Error);
IsError = true;
break;
case SubscribeDataTrackCallback.ResultOneofCase.Subscription:
- _subscription = new DataTrackSubscription(e.Subscription);
+ _subscription = new DataTrackSubscription(callback.Subscription);
break;
}
IsDone = true;
@@ -396,25 +396,19 @@ public ReadFrameInstruction ReadFrame()
return _currentInstruction;
}
- private void OnSubscriptionEvent(DataTrackSubscriptionEvent e)
+ private void OnSubscriptionEvent(DataTrackSubscriptionEvent callback)
{
- if (e.SubscriptionHandle != _handleId)
+ if (callback.SubscriptionHandle != _handleId)
return;
- switch (e.DetailCase)
+ switch (callback.DetailCase)
{
case DataTrackSubscriptionEvent.DetailOneofCase.FrameReceived:
- if (_currentInstruction != null)
- {
- _currentInstruction.SetFrame(new DataTrackFrame(e.FrameReceived.Frame));
- }
+ _currentInstruction?.SetFrame(new DataTrackFrame(callback.FrameReceived.Frame));
break;
case DataTrackSubscriptionEvent.DetailOneofCase.Eos:
IsEos = true;
- if (_currentInstruction != null)
- {
- _currentInstruction.SetEos();
- }
+ _currentInstruction?.SetEos();
Cleanup();
break;
}
From fa069a0d5accfa22eca4c70a04dc45395c3a3c2a Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Wed, 11 Mar 2026 14:35:59 -0700
Subject: [PATCH 06/17] No hardcoded track names in tests
---
Tests/PlayMode/DataTrackTests.cs | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/Tests/PlayMode/DataTrackTests.cs b/Tests/PlayMode/DataTrackTests.cs
index 7ddb178d..6eaeba94 100644
--- a/Tests/PlayMode/DataTrackTests.cs
+++ b/Tests/PlayMode/DataTrackTests.cs
@@ -8,6 +8,8 @@ namespace LiveKit.PlayModeTests
{
public class DataTrackTests
{
+ const string TestTrackName = "test-track";
+
[UnityTest, Category("E2E")]
public IEnumerator PublishDataTrack_Succeeds()
{
@@ -16,7 +18,7 @@ public IEnumerator PublishDataTrack_Succeeds()
if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
var room = context.Rooms[0];
- var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
Assert.IsFalse(publishInstruction.IsError, "PublishDataTrack should not error");
@@ -31,12 +33,12 @@ public IEnumerator PublishDataTrack_TrackInfoMatchesOptions()
if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
var room = context.Rooms[0];
- var publishInstruction = room.LocalParticipant.PublishDataTrack("my-sensor");
+ var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
Assert.IsFalse(publishInstruction.IsError);
var track = publishInstruction.Track;
- Assert.AreEqual("my-sensor", track.Info.Name);
+ Assert.AreEqual(TestTrackName, track.Info.Name);
}
[UnityTest, Category("E2E")]
@@ -47,7 +49,7 @@ public IEnumerator PublishDataTrack_IsPublishedReturnsTrue()
if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
var room = context.Rooms[0];
- var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
Assert.IsFalse(publishInstruction.IsError);
@@ -62,7 +64,7 @@ public IEnumerator TryPush_Succeeds()
if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
var room = context.Rooms[0];
- var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
Assert.IsFalse(publishInstruction.IsError);
@@ -82,7 +84,7 @@ public IEnumerator Unpublish_IsPublishedReturnsFalse()
if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
var room = context.Rooms[0];
- var publishInstruction = room.LocalParticipant.PublishDataTrack("test-track");
+ var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
Assert.IsFalse(publishInstruction.IsError);
@@ -110,14 +112,14 @@ public IEnumerator RemoteDataTrackPublished_TriggersEvent()
subscriberRoom.RemoteDataTrackPublished += (track) =>
{
- if (track.Info.Name == "shared-track" && track.PublisherIdentity == publisher.Identity)
+ if (track.Info.Name == TestTrackName && track.PublisherIdentity == publisher.Identity)
expectation.Fulfill();
else
expectation.Fail($"Unexpected track: name={track.Info.Name}, publisher={track.PublisherIdentity}");
};
var publisherRoom = context.Rooms[0];
- var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("shared-track");
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
if (publishInstruction.IsError)
Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
@@ -149,7 +151,7 @@ public IEnumerator Subscribe_Succeeds()
};
var publisherRoom = context.Rooms[0];
- var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("sub-test");
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
if (publishInstruction.IsError)
Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
@@ -187,7 +189,7 @@ public IEnumerator PushAndReceive_FramePayloadMatches()
};
var publisherRoom = context.Rooms[0];
- var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("payload-test");
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
if (publishInstruction.IsError)
Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
@@ -235,7 +237,7 @@ public IEnumerator PushAndReceive_TimestampIsPreserved()
};
var publisherRoom = context.Rooms[0];
- var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack("ts-test");
+ var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
if (publishInstruction.IsError)
Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
From b3d52873a620fcb711c2a991ab1ff4584da23747 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Wed, 11 Mar 2026 14:50:27 -0700
Subject: [PATCH 07/17] Use assertions instead of branches
---
Tests/PlayMode/DataTrackTests.cs | 57 +++++++++++++++-----------------
1 file changed, 26 insertions(+), 31 deletions(-)
diff --git a/Tests/PlayMode/DataTrackTests.cs b/Tests/PlayMode/DataTrackTests.cs
index 6eaeba94..23c8d477 100644
--- a/Tests/PlayMode/DataTrackTests.cs
+++ b/Tests/PlayMode/DataTrackTests.cs
@@ -15,13 +15,13 @@ public IEnumerator PublishDataTrack_Succeeds()
{
using var context = new TestRoomContext();
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var room = context.Rooms[0];
var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
- Assert.IsFalse(publishInstruction.IsError, "PublishDataTrack should not error");
+ Assert.IsFalse(publishInstruction.IsError);
Assert.IsNotNull(publishInstruction.Track);
}
@@ -30,7 +30,7 @@ public IEnumerator PublishDataTrack_TrackInfoMatchesOptions()
{
using var context = new TestRoomContext();
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var room = context.Rooms[0];
var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
@@ -46,7 +46,7 @@ public IEnumerator PublishDataTrack_IsPublishedReturnsTrue()
{
using var context = new TestRoomContext();
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var room = context.Rooms[0];
var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
@@ -61,7 +61,7 @@ public IEnumerator TryPush_Succeeds()
{
using var context = new TestRoomContext();
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var room = context.Rooms[0];
var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
@@ -81,7 +81,7 @@ public IEnumerator Unpublish_IsPublishedReturnsFalse()
{
using var context = new TestRoomContext();
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var room = context.Rooms[0];
var publishInstruction = room.LocalParticipant.PublishDataTrack(TestTrackName);
@@ -105,27 +105,27 @@ public IEnumerator RemoteDataTrackPublished_TriggersEvent()
using var context = new TestRoomContext(new[] { publisher, subscriber });
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var subscriberRoom = context.Rooms[1];
var expectation = new Expectation(timeoutSeconds: 10f);
+ RemoteDataTrack receivedTrack = null;
subscriberRoom.RemoteDataTrackPublished += (track) =>
{
- if (track.Info.Name == TestTrackName && track.PublisherIdentity == publisher.Identity)
- expectation.Fulfill();
- else
- expectation.Fail($"Unexpected track: name={track.Info.Name}, publisher={track.PublisherIdentity}");
+ receivedTrack = track;
+ expectation.Fulfill();
};
var publisherRoom = context.Rooms[0];
var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
- if (publishInstruction.IsError)
- Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+ Assert.IsFalse(publishInstruction.IsError);
yield return expectation.Wait();
- if (expectation.Error != null) Assert.Fail(expectation.Error);
+ Assert.IsNull(expectation.Error);
+ Assert.AreEqual(TestTrackName, receivedTrack.Info.Name);
+ Assert.AreEqual(publisher.Identity, receivedTrack.PublisherIdentity);
}
[UnityTest, Category("E2E")]
@@ -138,7 +138,7 @@ public IEnumerator Subscribe_Succeeds()
using var context = new TestRoomContext(new[] { publisher, subscriber });
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var subscriberRoom = context.Rooms[1];
var trackExpectation = new Expectation(timeoutSeconds: 10f);
@@ -153,16 +153,15 @@ public IEnumerator Subscribe_Succeeds()
var publisherRoom = context.Rooms[0];
var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
- if (publishInstruction.IsError)
- Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+ Assert.IsFalse(publishInstruction.IsError);
yield return trackExpectation.Wait();
- if (trackExpectation.Error != null) Assert.Fail(trackExpectation.Error);
+ Assert.IsNull(trackExpectation.Error);
var subInstruction = remoteTrack.Subscribe();
yield return subInstruction;
- Assert.IsFalse(subInstruction.IsError, "Subscribe should not error");
+ Assert.IsFalse(subInstruction.IsError);
Assert.IsNotNull(subInstruction.Subscription);
}
@@ -176,7 +175,7 @@ public IEnumerator PushAndReceive_FramePayloadMatches()
using var context = new TestRoomContext(new[] { publisher, subscriber });
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var subscriberRoom = context.Rooms[1];
var trackExpectation = new Expectation(timeoutSeconds: 10f);
@@ -191,16 +190,14 @@ public IEnumerator PushAndReceive_FramePayloadMatches()
var publisherRoom = context.Rooms[0];
var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
- if (publishInstruction.IsError)
- Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+ Assert.IsFalse(publishInstruction.IsError);
yield return trackExpectation.Wait();
- if (trackExpectation.Error != null) Assert.Fail(trackExpectation.Error);
+ Assert.IsNull(trackExpectation.Error);
var subInstruction = remoteTrack.Subscribe();
yield return subInstruction;
- if (subInstruction.IsError)
- Assert.Fail($"Failed to subscribe: {subInstruction.Error.Message}");
+ Assert.IsFalse(subInstruction.IsError);
var subscription = subInstruction.Subscription;
@@ -224,7 +221,7 @@ public IEnumerator PushAndReceive_TimestampIsPreserved()
using var context = new TestRoomContext(new[] { publisher, subscriber });
yield return context.ConnectAll();
- if (context.ConnectionError != null) Assert.Fail(context.ConnectionError);
+ Assert.IsNull(context.ConnectionError);
var subscriberRoom = context.Rooms[1];
var trackExpectation = new Expectation(timeoutSeconds: 10f);
@@ -239,16 +236,14 @@ public IEnumerator PushAndReceive_TimestampIsPreserved()
var publisherRoom = context.Rooms[0];
var publishInstruction = publisherRoom.LocalParticipant.PublishDataTrack(TestTrackName);
yield return publishInstruction;
- if (publishInstruction.IsError)
- Assert.Fail($"Failed to publish: {publishInstruction.Error.Message}");
+ Assert.IsFalse(publishInstruction.IsError);
yield return trackExpectation.Wait();
- if (trackExpectation.Error != null) Assert.Fail(trackExpectation.Error);
+ Assert.IsNull(trackExpectation.Error);
var subInstruction = remoteTrack.Subscribe();
yield return subInstruction;
- if (subInstruction.IsError)
- Assert.Fail($"Failed to subscribe: {subInstruction.Error.Message}");
+ Assert.IsFalse(subInstruction.IsError);
var subscription = subInstruction.Subscription;
From b927e09328e484b102e5eb0bf37e91cd83ce2ef9 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Wed, 11 Mar 2026 15:00:47 -0700
Subject: [PATCH 08/17] Remove unused import
---
Tests/PlayMode/DataTrackTests.cs | 1 -
1 file changed, 1 deletion(-)
diff --git a/Tests/PlayMode/DataTrackTests.cs b/Tests/PlayMode/DataTrackTests.cs
index 23c8d477..35e15341 100644
--- a/Tests/PlayMode/DataTrackTests.cs
+++ b/Tests/PlayMode/DataTrackTests.cs
@@ -1,6 +1,5 @@
using System.Collections;
using NUnit.Framework;
-using UnityEngine;
using UnityEngine.TestTools;
using LiveKit.PlayModeTests.Utils;
From 499f6cc2e421d9c3ecee3db433214c114de091a9 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Wed, 11 Mar 2026 15:03:32 -0700
Subject: [PATCH 09/17] Enable data tracks flag in CI
---
.github/workflows/ci.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b2f8dd56..7ce1b2ad 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -39,7 +39,7 @@ jobs:
- name: Install LiveKit Server
run: curl -sSL https://get.livekit.io | bash
- name: Run LiveKit Server
- run: livekit-server --dev &
+ run: 'LIVEKIT_CONFIG="enable_data_tracks: true" livekit-server --dev &'
- name: Run Tests
uses: game-ci/unity-test-runner@v4
id: testRunner
From 7f1dc8c8aacdf0fda9adc77371255e6405cd0d90 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 12:39:51 -0700
Subject: [PATCH 10/17] Pin submodule
---
client-sdk-rust~ | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client-sdk-rust~ b/client-sdk-rust~
index 5150309f..132ed05c 160000
--- a/client-sdk-rust~
+++ b/client-sdk-rust~
@@ -1 +1 @@
-Subproject commit 5150309fd69f660d61c0b858921ae446ba6c2530
+Subproject commit 132ed05c1335c753a624169b8183bbab48bfeb47
From 4017e3985287e32436ccb86c528a51d712c6151e Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 12:40:28 -0700
Subject: [PATCH 11/17] Generate proto
---
Runtime/Scripts/Proto/AudioFrame.cs | 332 +++++---
Runtime/Scripts/Proto/DataTrack.cs | 491 ++++++++++-
Runtime/Scripts/Proto/E2Ee.cs | 249 ++++--
Runtime/Scripts/Proto/Ffi.cs | 504 +++++++-----
Runtime/Scripts/Proto/Participant.cs | 5 +-
Runtime/Scripts/Proto/Room.cs | 1128 ++++++++++++++++++--------
Runtime/Scripts/Proto/VideoFrame.cs | 161 ++--
7 files changed, 2074 insertions(+), 796 deletions(-)
diff --git a/Runtime/Scripts/Proto/AudioFrame.cs b/Runtime/Scripts/Proto/AudioFrame.cs
index fe8255c8..2a9e3906 100644
--- a/Runtime/Scripts/Proto/AudioFrame.cs
+++ b/Runtime/Scripts/Proto/AudioFrame.cs
@@ -25,121 +25,123 @@ static AudioFrameReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChFhdWRpb19mcmFtZS5wcm90bxINbGl2ZWtpdC5wcm90bxoMaGFuZGxlLnBy",
- "b3RvGgt0cmFjay5wcm90byLbAQoVTmV3QXVkaW9TdHJlYW1SZXF1ZXN0EhQK",
+ "b3RvGgt0cmFjay5wcm90byL2AQoVTmV3QXVkaW9TdHJlYW1SZXF1ZXN0EhQK",
"DHRyYWNrX2hhbmRsZRgBIAIoBBIsCgR0eXBlGAIgAigOMh4ubGl2ZWtpdC5w",
"cm90by5BdWRpb1N0cmVhbVR5cGUSEwoLc2FtcGxlX3JhdGUYAyABKA0SFAoM",
"bnVtX2NoYW5uZWxzGAQgASgNEh4KFmF1ZGlvX2ZpbHRlcl9tb2R1bGVfaWQY",
"BSABKAkSHAoUYXVkaW9fZmlsdGVyX29wdGlvbnMYBiABKAkSFQoNZnJhbWVf",
- "c2l6ZV9tcxgHIAEoDSJJChZOZXdBdWRpb1N0cmVhbVJlc3BvbnNlEi8KBnN0",
- "cmVhbRgBIAIoCzIfLmxpdmVraXQucHJvdG8uT3duZWRBdWRpb1N0cmVhbSKf",
- "AgohQXVkaW9TdHJlYW1Gcm9tUGFydGljaXBhbnRSZXF1ZXN0EhoKEnBhcnRp",
- "Y2lwYW50X2hhbmRsZRgBIAIoBBIsCgR0eXBlGAIgAigOMh4ubGl2ZWtpdC5w",
- "cm90by5BdWRpb1N0cmVhbVR5cGUSMAoMdHJhY2tfc291cmNlGAMgASgOMhou",
- "bGl2ZWtpdC5wcm90by5UcmFja1NvdXJjZRITCgtzYW1wbGVfcmF0ZRgFIAEo",
- "DRIUCgxudW1fY2hhbm5lbHMYBiABKA0SHgoWYXVkaW9fZmlsdGVyX21vZHVs",
- "ZV9pZBgHIAEoCRIcChRhdWRpb19maWx0ZXJfb3B0aW9ucxgIIAEoCRIVCg1m",
- "cmFtZV9zaXplX21zGAkgASgNIlUKIkF1ZGlvU3RyZWFtRnJvbVBhcnRpY2lw",
- "YW50UmVzcG9uc2USLwoGc3RyZWFtGAEgAigLMh8ubGl2ZWtpdC5wcm90by5P",
- "d25lZEF1ZGlvU3RyZWFtIrsBChVOZXdBdWRpb1NvdXJjZVJlcXVlc3QSLAoE",
- "dHlwZRgBIAIoDjIeLmxpdmVraXQucHJvdG8uQXVkaW9Tb3VyY2VUeXBlEjIK",
- "B29wdGlvbnMYAiABKAsyIS5saXZla2l0LnByb3RvLkF1ZGlvU291cmNlT3B0",
- "aW9ucxITCgtzYW1wbGVfcmF0ZRgDIAIoDRIUCgxudW1fY2hhbm5lbHMYBCAC",
- "KA0SFQoNcXVldWVfc2l6ZV9tcxgFIAEoDSJJChZOZXdBdWRpb1NvdXJjZVJl",
- "c3BvbnNlEi8KBnNvdXJjZRgBIAIoCzIfLmxpdmVraXQucHJvdG8uT3duZWRB",
- "dWRpb1NvdXJjZSKAAQoYQ2FwdHVyZUF1ZGlvRnJhbWVSZXF1ZXN0EhUKDXNv",
- "dXJjZV9oYW5kbGUYASACKAQSMwoGYnVmZmVyGAIgAigLMiMubGl2ZWtpdC5w",
- "cm90by5BdWRpb0ZyYW1lQnVmZmVySW5mbxIYChByZXF1ZXN0X2FzeW5jX2lk",
- "GAMgASgEIi0KGUNhcHR1cmVBdWRpb0ZyYW1lUmVzcG9uc2USEAoIYXN5bmNf",
- "aWQYASACKAQiPAoZQ2FwdHVyZUF1ZGlvRnJhbWVDYWxsYmFjaxIQCghhc3lu",
- "Y19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSIwChdDbGVhckF1ZGlvQnVmZmVy",
- "UmVxdWVzdBIVCg1zb3VyY2VfaGFuZGxlGAEgAigEIhoKGENsZWFyQXVkaW9C",
- "dWZmZXJSZXNwb25zZSIaChhOZXdBdWRpb1Jlc2FtcGxlclJlcXVlc3QiUgoZ",
- "TmV3QXVkaW9SZXNhbXBsZXJSZXNwb25zZRI1CglyZXNhbXBsZXIYASACKAsy",
- "Ii5saXZla2l0LnByb3RvLk93bmVkQXVkaW9SZXNhbXBsZXIikwEKF1JlbWl4",
- "QW5kUmVzYW1wbGVSZXF1ZXN0EhgKEHJlc2FtcGxlcl9oYW5kbGUYASACKAQS",
- "MwoGYnVmZmVyGAIgAigLMiMubGl2ZWtpdC5wcm90by5BdWRpb0ZyYW1lQnVm",
- "ZmVySW5mbxIUCgxudW1fY2hhbm5lbHMYAyACKA0SEwoLc2FtcGxlX3JhdGUY",
- "BCACKA0iUAoYUmVtaXhBbmRSZXNhbXBsZVJlc3BvbnNlEjQKBmJ1ZmZlchgB",
- "IAIoCzIkLmxpdmVraXQucHJvdG8uT3duZWRBdWRpb0ZyYW1lQnVmZmVyIpUB",
- "Cg1OZXdBcG1SZXF1ZXN0Eh4KFmVjaG9fY2FuY2VsbGVyX2VuYWJsZWQYASAC",
- "KAgSHwoXZ2Fpbl9jb250cm9sbGVyX2VuYWJsZWQYAiACKAgSIAoYaGlnaF9w",
- "YXNzX2ZpbHRlcl9lbmFibGVkGAMgAigIEiEKGW5vaXNlX3N1cHByZXNzaW9u",
- "X2VuYWJsZWQYBCACKAgiNgoOTmV3QXBtUmVzcG9uc2USJAoDYXBtGAEgAigL",
- "MhcubGl2ZWtpdC5wcm90by5Pd25lZEFwbSJ4ChdBcG1Qcm9jZXNzU3RyZWFt",
- "UmVxdWVzdBISCgphcG1faGFuZGxlGAEgAigEEhAKCGRhdGFfcHRyGAIgAigE",
- "EgwKBHNpemUYAyACKA0SEwoLc2FtcGxlX3JhdGUYBCACKA0SFAoMbnVtX2No",
- "YW5uZWxzGAUgAigNIikKGEFwbVByb2Nlc3NTdHJlYW1SZXNwb25zZRINCgVl",
- "cnJvchgBIAEoCSJ/Ch5BcG1Qcm9jZXNzUmV2ZXJzZVN0cmVhbVJlcXVlc3QS",
- "EgoKYXBtX2hhbmRsZRgBIAIoBBIQCghkYXRhX3B0chgCIAIoBBIMCgRzaXpl",
- "GAMgAigNEhMKC3NhbXBsZV9yYXRlGAQgAigNEhQKDG51bV9jaGFubmVscxgF",
- "IAIoDSIwCh9BcG1Qcm9jZXNzUmV2ZXJzZVN0cmVhbVJlc3BvbnNlEg0KBWVy",
- "cm9yGAEgASgJIkAKGEFwbVNldFN0cmVhbURlbGF5UmVxdWVzdBISCgphcG1f",
- "aGFuZGxlGAEgAigEEhAKCGRlbGF5X21zGAIgAigFIioKGUFwbVNldFN0cmVh",
- "bURlbGF5UmVzcG9uc2USDQoFZXJyb3IYASABKAkinAIKFk5ld1NveFJlc2Ft",
- "cGxlclJlcXVlc3QSEgoKaW5wdXRfcmF0ZRgBIAIoARITCgtvdXRwdXRfcmF0",
- "ZRgCIAIoARIUCgxudW1fY2hhbm5lbHMYAyACKA0SPAoPaW5wdXRfZGF0YV90",
- "eXBlGAQgAigOMiMubGl2ZWtpdC5wcm90by5Tb3hSZXNhbXBsZXJEYXRhVHlw",
- "ZRI9ChBvdXRwdXRfZGF0YV90eXBlGAUgAigOMiMubGl2ZWtpdC5wcm90by5T",
- "b3hSZXNhbXBsZXJEYXRhVHlwZRI3Cg5xdWFsaXR5X3JlY2lwZRgGIAIoDjIf",
- "LmxpdmVraXQucHJvdG8uU294UXVhbGl0eVJlY2lwZRINCgVmbGFncxgHIAEo",
- "DSJsChdOZXdTb3hSZXNhbXBsZXJSZXNwb25zZRI1CglyZXNhbXBsZXIYASAB",
- "KAsyIC5saXZla2l0LnByb3RvLk93bmVkU294UmVzYW1wbGVySAASDwoFZXJy",
- "b3IYAiABKAlIAEIJCgdtZXNzYWdlIlMKF1B1c2hTb3hSZXNhbXBsZXJSZXF1",
- "ZXN0EhgKEHJlc2FtcGxlcl9oYW5kbGUYASACKAQSEAoIZGF0YV9wdHIYAiAC",
- "KAQSDAoEc2l6ZRgDIAIoDSJLChhQdXNoU294UmVzYW1wbGVyUmVzcG9uc2US",
- "EgoKb3V0cHV0X3B0chgBIAIoBBIMCgRzaXplGAIgAigNEg0KBWVycm9yGAMg",
- "ASgJIjQKGEZsdXNoU294UmVzYW1wbGVyUmVxdWVzdBIYChByZXNhbXBsZXJf",
- "aGFuZGxlGAEgAigEIkwKGUZsdXNoU294UmVzYW1wbGVyUmVzcG9uc2USEgoK",
- "b3V0cHV0X3B0chgBIAIoBBIMCgRzaXplGAIgAigNEg0KBWVycm9yGAMgASgJ",
- "InAKFEF1ZGlvRnJhbWVCdWZmZXJJbmZvEhAKCGRhdGFfcHRyGAEgAigEEhQK",
- "DG51bV9jaGFubmVscxgCIAIoDRITCgtzYW1wbGVfcmF0ZRgDIAIoDRIbChNz",
- "YW1wbGVzX3Blcl9jaGFubmVsGAQgAigNInkKFU93bmVkQXVkaW9GcmFtZUJ1",
- "ZmZlchItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVk",
- "SGFuZGxlEjEKBGluZm8YAiACKAsyIy5saXZla2l0LnByb3RvLkF1ZGlvRnJh",
- "bWVCdWZmZXJJbmZvIj8KD0F1ZGlvU3RyZWFtSW5mbxIsCgR0eXBlGAEgAigO",
- "Mh4ubGl2ZWtpdC5wcm90by5BdWRpb1N0cmVhbVR5cGUibwoQT3duZWRBdWRp",
- "b1N0cmVhbRItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93",
- "bmVkSGFuZGxlEiwKBGluZm8YAiACKAsyHi5saXZla2l0LnByb3RvLkF1ZGlv",
- "U3RyZWFtSW5mbyKfAQoQQXVkaW9TdHJlYW1FdmVudBIVCg1zdHJlYW1faGFu",
- "ZGxlGAEgAigEEjsKDmZyYW1lX3JlY2VpdmVkGAIgASgLMiEubGl2ZWtpdC5w",
- "cm90by5BdWRpb0ZyYW1lUmVjZWl2ZWRIABIsCgNlb3MYAyABKAsyHS5saXZl",
- "a2l0LnByb3RvLkF1ZGlvU3RyZWFtRU9TSABCCQoHbWVzc2FnZSJJChJBdWRp",
- "b0ZyYW1lUmVjZWl2ZWQSMwoFZnJhbWUYASACKAsyJC5saXZla2l0LnByb3Rv",
- "Lk93bmVkQXVkaW9GcmFtZUJ1ZmZlciIQCg5BdWRpb1N0cmVhbUVPUyJlChJB",
- "dWRpb1NvdXJjZU9wdGlvbnMSGQoRZWNob19jYW5jZWxsYXRpb24YASACKAgS",
- "GQoRbm9pc2Vfc3VwcHJlc3Npb24YAiACKAgSGQoRYXV0b19nYWluX2NvbnRy",
- "b2wYAyACKAgiPwoPQXVkaW9Tb3VyY2VJbmZvEiwKBHR5cGUYAiACKA4yHi5s",
- "aXZla2l0LnByb3RvLkF1ZGlvU291cmNlVHlwZSJvChBPd25lZEF1ZGlvU291",
- "cmNlEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRI",
- "YW5kbGUSLAoEaW5mbxgCIAIoCzIeLmxpdmVraXQucHJvdG8uQXVkaW9Tb3Vy",
- "Y2VJbmZvIhQKEkF1ZGlvUmVzYW1wbGVySW5mbyJ1ChNPd25lZEF1ZGlvUmVz",
- "YW1wbGVyEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3du",
- "ZWRIYW5kbGUSLwoEaW5mbxgCIAIoCzIhLmxpdmVraXQucHJvdG8uQXVkaW9S",
- "ZXNhbXBsZXJJbmZvIjkKCE93bmVkQXBtEi0KBmhhbmRsZRgBIAIoCzIdLmxp",
- "dmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUiEgoQU294UmVzYW1wbGVySW5m",
- "byJxChFPd25lZFNveFJlc2FtcGxlchItCgZoYW5kbGUYASACKAsyHS5saXZl",
- "a2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEi0KBGluZm8YAiACKAsyHy5saXZl",
- "a2l0LnByb3RvLlNveFJlc2FtcGxlckluZm8iXAocTG9hZEF1ZGlvRmlsdGVy",
- "UGx1Z2luUmVxdWVzdBITCgtwbHVnaW5fcGF0aBgBIAIoCRIUCgxkZXBlbmRl",
- "bmNpZXMYAiADKAkSEQoJbW9kdWxlX2lkGAMgAigJIi4KHUxvYWRBdWRpb0Zp",
- "bHRlclBsdWdpblJlc3BvbnNlEg0KBWVycm9yGAEgASgJKkoKFFNveFJlc2Ft",
- "cGxlckRhdGFUeXBlEhgKFFNPWFJfREFUQVRZUEVfSU5UMTZJEAASGAoUU09Y",
- "Ul9EQVRBVFlQRV9JTlQxNlMQASqLAQoQU294UXVhbGl0eVJlY2lwZRIWChJT",
- "T1hSX1FVQUxJVFlfUVVJQ0sQABIUChBTT1hSX1FVQUxJVFlfTE9XEAESFwoT",
- "U09YUl9RVUFMSVRZX01FRElVTRACEhUKEVNPWFJfUVVBTElUWV9ISUdIEAMS",
- "GQoVU09YUl9RVUFMSVRZX1ZFUllISUdIEAQqlwEKC1NveEZsYWdCaXRzEhYK",
- "ElNPWFJfUk9MTE9GRl9TTUFMTBAAEhcKE1NPWFJfUk9MTE9GRl9NRURJVU0Q",
- "ARIVChFTT1hSX1JPTExPRkZfTk9ORRACEhgKFFNPWFJfSElHSF9QUkVDX0NM",
- "T0NLEAMSGQoVU09YUl9ET1VCTEVfUFJFQ0lTSU9OEAQSCwoHU09YUl9WUhAF",
- "KkEKD0F1ZGlvU3RyZWFtVHlwZRIXChNBVURJT19TVFJFQU1fTkFUSVZFEAAS",
- "FQoRQVVESU9fU1RSRUFNX0hUTUwQASoqCg9BdWRpb1NvdXJjZVR5cGUSFwoT",
- "QVVESU9fU09VUkNFX05BVElWRRAAQhCqAg1MaXZlS2l0LlByb3Rv"));
+ "c2l6ZV9tcxgHIAEoDRIZChFxdWV1ZV9zaXplX2ZyYW1lcxgIIAEoDSJJChZO",
+ "ZXdBdWRpb1N0cmVhbVJlc3BvbnNlEi8KBnN0cmVhbRgBIAIoCzIfLmxpdmVr",
+ "aXQucHJvdG8uT3duZWRBdWRpb1N0cmVhbSK6AgohQXVkaW9TdHJlYW1Gcm9t",
+ "UGFydGljaXBhbnRSZXF1ZXN0EhoKEnBhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
+ "BBIsCgR0eXBlGAIgAigOMh4ubGl2ZWtpdC5wcm90by5BdWRpb1N0cmVhbVR5",
+ "cGUSMAoMdHJhY2tfc291cmNlGAMgASgOMhoubGl2ZWtpdC5wcm90by5UcmFj",
+ "a1NvdXJjZRITCgtzYW1wbGVfcmF0ZRgFIAEoDRIUCgxudW1fY2hhbm5lbHMY",
+ "BiABKA0SHgoWYXVkaW9fZmlsdGVyX21vZHVsZV9pZBgHIAEoCRIcChRhdWRp",
+ "b19maWx0ZXJfb3B0aW9ucxgIIAEoCRIVCg1mcmFtZV9zaXplX21zGAkgASgN",
+ "EhkKEXF1ZXVlX3NpemVfZnJhbWVzGAogASgNIlUKIkF1ZGlvU3RyZWFtRnJv",
+ "bVBhcnRpY2lwYW50UmVzcG9uc2USLwoGc3RyZWFtGAEgAigLMh8ubGl2ZWtp",
+ "dC5wcm90by5Pd25lZEF1ZGlvU3RyZWFtIrsBChVOZXdBdWRpb1NvdXJjZVJl",
+ "cXVlc3QSLAoEdHlwZRgBIAIoDjIeLmxpdmVraXQucHJvdG8uQXVkaW9Tb3Vy",
+ "Y2VUeXBlEjIKB29wdGlvbnMYAiABKAsyIS5saXZla2l0LnByb3RvLkF1ZGlv",
+ "U291cmNlT3B0aW9ucxITCgtzYW1wbGVfcmF0ZRgDIAIoDRIUCgxudW1fY2hh",
+ "bm5lbHMYBCACKA0SFQoNcXVldWVfc2l6ZV9tcxgFIAEoDSJJChZOZXdBdWRp",
+ "b1NvdXJjZVJlc3BvbnNlEi8KBnNvdXJjZRgBIAIoCzIfLmxpdmVraXQucHJv",
+ "dG8uT3duZWRBdWRpb1NvdXJjZSKAAQoYQ2FwdHVyZUF1ZGlvRnJhbWVSZXF1",
+ "ZXN0EhUKDXNvdXJjZV9oYW5kbGUYASACKAQSMwoGYnVmZmVyGAIgAigLMiMu",
+ "bGl2ZWtpdC5wcm90by5BdWRpb0ZyYW1lQnVmZmVySW5mbxIYChByZXF1ZXN0",
+ "X2FzeW5jX2lkGAMgASgEIi0KGUNhcHR1cmVBdWRpb0ZyYW1lUmVzcG9uc2US",
+ "EAoIYXN5bmNfaWQYASACKAQiPAoZQ2FwdHVyZUF1ZGlvRnJhbWVDYWxsYmFj",
+ "axIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSIwChdDbGVhckF1",
+ "ZGlvQnVmZmVyUmVxdWVzdBIVCg1zb3VyY2VfaGFuZGxlGAEgAigEIhoKGENs",
+ "ZWFyQXVkaW9CdWZmZXJSZXNwb25zZSIaChhOZXdBdWRpb1Jlc2FtcGxlclJl",
+ "cXVlc3QiUgoZTmV3QXVkaW9SZXNhbXBsZXJSZXNwb25zZRI1CglyZXNhbXBs",
+ "ZXIYASACKAsyIi5saXZla2l0LnByb3RvLk93bmVkQXVkaW9SZXNhbXBsZXIi",
+ "kwEKF1JlbWl4QW5kUmVzYW1wbGVSZXF1ZXN0EhgKEHJlc2FtcGxlcl9oYW5k",
+ "bGUYASACKAQSMwoGYnVmZmVyGAIgAigLMiMubGl2ZWtpdC5wcm90by5BdWRp",
+ "b0ZyYW1lQnVmZmVySW5mbxIUCgxudW1fY2hhbm5lbHMYAyACKA0SEwoLc2Ft",
+ "cGxlX3JhdGUYBCACKA0iUAoYUmVtaXhBbmRSZXNhbXBsZVJlc3BvbnNlEjQK",
+ "BmJ1ZmZlchgBIAIoCzIkLmxpdmVraXQucHJvdG8uT3duZWRBdWRpb0ZyYW1l",
+ "QnVmZmVyIpUBCg1OZXdBcG1SZXF1ZXN0Eh4KFmVjaG9fY2FuY2VsbGVyX2Vu",
+ "YWJsZWQYASACKAgSHwoXZ2Fpbl9jb250cm9sbGVyX2VuYWJsZWQYAiACKAgS",
+ "IAoYaGlnaF9wYXNzX2ZpbHRlcl9lbmFibGVkGAMgAigIEiEKGW5vaXNlX3N1",
+ "cHByZXNzaW9uX2VuYWJsZWQYBCACKAgiNgoOTmV3QXBtUmVzcG9uc2USJAoD",
+ "YXBtGAEgAigLMhcubGl2ZWtpdC5wcm90by5Pd25lZEFwbSJ4ChdBcG1Qcm9j",
+ "ZXNzU3RyZWFtUmVxdWVzdBISCgphcG1faGFuZGxlGAEgAigEEhAKCGRhdGFf",
+ "cHRyGAIgAigEEgwKBHNpemUYAyACKA0SEwoLc2FtcGxlX3JhdGUYBCACKA0S",
+ "FAoMbnVtX2NoYW5uZWxzGAUgAigNIikKGEFwbVByb2Nlc3NTdHJlYW1SZXNw",
+ "b25zZRINCgVlcnJvchgBIAEoCSJ/Ch5BcG1Qcm9jZXNzUmV2ZXJzZVN0cmVh",
+ "bVJlcXVlc3QSEgoKYXBtX2hhbmRsZRgBIAIoBBIQCghkYXRhX3B0chgCIAIo",
+ "BBIMCgRzaXplGAMgAigNEhMKC3NhbXBsZV9yYXRlGAQgAigNEhQKDG51bV9j",
+ "aGFubmVscxgFIAIoDSIwCh9BcG1Qcm9jZXNzUmV2ZXJzZVN0cmVhbVJlc3Bv",
+ "bnNlEg0KBWVycm9yGAEgASgJIkAKGEFwbVNldFN0cmVhbURlbGF5UmVxdWVz",
+ "dBISCgphcG1faGFuZGxlGAEgAigEEhAKCGRlbGF5X21zGAIgAigFIioKGUFw",
+ "bVNldFN0cmVhbURlbGF5UmVzcG9uc2USDQoFZXJyb3IYASABKAkinAIKFk5l",
+ "d1NveFJlc2FtcGxlclJlcXVlc3QSEgoKaW5wdXRfcmF0ZRgBIAIoARITCgtv",
+ "dXRwdXRfcmF0ZRgCIAIoARIUCgxudW1fY2hhbm5lbHMYAyACKA0SPAoPaW5w",
+ "dXRfZGF0YV90eXBlGAQgAigOMiMubGl2ZWtpdC5wcm90by5Tb3hSZXNhbXBs",
+ "ZXJEYXRhVHlwZRI9ChBvdXRwdXRfZGF0YV90eXBlGAUgAigOMiMubGl2ZWtp",
+ "dC5wcm90by5Tb3hSZXNhbXBsZXJEYXRhVHlwZRI3Cg5xdWFsaXR5X3JlY2lw",
+ "ZRgGIAIoDjIfLmxpdmVraXQucHJvdG8uU294UXVhbGl0eVJlY2lwZRINCgVm",
+ "bGFncxgHIAEoDSJsChdOZXdTb3hSZXNhbXBsZXJSZXNwb25zZRI1CglyZXNh",
+ "bXBsZXIYASABKAsyIC5saXZla2l0LnByb3RvLk93bmVkU294UmVzYW1wbGVy",
+ "SAASDwoFZXJyb3IYAiABKAlIAEIJCgdtZXNzYWdlIlMKF1B1c2hTb3hSZXNh",
+ "bXBsZXJSZXF1ZXN0EhgKEHJlc2FtcGxlcl9oYW5kbGUYASACKAQSEAoIZGF0",
+ "YV9wdHIYAiACKAQSDAoEc2l6ZRgDIAIoDSJLChhQdXNoU294UmVzYW1wbGVy",
+ "UmVzcG9uc2USEgoKb3V0cHV0X3B0chgBIAIoBBIMCgRzaXplGAIgAigNEg0K",
+ "BWVycm9yGAMgASgJIjQKGEZsdXNoU294UmVzYW1wbGVyUmVxdWVzdBIYChBy",
+ "ZXNhbXBsZXJfaGFuZGxlGAEgAigEIkwKGUZsdXNoU294UmVzYW1wbGVyUmVz",
+ "cG9uc2USEgoKb3V0cHV0X3B0chgBIAIoBBIMCgRzaXplGAIgAigNEg0KBWVy",
+ "cm9yGAMgASgJInAKFEF1ZGlvRnJhbWVCdWZmZXJJbmZvEhAKCGRhdGFfcHRy",
+ "GAEgAigEEhQKDG51bV9jaGFubmVscxgCIAIoDRITCgtzYW1wbGVfcmF0ZRgD",
+ "IAIoDRIbChNzYW1wbGVzX3Blcl9jaGFubmVsGAQgAigNInkKFU93bmVkQXVk",
+ "aW9GcmFtZUJ1ZmZlchItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3Rv",
+ "LkZmaU93bmVkSGFuZGxlEjEKBGluZm8YAiACKAsyIy5saXZla2l0LnByb3Rv",
+ "LkF1ZGlvRnJhbWVCdWZmZXJJbmZvIj8KD0F1ZGlvU3RyZWFtSW5mbxIsCgR0",
+ "eXBlGAEgAigOMh4ubGl2ZWtpdC5wcm90by5BdWRpb1N0cmVhbVR5cGUibwoQ",
+ "T3duZWRBdWRpb1N0cmVhbRItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnBy",
+ "b3RvLkZmaU93bmVkSGFuZGxlEiwKBGluZm8YAiACKAsyHi5saXZla2l0LnBy",
+ "b3RvLkF1ZGlvU3RyZWFtSW5mbyKfAQoQQXVkaW9TdHJlYW1FdmVudBIVCg1z",
+ "dHJlYW1faGFuZGxlGAEgAigEEjsKDmZyYW1lX3JlY2VpdmVkGAIgASgLMiEu",
+ "bGl2ZWtpdC5wcm90by5BdWRpb0ZyYW1lUmVjZWl2ZWRIABIsCgNlb3MYAyAB",
+ "KAsyHS5saXZla2l0LnByb3RvLkF1ZGlvU3RyZWFtRU9TSABCCQoHbWVzc2Fn",
+ "ZSJJChJBdWRpb0ZyYW1lUmVjZWl2ZWQSMwoFZnJhbWUYASACKAsyJC5saXZl",
+ "a2l0LnByb3RvLk93bmVkQXVkaW9GcmFtZUJ1ZmZlciIQCg5BdWRpb1N0cmVh",
+ "bUVPUyJlChJBdWRpb1NvdXJjZU9wdGlvbnMSGQoRZWNob19jYW5jZWxsYXRp",
+ "b24YASACKAgSGQoRbm9pc2Vfc3VwcHJlc3Npb24YAiACKAgSGQoRYXV0b19n",
+ "YWluX2NvbnRyb2wYAyACKAgiPwoPQXVkaW9Tb3VyY2VJbmZvEiwKBHR5cGUY",
+ "AiACKA4yHi5saXZla2l0LnByb3RvLkF1ZGlvU291cmNlVHlwZSJvChBPd25l",
+ "ZEF1ZGlvU291cmNlEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8u",
+ "RmZpT3duZWRIYW5kbGUSLAoEaW5mbxgCIAIoCzIeLmxpdmVraXQucHJvdG8u",
+ "QXVkaW9Tb3VyY2VJbmZvIhQKEkF1ZGlvUmVzYW1wbGVySW5mbyJ1ChNPd25l",
+ "ZEF1ZGlvUmVzYW1wbGVyEi0KBmhhbmRsZRgBIAIoCzIdLmxpdmVraXQucHJv",
+ "dG8uRmZpT3duZWRIYW5kbGUSLwoEaW5mbxgCIAIoCzIhLmxpdmVraXQucHJv",
+ "dG8uQXVkaW9SZXNhbXBsZXJJbmZvIjkKCE93bmVkQXBtEi0KBmhhbmRsZRgB",
+ "IAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUiEgoQU294UmVz",
+ "YW1wbGVySW5mbyJxChFPd25lZFNveFJlc2FtcGxlchItCgZoYW5kbGUYASAC",
+ "KAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEi0KBGluZm8YAiAC",
+ "KAsyHy5saXZla2l0LnByb3RvLlNveFJlc2FtcGxlckluZm8iXAocTG9hZEF1",
+ "ZGlvRmlsdGVyUGx1Z2luUmVxdWVzdBITCgtwbHVnaW5fcGF0aBgBIAIoCRIU",
+ "CgxkZXBlbmRlbmNpZXMYAiADKAkSEQoJbW9kdWxlX2lkGAMgAigJIi4KHUxv",
+ "YWRBdWRpb0ZpbHRlclBsdWdpblJlc3BvbnNlEg0KBWVycm9yGAEgASgJKkoK",
+ "FFNveFJlc2FtcGxlckRhdGFUeXBlEhgKFFNPWFJfREFUQVRZUEVfSU5UMTZJ",
+ "EAASGAoUU09YUl9EQVRBVFlQRV9JTlQxNlMQASqLAQoQU294UXVhbGl0eVJl",
+ "Y2lwZRIWChJTT1hSX1FVQUxJVFlfUVVJQ0sQABIUChBTT1hSX1FVQUxJVFlf",
+ "TE9XEAESFwoTU09YUl9RVUFMSVRZX01FRElVTRACEhUKEVNPWFJfUVVBTElU",
+ "WV9ISUdIEAMSGQoVU09YUl9RVUFMSVRZX1ZFUllISUdIEAQqlwEKC1NveEZs",
+ "YWdCaXRzEhYKElNPWFJfUk9MTE9GRl9TTUFMTBAAEhcKE1NPWFJfUk9MTE9G",
+ "Rl9NRURJVU0QARIVChFTT1hSX1JPTExPRkZfTk9ORRACEhgKFFNPWFJfSElH",
+ "SF9QUkVDX0NMT0NLEAMSGQoVU09YUl9ET1VCTEVfUFJFQ0lTSU9OEAQSCwoH",
+ "U09YUl9WUhAFKkEKD0F1ZGlvU3RyZWFtVHlwZRIXChNBVURJT19TVFJFQU1f",
+ "TkFUSVZFEAASFQoRQVVESU9fU1RSRUFNX0hUTUwQASoqCg9BdWRpb1NvdXJj",
+ "ZVR5cGUSFwoTQVVESU9fU09VUkNFX05BVElWRRAAQhCqAg1MaXZlS2l0LlBy",
+ "b3Rv"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
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.NewAudioStreamRequest), global::LiveKit.Proto.NewAudioStreamRequest.Parser, new[]{ "TrackHandle", "Type", "SampleRate", "NumChannels", "AudioFilterModuleId", "AudioFilterOptions", "FrameSizeMs", "QueueSizeFrames" }, 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.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.AudioStreamFromParticipantRequest), global::LiveKit.Proto.AudioStreamFromParticipantRequest.Parser, new[]{ "ParticipantHandle", "Type", "TrackSource", "SampleRate", "NumChannels", "AudioFilterModuleId", "AudioFilterOptions", "FrameSizeMs", "QueueSizeFrames" }, 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),
@@ -292,6 +294,7 @@ public NewAudioStreamRequest(NewAudioStreamRequest other) : this() {
audioFilterModuleId_ = other.audioFilterModuleId_;
audioFilterOptions_ = other.audioFilterOptions_;
frameSizeMs_ = other.frameSizeMs_;
+ queueSizeFrames_ = other.queueSizeFrames_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -491,6 +494,39 @@ public void ClearFrameSizeMs() {
_hasBits0 &= ~16;
}
+ /// Field number for the "queue_size_frames" field.
+ public const int QueueSizeFramesFieldNumber = 8;
+ private readonly static uint QueueSizeFramesDefaultValue = 0;
+
+ private uint queueSizeFrames_;
+ ///
+ /// Maximum number of queued WebRTC sink frames. Each frame is typically 10 ms
+ /// of decoded PCM audio on the receive path. Omit this field to use the
+ /// default bounded queue size of 10 frames. Set it to 0 to request unbounded
+ /// buffering.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public uint QueueSizeFrames {
+ get { if ((_hasBits0 & 32) != 0) { return queueSizeFrames_; } else { return QueueSizeFramesDefaultValue; } }
+ set {
+ _hasBits0 |= 32;
+ queueSizeFrames_ = value;
+ }
+ }
+ /// Gets whether the "queue_size_frames" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasQueueSizeFrames {
+ get { return (_hasBits0 & 32) != 0; }
+ }
+ /// Clears the value of the "queue_size_frames" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearQueueSizeFrames() {
+ _hasBits0 &= ~32;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -513,6 +549,7 @@ public bool Equals(NewAudioStreamRequest other) {
if (AudioFilterModuleId != other.AudioFilterModuleId) return false;
if (AudioFilterOptions != other.AudioFilterOptions) return false;
if (FrameSizeMs != other.FrameSizeMs) return false;
+ if (QueueSizeFrames != other.QueueSizeFrames) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -527,6 +564,7 @@ public override int GetHashCode() {
if (HasAudioFilterModuleId) hash ^= AudioFilterModuleId.GetHashCode();
if (HasAudioFilterOptions) hash ^= AudioFilterOptions.GetHashCode();
if (HasFrameSizeMs) hash ^= FrameSizeMs.GetHashCode();
+ if (HasQueueSizeFrames) hash ^= QueueSizeFrames.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -573,6 +611,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(56);
output.WriteUInt32(FrameSizeMs);
}
+ if (HasQueueSizeFrames) {
+ output.WriteRawTag(64);
+ output.WriteUInt32(QueueSizeFrames);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -611,6 +653,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(56);
output.WriteUInt32(FrameSizeMs);
}
+ if (HasQueueSizeFrames) {
+ output.WriteRawTag(64);
+ output.WriteUInt32(QueueSizeFrames);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -642,6 +688,9 @@ public int CalculateSize() {
if (HasFrameSizeMs) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameSizeMs);
}
+ if (HasQueueSizeFrames) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt32Size(QueueSizeFrames);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -675,6 +724,9 @@ public void MergeFrom(NewAudioStreamRequest other) {
if (other.HasFrameSizeMs) {
FrameSizeMs = other.FrameSizeMs;
}
+ if (other.HasQueueSizeFrames) {
+ QueueSizeFrames = other.QueueSizeFrames;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -722,6 +774,10 @@ public void MergeFrom(pb::CodedInputStream input) {
FrameSizeMs = input.ReadUInt32();
break;
}
+ case 64: {
+ QueueSizeFrames = input.ReadUInt32();
+ break;
+ }
}
}
#endif
@@ -769,6 +825,10 @@ public void MergeFrom(pb::CodedInputStream input) {
FrameSizeMs = input.ReadUInt32();
break;
}
+ case 64: {
+ QueueSizeFrames = input.ReadUInt32();
+ break;
+ }
}
}
}
@@ -1028,6 +1088,7 @@ public AudioStreamFromParticipantRequest(AudioStreamFromParticipantRequest other
audioFilterModuleId_ = other.audioFilterModuleId_;
audioFilterOptions_ = other.audioFilterOptions_;
frameSizeMs_ = other.frameSizeMs_;
+ queueSizeFrames_ = other.queueSizeFrames_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -1251,6 +1312,39 @@ public void ClearFrameSizeMs() {
_hasBits0 &= ~32;
}
+ /// Field number for the "queue_size_frames" field.
+ public const int QueueSizeFramesFieldNumber = 10;
+ private readonly static uint QueueSizeFramesDefaultValue = 0;
+
+ private uint queueSizeFrames_;
+ ///
+ /// Maximum number of queued WebRTC sink frames. Each frame is typically 10 ms
+ /// of decoded PCM audio on the receive path. Omit this field to use the
+ /// default bounded queue size of 10 frames. Set it to 0 to request unbounded
+ /// buffering.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public uint QueueSizeFrames {
+ get { if ((_hasBits0 & 64) != 0) { return queueSizeFrames_; } else { return QueueSizeFramesDefaultValue; } }
+ set {
+ _hasBits0 |= 64;
+ queueSizeFrames_ = value;
+ }
+ }
+ /// Gets whether the "queue_size_frames" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasQueueSizeFrames {
+ get { return (_hasBits0 & 64) != 0; }
+ }
+ /// Clears the value of the "queue_size_frames" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearQueueSizeFrames() {
+ _hasBits0 &= ~64;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -1274,6 +1368,7 @@ public bool Equals(AudioStreamFromParticipantRequest other) {
if (AudioFilterModuleId != other.AudioFilterModuleId) return false;
if (AudioFilterOptions != other.AudioFilterOptions) return false;
if (FrameSizeMs != other.FrameSizeMs) return false;
+ if (QueueSizeFrames != other.QueueSizeFrames) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -1289,6 +1384,7 @@ public override int GetHashCode() {
if (HasAudioFilterModuleId) hash ^= AudioFilterModuleId.GetHashCode();
if (HasAudioFilterOptions) hash ^= AudioFilterOptions.GetHashCode();
if (HasFrameSizeMs) hash ^= FrameSizeMs.GetHashCode();
+ if (HasQueueSizeFrames) hash ^= QueueSizeFrames.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1339,6 +1435,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(72);
output.WriteUInt32(FrameSizeMs);
}
+ if (HasQueueSizeFrames) {
+ output.WriteRawTag(80);
+ output.WriteUInt32(QueueSizeFrames);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -1381,6 +1481,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(72);
output.WriteUInt32(FrameSizeMs);
}
+ if (HasQueueSizeFrames) {
+ output.WriteRawTag(80);
+ output.WriteUInt32(QueueSizeFrames);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -1415,6 +1519,9 @@ public int CalculateSize() {
if (HasFrameSizeMs) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameSizeMs);
}
+ if (HasQueueSizeFrames) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt32Size(QueueSizeFrames);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -1451,6 +1558,9 @@ public void MergeFrom(AudioStreamFromParticipantRequest other) {
if (other.HasFrameSizeMs) {
FrameSizeMs = other.FrameSizeMs;
}
+ if (other.HasQueueSizeFrames) {
+ QueueSizeFrames = other.QueueSizeFrames;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -1502,6 +1612,10 @@ public void MergeFrom(pb::CodedInputStream input) {
FrameSizeMs = input.ReadUInt32();
break;
}
+ case 80: {
+ QueueSizeFrames = input.ReadUInt32();
+ break;
+ }
}
}
#endif
@@ -1553,6 +1667,10 @@ public void MergeFrom(pb::CodedInputStream input) {
FrameSizeMs = input.ReadUInt32();
break;
}
+ case 80: {
+ QueueSizeFrames = input.ReadUInt32();
+ break;
+ }
}
}
}
diff --git a/Runtime/Scripts/Proto/DataTrack.cs b/Runtime/Scripts/Proto/DataTrack.cs
index 2870fee5..32a9da20 100644
--- a/Runtime/Scripts/Proto/DataTrack.cs
+++ b/Runtime/Scripts/Proto/DataTrack.cs
@@ -50,25 +50,28 @@ static DataTrackReflection() {
"cHJvdG8uRmZpT3duZWRIYW5kbGUSKgoEaW5mbxgCIAIoCzIcLmxpdmVraXQu",
"cHJvdG8uRGF0YVRyYWNrSW5mbxIaChJwdWJsaXNoZXJfaWRlbnRpdHkYAyAC",
"KAkiSwoaT3duZWREYXRhVHJhY2tTdWJzY3JpcHRpb24SLQoGaGFuZGxlGAEg",
- "AigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhhbmRsZSIbChlEYXRhVHJh",
- "Y2tTdWJzY3JpYmVPcHRpb25zIjkKIVJlbW90ZURhdGFUcmFja0lzUHVibGlz",
- "aGVkUmVxdWVzdBIUCgx0cmFja19oYW5kbGUYASACKAQiOgoiUmVtb3RlRGF0",
- "YVRyYWNrSXNQdWJsaXNoZWRSZXNwb25zZRIUCgxpc19wdWJsaXNoZWQYASAC",
- "KAgihgEKGVN1YnNjcmliZURhdGFUcmFja1JlcXVlc3QSFAoMdHJhY2tfaGFu",
- "ZGxlGAEgAigEEjkKB29wdGlvbnMYAiACKAsyKC5saXZla2l0LnByb3RvLkRh",
- "dGFUcmFja1N1YnNjcmliZU9wdGlvbnMSGAoQcmVxdWVzdF9hc3luY19pZBgD",
- "IAEoBCIuChpTdWJzY3JpYmVEYXRhVHJhY2tSZXNwb25zZRIQCghhc3luY19p",
- "ZBgBIAIoBCKMAQoaU3Vic2NyaWJlRGF0YVRyYWNrQ2FsbGJhY2sSEAoIYXN5",
- "bmNfaWQYASACKAQSQQoMc3Vic2NyaXB0aW9uGAIgASgLMikubGl2ZWtpdC5w",
- "cm90by5Pd25lZERhdGFUcmFja1N1YnNjcmlwdGlvbkgAEg8KBWVycm9yGAMg",
- "ASgJSABCCAoGcmVzdWx0IsgBChpEYXRhVHJhY2tTdWJzY3JpcHRpb25FdmVu",
- "dBIbChNzdWJzY3JpcHRpb25faGFuZGxlGAEgAigEEksKDmZyYW1lX3JlY2Vp",
- "dmVkGAIgASgLMjEubGl2ZWtpdC5wcm90by5EYXRhVHJhY2tTdWJzY3JpcHRp",
- "b25GcmFtZVJlY2VpdmVkSAASNgoDZW9zGAMgASgLMicubGl2ZWtpdC5wcm90",
- "by5EYXRhVHJhY2tTdWJzY3JpcHRpb25FT1NIAEIICgZkZXRhaWwiUgoiRGF0",
- "YVRyYWNrU3Vic2NyaXB0aW9uRnJhbWVSZWNlaXZlZBIsCgVmcmFtZRgBIAIo",
- "CzIdLmxpdmVraXQucHJvdG8uRGF0YVRyYWNrRnJhbWUiGgoYRGF0YVRyYWNr",
- "U3Vic2NyaXB0aW9uRU9TQhCqAg1MaXZlS2l0LlByb3Rv"));
+ "AigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhhbmRsZSIwChlEYXRhVHJh",
+ "Y2tTdWJzY3JpYmVPcHRpb25zEhMKC2J1ZmZlcl9zaXplGAEgASgNIjkKIVJl",
+ "bW90ZURhdGFUcmFja0lzUHVibGlzaGVkUmVxdWVzdBIUCgx0cmFja19oYW5k",
+ "bGUYASACKAQiOgoiUmVtb3RlRGF0YVRyYWNrSXNQdWJsaXNoZWRSZXNwb25z",
+ "ZRIUCgxpc19wdWJsaXNoZWQYASACKAgihgEKGVN1YnNjcmliZURhdGFUcmFj",
+ "a1JlcXVlc3QSFAoMdHJhY2tfaGFuZGxlGAEgAigEEjkKB29wdGlvbnMYAiAC",
+ "KAsyKC5saXZla2l0LnByb3RvLkRhdGFUcmFja1N1YnNjcmliZU9wdGlvbnMS",
+ "GAoQcmVxdWVzdF9hc3luY19pZBgDIAEoBCIuChpTdWJzY3JpYmVEYXRhVHJh",
+ "Y2tSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCKMAQoaU3Vic2NyaWJlRGF0",
+ "YVRyYWNrQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSQQoMc3Vic2NyaXB0",
+ "aW9uGAIgASgLMikubGl2ZWtpdC5wcm90by5Pd25lZERhdGFUcmFja1N1YnNj",
+ "cmlwdGlvbkgAEg8KBWVycm9yGAMgASgJSABCCAoGcmVzdWx0Ij8KIERhdGFU",
+ "cmFja1N1YnNjcmlwdGlvblJlYWRSZXF1ZXN0EhsKE3N1YnNjcmlwdGlvbl9o",
+ "YW5kbGUYASACKAQiIwohRGF0YVRyYWNrU3Vic2NyaXB0aW9uUmVhZFJlc3Bv",
+ "bnNlIsgBChpEYXRhVHJhY2tTdWJzY3JpcHRpb25FdmVudBIbChNzdWJzY3Jp",
+ "cHRpb25faGFuZGxlGAEgAigEEksKDmZyYW1lX3JlY2VpdmVkGAIgASgLMjEu",
+ "bGl2ZWtpdC5wcm90by5EYXRhVHJhY2tTdWJzY3JpcHRpb25GcmFtZVJlY2Vp",
+ "dmVkSAASNgoDZW9zGAMgASgLMicubGl2ZWtpdC5wcm90by5EYXRhVHJhY2tT",
+ "dWJzY3JpcHRpb25FT1NIAEIICgZkZXRhaWwiUgoiRGF0YVRyYWNrU3Vic2Ny",
+ "aXB0aW9uRnJhbWVSZWNlaXZlZBIsCgVmcmFtZRgBIAIoCzIdLmxpdmVraXQu",
+ "cHJvdG8uRGF0YVRyYWNrRnJhbWUiGgoYRGF0YVRyYWNrU3Vic2NyaXB0aW9u",
+ "RU9TQhCqAg1MaXZlS2l0LlByb3Rv"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
@@ -87,12 +90,14 @@ static DataTrackReflection() {
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.LocalDataTrackUnpublishResponse), global::LiveKit.Proto.LocalDataTrackUnpublishResponse.Parser, null, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedRemoteDataTrack), global::LiveKit.Proto.OwnedRemoteDataTrack.Parser, new[]{ "Handle", "Info", "PublisherIdentity" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.OwnedDataTrackSubscription), global::LiveKit.Proto.OwnedDataTrackSubscription.Parser, new[]{ "Handle" }, null, null, null, null),
- new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscribeOptions), global::LiveKit.Proto.DataTrackSubscribeOptions.Parser, null, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscribeOptions), global::LiveKit.Proto.DataTrackSubscribeOptions.Parser, new[]{ "BufferSize" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest), global::LiveKit.Proto.RemoteDataTrackIsPublishedRequest.Parser, new[]{ "TrackHandle" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse), global::LiveKit.Proto.RemoteDataTrackIsPublishedResponse.Parser, new[]{ "IsPublished" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SubscribeDataTrackRequest), global::LiveKit.Proto.SubscribeDataTrackRequest.Parser, new[]{ "TrackHandle", "Options", "RequestAsyncId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SubscribeDataTrackResponse), global::LiveKit.Proto.SubscribeDataTrackResponse.Parser, new[]{ "AsyncId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.SubscribeDataTrackCallback), global::LiveKit.Proto.SubscribeDataTrackCallback.Parser, new[]{ "AsyncId", "Subscription", "Error" }, new[]{ "Result" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionReadRequest), global::LiveKit.Proto.DataTrackSubscriptionReadRequest.Parser, new[]{ "SubscriptionHandle" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionReadResponse), global::LiveKit.Proto.DataTrackSubscriptionReadResponse.Parser, null, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionEvent), global::LiveKit.Proto.DataTrackSubscriptionEvent.Parser, new[]{ "SubscriptionHandle", "FrameReceived", "Eos" }, new[]{ "Detail" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionFrameReceived), global::LiveKit.Proto.DataTrackSubscriptionFrameReceived.Parser, new[]{ "Frame" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackSubscriptionEOS), global::LiveKit.Proto.DataTrackSubscriptionEOS.Parser, null, null, null, null, null)
@@ -3871,6 +3876,7 @@ public sealed partial class DataTrackSubscribeOptions : pb::IMessage _parser = new pb::MessageParser(() => new DataTrackSubscribeOptions());
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; } }
@@ -3898,6 +3904,8 @@ public DataTrackSubscribeOptions() {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DataTrackSubscribeOptions(DataTrackSubscribeOptions other) : this() {
+ _hasBits0 = other._hasBits0;
+ bufferSize_ = other.bufferSize_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -3907,6 +3915,36 @@ public DataTrackSubscribeOptions Clone() {
return new DataTrackSubscribeOptions(this);
}
+ /// Field number for the "buffer_size" field.
+ public const int BufferSizeFieldNumber = 1;
+ private readonly static uint BufferSizeDefaultValue = 0;
+
+ private uint bufferSize_;
+ ///
+ /// Maximum number of frames to buffer internally.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public uint BufferSize {
+ get { if ((_hasBits0 & 1) != 0) { return bufferSize_; } else { return BufferSizeDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ bufferSize_ = value;
+ }
+ }
+ /// Gets whether the "buffer_size" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasBufferSize {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "buffer_size" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearBufferSize() {
+ _hasBits0 &= ~1;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -3922,6 +3960,7 @@ public bool Equals(DataTrackSubscribeOptions other) {
if (ReferenceEquals(other, this)) {
return true;
}
+ if (BufferSize != other.BufferSize) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -3929,6 +3968,7 @@ public bool Equals(DataTrackSubscribeOptions other) {
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
+ if (HasBufferSize) hash ^= BufferSize.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -3947,6 +3987,10 @@ public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
+ if (HasBufferSize) {
+ output.WriteRawTag(8);
+ output.WriteUInt32(BufferSize);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -3957,6 +4001,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 (HasBufferSize) {
+ output.WriteRawTag(8);
+ output.WriteUInt32(BufferSize);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -3967,6 +4015,9 @@ public void WriteTo(pb::CodedOutputStream output) {
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
+ if (HasBufferSize) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt32Size(BufferSize);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -3979,6 +4030,9 @@ public void MergeFrom(DataTrackSubscribeOptions other) {
if (other == null) {
return;
}
+ if (other.HasBufferSize) {
+ BufferSize = other.BufferSize;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -3998,6 +4052,10 @@ public void MergeFrom(pb::CodedInputStream input) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
+ case 8: {
+ BufferSize = input.ReadUInt32();
+ break;
+ }
}
}
#endif
@@ -4017,6 +4075,10 @@ public void MergeFrom(pb::CodedInputStream input) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
+ case 8: {
+ BufferSize = input.ReadUInt32();
+ break;
+ }
}
}
}
@@ -5337,6 +5399,389 @@ public void MergeFrom(pb::CodedInputStream input) {
}
+ ///
+ /// Signal readiness to handle the next frame.
+ ///
+ /// This allows the client to put backpressure on the internal receive buffer.
+ /// Sending this request will cause the next frame to be sent via `DataTrackSubscriptionFrameReceived`
+ /// once one is available.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackSubscriptionReadRequest : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackSubscriptionReadRequest());
+ 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.DataTrackReflection.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 DataTrackSubscriptionReadRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionReadRequest(DataTrackSubscriptionReadRequest other) : this() {
+ _hasBits0 = other._hasBits0;
+ subscriptionHandle_ = other.subscriptionHandle_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionReadRequest Clone() {
+ return new DataTrackSubscriptionReadRequest(this);
+ }
+
+ /// Field number for the "subscription_handle" field.
+ public const int SubscriptionHandleFieldNumber = 1;
+ private readonly static ulong SubscriptionHandleDefaultValue = 0UL;
+
+ private ulong subscriptionHandle_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong SubscriptionHandle {
+ get { if ((_hasBits0 & 1) != 0) { return subscriptionHandle_; } else { return SubscriptionHandleDefaultValue; } }
+ set {
+ _hasBits0 |= 1;
+ subscriptionHandle_ = value;
+ }
+ }
+ /// Gets whether the "subscription_handle" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasSubscriptionHandle {
+ get { return (_hasBits0 & 1) != 0; }
+ }
+ /// Clears the value of the "subscription_handle" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearSubscriptionHandle() {
+ _hasBits0 &= ~1;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as DataTrackSubscriptionReadRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackSubscriptionReadRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (SubscriptionHandle != other.SubscriptionHandle) 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 (HasSubscriptionHandle) hash ^= SubscriptionHandle.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 (HasSubscriptionHandle) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(SubscriptionHandle);
+ }
+ 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 (HasSubscriptionHandle) {
+ output.WriteRawTag(8);
+ output.WriteUInt64(SubscriptionHandle);
+ }
+ 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 (HasSubscriptionHandle) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SubscriptionHandle);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(DataTrackSubscriptionReadRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.HasSubscriptionHandle) {
+ SubscriptionHandle = other.SubscriptionHandle;
+ }
+ _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: {
+ SubscriptionHandle = 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: {
+ SubscriptionHandle = input.ReadUInt64();
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackSubscriptionReadResponse : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackSubscriptionReadResponse());
+ 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.DataTrackReflection.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 DataTrackSubscriptionReadResponse() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionReadResponse(DataTrackSubscriptionReadResponse other) : this() {
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackSubscriptionReadResponse Clone() {
+ return new DataTrackSubscriptionReadResponse(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as DataTrackSubscriptionReadResponse);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackSubscriptionReadResponse 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(DataTrackSubscriptionReadResponse 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
+
+ }
+
///
/// Event emitted on an active subscription.
///
@@ -5356,7 +5801,7 @@ public sealed partial class DataTrackSubscriptionEvent : pb::IMessageField number for the "key_ring_size" field.
+ public const int KeyRingSizeFieldNumber = 5;
+ private readonly static int KeyRingSizeDefaultValue = 0;
+
+ private int keyRingSize_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public int KeyRingSize {
+ get { if ((_hasBits0 & 4) != 0) { return keyRingSize_; } else { return KeyRingSizeDefaultValue; } }
+ set {
+ _hasBits0 |= 4;
+ keyRingSize_ = value;
+ }
+ }
+ /// Gets whether the "key_ring_size" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasKeyRingSize {
+ get { return (_hasBits0 & 4) != 0; }
+ }
+ /// Clears the value of the "key_ring_size" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearKeyRingSize() {
+ _hasBits0 &= ~4;
+ }
+
+ /// Field number for the "key_derivation_function" field.
+ public const int KeyDerivationFunctionFieldNumber = 6;
+ private readonly static global::LiveKit.Proto.KeyDerivationFunction KeyDerivationFunctionDefaultValue = global::LiveKit.Proto.KeyDerivationFunction.Pbkdf2;
+
+ private global::LiveKit.Proto.KeyDerivationFunction keyDerivationFunction_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.KeyDerivationFunction KeyDerivationFunction {
+ get { if ((_hasBits0 & 8) != 0) { return keyDerivationFunction_; } else { return KeyDerivationFunctionDefaultValue; } }
+ set {
+ _hasBits0 |= 8;
+ keyDerivationFunction_ = value;
+ }
+ }
+ /// Gets whether the "key_derivation_function" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasKeyDerivationFunction {
+ get { return (_hasBits0 & 8) != 0; }
+ }
+ /// Clears the value of the "key_derivation_function" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearKeyDerivationFunction() {
+ _hasBits0 &= ~8;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -695,6 +760,8 @@ public bool Equals(KeyProviderOptions other) {
if (RatchetWindowSize != other.RatchetWindowSize) return false;
if (RatchetSalt != other.RatchetSalt) return false;
if (FailureTolerance != other.FailureTolerance) return false;
+ if (KeyRingSize != other.KeyRingSize) return false;
+ if (KeyDerivationFunction != other.KeyDerivationFunction) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -706,6 +773,8 @@ public override int GetHashCode() {
if (HasRatchetWindowSize) hash ^= RatchetWindowSize.GetHashCode();
if (HasRatchetSalt) hash ^= RatchetSalt.GetHashCode();
if (HasFailureTolerance) hash ^= FailureTolerance.GetHashCode();
+ if (HasKeyRingSize) hash ^= KeyRingSize.GetHashCode();
+ if (HasKeyDerivationFunction) hash ^= KeyDerivationFunction.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -740,6 +809,14 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(32);
output.WriteInt32(FailureTolerance);
}
+ if (HasKeyRingSize) {
+ output.WriteRawTag(40);
+ output.WriteInt32(KeyRingSize);
+ }
+ if (HasKeyDerivationFunction) {
+ output.WriteRawTag(48);
+ output.WriteEnum((int) KeyDerivationFunction);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -766,6 +843,14 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(32);
output.WriteInt32(FailureTolerance);
}
+ if (HasKeyRingSize) {
+ output.WriteRawTag(40);
+ output.WriteInt32(KeyRingSize);
+ }
+ if (HasKeyDerivationFunction) {
+ output.WriteRawTag(48);
+ output.WriteEnum((int) KeyDerivationFunction);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -788,6 +873,12 @@ public int CalculateSize() {
if (HasFailureTolerance) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(FailureTolerance);
}
+ if (HasKeyRingSize) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(KeyRingSize);
+ }
+ if (HasKeyDerivationFunction) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) KeyDerivationFunction);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -812,6 +903,12 @@ public void MergeFrom(KeyProviderOptions other) {
if (other.HasFailureTolerance) {
FailureTolerance = other.FailureTolerance;
}
+ if (other.HasKeyRingSize) {
+ KeyRingSize = other.KeyRingSize;
+ }
+ if (other.HasKeyDerivationFunction) {
+ KeyDerivationFunction = other.KeyDerivationFunction;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -847,6 +944,14 @@ public void MergeFrom(pb::CodedInputStream input) {
FailureTolerance = input.ReadInt32();
break;
}
+ case 40: {
+ KeyRingSize = input.ReadInt32();
+ break;
+ }
+ case 48: {
+ KeyDerivationFunction = (global::LiveKit.Proto.KeyDerivationFunction) input.ReadEnum();
+ break;
+ }
}
}
#endif
@@ -882,6 +987,14 @@ public void MergeFrom(pb::CodedInputStream input) {
FailureTolerance = input.ReadInt32();
break;
}
+ case 40: {
+ KeyRingSize = input.ReadInt32();
+ break;
+ }
+ case 48: {
+ KeyDerivationFunction = (global::LiveKit.Proto.KeyDerivationFunction) input.ReadEnum();
+ break;
+ }
}
}
}
diff --git a/Runtime/Scripts/Proto/Ffi.cs b/Runtime/Scripts/Proto/Ffi.cs
index 06c04483..e16ed475 100644
--- a/Runtime/Scripts/Proto/Ffi.cs
+++ b/Runtime/Scripts/Proto/Ffi.cs
@@ -27,7 +27,7 @@ static FfiReflection() {
"CglmZmkucHJvdG8SDWxpdmVraXQucHJvdG8aCmUyZWUucHJvdG8aC3RyYWNr",
"LnByb3RvGhd0cmFja19wdWJsaWNhdGlvbi5wcm90bxoKcm9vbS5wcm90bxoR",
"dmlkZW9fZnJhbWUucHJvdG8aEWF1ZGlvX2ZyYW1lLnByb3RvGglycGMucHJv",
- "dG8aEWRhdGFfc3RyZWFtLnByb3RvGhBkYXRhX3RyYWNrLnByb3RvItMpCgpG",
+ "dG8aEWRhdGFfc3RyZWFtLnByb3RvGhBkYXRhX3RyYWNrLnByb3RvIqwqCgpG",
"ZmlSZXF1ZXN0EjAKB2Rpc3Bvc2UYAiABKAsyHS5saXZla2l0LnByb3RvLkRp",
"c3Bvc2VSZXF1ZXN0SAASMAoHY29ubmVjdBgDIAEoCzIdLmxpdmVraXQucHJv",
"dG8uQ29ubmVjdFJlcXVlc3RIABI2CgpkaXNjb25uZWN0GAQgASgLMiAubGl2",
@@ -146,205 +146,209 @@ static FfiReflection() {
"GEkgASgLMigubGl2ZWtpdC5wcm90by5TdWJzY3JpYmVEYXRhVHJhY2tSZXF1",
"ZXN0SAASWgoecmVtb3RlX2RhdGFfdHJhY2tfaXNfcHVibGlzaGVkGEogASgL",
"MjAubGl2ZWtpdC5wcm90by5SZW1vdGVEYXRhVHJhY2tJc1B1Ymxpc2hlZFJl",
- "cXVlc3RIAEIJCgdtZXNzYWdlItgpCgtGZmlSZXNwb25zZRIxCgdkaXNwb3Nl",
- "GAIgASgLMh4ubGl2ZWtpdC5wcm90by5EaXNwb3NlUmVzcG9uc2VIABIxCgdj",
- "b25uZWN0GAMgASgLMh4ubGl2ZWtpdC5wcm90by5Db25uZWN0UmVzcG9uc2VI",
- "ABI3CgpkaXNjb25uZWN0GAQgASgLMiEubGl2ZWtpdC5wcm90by5EaXNjb25u",
- "ZWN0UmVzcG9uc2VIABI8Cg1wdWJsaXNoX3RyYWNrGAUgASgLMiMubGl2ZWtp",
- "dC5wcm90by5QdWJsaXNoVHJhY2tSZXNwb25zZUgAEkAKD3VucHVibGlzaF90",
- "cmFjaxgGIAEoCzIlLmxpdmVraXQucHJvdG8uVW5wdWJsaXNoVHJhY2tSZXNw",
- "b25zZUgAEjoKDHB1Ymxpc2hfZGF0YRgHIAEoCzIiLmxpdmVraXQucHJvdG8u",
- "UHVibGlzaERhdGFSZXNwb25zZUgAEj4KDnNldF9zdWJzY3JpYmVkGAggASgL",
- "MiQubGl2ZWtpdC5wcm90by5TZXRTdWJzY3JpYmVkUmVzcG9uc2VIABJFChJz",
- "ZXRfbG9jYWxfbWV0YWRhdGEYCSABKAsyJy5saXZla2l0LnByb3RvLlNldExv",
- "Y2FsTWV0YWRhdGFSZXNwb25zZUgAEj0KDnNldF9sb2NhbF9uYW1lGAogASgL",
- "MiMubGl2ZWtpdC5wcm90by5TZXRMb2NhbE5hbWVSZXNwb25zZUgAEkkKFHNl",
- "dF9sb2NhbF9hdHRyaWJ1dGVzGAsgASgLMikubGl2ZWtpdC5wcm90by5TZXRM",
- "b2NhbEF0dHJpYnV0ZXNSZXNwb25zZUgAEkMKEWdldF9zZXNzaW9uX3N0YXRz",
- "GAwgASgLMiYubGl2ZWtpdC5wcm90by5HZXRTZXNzaW9uU3RhdHNSZXNwb25z",
- "ZUgAEkwKFXB1Ymxpc2hfdHJhbnNjcmlwdGlvbhgNIAEoCzIrLmxpdmVraXQu",
- "cHJvdG8uUHVibGlzaFRyYW5zY3JpcHRpb25SZXNwb25zZUgAEkEKEHB1Ymxp",
- "c2hfc2lwX2R0bWYYDiABKAsyJS5saXZla2l0LnByb3RvLlB1Ymxpc2hTaXBE",
- "dG1mUmVzcG9uc2VIABJFChJjcmVhdGVfdmlkZW9fdHJhY2sYDyABKAsyJy5s",
- "aXZla2l0LnByb3RvLkNyZWF0ZVZpZGVvVHJhY2tSZXNwb25zZUgAEkUKEmNy",
- "ZWF0ZV9hdWRpb190cmFjaxgQIAEoCzInLmxpdmVraXQucHJvdG8uQ3JlYXRl",
- "QXVkaW9UcmFja1Jlc3BvbnNlSAASQQoQbG9jYWxfdHJhY2tfbXV0ZRgRIAEo",
- "CzIlLmxpdmVraXQucHJvdG8uTG9jYWxUcmFja011dGVSZXNwb25zZUgAEkcK",
- "E2VuYWJsZV9yZW1vdGVfdHJhY2sYEiABKAsyKC5saXZla2l0LnByb3RvLkVu",
- "YWJsZVJlbW90ZVRyYWNrUmVzcG9uc2VIABI0CglnZXRfc3RhdHMYEyABKAsy",
- "Hy5saXZla2l0LnByb3RvLkdldFN0YXRzUmVzcG9uc2VIABJkCiJzZXRfdHJh",
- "Y2tfc3Vic2NyaXB0aW9uX3Blcm1pc3Npb25zGC8gASgLMjYubGl2ZWtpdC5w",
- "cm90by5TZXRUcmFja1N1YnNjcmlwdGlvblBlcm1pc3Npb25zUmVzcG9uc2VI",
- "ABJBChBuZXdfdmlkZW9fc3RyZWFtGBQgASgLMiUubGl2ZWtpdC5wcm90by5O",
- "ZXdWaWRlb1N0cmVhbVJlc3BvbnNlSAASQQoQbmV3X3ZpZGVvX3NvdXJjZRgV",
- "IAEoCzIlLmxpdmVraXQucHJvdG8uTmV3VmlkZW9Tb3VyY2VSZXNwb25zZUgA",
- "EkcKE2NhcHR1cmVfdmlkZW9fZnJhbWUYFiABKAsyKC5saXZla2l0LnByb3Rv",
- "LkNhcHR1cmVWaWRlb0ZyYW1lUmVzcG9uc2VIABI8Cg12aWRlb19jb252ZXJ0",
- "GBcgASgLMiMubGl2ZWtpdC5wcm90by5WaWRlb0NvbnZlcnRSZXNwb25zZUgA",
- "EloKHXZpZGVvX3N0cmVhbV9mcm9tX3BhcnRpY2lwYW50GBggASgLMjEubGl2",
- "ZWtpdC5wcm90by5WaWRlb1N0cmVhbUZyb21QYXJ0aWNpcGFudFJlc3BvbnNl",
- "SAASQQoQbmV3X2F1ZGlvX3N0cmVhbRgZIAEoCzIlLmxpdmVraXQucHJvdG8u",
- "TmV3QXVkaW9TdHJlYW1SZXNwb25zZUgAEkEKEG5ld19hdWRpb19zb3VyY2UY",
- "GiABKAsyJS5saXZla2l0LnByb3RvLk5ld0F1ZGlvU291cmNlUmVzcG9uc2VI",
- "ABJHChNjYXB0dXJlX2F1ZGlvX2ZyYW1lGBsgASgLMigubGl2ZWtpdC5wcm90",
- "by5DYXB0dXJlQXVkaW9GcmFtZVJlc3BvbnNlSAASRQoSY2xlYXJfYXVkaW9f",
- "YnVmZmVyGBwgASgLMicubGl2ZWtpdC5wcm90by5DbGVhckF1ZGlvQnVmZmVy",
- "UmVzcG9uc2VIABJHChNuZXdfYXVkaW9fcmVzYW1wbGVyGB0gASgLMigubGl2",
- "ZWtpdC5wcm90by5OZXdBdWRpb1Jlc2FtcGxlclJlc3BvbnNlSAASRQoScmVt",
- "aXhfYW5kX3Jlc2FtcGxlGB4gASgLMicubGl2ZWtpdC5wcm90by5SZW1peEFu",
- "ZFJlc2FtcGxlUmVzcG9uc2VIABJaCh1hdWRpb19zdHJlYW1fZnJvbV9wYXJ0",
- "aWNpcGFudBgfIAEoCzIxLmxpdmVraXQucHJvdG8uQXVkaW9TdHJlYW1Gcm9t",
- "UGFydGljaXBhbnRSZXNwb25zZUgAEisKBGUyZWUYICABKAsyGy5saXZla2l0",
- "LnByb3RvLkUyZWVSZXNwb25zZUgAEkMKEW5ld19zb3hfcmVzYW1wbGVyGCEg",
- "ASgLMiYubGl2ZWtpdC5wcm90by5OZXdTb3hSZXNhbXBsZXJSZXNwb25zZUgA",
- "EkUKEnB1c2hfc294X3Jlc2FtcGxlchgiIAEoCzInLmxpdmVraXQucHJvdG8u",
- "UHVzaFNveFJlc2FtcGxlclJlc3BvbnNlSAASRwoTZmx1c2hfc294X3Jlc2Ft",
- "cGxlchgjIAEoCzIoLmxpdmVraXQucHJvdG8uRmx1c2hTb3hSZXNhbXBsZXJS",
- "ZXNwb25zZUgAEkMKEXNlbmRfY2hhdF9tZXNzYWdlGCQgASgLMiYubGl2ZWtp",
- "dC5wcm90by5TZW5kQ2hhdE1lc3NhZ2VSZXNwb25zZUgAEjgKC3BlcmZvcm1f",
- "cnBjGCUgASgLMiEubGl2ZWtpdC5wcm90by5QZXJmb3JtUnBjUmVzcG9uc2VI",
- "ABJHChNyZWdpc3Rlcl9ycGNfbWV0aG9kGCYgASgLMigubGl2ZWtpdC5wcm90",
- "by5SZWdpc3RlclJwY01ldGhvZFJlc3BvbnNlSAASSwoVdW5yZWdpc3Rlcl9y",
- "cGNfbWV0aG9kGCcgASgLMioubGl2ZWtpdC5wcm90by5VbnJlZ2lzdGVyUnBj",
- "TWV0aG9kUmVzcG9uc2VIABJcCh5ycGNfbWV0aG9kX2ludm9jYXRpb25fcmVz",
- "cG9uc2UYKCABKAsyMi5saXZla2l0LnByb3RvLlJwY01ldGhvZEludm9jYXRp",
- "b25SZXNwb25zZVJlc3BvbnNlSAASXgofZW5hYmxlX3JlbW90ZV90cmFja19w",
- "dWJsaWNhdGlvbhgpIAEoCzIzLmxpdmVraXQucHJvdG8uRW5hYmxlUmVtb3Rl",
- "VHJhY2tQdWJsaWNhdGlvblJlc3BvbnNlSAAScQopdXBkYXRlX3JlbW90ZV90",
- "cmFja19wdWJsaWNhdGlvbl9kaW1lbnNpb24YKiABKAsyPC5saXZla2l0LnBy",
- "b3RvLlVwZGF0ZVJlbW90ZVRyYWNrUHVibGljYXRpb25EaW1lbnNpb25SZXNw",
- "b25zZUgAEkUKEnNlbmRfc3RyZWFtX2hlYWRlchgrIAEoCzInLmxpdmVraXQu",
- "cHJvdG8uU2VuZFN0cmVhbUhlYWRlclJlc3BvbnNlSAASQwoRc2VuZF9zdHJl",
- "YW1fY2h1bmsYLCABKAsyJi5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1DaHVu",
- "a1Jlc3BvbnNlSAASRwoTc2VuZF9zdHJlYW1fdHJhaWxlchgtIAEoCzIoLmxp",
- "dmVraXQucHJvdG8uU2VuZFN0cmVhbVRyYWlsZXJSZXNwb25zZUgAEnkKLnNl",
- "dF9kYXRhX2NoYW5uZWxfYnVmZmVyZWRfYW1vdW50X2xvd190aHJlc2hvbGQY",
- "LiABKAsyPy5saXZla2l0LnByb3RvLlNldERhdGFDaGFubmVsQnVmZmVyZWRB",
- "bW91bnRMb3dUaHJlc2hvbGRSZXNwb25zZUgAElAKGGxvYWRfYXVkaW9fZmls",
- "dGVyX3BsdWdpbhgwIAEoCzIsLmxpdmVraXQucHJvdG8uTG9hZEF1ZGlvRmls",
- "dGVyUGx1Z2luUmVzcG9uc2VIABIwCgduZXdfYXBtGDEgASgLMh0ubGl2ZWtp",
- "dC5wcm90by5OZXdBcG1SZXNwb25zZUgAEkUKEmFwbV9wcm9jZXNzX3N0cmVh",
- "bRgyIAEoCzInLmxpdmVraXQucHJvdG8uQXBtUHJvY2Vzc1N0cmVhbVJlc3Bv",
- "bnNlSAASVAoaYXBtX3Byb2Nlc3NfcmV2ZXJzZV9zdHJlYW0YMyABKAsyLi5s",
- "aXZla2l0LnByb3RvLkFwbVByb2Nlc3NSZXZlcnNlU3RyZWFtUmVzcG9uc2VI",
- "ABJIChRhcG1fc2V0X3N0cmVhbV9kZWxheRg0IAEoCzIoLmxpdmVraXQucHJv",
- "dG8uQXBtU2V0U3RyZWFtRGVsYXlSZXNwb25zZUgAElcKFWJ5dGVfcmVhZF9p",
- "bmNyZW1lbnRhbBg1IAEoCzI2LmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVJl",
- "YWRlclJlYWRJbmNyZW1lbnRhbFJlc3BvbnNlSAASRwoNYnl0ZV9yZWFkX2Fs",
- "bBg2IAEoCzIuLmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbVJlYWRlclJlYWRB",
- "bGxSZXNwb25zZUgAElAKEmJ5dGVfd3JpdGVfdG9fZmlsZRg3IAEoCzIyLmxp",
- "dmVraXQucHJvdG8uQnl0ZVN0cmVhbVJlYWRlcldyaXRlVG9GaWxlUmVzcG9u",
- "c2VIABJXChV0ZXh0X3JlYWRfaW5jcmVtZW50YWwYOCABKAsyNi5saXZla2l0",
- "LnByb3RvLlRleHRTdHJlYW1SZWFkZXJSZWFkSW5jcmVtZW50YWxSZXNwb25z",
- "ZUgAEkcKDXRleHRfcmVhZF9hbGwYOSABKAsyLi5saXZla2l0LnByb3RvLlRl",
- "eHRTdHJlYW1SZWFkZXJSZWFkQWxsUmVzcG9uc2VIABI6CglzZW5kX2ZpbGUY",
- "OiABKAsyJS5saXZla2l0LnByb3RvLlN0cmVhbVNlbmRGaWxlUmVzcG9uc2VI",
- "ABI6CglzZW5kX3RleHQYOyABKAsyJS5saXZla2l0LnByb3RvLlN0cmVhbVNl",
- "bmRUZXh0UmVzcG9uc2VIABJBChBieXRlX3N0cmVhbV9vcGVuGDwgASgLMiUu",
- "bGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtT3BlblJlc3BvbnNlSAASSQoRYnl0",
- "ZV9zdHJlYW1fd3JpdGUYPSABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJl",
- "YW1Xcml0ZXJXcml0ZVJlc3BvbnNlSAASSQoRYnl0ZV9zdHJlYW1fY2xvc2UY",
- "PiABKAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1Xcml0ZXJDbG9zZVJl",
- "c3BvbnNlSAASQQoQdGV4dF9zdHJlYW1fb3Blbhg/IAEoCzIlLmxpdmVraXQu",
- "cHJvdG8uVGV4dFN0cmVhbU9wZW5SZXNwb25zZUgAEkkKEXRleHRfc3RyZWFt",
- "X3dyaXRlGEAgASgLMiwubGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtV3JpdGVy",
- "V3JpdGVSZXNwb25zZUgAEkkKEXRleHRfc3RyZWFtX2Nsb3NlGEEgASgLMiwu",
- "bGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtV3JpdGVyQ2xvc2VSZXNwb25zZUgA",
- "EjwKCnNlbmRfYnl0ZXMYQiABKAsyJi5saXZla2l0LnByb3RvLlN0cmVhbVNl",
- "bmRCeXRlc1Jlc3BvbnNlSAASZwokc2V0X3JlbW90ZV90cmFja19wdWJsaWNh",
- "dGlvbl9xdWFsaXR5GEMgASgLMjcubGl2ZWtpdC5wcm90by5TZXRSZW1vdGVU",
- "cmFja1B1YmxpY2F0aW9uUXVhbGl0eVJlc3BvbnNlSAASRQoScHVibGlzaF9k",
- "YXRhX3RyYWNrGEQgASgLMicubGl2ZWtpdC5wcm90by5QdWJsaXNoRGF0YVRy",
- "YWNrUmVzcG9uc2VIABJRChlsb2NhbF9kYXRhX3RyYWNrX3RyeV9wdXNoGEUg",
- "ASgLMiwubGl2ZWtpdC5wcm90by5Mb2NhbERhdGFUcmFja1RyeVB1c2hSZXNw",
- "b25zZUgAElQKGmxvY2FsX2RhdGFfdHJhY2tfdW5wdWJsaXNoGEYgASgLMi4u",
- "bGl2ZWtpdC5wcm90by5Mb2NhbERhdGFUcmFja1VucHVibGlzaFJlc3BvbnNl",
- "SAASWQodbG9jYWxfZGF0YV90cmFja19pc19wdWJsaXNoZWQYRyABKAsyMC5s",
- "aXZla2l0LnByb3RvLkxvY2FsRGF0YVRyYWNrSXNQdWJsaXNoZWRSZXNwb25z",
- "ZUgAEkkKFHN1YnNjcmliZV9kYXRhX3RyYWNrGEggASgLMikubGl2ZWtpdC5w",
- "cm90by5TdWJzY3JpYmVEYXRhVHJhY2tSZXNwb25zZUgAElsKHnJlbW90ZV9k",
- "YXRhX3RyYWNrX2lzX3B1Ymxpc2hlZBhJIAEoCzIxLmxpdmVraXQucHJvdG8u",
- "UmVtb3RlRGF0YVRyYWNrSXNQdWJsaXNoZWRSZXNwb25zZUgAQgkKB21lc3Nh",
- "Z2Ui6xYKCEZmaUV2ZW50Ei4KCnJvb21fZXZlbnQYASABKAsyGC5saXZla2l0",
- "LnByb3RvLlJvb21FdmVudEgAEjAKC3RyYWNrX2V2ZW50GAIgASgLMhkubGl2",
- "ZWtpdC5wcm90by5UcmFja0V2ZW50SAASPQoSdmlkZW9fc3RyZWFtX2V2ZW50",
- "GAMgASgLMh8ubGl2ZWtpdC5wcm90by5WaWRlb1N0cmVhbUV2ZW50SAASPQoS",
- "YXVkaW9fc3RyZWFtX2V2ZW50GAQgASgLMh8ubGl2ZWtpdC5wcm90by5BdWRp",
- "b1N0cmVhbUV2ZW50SAASMQoHY29ubmVjdBgFIAEoCzIeLmxpdmVraXQucHJv",
- "dG8uQ29ubmVjdENhbGxiYWNrSAASNwoKZGlzY29ubmVjdBgHIAEoCzIhLmxp",
- "dmVraXQucHJvdG8uRGlzY29ubmVjdENhbGxiYWNrSAASMQoHZGlzcG9zZRgI",
- "IAEoCzIeLmxpdmVraXQucHJvdG8uRGlzcG9zZUNhbGxiYWNrSAASPAoNcHVi",
- "bGlzaF90cmFjaxgJIAEoCzIjLmxpdmVraXQucHJvdG8uUHVibGlzaFRyYWNr",
- "Q2FsbGJhY2tIABJACg91bnB1Ymxpc2hfdHJhY2sYCiABKAsyJS5saXZla2l0",
- "LnByb3RvLlVucHVibGlzaFRyYWNrQ2FsbGJhY2tIABI6CgxwdWJsaXNoX2Rh",
- "dGEYCyABKAsyIi5saXZla2l0LnByb3RvLlB1Ymxpc2hEYXRhQ2FsbGJhY2tI",
- "ABJMChVwdWJsaXNoX3RyYW5zY3JpcHRpb24YDCABKAsyKy5saXZla2l0LnBy",
- "b3RvLlB1Ymxpc2hUcmFuc2NyaXB0aW9uQ2FsbGJhY2tIABJHChNjYXB0dXJl",
- "X2F1ZGlvX2ZyYW1lGA0gASgLMigubGl2ZWtpdC5wcm90by5DYXB0dXJlQXVk",
- "aW9GcmFtZUNhbGxiYWNrSAASRQoSc2V0X2xvY2FsX21ldGFkYXRhGA4gASgL",
- "MicubGl2ZWtpdC5wcm90by5TZXRMb2NhbE1ldGFkYXRhQ2FsbGJhY2tIABI9",
- "Cg5zZXRfbG9jYWxfbmFtZRgPIAEoCzIjLmxpdmVraXQucHJvdG8uU2V0TG9j",
- "YWxOYW1lQ2FsbGJhY2tIABJJChRzZXRfbG9jYWxfYXR0cmlidXRlcxgQIAEo",
- "CzIpLmxpdmVraXQucHJvdG8uU2V0TG9jYWxBdHRyaWJ1dGVzQ2FsbGJhY2tI",
- "ABI0CglnZXRfc3RhdHMYESABKAsyHy5saXZla2l0LnByb3RvLkdldFN0YXRz",
- "Q2FsbGJhY2tIABInCgRsb2dzGBIgASgLMhcubGl2ZWtpdC5wcm90by5Mb2dC",
- "YXRjaEgAEkMKEWdldF9zZXNzaW9uX3N0YXRzGBMgASgLMiYubGl2ZWtpdC5w",
- "cm90by5HZXRTZXNzaW9uU3RhdHNDYWxsYmFja0gAEiUKBXBhbmljGBQgASgL",
- "MhQubGl2ZWtpdC5wcm90by5QYW5pY0gAEkEKEHB1Ymxpc2hfc2lwX2R0bWYY",
- "FSABKAsyJS5saXZla2l0LnByb3RvLlB1Ymxpc2hTaXBEdG1mQ2FsbGJhY2tI",
- "ABI+CgxjaGF0X21lc3NhZ2UYFiABKAsyJi5saXZla2l0LnByb3RvLlNlbmRD",
- "aGF0TWVzc2FnZUNhbGxiYWNrSAASOAoLcGVyZm9ybV9ycGMYFyABKAsyIS5s",
- "aXZla2l0LnByb3RvLlBlcmZvcm1ScGNDYWxsYmFja0gAEkgKFXJwY19tZXRo",
- "b2RfaW52b2NhdGlvbhgYIAEoCzInLmxpdmVraXQucHJvdG8uUnBjTWV0aG9k",
- "SW52b2NhdGlvbkV2ZW50SAASRQoSc2VuZF9zdHJlYW1faGVhZGVyGBkgASgL",
- "MicubGl2ZWtpdC5wcm90by5TZW5kU3RyZWFtSGVhZGVyQ2FsbGJhY2tIABJD",
- "ChFzZW5kX3N0cmVhbV9jaHVuaxgaIAEoCzImLmxpdmVraXQucHJvdG8uU2Vu",
- "ZFN0cmVhbUNodW5rQ2FsbGJhY2tIABJHChNzZW5kX3N0cmVhbV90cmFpbGVy",
- "GBsgASgLMigubGl2ZWtpdC5wcm90by5TZW5kU3RyZWFtVHJhaWxlckNhbGxi",
- "YWNrSAASSAoYYnl0ZV9zdHJlYW1fcmVhZGVyX2V2ZW50GBwgASgLMiQubGl2",
- "ZWtpdC5wcm90by5CeXRlU3RyZWFtUmVhZGVyRXZlbnRIABJVChtieXRlX3N0",
- "cmVhbV9yZWFkZXJfcmVhZF9hbGwYHSABKAsyLi5saXZla2l0LnByb3RvLkJ5",
- "dGVTdHJlYW1SZWFkZXJSZWFkQWxsQ2FsbGJhY2tIABJeCiBieXRlX3N0cmVh",
- "bV9yZWFkZXJfd3JpdGVfdG9fZmlsZRgeIAEoCzIyLmxpdmVraXQucHJvdG8u",
- "Qnl0ZVN0cmVhbVJlYWRlcldyaXRlVG9GaWxlQ2FsbGJhY2tIABJBChBieXRl",
- "X3N0cmVhbV9vcGVuGB8gASgLMiUubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFt",
- "T3BlbkNhbGxiYWNrSAASUAoYYnl0ZV9zdHJlYW1fd3JpdGVyX3dyaXRlGCAg",
- "ASgLMiwubGl2ZWtpdC5wcm90by5CeXRlU3RyZWFtV3JpdGVyV3JpdGVDYWxs",
- "YmFja0gAElAKGGJ5dGVfc3RyZWFtX3dyaXRlcl9jbG9zZRghIAEoCzIsLmxp",
- "dmVraXQucHJvdG8uQnl0ZVN0cmVhbVdyaXRlckNsb3NlQ2FsbGJhY2tIABI6",
- "CglzZW5kX2ZpbGUYIiABKAsyJS5saXZla2l0LnByb3RvLlN0cmVhbVNlbmRG",
- "aWxlQ2FsbGJhY2tIABJIChh0ZXh0X3N0cmVhbV9yZWFkZXJfZXZlbnQYIyAB",
- "KAsyJC5saXZla2l0LnByb3RvLlRleHRTdHJlYW1SZWFkZXJFdmVudEgAElUK",
- "G3RleHRfc3RyZWFtX3JlYWRlcl9yZWFkX2FsbBgkIAEoCzIuLmxpdmVraXQu",
- "cHJvdG8uVGV4dFN0cmVhbVJlYWRlclJlYWRBbGxDYWxsYmFja0gAEkEKEHRl",
- "eHRfc3RyZWFtX29wZW4YJSABKAsyJS5saXZla2l0LnByb3RvLlRleHRTdHJl",
- "YW1PcGVuQ2FsbGJhY2tIABJQChh0ZXh0X3N0cmVhbV93cml0ZXJfd3JpdGUY",
- "JiABKAsyLC5saXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJXcml0ZUNh",
- "bGxiYWNrSAASUAoYdGV4dF9zdHJlYW1fd3JpdGVyX2Nsb3NlGCcgASgLMiwu",
- "bGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtV3JpdGVyQ2xvc2VDYWxsYmFja0gA",
- "EjoKCXNlbmRfdGV4dBgoIAEoCzIlLmxpdmVraXQucHJvdG8uU3RyZWFtU2Vu",
- "ZFRleHRDYWxsYmFja0gAEjwKCnNlbmRfYnl0ZXMYKSABKAsyJi5saXZla2l0",
- "LnByb3RvLlN0cmVhbVNlbmRCeXRlc0NhbGxiYWNrSAASRQoScHVibGlzaF9k",
- "YXRhX3RyYWNrGCogASgLMicubGl2ZWtpdC5wcm90by5QdWJsaXNoRGF0YVRy",
- "YWNrQ2FsbGJhY2tIABJJChRzdWJzY3JpYmVfZGF0YV90cmFjaxgrIAEoCzIp",
- "LmxpdmVraXQucHJvdG8uU3Vic2NyaWJlRGF0YVRyYWNrQ2FsbGJhY2tIABJS",
- "Ch1kYXRhX3RyYWNrX3N1YnNjcmlwdGlvbl9ldmVudBgsIAEoCzIpLmxpdmVr",
- "aXQucHJvdG8uRGF0YVRyYWNrU3Vic2NyaXB0aW9uRXZlbnRIAEIJCgdtZXNz",
- "YWdlIh8KDkRpc3Bvc2VSZXF1ZXN0Eg0KBWFzeW5jGAEgAigIIiMKD0Rpc3Bv",
- "c2VSZXNwb25zZRIQCghhc3luY19pZBgBIAEoBCIjCg9EaXNwb3NlQ2FsbGJh",
- "Y2sSEAoIYXN5bmNfaWQYASACKAQihQEKCUxvZ1JlY29yZBImCgVsZXZlbBgB",
- "IAIoDjIXLmxpdmVraXQucHJvdG8uTG9nTGV2ZWwSDgoGdGFyZ2V0GAIgAigJ",
- "EhMKC21vZHVsZV9wYXRoGAMgASgJEgwKBGZpbGUYBCABKAkSDAoEbGluZRgF",
- "IAEoDRIPCgdtZXNzYWdlGAYgAigJIjUKCExvZ0JhdGNoEikKB3JlY29yZHMY",
- "ASADKAsyGC5saXZla2l0LnByb3RvLkxvZ1JlY29yZCIYCgVQYW5pYxIPCgdt",
- "ZXNzYWdlGAEgAigJKlMKCExvZ0xldmVsEg0KCUxPR19FUlJPUhAAEgwKCExP",
- "R19XQVJOEAESDAoITE9HX0lORk8QAhINCglMT0dfREVCVUcQAxINCglMT0df",
- "VFJBQ0UQBEIQqgINTGl2ZUtpdC5Qcm90bw=="));
+ "cXVlc3RIABJXChxkYXRhX3RyYWNrX3N1YnNjcmlwdGlvbl9yZWFkGEsgASgL",
+ "Mi8ubGl2ZWtpdC5wcm90by5EYXRhVHJhY2tTdWJzY3JpcHRpb25SZWFkUmVx",
+ "dWVzdEgAQgkKB21lc3NhZ2UisioKC0ZmaVJlc3BvbnNlEjEKB2Rpc3Bvc2UY",
+ "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",
+ "aXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJDbG9zZVJlc3BvbnNlSAAS",
+ "PAoKc2VuZF9ieXRlcxhCIAEoCzImLmxpdmVraXQucHJvdG8uU3RyZWFtU2Vu",
+ "ZEJ5dGVzUmVzcG9uc2VIABJnCiRzZXRfcmVtb3RlX3RyYWNrX3B1YmxpY2F0",
+ "aW9uX3F1YWxpdHkYQyABKAsyNy5saXZla2l0LnByb3RvLlNldFJlbW90ZVRy",
+ "YWNrUHVibGljYXRpb25RdWFsaXR5UmVzcG9uc2VIABJFChJwdWJsaXNoX2Rh",
+ "dGFfdHJhY2sYRCABKAsyJy5saXZla2l0LnByb3RvLlB1Ymxpc2hEYXRhVHJh",
+ "Y2tSZXNwb25zZUgAElEKGWxvY2FsX2RhdGFfdHJhY2tfdHJ5X3B1c2gYRSAB",
+ "KAsyLC5saXZla2l0LnByb3RvLkxvY2FsRGF0YVRyYWNrVHJ5UHVzaFJlc3Bv",
+ "bnNlSAASVAoabG9jYWxfZGF0YV90cmFja191bnB1Ymxpc2gYRiABKAsyLi5s",
+ "aXZla2l0LnByb3RvLkxvY2FsRGF0YVRyYWNrVW5wdWJsaXNoUmVzcG9uc2VI",
+ "ABJZCh1sb2NhbF9kYXRhX3RyYWNrX2lzX3B1Ymxpc2hlZBhHIAEoCzIwLmxp",
+ "dmVraXQucHJvdG8uTG9jYWxEYXRhVHJhY2tJc1B1Ymxpc2hlZFJlc3BvbnNl",
+ "SAASSQoUc3Vic2NyaWJlX2RhdGFfdHJhY2sYSCABKAsyKS5saXZla2l0LnBy",
+ "b3RvLlN1YnNjcmliZURhdGFUcmFja1Jlc3BvbnNlSAASWwoecmVtb3RlX2Rh",
+ "dGFfdHJhY2tfaXNfcHVibGlzaGVkGEkgASgLMjEubGl2ZWtpdC5wcm90by5S",
+ "ZW1vdGVEYXRhVHJhY2tJc1B1Ymxpc2hlZFJlc3BvbnNlSAASWAocZGF0YV90",
+ "cmFja19zdWJzY3JpcHRpb25fcmVhZBhKIAEoCzIwLmxpdmVraXQucHJvdG8u",
+ "RGF0YVRyYWNrU3Vic2NyaXB0aW9uUmVhZFJlc3BvbnNlSABCCQoHbWVzc2Fn",
+ "ZSLrFgoIRmZpRXZlbnQSLgoKcm9vbV9ldmVudBgBIAEoCzIYLmxpdmVraXQu",
+ "cHJvdG8uUm9vbUV2ZW50SAASMAoLdHJhY2tfZXZlbnQYAiABKAsyGS5saXZl",
+ "a2l0LnByb3RvLlRyYWNrRXZlbnRIABI9ChJ2aWRlb19zdHJlYW1fZXZlbnQY",
+ "AyABKAsyHy5saXZla2l0LnByb3RvLlZpZGVvU3RyZWFtRXZlbnRIABI9ChJh",
+ "dWRpb19zdHJlYW1fZXZlbnQYBCABKAsyHy5saXZla2l0LnByb3RvLkF1ZGlv",
+ "U3RyZWFtRXZlbnRIABIxCgdjb25uZWN0GAUgASgLMh4ubGl2ZWtpdC5wcm90",
+ "by5Db25uZWN0Q2FsbGJhY2tIABI3CgpkaXNjb25uZWN0GAcgASgLMiEubGl2",
+ "ZWtpdC5wcm90by5EaXNjb25uZWN0Q2FsbGJhY2tIABIxCgdkaXNwb3NlGAgg",
+ "ASgLMh4ubGl2ZWtpdC5wcm90by5EaXNwb3NlQ2FsbGJhY2tIABI8Cg1wdWJs",
+ "aXNoX3RyYWNrGAkgASgLMiMubGl2ZWtpdC5wcm90by5QdWJsaXNoVHJhY2tD",
+ "YWxsYmFja0gAEkAKD3VucHVibGlzaF90cmFjaxgKIAEoCzIlLmxpdmVraXQu",
+ "cHJvdG8uVW5wdWJsaXNoVHJhY2tDYWxsYmFja0gAEjoKDHB1Ymxpc2hfZGF0",
+ "YRgLIAEoCzIiLmxpdmVraXQucHJvdG8uUHVibGlzaERhdGFDYWxsYmFja0gA",
+ "EkwKFXB1Ymxpc2hfdHJhbnNjcmlwdGlvbhgMIAEoCzIrLmxpdmVraXQucHJv",
+ "dG8uUHVibGlzaFRyYW5zY3JpcHRpb25DYWxsYmFja0gAEkcKE2NhcHR1cmVf",
+ "YXVkaW9fZnJhbWUYDSABKAsyKC5saXZla2l0LnByb3RvLkNhcHR1cmVBdWRp",
+ "b0ZyYW1lQ2FsbGJhY2tIABJFChJzZXRfbG9jYWxfbWV0YWRhdGEYDiABKAsy",
+ "Jy5saXZla2l0LnByb3RvLlNldExvY2FsTWV0YWRhdGFDYWxsYmFja0gAEj0K",
+ "DnNldF9sb2NhbF9uYW1lGA8gASgLMiMubGl2ZWtpdC5wcm90by5TZXRMb2Nh",
+ "bE5hbWVDYWxsYmFja0gAEkkKFHNldF9sb2NhbF9hdHRyaWJ1dGVzGBAgASgL",
+ "MikubGl2ZWtpdC5wcm90by5TZXRMb2NhbEF0dHJpYnV0ZXNDYWxsYmFja0gA",
+ "EjQKCWdldF9zdGF0cxgRIAEoCzIfLmxpdmVraXQucHJvdG8uR2V0U3RhdHND",
+ "YWxsYmFja0gAEicKBGxvZ3MYEiABKAsyFy5saXZla2l0LnByb3RvLkxvZ0Jh",
+ "dGNoSAASQwoRZ2V0X3Nlc3Npb25fc3RhdHMYEyABKAsyJi5saXZla2l0LnBy",
+ "b3RvLkdldFNlc3Npb25TdGF0c0NhbGxiYWNrSAASJQoFcGFuaWMYFCABKAsy",
+ "FC5saXZla2l0LnByb3RvLlBhbmljSAASQQoQcHVibGlzaF9zaXBfZHRtZhgV",
+ "IAEoCzIlLmxpdmVraXQucHJvdG8uUHVibGlzaFNpcER0bWZDYWxsYmFja0gA",
+ "Ej4KDGNoYXRfbWVzc2FnZRgWIAEoCzImLmxpdmVraXQucHJvdG8uU2VuZENo",
+ "YXRNZXNzYWdlQ2FsbGJhY2tIABI4CgtwZXJmb3JtX3JwYxgXIAEoCzIhLmxp",
+ "dmVraXQucHJvdG8uUGVyZm9ybVJwY0NhbGxiYWNrSAASSAoVcnBjX21ldGhv",
+ "ZF9pbnZvY2F0aW9uGBggASgLMicubGl2ZWtpdC5wcm90by5ScGNNZXRob2RJ",
+ "bnZvY2F0aW9uRXZlbnRIABJFChJzZW5kX3N0cmVhbV9oZWFkZXIYGSABKAsy",
+ "Jy5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1IZWFkZXJDYWxsYmFja0gAEkMK",
+ "EXNlbmRfc3RyZWFtX2NodW5rGBogASgLMiYubGl2ZWtpdC5wcm90by5TZW5k",
+ "U3RyZWFtQ2h1bmtDYWxsYmFja0gAEkcKE3NlbmRfc3RyZWFtX3RyYWlsZXIY",
+ "GyABKAsyKC5saXZla2l0LnByb3RvLlNlbmRTdHJlYW1UcmFpbGVyQ2FsbGJh",
+ "Y2tIABJIChhieXRlX3N0cmVhbV9yZWFkZXJfZXZlbnQYHCABKAsyJC5saXZl",
+ "a2l0LnByb3RvLkJ5dGVTdHJlYW1SZWFkZXJFdmVudEgAElUKG2J5dGVfc3Ry",
+ "ZWFtX3JlYWRlcl9yZWFkX2FsbBgdIAEoCzIuLmxpdmVraXQucHJvdG8uQnl0",
+ "ZVN0cmVhbVJlYWRlclJlYWRBbGxDYWxsYmFja0gAEl4KIGJ5dGVfc3RyZWFt",
+ "X3JlYWRlcl93cml0ZV90b19maWxlGB4gASgLMjIubGl2ZWtpdC5wcm90by5C",
+ "eXRlU3RyZWFtUmVhZGVyV3JpdGVUb0ZpbGVDYWxsYmFja0gAEkEKEGJ5dGVf",
+ "c3RyZWFtX29wZW4YHyABKAsyJS5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1P",
+ "cGVuQ2FsbGJhY2tIABJQChhieXRlX3N0cmVhbV93cml0ZXJfd3JpdGUYICAB",
+ "KAsyLC5saXZla2l0LnByb3RvLkJ5dGVTdHJlYW1Xcml0ZXJXcml0ZUNhbGxi",
+ "YWNrSAASUAoYYnl0ZV9zdHJlYW1fd3JpdGVyX2Nsb3NlGCEgASgLMiwubGl2",
+ "ZWtpdC5wcm90by5CeXRlU3RyZWFtV3JpdGVyQ2xvc2VDYWxsYmFja0gAEjoK",
+ "CXNlbmRfZmlsZRgiIAEoCzIlLmxpdmVraXQucHJvdG8uU3RyZWFtU2VuZEZp",
+ "bGVDYWxsYmFja0gAEkgKGHRleHRfc3RyZWFtX3JlYWRlcl9ldmVudBgjIAEo",
+ "CzIkLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVJlYWRlckV2ZW50SAASVQob",
+ "dGV4dF9zdHJlYW1fcmVhZGVyX3JlYWRfYWxsGCQgASgLMi4ubGl2ZWtpdC5w",
+ "cm90by5UZXh0U3RyZWFtUmVhZGVyUmVhZEFsbENhbGxiYWNrSAASQQoQdGV4",
+ "dF9zdHJlYW1fb3BlbhglIAEoCzIlLmxpdmVraXQucHJvdG8uVGV4dFN0cmVh",
+ "bU9wZW5DYWxsYmFja0gAElAKGHRleHRfc3RyZWFtX3dyaXRlcl93cml0ZRgm",
+ "IAEoCzIsLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbVdyaXRlcldyaXRlQ2Fs",
+ "bGJhY2tIABJQChh0ZXh0X3N0cmVhbV93cml0ZXJfY2xvc2UYJyABKAsyLC5s",
+ "aXZla2l0LnByb3RvLlRleHRTdHJlYW1Xcml0ZXJDbG9zZUNhbGxiYWNrSAAS",
+ "OgoJc2VuZF90ZXh0GCggASgLMiUubGl2ZWtpdC5wcm90by5TdHJlYW1TZW5k",
+ "VGV4dENhbGxiYWNrSAASPAoKc2VuZF9ieXRlcxgpIAEoCzImLmxpdmVraXQu",
+ "cHJvdG8uU3RyZWFtU2VuZEJ5dGVzQ2FsbGJhY2tIABJFChJwdWJsaXNoX2Rh",
+ "dGFfdHJhY2sYKiABKAsyJy5saXZla2l0LnByb3RvLlB1Ymxpc2hEYXRhVHJh",
+ "Y2tDYWxsYmFja0gAEkkKFHN1YnNjcmliZV9kYXRhX3RyYWNrGCsgASgLMiku",
+ "bGl2ZWtpdC5wcm90by5TdWJzY3JpYmVEYXRhVHJhY2tDYWxsYmFja0gAElIK",
+ "HWRhdGFfdHJhY2tfc3Vic2NyaXB0aW9uX2V2ZW50GCwgASgLMikubGl2ZWtp",
+ "dC5wcm90by5EYXRhVHJhY2tTdWJzY3JpcHRpb25FdmVudEgAQgkKB21lc3Nh",
+ "Z2UiHwoORGlzcG9zZVJlcXVlc3QSDQoFYXN5bmMYASACKAgiIwoPRGlzcG9z",
+ "ZVJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgASgEIiMKD0Rpc3Bvc2VDYWxsYmFj",
+ "axIQCghhc3luY19pZBgBIAIoBCKFAQoJTG9nUmVjb3JkEiYKBWxldmVsGAEg",
+ "AigOMhcubGl2ZWtpdC5wcm90by5Mb2dMZXZlbBIOCgZ0YXJnZXQYAiACKAkS",
+ "EwoLbW9kdWxlX3BhdGgYAyABKAkSDAoEZmlsZRgEIAEoCRIMCgRsaW5lGAUg",
+ "ASgNEg8KB21lc3NhZ2UYBiACKAkiNQoITG9nQmF0Y2gSKQoHcmVjb3JkcxgB",
+ "IAMoCzIYLmxpdmVraXQucHJvdG8uTG9nUmVjb3JkIhgKBVBhbmljEg8KB21l",
+ "c3NhZ2UYASACKAkqUwoITG9nTGV2ZWwSDQoJTE9HX0VSUk9SEAASDAoITE9H",
+ "X1dBUk4QARIMCghMT0dfSU5GTxACEg0KCUxPR19ERUJVRxADEg0KCUxPR19U",
+ "UkFDRRAEQhCqAg1MaXZlS2l0LlByb3Rv"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
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, global::LiveKit.Proto.DataTrackReflection.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", "SendBytes", "SetRemoteTrackPublicationQuality", "PublishDataTrack", "LocalDataTrackTryPush", "LocalDataTrackUnpublish", "LocalDataTrackIsPublished", "SubscribeDataTrack", "RemoteDataTrackIsPublished" }, 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", "SendBytes", "SetRemoteTrackPublicationQuality", "PublishDataTrack", "LocalDataTrackTryPush", "LocalDataTrackUnpublish", "LocalDataTrackIsPublished", "SubscribeDataTrack", "RemoteDataTrackIsPublished" }, new[]{ "Message" }, null, null, null),
+ 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", "SendBytes", "SetRemoteTrackPublicationQuality", "PublishDataTrack", "LocalDataTrackTryPush", "LocalDataTrackUnpublish", "LocalDataTrackIsPublished", "SubscribeDataTrack", "RemoteDataTrackIsPublished", "DataTrackSubscriptionRead" }, 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", "SendBytes", "SetRemoteTrackPublicationQuality", "PublishDataTrack", "LocalDataTrackTryPush", "LocalDataTrackUnpublish", "LocalDataTrackIsPublished", "SubscribeDataTrack", "RemoteDataTrackIsPublished", "DataTrackSubscriptionRead" }, 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", "SendBytes", "PublishDataTrack", "SubscribeDataTrack", "DataTrackSubscriptionEvent" }, 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" }, null, null, null, null),
@@ -628,6 +632,9 @@ public FfiRequest(FfiRequest other) : this() {
case MessageOneofCase.RemoteDataTrackIsPublished:
RemoteDataTrackIsPublished = other.RemoteDataTrackIsPublished.Clone();
break;
+ case MessageOneofCase.DataTrackSubscriptionRead:
+ DataTrackSubscriptionRead = other.DataTrackSubscriptionRead.Clone();
+ break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -1551,6 +1558,18 @@ public FfiRequest Clone() {
}
}
+ /// Field number for the "data_track_subscription_read" field.
+ public const int DataTrackSubscriptionReadFieldNumber = 75;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackSubscriptionReadRequest DataTrackSubscriptionRead {
+ get { return messageCase_ == MessageOneofCase.DataTrackSubscriptionRead ? (global::LiveKit.Proto.DataTrackSubscriptionReadRequest) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataTrackSubscriptionRead;
+ }
+ }
+
private object message_;
/// Enum of possible cases for the "message" oneof.
public enum MessageOneofCase {
@@ -1628,6 +1647,7 @@ public enum MessageOneofCase {
LocalDataTrackIsPublished = 72,
SubscribeDataTrack = 73,
RemoteDataTrackIsPublished = 74,
+ DataTrackSubscriptionRead = 75,
}
private MessageOneofCase messageCase_ = MessageOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -1731,6 +1751,7 @@ public bool Equals(FfiRequest other) {
if (!object.Equals(LocalDataTrackIsPublished, other.LocalDataTrackIsPublished)) return false;
if (!object.Equals(SubscribeDataTrack, other.SubscribeDataTrack)) return false;
if (!object.Equals(RemoteDataTrackIsPublished, other.RemoteDataTrackIsPublished)) return false;
+ if (!object.Equals(DataTrackSubscriptionRead, other.DataTrackSubscriptionRead)) return false;
if (MessageCase != other.MessageCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -1812,6 +1833,7 @@ public override int GetHashCode() {
if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) hash ^= LocalDataTrackIsPublished.GetHashCode();
if (messageCase_ == MessageOneofCase.SubscribeDataTrack) hash ^= SubscribeDataTrack.GetHashCode();
if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) hash ^= RemoteDataTrackIsPublished.GetHashCode();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) hash ^= DataTrackSubscriptionRead.GetHashCode();
hash ^= (int) messageCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -2123,6 +2145,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(210, 4);
output.WriteMessage(RemoteDataTrackIsPublished);
}
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ output.WriteRawTag(218, 4);
+ output.WriteMessage(DataTrackSubscriptionRead);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -2425,6 +2451,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(210, 4);
output.WriteMessage(RemoteDataTrackIsPublished);
}
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ output.WriteRawTag(218, 4);
+ output.WriteMessage(DataTrackSubscriptionRead);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -2654,6 +2684,9 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteDataTrackIsPublished);
}
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(DataTrackSubscriptionRead);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -3105,6 +3138,12 @@ public void MergeFrom(FfiRequest other) {
}
RemoteDataTrackIsPublished.MergeFrom(other.RemoteDataTrackIsPublished);
break;
+ case MessageOneofCase.DataTrackSubscriptionRead:
+ if (DataTrackSubscriptionRead == null) {
+ DataTrackSubscriptionRead = new global::LiveKit.Proto.DataTrackSubscriptionReadRequest();
+ }
+ DataTrackSubscriptionRead.MergeFrom(other.DataTrackSubscriptionRead);
+ break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -3783,6 +3822,15 @@ public void MergeFrom(pb::CodedInputStream input) {
RemoteDataTrackIsPublished = subBuilder;
break;
}
+ case 602: {
+ global::LiveKit.Proto.DataTrackSubscriptionReadRequest subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionReadRequest();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ subBuilder.MergeFrom(DataTrackSubscriptionRead);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackSubscriptionRead = subBuilder;
+ break;
+ }
}
}
#endif
@@ -4459,6 +4507,15 @@ public void MergeFrom(pb::CodedInputStream input) {
RemoteDataTrackIsPublished = subBuilder;
break;
}
+ case 602: {
+ global::LiveKit.Proto.DataTrackSubscriptionReadRequest subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionReadRequest();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ subBuilder.MergeFrom(DataTrackSubscriptionRead);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackSubscriptionRead = subBuilder;
+ break;
+ }
}
}
}
@@ -4721,6 +4778,9 @@ public FfiResponse(FfiResponse other) : this() {
case MessageOneofCase.RemoteDataTrackIsPublished:
RemoteDataTrackIsPublished = other.RemoteDataTrackIsPublished.Clone();
break;
+ case MessageOneofCase.DataTrackSubscriptionRead:
+ DataTrackSubscriptionRead = other.DataTrackSubscriptionRead.Clone();
+ break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -5632,6 +5692,18 @@ public FfiResponse Clone() {
}
}
+ /// Field number for the "data_track_subscription_read" field.
+ public const int DataTrackSubscriptionReadFieldNumber = 74;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackSubscriptionReadResponse DataTrackSubscriptionRead {
+ get { return messageCase_ == MessageOneofCase.DataTrackSubscriptionRead ? (global::LiveKit.Proto.DataTrackSubscriptionReadResponse) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataTrackSubscriptionRead;
+ }
+ }
+
private object message_;
/// Enum of possible cases for the "message" oneof.
public enum MessageOneofCase {
@@ -5708,6 +5780,7 @@ public enum MessageOneofCase {
LocalDataTrackIsPublished = 71,
SubscribeDataTrack = 72,
RemoteDataTrackIsPublished = 73,
+ DataTrackSubscriptionRead = 74,
}
private MessageOneofCase messageCase_ = MessageOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -5810,6 +5883,7 @@ public bool Equals(FfiResponse other) {
if (!object.Equals(LocalDataTrackIsPublished, other.LocalDataTrackIsPublished)) return false;
if (!object.Equals(SubscribeDataTrack, other.SubscribeDataTrack)) return false;
if (!object.Equals(RemoteDataTrackIsPublished, other.RemoteDataTrackIsPublished)) return false;
+ if (!object.Equals(DataTrackSubscriptionRead, other.DataTrackSubscriptionRead)) return false;
if (MessageCase != other.MessageCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -5890,6 +5964,7 @@ public override int GetHashCode() {
if (messageCase_ == MessageOneofCase.LocalDataTrackIsPublished) hash ^= LocalDataTrackIsPublished.GetHashCode();
if (messageCase_ == MessageOneofCase.SubscribeDataTrack) hash ^= SubscribeDataTrack.GetHashCode();
if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) hash ^= RemoteDataTrackIsPublished.GetHashCode();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) hash ^= DataTrackSubscriptionRead.GetHashCode();
hash ^= (int) messageCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -6197,6 +6272,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(202, 4);
output.WriteMessage(RemoteDataTrackIsPublished);
}
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ output.WriteRawTag(210, 4);
+ output.WriteMessage(DataTrackSubscriptionRead);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -6495,6 +6574,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(202, 4);
output.WriteMessage(RemoteDataTrackIsPublished);
}
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ output.WriteRawTag(210, 4);
+ output.WriteMessage(DataTrackSubscriptionRead);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -6721,6 +6804,9 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.RemoteDataTrackIsPublished) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteDataTrackIsPublished);
}
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(DataTrackSubscriptionRead);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -7166,6 +7252,12 @@ public void MergeFrom(FfiResponse other) {
}
RemoteDataTrackIsPublished.MergeFrom(other.RemoteDataTrackIsPublished);
break;
+ case MessageOneofCase.DataTrackSubscriptionRead:
+ if (DataTrackSubscriptionRead == null) {
+ DataTrackSubscriptionRead = new global::LiveKit.Proto.DataTrackSubscriptionReadResponse();
+ }
+ DataTrackSubscriptionRead.MergeFrom(other.DataTrackSubscriptionRead);
+ break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
@@ -7835,6 +7927,15 @@ public void MergeFrom(pb::CodedInputStream input) {
RemoteDataTrackIsPublished = subBuilder;
break;
}
+ case 594: {
+ global::LiveKit.Proto.DataTrackSubscriptionReadResponse subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionReadResponse();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ subBuilder.MergeFrom(DataTrackSubscriptionRead);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackSubscriptionRead = subBuilder;
+ break;
+ }
}
}
#endif
@@ -8502,6 +8603,15 @@ public void MergeFrom(pb::CodedInputStream input) {
RemoteDataTrackIsPublished = subBuilder;
break;
}
+ case 594: {
+ global::LiveKit.Proto.DataTrackSubscriptionReadResponse subBuilder = new global::LiveKit.Proto.DataTrackSubscriptionReadResponse();
+ if (messageCase_ == MessageOneofCase.DataTrackSubscriptionRead) {
+ subBuilder.MergeFrom(DataTrackSubscriptionRead);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackSubscriptionRead = subBuilder;
+ break;
+ }
}
}
}
diff --git a/Runtime/Scripts/Proto/Participant.cs b/Runtime/Scripts/Proto/Participant.cs
index 60ae0e7f..27ab4e31 100644
--- a/Runtime/Scripts/Proto/Participant.cs
+++ b/Runtime/Scripts/Proto/Participant.cs
@@ -53,7 +53,7 @@ static ParticipantReflection() {
"X0tJTkRfREVUQUlMX0ZPUldBUkRFRBABEi4KKlBBUlRJQ0lQQU5UX0tJTkRf",
"REVUQUlMX0NPTk5FQ1RPUl9XSEFUU0FQUBACEiwKKFBBUlRJQ0lQQU5UX0tJ",
"TkRfREVUQUlMX0NPTk5FQ1RPUl9UV0lMSU8QAxInCiNQQVJUSUNJUEFOVF9L",
- "SU5EX0RFVEFJTF9CUklER0VfUlRTUBAEKtcCChBEaXNjb25uZWN0UmVhc29u",
+ "SU5EX0RFVEFJTF9CUklER0VfUlRTUBAEKugCChBEaXNjb25uZWN0UmVhc29u",
"EhIKDlVOS05PV05fUkVBU09OEAASFAoQQ0xJRU5UX0lOSVRJQVRFRBABEhYK",
"EkRVUExJQ0FURV9JREVOVElUWRACEhMKD1NFUlZFUl9TSFVURE9XThADEhcK",
"E1BBUlRJQ0lQQU5UX1JFTU9WRUQQBBIQCgxST09NX0RFTEVURUQQBRISCg5T",
@@ -61,7 +61,7 @@ static ParticipantReflection() {
"ThAIEhAKDFNJR05BTF9DTE9TRRAJEg8KC1JPT01fQ0xPU0VEEAoSFAoQVVNF",
"Ul9VTkFWQUlMQUJMRRALEhEKDVVTRVJfUkVKRUNURUQQDBIVChFTSVBfVFJV",
"TktfRkFJTFVSRRANEhYKEkNPTk5FQ1RJT05fVElNRU9VVBAOEhEKDU1FRElB",
- "X0ZBSUxVUkUQD0IQqgINTGl2ZUtpdC5Qcm90bw=="));
+ "X0ZBSUxVUkUQDxIPCgtBR0VOVF9FUlJPUhAQQhCqAg1MaXZlS2l0LlByb3Rv"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::LiveKit.Proto.HandleReflection.Descriptor, global::LiveKit.Proto.TrackReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::LiveKit.Proto.ParticipantKind), typeof(global::LiveKit.Proto.ParticipantKindDetail), typeof(global::LiveKit.Proto.DisconnectReason), }, null, new pbr::GeneratedClrTypeInfo[] {
@@ -148,6 +148,7 @@ public enum DisconnectReason {
[pbr::OriginalName("SIP_TRUNK_FAILURE")] SipTrunkFailure = 13,
[pbr::OriginalName("CONNECTION_TIMEOUT")] ConnectionTimeout = 14,
[pbr::OriginalName("MEDIA_FAILURE")] MediaFailure = 15,
+ [pbr::OriginalName("AGENT_ERROR")] AgentError = 16,
}
#endregion
diff --git a/Runtime/Scripts/Proto/Room.cs b/Runtime/Scripts/Proto/Room.cs
index daae97d4..676bbd6a 100644
--- a/Runtime/Scripts/Proto/Room.cs
+++ b/Runtime/Scripts/Proto/Room.cs
@@ -40,310 +40,314 @@ static RoomReflection() {
"MhgubGl2ZWtpdC5wcm90by5Pd25lZFJvb20SOgoRbG9jYWxfcGFydGljaXBh",
"bnQYAiACKAsyHy5saXZla2l0LnByb3RvLk93bmVkUGFydGljaXBhbnQSSgoM",
"cGFydGljaXBhbnRzGAMgAygLMjQubGl2ZWtpdC5wcm90by5Db25uZWN0Q2Fs",
- "bGJhY2suUGFydGljaXBhbnRXaXRoVHJhY2tzQgkKB21lc3NhZ2UiQgoRRGlz",
+ "bGJhY2suUGFydGljaXBhbnRXaXRoVHJhY2tzQgkKB21lc3NhZ2UicwoRRGlz",
"Y29ubmVjdFJlcXVlc3QSEwoLcm9vbV9oYW5kbGUYASACKAQSGAoQcmVxdWVz",
- "dF9hc3luY19pZBgCIAEoBCImChJEaXNjb25uZWN0UmVzcG9uc2USEAoIYXN5",
- "bmNfaWQYASACKAQiJgoSRGlzY29ubmVjdENhbGxiYWNrEhAKCGFzeW5jX2lk",
- "GAEgAigEIpwBChNQdWJsaXNoVHJhY2tSZXF1ZXN0EiAKGGxvY2FsX3BhcnRp",
- "Y2lwYW50X2hhbmRsZRgBIAIoBBIUCgx0cmFja19oYW5kbGUYAiACKAQSMwoH",
- "b3B0aW9ucxgDIAIoCzIiLmxpdmVraXQucHJvdG8uVHJhY2tQdWJsaXNoT3B0",
- "aW9ucxIYChByZXF1ZXN0X2FzeW5jX2lkGAQgASgEIigKFFB1Ymxpc2hUcmFj",
- "a1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIoEBChRQdWJsaXNoVHJhY2tD",
- "YWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIPCgVlcnJvchgCIAEoCUgAEjsK",
- "C3B1YmxpY2F0aW9uGAMgASgLMiQubGl2ZWtpdC5wcm90by5Pd25lZFRyYWNr",
- "UHVibGljYXRpb25IAEIJCgdtZXNzYWdlIoEBChVVbnB1Ymxpc2hUcmFja1Jl",
- "cXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEhEKCXRy",
- "YWNrX3NpZBgCIAIoCRIZChFzdG9wX29uX3VucHVibGlzaBgDIAIoCBIYChBy",
- "ZXF1ZXN0X2FzeW5jX2lkGAQgASgEIioKFlVucHVibGlzaFRyYWNrUmVzcG9u",
- "c2USEAoIYXN5bmNfaWQYASACKAQiOQoWVW5wdWJsaXNoVHJhY2tDYWxsYmFj",
- "axIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSLTAQoSUHVibGlz",
- "aERhdGFSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
- "BBIQCghkYXRhX3B0chgCIAIoBBIQCghkYXRhX2xlbhgDIAIoBBIQCghyZWxp",
- "YWJsZRgEIAIoCBIcChBkZXN0aW5hdGlvbl9zaWRzGAUgAygJQgIYARINCgV0",
- "b3BpYxgGIAEoCRIeChZkZXN0aW5hdGlvbl9pZGVudGl0aWVzGAcgAygJEhgK",
- "EHJlcXVlc3RfYXN5bmNfaWQYCCABKAQiJwoTUHVibGlzaERhdGFSZXNwb25z",
- "ZRIQCghhc3luY19pZBgBIAIoBCI2ChNQdWJsaXNoRGF0YUNhbGxiYWNrEhAK",
- "CGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJIsABChtQdWJsaXNoVHJh",
- "bnNjcmlwdGlvblJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxl",
- "GAEgAigEEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAIgAigJEhAKCHRyYWNr",
- "X2lkGAMgAigJEjUKCHNlZ21lbnRzGAQgAygLMiMubGl2ZWtpdC5wcm90by5U",
- "cmFuc2NyaXB0aW9uU2VnbWVudBIYChByZXF1ZXN0X2FzeW5jX2lkGAUgASgE",
- "IjAKHFB1Ymxpc2hUcmFuc2NyaXB0aW9uUmVzcG9uc2USEAoIYXN5bmNfaWQY",
- "ASACKAQiPwocUHVibGlzaFRyYW5zY3JpcHRpb25DYWxsYmFjaxIQCghhc3lu",
- "Y19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSKQAQoVUHVibGlzaFNpcER0bWZS",
- "ZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIMCgRj",
- "b2RlGAIgAigNEg0KBWRpZ2l0GAMgAigJEh4KFmRlc3RpbmF0aW9uX2lkZW50",
- "aXRpZXMYBCADKAkSGAoQcmVxdWVzdF9hc3luY19pZBgFIAEoBCIqChZQdWJs",
- "aXNoU2lwRHRtZlJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIjkKFlB1Ymxp",
- "c2hTaXBEdG1mQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IY",
- "AiABKAkiZwoXU2V0TG9jYWxNZXRhZGF0YVJlcXVlc3QSIAoYbG9jYWxfcGFy",
- "dGljaXBhbnRfaGFuZGxlGAEgAigEEhAKCG1ldGFkYXRhGAIgAigJEhgKEHJl",
- "cXVlc3RfYXN5bmNfaWQYAyABKAQiLAoYU2V0TG9jYWxNZXRhZGF0YVJlc3Bv",
- "bnNlEhAKCGFzeW5jX2lkGAEgAigEIjsKGFNldExvY2FsTWV0YWRhdGFDYWxs",
- "YmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSKeAQoWU2Vu",
- "ZENoYXRNZXNzYWdlUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5k",
- "bGUYASACKAQSDwoHbWVzc2FnZRgCIAIoCRIeChZkZXN0aW5hdGlvbl9pZGVu",
- "dGl0aWVzGAMgAygJEhcKD3NlbmRlcl9pZGVudGl0eRgEIAEoCRIYChByZXF1",
- "ZXN0X2FzeW5jX2lkGAUgASgEItYBChZFZGl0Q2hhdE1lc3NhZ2VSZXF1ZXN0",
- "EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIRCgllZGl0X3Rl",
- "eHQYAiACKAkSNAoQb3JpZ2luYWxfbWVzc2FnZRgDIAIoCzIaLmxpdmVraXQu",
- "cHJvdG8uQ2hhdE1lc3NhZ2USHgoWZGVzdGluYXRpb25faWRlbnRpdGllcxgE",
- "IAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBSABKAkSGAoQcmVxdWVzdF9hc3lu",
- "Y19pZBgGIAEoBCIrChdTZW5kQ2hhdE1lc3NhZ2VSZXNwb25zZRIQCghhc3lu",
- "Y19pZBgBIAIoBCJ7ChdTZW5kQ2hhdE1lc3NhZ2VDYWxsYmFjaxIQCghhc3lu",
- "Y19pZBgBIAIoBBIPCgVlcnJvchgCIAEoCUgAEjIKDGNoYXRfbWVzc2FnZRgD",
- "IAEoCzIaLmxpdmVraXQucHJvdG8uQ2hhdE1lc3NhZ2VIAEIJCgdtZXNzYWdl",
- "IosBChlTZXRMb2NhbEF0dHJpYnV0ZXNSZXF1ZXN0EiAKGGxvY2FsX3BhcnRp",
- "Y2lwYW50X2hhbmRsZRgBIAIoBBIyCgphdHRyaWJ1dGVzGAIgAygLMh4ubGl2",
- "ZWtpdC5wcm90by5BdHRyaWJ1dGVzRW50cnkSGAoQcmVxdWVzdF9hc3luY19p",
- "ZBgDIAEoBCItCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgAigJEg0KBXZh",
- "bHVlGAIgAigJIi4KGlNldExvY2FsQXR0cmlidXRlc1Jlc3BvbnNlEhAKCGFz",
- "eW5jX2lkGAEgAigEIj0KGlNldExvY2FsQXR0cmlidXRlc0NhbGxiYWNrEhAK",
- "CGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJIl8KE1NldExvY2FsTmFt",
- "ZVJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEgwK",
- "BG5hbWUYAiACKAkSGAoQcmVxdWVzdF9hc3luY19pZBgDIAEoBCIoChRTZXRM",
- "b2NhbE5hbWVSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCI3ChRTZXRMb2Nh",
- "bE5hbWVDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEo",
- "CSJFChRTZXRTdWJzY3JpYmVkUmVxdWVzdBIRCglzdWJzY3JpYmUYASACKAgS",
- "GgoScHVibGljYXRpb25faGFuZGxlGAIgAigEIhcKFVNldFN1YnNjcmliZWRS",
- "ZXNwb25zZSJHChZHZXRTZXNzaW9uU3RhdHNSZXF1ZXN0EhMKC3Jvb21faGFu",
- "ZGxlGAEgAigEEhgKEHJlcXVlc3RfYXN5bmNfaWQYAiABKAQiKwoXR2V0U2Vz",
- "c2lvblN0YXRzUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQi9wEKF0dldFNl",
- "c3Npb25TdGF0c0NhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEg8KBWVycm9y",
- "GAIgASgJSAASPwoGcmVzdWx0GAMgASgLMi0ubGl2ZWtpdC5wcm90by5HZXRT",
- "ZXNzaW9uU3RhdHNDYWxsYmFjay5SZXN1bHRIABptCgZSZXN1bHQSMAoPcHVi",
- "bGlzaGVyX3N0YXRzGAEgAygLMhcubGl2ZWtpdC5wcm90by5SdGNTdGF0cxIx",
- "ChBzdWJzY3JpYmVyX3N0YXRzGAIgAygLMhcubGl2ZWtpdC5wcm90by5SdGNT",
- "dGF0c0IJCgdtZXNzYWdlIjsKDVZpZGVvRW5jb2RpbmcSEwoLbWF4X2JpdHJh",
- "dGUYASACKAQSFQoNbWF4X2ZyYW1lcmF0ZRgCIAIoASIkCg1BdWRpb0VuY29k",
- "aW5nEhMKC21heF9iaXRyYXRlGAEgAigEIrUCChNUcmFja1B1Ymxpc2hPcHRp",
- "b25zEjQKDnZpZGVvX2VuY29kaW5nGAEgASgLMhwubGl2ZWtpdC5wcm90by5W",
- "aWRlb0VuY29kaW5nEjQKDmF1ZGlvX2VuY29kaW5nGAIgASgLMhwubGl2ZWtp",
- "dC5wcm90by5BdWRpb0VuY29kaW5nEi4KC3ZpZGVvX2NvZGVjGAMgASgOMhku",
- "bGl2ZWtpdC5wcm90by5WaWRlb0NvZGVjEgsKA2R0eBgEIAEoCBILCgNyZWQY",
- "BSABKAgSEQoJc2ltdWxjYXN0GAYgASgIEioKBnNvdXJjZRgHIAEoDjIaLmxp",
- "dmVraXQucHJvdG8uVHJhY2tTb3VyY2USDgoGc3RyZWFtGAggASgJEhkKEXBy",
- "ZWNvbm5lY3RfYnVmZmVyGAkgASgIIj0KCUljZVNlcnZlchIMCgR1cmxzGAEg",
- "AygJEhAKCHVzZXJuYW1lGAIgASgJEhAKCHBhc3N3b3JkGAMgASgJIsQBCglS",
- "dGNDb25maWcSOwoSaWNlX3RyYW5zcG9ydF90eXBlGAEgASgOMh8ubGl2ZWtp",
- "dC5wcm90by5JY2VUcmFuc3BvcnRUeXBlEksKGmNvbnRpbnVhbF9nYXRoZXJp",
- "bmdfcG9saWN5GAIgASgOMicubGl2ZWtpdC5wcm90by5Db250aW51YWxHYXRo",
- "ZXJpbmdQb2xpY3kSLQoLaWNlX3NlcnZlcnMYAyADKAsyGC5saXZla2l0LnBy",
- "b3RvLkljZVNlcnZlciLyAQoLUm9vbU9wdGlvbnMSFgoOYXV0b19zdWJzY3Jp",
- "YmUYASABKAgSFwoPYWRhcHRpdmVfc3RyZWFtGAIgASgIEhAKCGR5bmFjYXN0",
- "GAMgASgIEiwKBGUyZWUYBCABKAsyGi5saXZla2l0LnByb3RvLkUyZWVPcHRp",
- "b25zQgIYARIsCgpydGNfY29uZmlnGAUgASgLMhgubGl2ZWtpdC5wcm90by5S",
- "dGNDb25maWcSFAoMam9pbl9yZXRyaWVzGAYgASgNEi4KCmVuY3J5cHRpb24Y",
- "ByABKAsyGi5saXZla2l0LnByb3RvLkUyZWVPcHRpb25zIncKFFRyYW5zY3Jp",
- "cHRpb25TZWdtZW50EgoKAmlkGAEgAigJEgwKBHRleHQYAiACKAkSEgoKc3Rh",
- "cnRfdGltZRgDIAIoBBIQCghlbmRfdGltZRgEIAIoBBINCgVmaW5hbBgFIAIo",
- "CBIQCghsYW5ndWFnZRgGIAIoCSIwCgpCdWZmZXJJbmZvEhAKCGRhdGFfcHRy",
- "GAEgAigEEhAKCGRhdGFfbGVuGAIgAigEImUKC093bmVkQnVmZmVyEi0KBmhh",
- "bmRsZRgBIAIoCzIdLmxpdmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUSJwoE",
- "ZGF0YRgCIAIoCzIZLmxpdmVraXQucHJvdG8uQnVmZmVySW5mbyKLFgoJUm9v",
- "bUV2ZW50EhMKC3Jvb21faGFuZGxlGAEgAigEEkQKFXBhcnRpY2lwYW50X2Nv",
- "bm5lY3RlZBgCIAEoCzIjLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRDb25u",
- "ZWN0ZWRIABJKChhwYXJ0aWNpcGFudF9kaXNjb25uZWN0ZWQYAyABKAsyJi5s",
- "aXZla2l0LnByb3RvLlBhcnRpY2lwYW50RGlzY29ubmVjdGVkSAASQwoVbG9j",
- "YWxfdHJhY2tfcHVibGlzaGVkGAQgASgLMiIubGl2ZWtpdC5wcm90by5Mb2Nh",
- "bFRyYWNrUHVibGlzaGVkSAASRwoXbG9jYWxfdHJhY2tfdW5wdWJsaXNoZWQY",
- "BSABKAsyJC5saXZla2l0LnByb3RvLkxvY2FsVHJhY2tVbnB1Ymxpc2hlZEgA",
- "EkUKFmxvY2FsX3RyYWNrX3N1YnNjcmliZWQYBiABKAsyIy5saXZla2l0LnBy",
- "b3RvLkxvY2FsVHJhY2tTdWJzY3JpYmVkSAASOAoPdHJhY2tfcHVibGlzaGVk",
- "GAcgASgLMh0ubGl2ZWtpdC5wcm90by5UcmFja1B1Ymxpc2hlZEgAEjwKEXRy",
- "YWNrX3VucHVibGlzaGVkGAggASgLMh8ubGl2ZWtpdC5wcm90by5UcmFja1Vu",
- "cHVibGlzaGVkSAASOgoQdHJhY2tfc3Vic2NyaWJlZBgJIAEoCzIeLmxpdmVr",
- "aXQucHJvdG8uVHJhY2tTdWJzY3JpYmVkSAASPgoSdHJhY2tfdW5zdWJzY3Jp",
- "YmVkGAogASgLMiAubGl2ZWtpdC5wcm90by5UcmFja1Vuc3Vic2NyaWJlZEgA",
- "EksKGXRyYWNrX3N1YnNjcmlwdGlvbl9mYWlsZWQYCyABKAsyJi5saXZla2l0",
- "LnByb3RvLlRyYWNrU3Vic2NyaXB0aW9uRmFpbGVkSAASMAoLdHJhY2tfbXV0",
- "ZWQYDCABKAsyGS5saXZla2l0LnByb3RvLlRyYWNrTXV0ZWRIABI0Cg10cmFj",
- "a191bm11dGVkGA0gASgLMhsubGl2ZWtpdC5wcm90by5UcmFja1VubXV0ZWRI",
- "ABJHChdhY3RpdmVfc3BlYWtlcnNfY2hhbmdlZBgOIAEoCzIkLmxpdmVraXQu",
- "cHJvdG8uQWN0aXZlU3BlYWtlcnNDaGFuZ2VkSAASQwoVcm9vbV9tZXRhZGF0",
- "YV9jaGFuZ2VkGA8gASgLMiIubGl2ZWtpdC5wcm90by5Sb29tTWV0YWRhdGFD",
- "aGFuZ2VkSAASOQoQcm9vbV9zaWRfY2hhbmdlZBgQIAEoCzIdLmxpdmVraXQu",
- "cHJvdG8uUm9vbVNpZENoYW5nZWRIABJRChxwYXJ0aWNpcGFudF9tZXRhZGF0",
- "YV9jaGFuZ2VkGBEgASgLMikubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFudE1l",
- "dGFkYXRhQ2hhbmdlZEgAEkkKGHBhcnRpY2lwYW50X25hbWVfY2hhbmdlZBgS",
- "IAEoCzIlLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnROYW1lQ2hhbmdlZEgA",
- "ElUKHnBhcnRpY2lwYW50X2F0dHJpYnV0ZXNfY2hhbmdlZBgTIAEoCzIrLmxp",
- "dmVraXQucHJvdG8uUGFydGljaXBhbnRBdHRyaWJ1dGVzQ2hhbmdlZEgAEk0K",
- "GmNvbm5lY3Rpb25fcXVhbGl0eV9jaGFuZ2VkGBQgASgLMicubGl2ZWtpdC5w",
- "cm90by5Db25uZWN0aW9uUXVhbGl0eUNoYW5nZWRIABJJChhjb25uZWN0aW9u",
- "X3N0YXRlX2NoYW5nZWQYFSABKAsyJS5saXZla2l0LnByb3RvLkNvbm5lY3Rp",
- "b25TdGF0ZUNoYW5nZWRIABIzCgxkaXNjb25uZWN0ZWQYFiABKAsyGy5saXZl",
- "a2l0LnByb3RvLkRpc2Nvbm5lY3RlZEgAEjMKDHJlY29ubmVjdGluZxgXIAEo",
- "CzIbLmxpdmVraXQucHJvdG8uUmVjb25uZWN0aW5nSAASMQoLcmVjb25uZWN0",
- "ZWQYGCABKAsyGi5saXZla2l0LnByb3RvLlJlY29ubmVjdGVkSAASPQoSZTJl",
- "ZV9zdGF0ZV9jaGFuZ2VkGBkgASgLMh8ubGl2ZWtpdC5wcm90by5FMmVlU3Rh",
- "dGVDaGFuZ2VkSAASJQoDZW9zGBogASgLMhYubGl2ZWtpdC5wcm90by5Sb29t",
- "RU9TSAASQQoUZGF0YV9wYWNrZXRfcmVjZWl2ZWQYGyABKAsyIS5saXZla2l0",
- "LnByb3RvLkRhdGFQYWNrZXRSZWNlaXZlZEgAEkYKFnRyYW5zY3JpcHRpb25f",
- "cmVjZWl2ZWQYHCABKAsyJC5saXZla2l0LnByb3RvLlRyYW5zY3JpcHRpb25S",
- "ZWNlaXZlZEgAEjoKDGNoYXRfbWVzc2FnZRgdIAEoCzIiLmxpdmVraXQucHJv",
- "dG8uQ2hhdE1lc3NhZ2VSZWNlaXZlZEgAEkkKFnN0cmVhbV9oZWFkZXJfcmVj",
- "ZWl2ZWQYHiABKAsyJy5saXZla2l0LnByb3RvLkRhdGFTdHJlYW1IZWFkZXJS",
- "ZWNlaXZlZEgAEkcKFXN0cmVhbV9jaHVua19yZWNlaXZlZBgfIAEoCzImLmxp",
- "dmVraXQucHJvdG8uRGF0YVN0cmVhbUNodW5rUmVjZWl2ZWRIABJLChdzdHJl",
- "YW1fdHJhaWxlcl9yZWNlaXZlZBggIAEoCzIoLmxpdmVraXQucHJvdG8uRGF0",
- "YVN0cmVhbVRyYWlsZXJSZWNlaXZlZEgAEmkKImRhdGFfY2hhbm5lbF9sb3df",
- "dGhyZXNob2xkX2NoYW5nZWQYISABKAsyOy5saXZla2l0LnByb3RvLkRhdGFD",
- "aGFubmVsQnVmZmVyZWRBbW91bnRMb3dUaHJlc2hvbGRDaGFuZ2VkSAASPQoS",
- "Ynl0ZV9zdHJlYW1fb3BlbmVkGCIgASgLMh8ubGl2ZWtpdC5wcm90by5CeXRl",
- "U3RyZWFtT3BlbmVkSAASPQoSdGV4dF9zdHJlYW1fb3BlbmVkGCMgASgLMh8u",
- "bGl2ZWtpdC5wcm90by5UZXh0U3RyZWFtT3BlbmVkSAASLwoMcm9vbV91cGRh",
- "dGVkGCQgASgLMhcubGl2ZWtpdC5wcm90by5Sb29tSW5mb0gAEigKBW1vdmVk",
- "GCUgASgLMhcubGl2ZWtpdC5wcm90by5Sb29tSW5mb0gAEkIKFHBhcnRpY2lw",
- "YW50c191cGRhdGVkGCYgASgLMiIubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFu",
- "dHNVcGRhdGVkSAASYgolcGFydGljaXBhbnRfZW5jcnlwdGlvbl9zdGF0dXNf",
- "Y2hhbmdlZBgnIAEoCzIxLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRFbmNy",
- "eXB0aW9uU3RhdHVzQ2hhbmdlZEgAElUKHnBhcnRpY2lwYW50X3Blcm1pc3Np",
- "b25fY2hhbmdlZBgpIAEoCzIrLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRQ",
- "ZXJtaXNzaW9uQ2hhbmdlZEgAEjgKD3Rva2VuX3JlZnJlc2hlZBgoIAEoCzId",
- "LmxpdmVraXQucHJvdG8uVG9rZW5SZWZyZXNoZWRIABJOChtyZW1vdGVfZGF0",
- "YV90cmFja19wdWJsaXNoZWQYKiABKAsyJy5saXZla2l0LnByb3RvLlJlbW90",
- "ZURhdGFUcmFja1B1Ymxpc2hlZEgAQgkKB21lc3NhZ2UiyQIKCFJvb21JbmZv",
- "EgsKA3NpZBgBIAEoCRIMCgRuYW1lGAIgAigJEhAKCG1ldGFkYXRhGAMgAigJ",
- "Ei4KJmxvc3N5X2RjX2J1ZmZlcmVkX2Ftb3VudF9sb3dfdGhyZXNob2xkGAQg",
- "AigEEjEKKXJlbGlhYmxlX2RjX2J1ZmZlcmVkX2Ftb3VudF9sb3dfdGhyZXNo",
- "b2xkGAUgAigEEhUKDWVtcHR5X3RpbWVvdXQYBiACKA0SGQoRZGVwYXJ0dXJl",
- "X3RpbWVvdXQYByACKA0SGAoQbWF4X3BhcnRpY2lwYW50cxgIIAIoDRIVCg1j",
- "cmVhdGlvbl90aW1lGAkgAigDEhgKEG51bV9wYXJ0aWNpcGFudHMYCiACKA0S",
- "FgoObnVtX3B1Ymxpc2hlcnMYCyACKA0SGAoQYWN0aXZlX3JlY29yZGluZxgM",
- "IAIoCCJhCglPd25lZFJvb20SLQoGaGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5w",
- "cm90by5GZmlPd25lZEhhbmRsZRIlCgRpbmZvGAIgAigLMhcubGl2ZWtpdC5w",
- "cm90by5Sb29tSW5mbyJLChNQYXJ0aWNpcGFudHNVcGRhdGVkEjQKDHBhcnRp",
- "Y2lwYW50cxgBIAMoCzIeLmxpdmVraXQucHJvdG8uUGFydGljaXBhbnRJbmZv",
- "IkUKFFBhcnRpY2lwYW50Q29ubmVjdGVkEi0KBGluZm8YASACKAsyHy5saXZl",
- "a2l0LnByb3RvLk93bmVkUGFydGljaXBhbnQicwoXUGFydGljaXBhbnREaXNj",
- "b25uZWN0ZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSOgoRZGlz",
- "Y29ubmVjdF9yZWFzb24YAiACKA4yHy5saXZla2l0LnByb3RvLkRpc2Nvbm5l",
- "Y3RSZWFzb24iKAoTTG9jYWxUcmFja1B1Ymxpc2hlZBIRCgl0cmFja19zaWQY",
- "ASACKAkiMAoVTG9jYWxUcmFja1VucHVibGlzaGVkEhcKD3B1YmxpY2F0aW9u",
- "X3NpZBgBIAIoCSIpChRMb2NhbFRyYWNrU3Vic2NyaWJlZBIRCgl0cmFja19z",
- "aWQYAiACKAkiaQoOVHJhY2tQdWJsaXNoZWQSHAoUcGFydGljaXBhbnRfaWRl",
- "bnRpdHkYASACKAkSOQoLcHVibGljYXRpb24YAiACKAsyJC5saXZla2l0LnBy",
- "b3RvLk93bmVkVHJhY2tQdWJsaWNhdGlvbiJJChBUcmFja1VucHVibGlzaGVk",
- "EhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhcKD3B1YmxpY2F0aW9u",
- "X3NpZBgCIAIoCSJZCg9UcmFja1N1YnNjcmliZWQSHAoUcGFydGljaXBhbnRf",
- "aWRlbnRpdHkYASACKAkSKAoFdHJhY2sYAiACKAsyGS5saXZla2l0LnByb3Rv",
- "Lk93bmVkVHJhY2siRAoRVHJhY2tVbnN1YnNjcmliZWQSHAoUcGFydGljaXBh",
- "bnRfaWRlbnRpdHkYASACKAkSEQoJdHJhY2tfc2lkGAIgAigJIlkKF1RyYWNr",
- "U3Vic2NyaXB0aW9uRmFpbGVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEg",
- "AigJEhEKCXRyYWNrX3NpZBgCIAIoCRINCgVlcnJvchgDIAIoCSI9CgpUcmFj",
- "a011dGVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhEKCXRyYWNr",
- "X3NpZBgCIAIoCSI/CgxUcmFja1VubXV0ZWQSHAoUcGFydGljaXBhbnRfaWRl",
- "bnRpdHkYASACKAkSEQoJdHJhY2tfc2lkGAIgAigJIl8KEEUyZWVTdGF0ZUNo",
- "YW5nZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSLQoFc3RhdGUY",
- "AiACKA4yHi5saXZla2l0LnByb3RvLkVuY3J5cHRpb25TdGF0ZSI3ChVBY3Rp",
- "dmVTcGVha2Vyc0NoYW5nZWQSHgoWcGFydGljaXBhbnRfaWRlbnRpdGllcxgB",
- "IAMoCSInChNSb29tTWV0YWRhdGFDaGFuZ2VkEhAKCG1ldGFkYXRhGAEgAigJ",
- "Ih0KDlJvb21TaWRDaGFuZ2VkEgsKA3NpZBgBIAIoCSJMChpQYXJ0aWNpcGFu",
- "dE1ldGFkYXRhQ2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIo",
- "CRIQCghtZXRhZGF0YRgCIAIoCSKsAQocUGFydGljaXBhbnRBdHRyaWJ1dGVz",
- "Q2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIyCgphdHRy",
- "aWJ1dGVzGAIgAygLMh4ubGl2ZWtpdC5wcm90by5BdHRyaWJ1dGVzRW50cnkS",
- "OgoSY2hhbmdlZF9hdHRyaWJ1dGVzGAMgAygLMh4ubGl2ZWtpdC5wcm90by5B",
- "dHRyaWJ1dGVzRW50cnkiWAoiUGFydGljaXBhbnRFbmNyeXB0aW9uU3RhdHVz",
- "Q2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIUCgxpc19l",
- "bmNyeXB0ZWQYAiACKAgiRAoWUGFydGljaXBhbnROYW1lQ2hhbmdlZBIcChRw",
- "YXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIMCgRuYW1lGAIgAigJInYKHFBh",
- "cnRpY2lwYW50UGVybWlzc2lvbkNoYW5nZWQSHAoUcGFydGljaXBhbnRfaWRl",
- "bnRpdHkYASACKAkSOAoKcGVybWlzc2lvbhgCIAEoCzIkLmxpdmVraXQucHJv",
- "dG8uUGFydGljaXBhbnRQZXJtaXNzaW9uImsKGENvbm5lY3Rpb25RdWFsaXR5",
- "Q2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIxCgdxdWFs",
- "aXR5GAIgAigOMiAubGl2ZWtpdC5wcm90by5Db25uZWN0aW9uUXVhbGl0eSJF",
- "CgpVc2VyUGFja2V0EigKBGRhdGEYASACKAsyGi5saXZla2l0LnByb3RvLk93",
- "bmVkQnVmZmVyEg0KBXRvcGljGAIgASgJInkKC0NoYXRNZXNzYWdlEgoKAmlk",
- "GAEgAigJEhEKCXRpbWVzdGFtcBgCIAIoAxIPCgdtZXNzYWdlGAMgAigJEhYK",
- "DmVkaXRfdGltZXN0YW1wGAQgASgDEg8KB2RlbGV0ZWQYBSABKAgSEQoJZ2Vu",
- "ZXJhdGVkGAYgASgIImAKE0NoYXRNZXNzYWdlUmVjZWl2ZWQSKwoHbWVzc2Fn",
- "ZRgBIAIoCzIaLmxpdmVraXQucHJvdG8uQ2hhdE1lc3NhZ2USHAoUcGFydGlj",
- "aXBhbnRfaWRlbnRpdHkYAiACKAkiJgoHU2lwRFRNRhIMCgRjb2RlGAEgAigN",
- "Eg0KBWRpZ2l0GAIgASgJIr8BChJEYXRhUGFja2V0UmVjZWl2ZWQSKwoEa2lu",
- "ZBgBIAIoDjIdLmxpdmVraXQucHJvdG8uRGF0YVBhY2tldEtpbmQSHAoUcGFy",
- "dGljaXBhbnRfaWRlbnRpdHkYAiACKAkSKQoEdXNlchgEIAEoCzIZLmxpdmVr",
- "aXQucHJvdG8uVXNlclBhY2tldEgAEioKCHNpcF9kdG1mGAUgASgLMhYubGl2",
- "ZWtpdC5wcm90by5TaXBEVE1GSABCBwoFdmFsdWUifwoVVHJhbnNjcmlwdGlv",
- "blJlY2VpdmVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgASgJEhEKCXRy",
- "YWNrX3NpZBgCIAEoCRI1CghzZWdtZW50cxgDIAMoCzIjLmxpdmVraXQucHJv",
- "dG8uVHJhbnNjcmlwdGlvblNlZ21lbnQiRwoWQ29ubmVjdGlvblN0YXRlQ2hh",
- "bmdlZBItCgVzdGF0ZRgBIAIoDjIeLmxpdmVraXQucHJvdG8uQ29ubmVjdGlv",
- "blN0YXRlIgsKCUNvbm5lY3RlZCI/CgxEaXNjb25uZWN0ZWQSLwoGcmVhc29u",
- "GAEgAigOMh8ubGl2ZWtpdC5wcm90by5EaXNjb25uZWN0UmVhc29uIg4KDFJl",
- "Y29ubmVjdGluZyINCgtSZWNvbm5lY3RlZCIfCg5Ub2tlblJlZnJlc2hlZBIN",
- "CgV0b2tlbhgBIAIoCSIJCgdSb29tRU9TIo4HCgpEYXRhU3RyZWFtGqoBCgpU",
- "ZXh0SGVhZGVyEj8KDm9wZXJhdGlvbl90eXBlGAEgAigOMicubGl2ZWtpdC5w",
- "cm90by5EYXRhU3RyZWFtLk9wZXJhdGlvblR5cGUSDwoHdmVyc2lvbhgCIAEo",
- "BRIaChJyZXBseV90b19zdHJlYW1faWQYAyABKAkSGwoTYXR0YWNoZWRfc3Ry",
- "ZWFtX2lkcxgEIAMoCRIRCglnZW5lcmF0ZWQYBSABKAgaGgoKQnl0ZUhlYWRl",
- "chIMCgRuYW1lGAEgAigJGusCCgZIZWFkZXISEQoJc3RyZWFtX2lkGAEgAigJ",
- "EhEKCXRpbWVzdGFtcBgCIAIoAxIRCgltaW1lX3R5cGUYAyACKAkSDQoFdG9w",
- "aWMYBCACKAkSFAoMdG90YWxfbGVuZ3RoGAUgASgEEkQKCmF0dHJpYnV0ZXMY",
- "BiADKAsyMC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uSGVhZGVyLkF0dHJp",
- "YnV0ZXNFbnRyeRI7Cgt0ZXh0X2hlYWRlchgHIAEoCzIkLmxpdmVraXQucHJv",
- "dG8uRGF0YVN0cmVhbS5UZXh0SGVhZGVySAASOwoLYnl0ZV9oZWFkZXIYCCAB",
- "KAsyJC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uQnl0ZUhlYWRlckgAGjEK",
- "D0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6",
- "AjgBQhAKDmNvbnRlbnRfaGVhZGVyGl0KBUNodW5rEhEKCXN0cmVhbV9pZBgB",
- "IAIoCRITCgtjaHVua19pbmRleBgCIAIoBBIPCgdjb250ZW50GAMgAigMEg8K",
- "B3ZlcnNpb24YBCABKAUSCgoCaXYYBSABKAwapgEKB1RyYWlsZXISEQoJc3Ry",
- "ZWFtX2lkGAEgAigJEg4KBnJlYXNvbhgCIAIoCRJFCgphdHRyaWJ1dGVzGAMg",
- "AygLMjEubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFtLlRyYWlsZXIuQXR0cmli",
- "dXRlc0VudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoF",
- "dmFsdWUYAiABKAk6AjgBIkEKDU9wZXJhdGlvblR5cGUSCgoGQ1JFQVRFEAAS",
- "CgoGVVBEQVRFEAESCgoGREVMRVRFEAISDAoIUkVBQ1RJT04QAyJqChhEYXRh",
- "U3RyZWFtSGVhZGVyUmVjZWl2ZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkY",
- "ASACKAkSMAoGaGVhZGVyGAIgAigLMiAubGl2ZWtpdC5wcm90by5EYXRhU3Ry",
- "ZWFtLkhlYWRlciJnChdEYXRhU3RyZWFtQ2h1bmtSZWNlaXZlZBIcChRwYXJ0",
- "aWNpcGFudF9pZGVudGl0eRgBIAIoCRIuCgVjaHVuaxgCIAIoCzIfLmxpdmVr",
- "aXQucHJvdG8uRGF0YVN0cmVhbS5DaHVuayJtChlEYXRhU3RyZWFtVHJhaWxl",
- "clJlY2VpdmVkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEjIKB3Ry",
- "YWlsZXIYAiACKAsyIS5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uVHJhaWxl",
- "ciLAAQoXU2VuZFN0cmVhbUhlYWRlclJlcXVlc3QSIAoYbG9jYWxfcGFydGlj",
- "aXBhbnRfaGFuZGxlGAEgAigEEjAKBmhlYWRlchgCIAIoCzIgLmxpdmVraXQu",
- "cHJvdG8uRGF0YVN0cmVhbS5IZWFkZXISHgoWZGVzdGluYXRpb25faWRlbnRp",
- "dGllcxgDIAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBCACKAkSGAoQcmVxdWVz",
- "dF9hc3luY19pZBgFIAEoBCK9AQoWU2VuZFN0cmVhbUNodW5rUmVxdWVzdBIg",
- "Chhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSLgoFY2h1bmsYAiAC",
- "KAsyHy5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uQ2h1bmsSHgoWZGVzdGlu",
- "YXRpb25faWRlbnRpdGllcxgDIAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBCAC",
- "KAkSGAoQcmVxdWVzdF9hc3luY19pZBgFIAEoBCLDAQoYU2VuZFN0cmVhbVRy",
- "YWlsZXJSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
- "BBIyCgd0cmFpbGVyGAIgAigLMiEubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFt",
- "LlRyYWlsZXISHgoWZGVzdGluYXRpb25faWRlbnRpdGllcxgDIAMoCRIXCg9z",
- "ZW5kZXJfaWRlbnRpdHkYBCACKAkSGAoQcmVxdWVzdF9hc3luY19pZBgFIAEo",
- "BCIsChhTZW5kU3RyZWFtSGVhZGVyUmVzcG9uc2USEAoIYXN5bmNfaWQYASAC",
- "KAQiKwoXU2VuZFN0cmVhbUNodW5rUmVzcG9uc2USEAoIYXN5bmNfaWQYASAC",
- "KAQiLQoZU2VuZFN0cmVhbVRyYWlsZXJSZXNwb25zZRIQCghhc3luY19pZBgB",
- "IAIoBCI7ChhTZW5kU3RyZWFtSGVhZGVyQ2FsbGJhY2sSEAoIYXN5bmNfaWQY",
- "ASACKAQSDQoFZXJyb3IYAiABKAkiOgoXU2VuZFN0cmVhbUNodW5rQ2FsbGJh",
- "Y2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IYAiABKAkiPAoZU2VuZFN0",
- "cmVhbVRyYWlsZXJDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJv",
- "chgCIAEoCSKTAQovU2V0RGF0YUNoYW5uZWxCdWZmZXJlZEFtb3VudExvd1Ro",
- "cmVzaG9sZFJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEg",
- "AigEEhEKCXRocmVzaG9sZBgCIAIoBBIrCgRraW5kGAMgAigOMh0ubGl2ZWtp",
- "dC5wcm90by5EYXRhUGFja2V0S2luZCIyCjBTZXREYXRhQ2hhbm5lbEJ1ZmZl",
- "cmVkQW1vdW50TG93VGhyZXNob2xkUmVzcG9uc2UibgosRGF0YUNoYW5uZWxC",
- "dWZmZXJlZEFtb3VudExvd1RocmVzaG9sZENoYW5nZWQSKwoEa2luZBgBIAIo",
- "DjIdLmxpdmVraXQucHJvdG8uRGF0YVBhY2tldEtpbmQSEQoJdGhyZXNob2xk",
- "GAIgAigEImYKEEJ5dGVTdHJlYW1PcGVuZWQSNAoGcmVhZGVyGAEgAigLMiQu",
- "bGl2ZWtpdC5wcm90by5Pd25lZEJ5dGVTdHJlYW1SZWFkZXISHAoUcGFydGlj",
- "aXBhbnRfaWRlbnRpdHkYAiACKAkiZgoQVGV4dFN0cmVhbU9wZW5lZBI0CgZy",
- "ZWFkZXIYASACKAsyJC5saXZla2l0LnByb3RvLk93bmVkVGV4dFN0cmVhbVJl",
- "YWRlchIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgCIAIoCSJOChhSZW1vdGVE",
- "YXRhVHJhY2tQdWJsaXNoZWQSMgoFdHJhY2sYASACKAsyIy5saXZla2l0LnBy",
- "b3RvLk93bmVkUmVtb3RlRGF0YVRyYWNrKlAKEEljZVRyYW5zcG9ydFR5cGUS",
- "EwoPVFJBTlNQT1JUX1JFTEFZEAASFAoQVFJBTlNQT1JUX05PSE9TVBABEhEK",
- "DVRSQU5TUE9SVF9BTEwQAipDChhDb250aW51YWxHYXRoZXJpbmdQb2xpY3kS",
- "DwoLR0FUSEVSX09OQ0UQABIWChJHQVRIRVJfQ09OVElOVUFMTFkQASpgChFD",
- "b25uZWN0aW9uUXVhbGl0eRIQCgxRVUFMSVRZX1BPT1IQABIQCgxRVUFMSVRZ",
- "X0dPT0QQARIVChFRVUFMSVRZX0VYQ0VMTEVOVBACEhAKDFFVQUxJVFlfTE9T",
- "VBADKlMKD0Nvbm5lY3Rpb25TdGF0ZRIVChFDT05OX0RJU0NPTk5FQ1RFRBAA",
- "EhIKDkNPTk5fQ09OTkVDVEVEEAESFQoRQ09OTl9SRUNPTk5FQ1RJTkcQAioz",
- "Cg5EYXRhUGFja2V0S2luZBIOCgpLSU5EX0xPU1NZEAASEQoNS0lORF9SRUxJ",
- "QUJMRRABQhCqAg1MaXZlS2l0LlByb3Rv"));
+ "dF9hc3luY19pZBgCIAEoBBIvCgZyZWFzb24YAyABKA4yHy5saXZla2l0LnBy",
+ "b3RvLkRpc2Nvbm5lY3RSZWFzb24iJgoSRGlzY29ubmVjdFJlc3BvbnNlEhAK",
+ "CGFzeW5jX2lkGAEgAigEIiYKEkRpc2Nvbm5lY3RDYWxsYmFjaxIQCghhc3lu",
+ "Y19pZBgBIAIoBCKcAQoTUHVibGlzaFRyYWNrUmVxdWVzdBIgChhsb2NhbF9w",
+ "YXJ0aWNpcGFudF9oYW5kbGUYASACKAQSFAoMdHJhY2tfaGFuZGxlGAIgAigE",
+ "EjMKB29wdGlvbnMYAyACKAsyIi5saXZla2l0LnByb3RvLlRyYWNrUHVibGlz",
+ "aE9wdGlvbnMSGAoQcmVxdWVzdF9hc3luY19pZBgEIAEoBCIoChRQdWJsaXNo",
+ "VHJhY2tSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCKBAQoUUHVibGlzaFRy",
+ "YWNrQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDwoFZXJyb3IYAiABKAlI",
+ "ABI7CgtwdWJsaWNhdGlvbhgDIAEoCzIkLmxpdmVraXQucHJvdG8uT3duZWRU",
+ "cmFja1B1YmxpY2F0aW9uSABCCQoHbWVzc2FnZSKBAQoVVW5wdWJsaXNoVHJh",
+ "Y2tSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIR",
+ "Cgl0cmFja19zaWQYAiACKAkSGQoRc3RvcF9vbl91bnB1Ymxpc2gYAyACKAgS",
+ "GAoQcmVxdWVzdF9hc3luY19pZBgEIAEoBCIqChZVbnB1Ymxpc2hUcmFja1Jl",
+ "c3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIjkKFlVucHVibGlzaFRyYWNrQ2Fs",
+ "bGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IYAiABKAki0wEKElB1",
+ "Ymxpc2hEYXRhUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUY",
+ "ASACKAQSEAoIZGF0YV9wdHIYAiACKAQSEAoIZGF0YV9sZW4YAyACKAQSEAoI",
+ "cmVsaWFibGUYBCACKAgSHAoQZGVzdGluYXRpb25fc2lkcxgFIAMoCUICGAES",
+ "DQoFdG9waWMYBiABKAkSHgoWZGVzdGluYXRpb25faWRlbnRpdGllcxgHIAMo",
+ "CRIYChByZXF1ZXN0X2FzeW5jX2lkGAggASgEIicKE1B1Ymxpc2hEYXRhUmVz",
+ "cG9uc2USEAoIYXN5bmNfaWQYASACKAQiNgoTUHVibGlzaERhdGFDYWxsYmFj",
+ "axIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSLAAQobUHVibGlz",
+ "aFRyYW5zY3JpcHRpb25SZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hh",
+ "bmRsZRgBIAIoBBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgCIAIoCRIQCgh0",
+ "cmFja19pZBgDIAIoCRI1CghzZWdtZW50cxgEIAMoCzIjLmxpdmVraXQucHJv",
+ "dG8uVHJhbnNjcmlwdGlvblNlZ21lbnQSGAoQcmVxdWVzdF9hc3luY19pZBgF",
+ "IAEoBCIwChxQdWJsaXNoVHJhbnNjcmlwdGlvblJlc3BvbnNlEhAKCGFzeW5j",
+ "X2lkGAEgAigEIj8KHFB1Ymxpc2hUcmFuc2NyaXB0aW9uQ2FsbGJhY2sSEAoI",
+ "YXN5bmNfaWQYASACKAQSDQoFZXJyb3IYAiABKAkikAEKFVB1Ymxpc2hTaXBE",
+ "dG1mUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQS",
+ "DAoEY29kZRgCIAIoDRINCgVkaWdpdBgDIAIoCRIeChZkZXN0aW5hdGlvbl9p",
+ "ZGVudGl0aWVzGAQgAygJEhgKEHJlcXVlc3RfYXN5bmNfaWQYBSABKAQiKgoW",
+ "UHVibGlzaFNpcER0bWZSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCI5ChZQ",
+ "dWJsaXNoU2lwRHRtZkNhbGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEg0KBWVy",
+ "cm9yGAIgASgJImcKF1NldExvY2FsTWV0YWRhdGFSZXF1ZXN0EiAKGGxvY2Fs",
+ "X3BhcnRpY2lwYW50X2hhbmRsZRgBIAIoBBIQCghtZXRhZGF0YRgCIAIoCRIY",
+ "ChByZXF1ZXN0X2FzeW5jX2lkGAMgASgEIiwKGFNldExvY2FsTWV0YWRhdGFS",
+ "ZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCI7ChhTZXRMb2NhbE1ldGFkYXRh",
+ "Q2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IYAiABKAkingEK",
+ "FlNlbmRDaGF0TWVzc2FnZVJlcXVlc3QSIAoYbG9jYWxfcGFydGljaXBhbnRf",
+ "aGFuZGxlGAEgAigEEg8KB21lc3NhZ2UYAiACKAkSHgoWZGVzdGluYXRpb25f",
+ "aWRlbnRpdGllcxgDIAMoCRIXCg9zZW5kZXJfaWRlbnRpdHkYBCABKAkSGAoQ",
+ "cmVxdWVzdF9hc3luY19pZBgFIAEoBCLWAQoWRWRpdENoYXRNZXNzYWdlUmVx",
+ "dWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSEQoJZWRp",
+ "dF90ZXh0GAIgAigJEjQKEG9yaWdpbmFsX21lc3NhZ2UYAyACKAsyGi5saXZl",
+ "a2l0LnByb3RvLkNoYXRNZXNzYWdlEh4KFmRlc3RpbmF0aW9uX2lkZW50aXRp",
+ "ZXMYBCADKAkSFwoPc2VuZGVyX2lkZW50aXR5GAUgASgJEhgKEHJlcXVlc3Rf",
+ "YXN5bmNfaWQYBiABKAQiKwoXU2VuZENoYXRNZXNzYWdlUmVzcG9uc2USEAoI",
+ "YXN5bmNfaWQYASACKAQiewoXU2VuZENoYXRNZXNzYWdlQ2FsbGJhY2sSEAoI",
+ "YXN5bmNfaWQYASACKAQSDwoFZXJyb3IYAiABKAlIABIyCgxjaGF0X21lc3Nh",
+ "Z2UYAyABKAsyGi5saXZla2l0LnByb3RvLkNoYXRNZXNzYWdlSABCCQoHbWVz",
+ "c2FnZSKLAQoZU2V0TG9jYWxBdHRyaWJ1dGVzUmVxdWVzdBIgChhsb2NhbF9w",
+ "YXJ0aWNpcGFudF9oYW5kbGUYASACKAQSMgoKYXR0cmlidXRlcxgCIAMoCzIe",
+ "LmxpdmVraXQucHJvdG8uQXR0cmlidXRlc0VudHJ5EhgKEHJlcXVlc3RfYXN5",
+ "bmNfaWQYAyABKAQiLQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAIoCRIN",
+ "CgV2YWx1ZRgCIAIoCSIuChpTZXRMb2NhbEF0dHJpYnV0ZXNSZXNwb25zZRIQ",
+ "Cghhc3luY19pZBgBIAIoBCI9ChpTZXRMb2NhbEF0dHJpYnV0ZXNDYWxsYmFj",
+ "axIQCghhc3luY19pZBgBIAIoBBINCgVlcnJvchgCIAEoCSJfChNTZXRMb2Nh",
+ "bE5hbWVSZXF1ZXN0EiAKGGxvY2FsX3BhcnRpY2lwYW50X2hhbmRsZRgBIAIo",
+ "BBIMCgRuYW1lGAIgAigJEhgKEHJlcXVlc3RfYXN5bmNfaWQYAyABKAQiKAoU",
+ "U2V0TG9jYWxOYW1lUmVzcG9uc2USEAoIYXN5bmNfaWQYASACKAQiNwoUU2V0",
+ "TG9jYWxOYW1lQ2FsbGJhY2sSEAoIYXN5bmNfaWQYASACKAQSDQoFZXJyb3IY",
+ "AiABKAkiRQoUU2V0U3Vic2NyaWJlZFJlcXVlc3QSEQoJc3Vic2NyaWJlGAEg",
+ "AigIEhoKEnB1YmxpY2F0aW9uX2hhbmRsZRgCIAIoBCIXChVTZXRTdWJzY3Jp",
+ "YmVkUmVzcG9uc2UiRwoWR2V0U2Vzc2lvblN0YXRzUmVxdWVzdBITCgtyb29t",
+ "X2hhbmRsZRgBIAIoBBIYChByZXF1ZXN0X2FzeW5jX2lkGAIgASgEIisKF0dl",
+ "dFNlc3Npb25TdGF0c1Jlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIvcBChdH",
+ "ZXRTZXNzaW9uU3RhdHNDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBIPCgVl",
+ "cnJvchgCIAEoCUgAEj8KBnJlc3VsdBgDIAEoCzItLmxpdmVraXQucHJvdG8u",
+ "R2V0U2Vzc2lvblN0YXRzQ2FsbGJhY2suUmVzdWx0SAAabQoGUmVzdWx0EjAK",
+ "D3B1Ymxpc2hlcl9zdGF0cxgBIAMoCzIXLmxpdmVraXQucHJvdG8uUnRjU3Rh",
+ "dHMSMQoQc3Vic2NyaWJlcl9zdGF0cxgCIAMoCzIXLmxpdmVraXQucHJvdG8u",
+ "UnRjU3RhdHNCCQoHbWVzc2FnZSI7Cg1WaWRlb0VuY29kaW5nEhMKC21heF9i",
+ "aXRyYXRlGAEgAigEEhUKDW1heF9mcmFtZXJhdGUYAiACKAEiJAoNQXVkaW9F",
+ "bmNvZGluZxITCgttYXhfYml0cmF0ZRgBIAIoBCK1AgoTVHJhY2tQdWJsaXNo",
+ "T3B0aW9ucxI0Cg52aWRlb19lbmNvZGluZxgBIAEoCzIcLmxpdmVraXQucHJv",
+ "dG8uVmlkZW9FbmNvZGluZxI0Cg5hdWRpb19lbmNvZGluZxgCIAEoCzIcLmxp",
+ "dmVraXQucHJvdG8uQXVkaW9FbmNvZGluZxIuCgt2aWRlb19jb2RlYxgDIAEo",
+ "DjIZLmxpdmVraXQucHJvdG8uVmlkZW9Db2RlYxILCgNkdHgYBCABKAgSCwoD",
+ "cmVkGAUgASgIEhEKCXNpbXVsY2FzdBgGIAEoCBIqCgZzb3VyY2UYByABKA4y",
+ "Gi5saXZla2l0LnByb3RvLlRyYWNrU291cmNlEg4KBnN0cmVhbRgIIAEoCRIZ",
+ "ChFwcmVjb25uZWN0X2J1ZmZlchgJIAEoCCI9CglJY2VTZXJ2ZXISDAoEdXJs",
+ "cxgBIAMoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghwYXNzd29yZBgDIAEoCSLE",
+ "AQoJUnRjQ29uZmlnEjsKEmljZV90cmFuc3BvcnRfdHlwZRgBIAEoDjIfLmxp",
+ "dmVraXQucHJvdG8uSWNlVHJhbnNwb3J0VHlwZRJLChpjb250aW51YWxfZ2F0",
+ "aGVyaW5nX3BvbGljeRgCIAEoDjInLmxpdmVraXQucHJvdG8uQ29udGludWFs",
+ "R2F0aGVyaW5nUG9saWN5Ei0KC2ljZV9zZXJ2ZXJzGAMgAygLMhgubGl2ZWtp",
+ "dC5wcm90by5JY2VTZXJ2ZXIirgIKC1Jvb21PcHRpb25zEhYKDmF1dG9fc3Vi",
+ "c2NyaWJlGAEgASgIEhcKD2FkYXB0aXZlX3N0cmVhbRgCIAEoCBIQCghkeW5h",
+ "Y2FzdBgDIAEoCBIsCgRlMmVlGAQgASgLMhoubGl2ZWtpdC5wcm90by5FMmVl",
+ "T3B0aW9uc0ICGAESLAoKcnRjX2NvbmZpZxgFIAEoCzIYLmxpdmVraXQucHJv",
+ "dG8uUnRjQ29uZmlnEhQKDGpvaW5fcmV0cmllcxgGIAEoDRIuCgplbmNyeXB0",
+ "aW9uGAcgASgLMhoubGl2ZWtpdC5wcm90by5FMmVlT3B0aW9ucxIeChZzaW5n",
+ "bGVfcGVlcl9jb25uZWN0aW9uGAggASgIEhoKEmNvbm5lY3RfdGltZW91dF9t",
+ "cxgJIAEoBCJ3ChRUcmFuc2NyaXB0aW9uU2VnbWVudBIKCgJpZBgBIAIoCRIM",
+ "CgR0ZXh0GAIgAigJEhIKCnN0YXJ0X3RpbWUYAyACKAQSEAoIZW5kX3RpbWUY",
+ "BCACKAQSDQoFZmluYWwYBSACKAgSEAoIbGFuZ3VhZ2UYBiACKAkiMAoKQnVm",
+ "ZmVySW5mbxIQCghkYXRhX3B0chgBIAIoBBIQCghkYXRhX2xlbhgCIAIoBCJl",
+ "CgtPd25lZEJ1ZmZlchItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3Rv",
+ "LkZmaU93bmVkSGFuZGxlEicKBGRhdGEYAiACKAsyGS5saXZla2l0LnByb3Rv",
+ "LkJ1ZmZlckluZm8ixRYKCVJvb21FdmVudBITCgtyb29tX2hhbmRsZRgBIAIo",
+ "BBJEChVwYXJ0aWNpcGFudF9jb25uZWN0ZWQYAiABKAsyIy5saXZla2l0LnBy",
+ "b3RvLlBhcnRpY2lwYW50Q29ubmVjdGVkSAASSgoYcGFydGljaXBhbnRfZGlz",
+ "Y29ubmVjdGVkGAMgASgLMiYubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFudERp",
+ "c2Nvbm5lY3RlZEgAEkMKFWxvY2FsX3RyYWNrX3B1Ymxpc2hlZBgEIAEoCzIi",
+ "LmxpdmVraXQucHJvdG8uTG9jYWxUcmFja1B1Ymxpc2hlZEgAEkcKF2xvY2Fs",
+ "X3RyYWNrX3VucHVibGlzaGVkGAUgASgLMiQubGl2ZWtpdC5wcm90by5Mb2Nh",
+ "bFRyYWNrVW5wdWJsaXNoZWRIABJFChZsb2NhbF90cmFja19zdWJzY3JpYmVk",
+ "GAYgASgLMiMubGl2ZWtpdC5wcm90by5Mb2NhbFRyYWNrU3Vic2NyaWJlZEgA",
+ "EjgKD3RyYWNrX3B1Ymxpc2hlZBgHIAEoCzIdLmxpdmVraXQucHJvdG8uVHJh",
+ "Y2tQdWJsaXNoZWRIABI8ChF0cmFja191bnB1Ymxpc2hlZBgIIAEoCzIfLmxp",
+ "dmVraXQucHJvdG8uVHJhY2tVbnB1Ymxpc2hlZEgAEjoKEHRyYWNrX3N1YnNj",
+ "cmliZWQYCSABKAsyHi5saXZla2l0LnByb3RvLlRyYWNrU3Vic2NyaWJlZEgA",
+ "Ej4KEnRyYWNrX3Vuc3Vic2NyaWJlZBgKIAEoCzIgLmxpdmVraXQucHJvdG8u",
+ "VHJhY2tVbnN1YnNjcmliZWRIABJLChl0cmFja19zdWJzY3JpcHRpb25fZmFp",
+ "bGVkGAsgASgLMiYubGl2ZWtpdC5wcm90by5UcmFja1N1YnNjcmlwdGlvbkZh",
+ "aWxlZEgAEjAKC3RyYWNrX211dGVkGAwgASgLMhkubGl2ZWtpdC5wcm90by5U",
+ "cmFja011dGVkSAASNAoNdHJhY2tfdW5tdXRlZBgNIAEoCzIbLmxpdmVraXQu",
+ "cHJvdG8uVHJhY2tVbm11dGVkSAASRwoXYWN0aXZlX3NwZWFrZXJzX2NoYW5n",
+ "ZWQYDiABKAsyJC5saXZla2l0LnByb3RvLkFjdGl2ZVNwZWFrZXJzQ2hhbmdl",
+ "ZEgAEkMKFXJvb21fbWV0YWRhdGFfY2hhbmdlZBgPIAEoCzIiLmxpdmVraXQu",
+ "cHJvdG8uUm9vbU1ldGFkYXRhQ2hhbmdlZEgAEjkKEHJvb21fc2lkX2NoYW5n",
+ "ZWQYECABKAsyHS5saXZla2l0LnByb3RvLlJvb21TaWRDaGFuZ2VkSAASUQoc",
+ "cGFydGljaXBhbnRfbWV0YWRhdGFfY2hhbmdlZBgRIAEoCzIpLmxpdmVraXQu",
+ "cHJvdG8uUGFydGljaXBhbnRNZXRhZGF0YUNoYW5nZWRIABJJChhwYXJ0aWNp",
+ "cGFudF9uYW1lX2NoYW5nZWQYEiABKAsyJS5saXZla2l0LnByb3RvLlBhcnRp",
+ "Y2lwYW50TmFtZUNoYW5nZWRIABJVCh5wYXJ0aWNpcGFudF9hdHRyaWJ1dGVz",
+ "X2NoYW5nZWQYEyABKAsyKy5saXZla2l0LnByb3RvLlBhcnRpY2lwYW50QXR0",
+ "cmlidXRlc0NoYW5nZWRIABJNChpjb25uZWN0aW9uX3F1YWxpdHlfY2hhbmdl",
+ "ZBgUIAEoCzInLmxpdmVraXQucHJvdG8uQ29ubmVjdGlvblF1YWxpdHlDaGFu",
+ "Z2VkSAASSQoYY29ubmVjdGlvbl9zdGF0ZV9jaGFuZ2VkGBUgASgLMiUubGl2",
+ "ZWtpdC5wcm90by5Db25uZWN0aW9uU3RhdGVDaGFuZ2VkSAASMwoMZGlzY29u",
+ "bmVjdGVkGBYgASgLMhsubGl2ZWtpdC5wcm90by5EaXNjb25uZWN0ZWRIABIz",
+ "CgxyZWNvbm5lY3RpbmcYFyABKAsyGy5saXZla2l0LnByb3RvLlJlY29ubmVj",
+ "dGluZ0gAEjEKC3JlY29ubmVjdGVkGBggASgLMhoubGl2ZWtpdC5wcm90by5S",
+ "ZWNvbm5lY3RlZEgAEj0KEmUyZWVfc3RhdGVfY2hhbmdlZBgZIAEoCzIfLmxp",
+ "dmVraXQucHJvdG8uRTJlZVN0YXRlQ2hhbmdlZEgAEiUKA2VvcxgaIAEoCzIW",
+ "LmxpdmVraXQucHJvdG8uUm9vbUVPU0gAEkEKFGRhdGFfcGFja2V0X3JlY2Vp",
+ "dmVkGBsgASgLMiEubGl2ZWtpdC5wcm90by5EYXRhUGFja2V0UmVjZWl2ZWRI",
+ "ABJGChZ0cmFuc2NyaXB0aW9uX3JlY2VpdmVkGBwgASgLMiQubGl2ZWtpdC5w",
+ "cm90by5UcmFuc2NyaXB0aW9uUmVjZWl2ZWRIABI6CgxjaGF0X21lc3NhZ2UY",
+ "HSABKAsyIi5saXZla2l0LnByb3RvLkNoYXRNZXNzYWdlUmVjZWl2ZWRIABJJ",
+ "ChZzdHJlYW1faGVhZGVyX3JlY2VpdmVkGB4gASgLMicubGl2ZWtpdC5wcm90",
+ "by5EYXRhU3RyZWFtSGVhZGVyUmVjZWl2ZWRIABJHChVzdHJlYW1fY2h1bmtf",
+ "cmVjZWl2ZWQYHyABKAsyJi5saXZla2l0LnByb3RvLkRhdGFTdHJlYW1DaHVu",
+ "a1JlY2VpdmVkSAASSwoXc3RyZWFtX3RyYWlsZXJfcmVjZWl2ZWQYICABKAsy",
+ "KC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW1UcmFpbGVyUmVjZWl2ZWRIABJp",
+ "CiJkYXRhX2NoYW5uZWxfbG93X3RocmVzaG9sZF9jaGFuZ2VkGCEgASgLMjsu",
+ "bGl2ZWtpdC5wcm90by5EYXRhQ2hhbm5lbEJ1ZmZlcmVkQW1vdW50TG93VGhy",
+ "ZXNob2xkQ2hhbmdlZEgAEj0KEmJ5dGVfc3RyZWFtX29wZW5lZBgiIAEoCzIf",
+ "LmxpdmVraXQucHJvdG8uQnl0ZVN0cmVhbU9wZW5lZEgAEj0KEnRleHRfc3Ry",
+ "ZWFtX29wZW5lZBgjIAEoCzIfLmxpdmVraXQucHJvdG8uVGV4dFN0cmVhbU9w",
+ "ZW5lZEgAEi8KDHJvb21fdXBkYXRlZBgkIAEoCzIXLmxpdmVraXQucHJvdG8u",
+ "Um9vbUluZm9IABIoCgVtb3ZlZBglIAEoCzIXLmxpdmVraXQucHJvdG8uUm9v",
+ "bUluZm9IABJCChRwYXJ0aWNpcGFudHNfdXBkYXRlZBgmIAEoCzIiLmxpdmVr",
+ "aXQucHJvdG8uUGFydGljaXBhbnRzVXBkYXRlZEgAEmIKJXBhcnRpY2lwYW50",
+ "X2VuY3J5cHRpb25fc3RhdHVzX2NoYW5nZWQYJyABKAsyMS5saXZla2l0LnBy",
+ "b3RvLlBhcnRpY2lwYW50RW5jcnlwdGlvblN0YXR1c0NoYW5nZWRIABJVCh5w",
+ "YXJ0aWNpcGFudF9wZXJtaXNzaW9uX2NoYW5nZWQYKSABKAsyKy5saXZla2l0",
+ "LnByb3RvLlBhcnRpY2lwYW50UGVybWlzc2lvbkNoYW5nZWRIABI4Cg90b2tl",
+ "bl9yZWZyZXNoZWQYKCABKAsyHS5saXZla2l0LnByb3RvLlRva2VuUmVmcmVz",
+ "aGVkSAASQQoUZGF0YV90cmFja19wdWJsaXNoZWQYKiABKAsyIS5saXZla2l0",
+ "LnByb3RvLkRhdGFUcmFja1B1Ymxpc2hlZEgAEkUKFmRhdGFfdHJhY2tfdW5w",
+ "dWJsaXNoZWQYKyABKAsyIy5saXZla2l0LnByb3RvLkRhdGFUcmFja1VucHVi",
+ "bGlzaGVkSABCCQoHbWVzc2FnZSLJAgoIUm9vbUluZm8SCwoDc2lkGAEgASgJ",
+ "EgwKBG5hbWUYAiACKAkSEAoIbWV0YWRhdGEYAyACKAkSLgombG9zc3lfZGNf",
+ "YnVmZmVyZWRfYW1vdW50X2xvd190aHJlc2hvbGQYBCACKAQSMQopcmVsaWFi",
+ "bGVfZGNfYnVmZmVyZWRfYW1vdW50X2xvd190aHJlc2hvbGQYBSACKAQSFQoN",
+ "ZW1wdHlfdGltZW91dBgGIAIoDRIZChFkZXBhcnR1cmVfdGltZW91dBgHIAIo",
+ "DRIYChBtYXhfcGFydGljaXBhbnRzGAggAigNEhUKDWNyZWF0aW9uX3RpbWUY",
+ "CSACKAMSGAoQbnVtX3BhcnRpY2lwYW50cxgKIAIoDRIWCg5udW1fcHVibGlz",
+ "aGVycxgLIAIoDRIYChBhY3RpdmVfcmVjb3JkaW5nGAwgAigIImEKCU93bmVk",
+ "Um9vbRItCgZoYW5kbGUYASACKAsyHS5saXZla2l0LnByb3RvLkZmaU93bmVk",
+ "SGFuZGxlEiUKBGluZm8YAiACKAsyFy5saXZla2l0LnByb3RvLlJvb21JbmZv",
+ "IksKE1BhcnRpY2lwYW50c1VwZGF0ZWQSNAoMcGFydGljaXBhbnRzGAEgAygL",
+ "Mh4ubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFudEluZm8iRQoUUGFydGljaXBh",
+ "bnRDb25uZWN0ZWQSLQoEaW5mbxgBIAIoCzIfLmxpdmVraXQucHJvdG8uT3du",
+ "ZWRQYXJ0aWNpcGFudCJzChdQYXJ0aWNpcGFudERpc2Nvbm5lY3RlZBIcChRw",
+ "YXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRI6ChFkaXNjb25uZWN0X3JlYXNv",
+ "bhgCIAIoDjIfLmxpdmVraXQucHJvdG8uRGlzY29ubmVjdFJlYXNvbiIoChNM",
+ "b2NhbFRyYWNrUHVibGlzaGVkEhEKCXRyYWNrX3NpZBgBIAIoCSIwChVMb2Nh",
+ "bFRyYWNrVW5wdWJsaXNoZWQSFwoPcHVibGljYXRpb25fc2lkGAEgAigJIikK",
+ "FExvY2FsVHJhY2tTdWJzY3JpYmVkEhEKCXRyYWNrX3NpZBgCIAIoCSJpCg5U",
+ "cmFja1B1Ymxpc2hlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRI5",
+ "CgtwdWJsaWNhdGlvbhgCIAIoCzIkLmxpdmVraXQucHJvdG8uT3duZWRUcmFj",
+ "a1B1YmxpY2F0aW9uIkkKEFRyYWNrVW5wdWJsaXNoZWQSHAoUcGFydGljaXBh",
+ "bnRfaWRlbnRpdHkYASACKAkSFwoPcHVibGljYXRpb25fc2lkGAIgAigJIlkK",
+ "D1RyYWNrU3Vic2NyaWJlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIo",
+ "CRIoCgV0cmFjaxgCIAIoCzIZLmxpdmVraXQucHJvdG8uT3duZWRUcmFjayJE",
+ "ChFUcmFja1Vuc3Vic2NyaWJlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgB",
+ "IAIoCRIRCgl0cmFja19zaWQYAiACKAkiWQoXVHJhY2tTdWJzY3JpcHRpb25G",
+ "YWlsZWQSHAoUcGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSEQoJdHJhY2tf",
+ "c2lkGAIgAigJEg0KBWVycm9yGAMgAigJIj0KClRyYWNrTXV0ZWQSHAoUcGFy",
+ "dGljaXBhbnRfaWRlbnRpdHkYASACKAkSEQoJdHJhY2tfc2lkGAIgAigJIj8K",
+ "DFRyYWNrVW5tdXRlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIR",
+ "Cgl0cmFja19zaWQYAiACKAkiXwoQRTJlZVN0YXRlQ2hhbmdlZBIcChRwYXJ0",
+ "aWNpcGFudF9pZGVudGl0eRgBIAIoCRItCgVzdGF0ZRgCIAIoDjIeLmxpdmVr",
+ "aXQucHJvdG8uRW5jcnlwdGlvblN0YXRlIjcKFUFjdGl2ZVNwZWFrZXJzQ2hh",
+ "bmdlZBIeChZwYXJ0aWNpcGFudF9pZGVudGl0aWVzGAEgAygJIicKE1Jvb21N",
+ "ZXRhZGF0YUNoYW5nZWQSEAoIbWV0YWRhdGEYASACKAkiHQoOUm9vbVNpZENo",
+ "YW5nZWQSCwoDc2lkGAEgAigJIkwKGlBhcnRpY2lwYW50TWV0YWRhdGFDaGFu",
+ "Z2VkEhwKFHBhcnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhAKCG1ldGFkYXRh",
+ "GAIgAigJIqwBChxQYXJ0aWNpcGFudEF0dHJpYnV0ZXNDaGFuZ2VkEhwKFHBh",
+ "cnRpY2lwYW50X2lkZW50aXR5GAEgAigJEjIKCmF0dHJpYnV0ZXMYAiADKAsy",
+ "Hi5saXZla2l0LnByb3RvLkF0dHJpYnV0ZXNFbnRyeRI6ChJjaGFuZ2VkX2F0",
+ "dHJpYnV0ZXMYAyADKAsyHi5saXZla2l0LnByb3RvLkF0dHJpYnV0ZXNFbnRy",
+ "eSJYCiJQYXJ0aWNpcGFudEVuY3J5cHRpb25TdGF0dXNDaGFuZ2VkEhwKFHBh",
+ "cnRpY2lwYW50X2lkZW50aXR5GAEgAigJEhQKDGlzX2VuY3J5cHRlZBgCIAIo",
+ "CCJEChZQYXJ0aWNpcGFudE5hbWVDaGFuZ2VkEhwKFHBhcnRpY2lwYW50X2lk",
+ "ZW50aXR5GAEgAigJEgwKBG5hbWUYAiACKAkidgocUGFydGljaXBhbnRQZXJt",
+ "aXNzaW9uQ2hhbmdlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRI4",
+ "CgpwZXJtaXNzaW9uGAIgASgLMiQubGl2ZWtpdC5wcm90by5QYXJ0aWNpcGFu",
+ "dFBlcm1pc3Npb24iawoYQ29ubmVjdGlvblF1YWxpdHlDaGFuZ2VkEhwKFHBh",
+ "cnRpY2lwYW50X2lkZW50aXR5GAEgAigJEjEKB3F1YWxpdHkYAiACKA4yIC5s",
+ "aXZla2l0LnByb3RvLkNvbm5lY3Rpb25RdWFsaXR5IkUKClVzZXJQYWNrZXQS",
+ "KAoEZGF0YRgBIAIoCzIaLmxpdmVraXQucHJvdG8uT3duZWRCdWZmZXISDQoF",
+ "dG9waWMYAiABKAkieQoLQ2hhdE1lc3NhZ2USCgoCaWQYASACKAkSEQoJdGlt",
+ "ZXN0YW1wGAIgAigDEg8KB21lc3NhZ2UYAyACKAkSFgoOZWRpdF90aW1lc3Rh",
+ "bXAYBCABKAMSDwoHZGVsZXRlZBgFIAEoCBIRCglnZW5lcmF0ZWQYBiABKAgi",
+ "YAoTQ2hhdE1lc3NhZ2VSZWNlaXZlZBIrCgdtZXNzYWdlGAEgAigLMhoubGl2",
+ "ZWtpdC5wcm90by5DaGF0TWVzc2FnZRIcChRwYXJ0aWNpcGFudF9pZGVudGl0",
+ "eRgCIAIoCSImCgdTaXBEVE1GEgwKBGNvZGUYASACKA0SDQoFZGlnaXQYAiAB",
+ "KAkivwEKEkRhdGFQYWNrZXRSZWNlaXZlZBIrCgRraW5kGAEgAigOMh0ubGl2",
+ "ZWtpdC5wcm90by5EYXRhUGFja2V0S2luZBIcChRwYXJ0aWNpcGFudF9pZGVu",
+ "dGl0eRgCIAIoCRIpCgR1c2VyGAQgASgLMhkubGl2ZWtpdC5wcm90by5Vc2Vy",
+ "UGFja2V0SAASKgoIc2lwX2R0bWYYBSABKAsyFi5saXZla2l0LnByb3RvLlNp",
+ "cERUTUZIAEIHCgV2YWx1ZSJ/ChVUcmFuc2NyaXB0aW9uUmVjZWl2ZWQSHAoU",
+ "cGFydGljaXBhbnRfaWRlbnRpdHkYASABKAkSEQoJdHJhY2tfc2lkGAIgASgJ",
+ "EjUKCHNlZ21lbnRzGAMgAygLMiMubGl2ZWtpdC5wcm90by5UcmFuc2NyaXB0",
+ "aW9uU2VnbWVudCJHChZDb25uZWN0aW9uU3RhdGVDaGFuZ2VkEi0KBXN0YXRl",
+ "GAEgAigOMh4ubGl2ZWtpdC5wcm90by5Db25uZWN0aW9uU3RhdGUiCwoJQ29u",
+ "bmVjdGVkIj8KDERpc2Nvbm5lY3RlZBIvCgZyZWFzb24YASACKA4yHy5saXZl",
+ "a2l0LnByb3RvLkRpc2Nvbm5lY3RSZWFzb24iDgoMUmVjb25uZWN0aW5nIg0K",
+ "C1JlY29ubmVjdGVkIh8KDlRva2VuUmVmcmVzaGVkEg0KBXRva2VuGAEgAigJ",
+ "IgkKB1Jvb21FT1MijgcKCkRhdGFTdHJlYW0aqgEKClRleHRIZWFkZXISPwoO",
+ "b3BlcmF0aW9uX3R5cGUYASACKA4yJy5saXZla2l0LnByb3RvLkRhdGFTdHJl",
+ "YW0uT3BlcmF0aW9uVHlwZRIPCgd2ZXJzaW9uGAIgASgFEhoKEnJlcGx5X3Rv",
+ "X3N0cmVhbV9pZBgDIAEoCRIbChNhdHRhY2hlZF9zdHJlYW1faWRzGAQgAygJ",
+ "EhEKCWdlbmVyYXRlZBgFIAEoCBoaCgpCeXRlSGVhZGVyEgwKBG5hbWUYASAC",
+ "KAka6wIKBkhlYWRlchIRCglzdHJlYW1faWQYASACKAkSEQoJdGltZXN0YW1w",
+ "GAIgAigDEhEKCW1pbWVfdHlwZRgDIAIoCRINCgV0b3BpYxgEIAIoCRIUCgx0",
+ "b3RhbF9sZW5ndGgYBSABKAQSRAoKYXR0cmlidXRlcxgGIAMoCzIwLmxpdmVr",
+ "aXQucHJvdG8uRGF0YVN0cmVhbS5IZWFkZXIuQXR0cmlidXRlc0VudHJ5EjsK",
+ "C3RleHRfaGVhZGVyGAcgASgLMiQubGl2ZWtpdC5wcm90by5EYXRhU3RyZWFt",
+ "LlRleHRIZWFkZXJIABI7CgtieXRlX2hlYWRlchgIIAEoCzIkLmxpdmVraXQu",
+ "cHJvdG8uRGF0YVN0cmVhbS5CeXRlSGVhZGVySAAaMQoPQXR0cmlidXRlc0Vu",
+ "dHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOY29udGVu",
+ "dF9oZWFkZXIaXQoFQ2h1bmsSEQoJc3RyZWFtX2lkGAEgAigJEhMKC2NodW5r",
+ "X2luZGV4GAIgAigEEg8KB2NvbnRlbnQYAyACKAwSDwoHdmVyc2lvbhgEIAEo",
+ "BRIKCgJpdhgFIAEoDBqmAQoHVHJhaWxlchIRCglzdHJlYW1faWQYASACKAkS",
+ "DgoGcmVhc29uGAIgAigJEkUKCmF0dHJpYnV0ZXMYAyADKAsyMS5saXZla2l0",
+ "LnByb3RvLkRhdGFTdHJlYW0uVHJhaWxlci5BdHRyaWJ1dGVzRW50cnkaMQoP",
+ "QXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToC",
+ "OAEiQQoNT3BlcmF0aW9uVHlwZRIKCgZDUkVBVEUQABIKCgZVUERBVEUQARIK",
+ "CgZERUxFVEUQAhIMCghSRUFDVElPThADImoKGERhdGFTdHJlYW1IZWFkZXJS",
+ "ZWNlaXZlZBIcChRwYXJ0aWNpcGFudF9pZGVudGl0eRgBIAIoCRIwCgZoZWFk",
+ "ZXIYAiACKAsyIC5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uSGVhZGVyImcK",
+ "F0RhdGFTdHJlYW1DaHVua1JlY2VpdmVkEhwKFHBhcnRpY2lwYW50X2lkZW50",
+ "aXR5GAEgAigJEi4KBWNodW5rGAIgAigLMh8ubGl2ZWtpdC5wcm90by5EYXRh",
+ "U3RyZWFtLkNodW5rIm0KGURhdGFTdHJlYW1UcmFpbGVyUmVjZWl2ZWQSHAoU",
+ "cGFydGljaXBhbnRfaWRlbnRpdHkYASACKAkSMgoHdHJhaWxlchgCIAIoCzIh",
+ "LmxpdmVraXQucHJvdG8uRGF0YVN0cmVhbS5UcmFpbGVyIsABChdTZW5kU3Ry",
+ "ZWFtSGVhZGVyUmVxdWVzdBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUY",
+ "ASACKAQSMAoGaGVhZGVyGAIgAigLMiAubGl2ZWtpdC5wcm90by5EYXRhU3Ry",
+ "ZWFtLkhlYWRlchIeChZkZXN0aW5hdGlvbl9pZGVudGl0aWVzGAMgAygJEhcK",
+ "D3NlbmRlcl9pZGVudGl0eRgEIAIoCRIYChByZXF1ZXN0X2FzeW5jX2lkGAUg",
+ "ASgEIr0BChZTZW5kU3RyZWFtQ2h1bmtSZXF1ZXN0EiAKGGxvY2FsX3BhcnRp",
+ "Y2lwYW50X2hhbmRsZRgBIAIoBBIuCgVjaHVuaxgCIAIoCzIfLmxpdmVraXQu",
+ "cHJvdG8uRGF0YVN0cmVhbS5DaHVuaxIeChZkZXN0aW5hdGlvbl9pZGVudGl0",
+ "aWVzGAMgAygJEhcKD3NlbmRlcl9pZGVudGl0eRgEIAIoCRIYChByZXF1ZXN0",
+ "X2FzeW5jX2lkGAUgASgEIsMBChhTZW5kU3RyZWFtVHJhaWxlclJlcXVlc3QS",
+ "IAoYbG9jYWxfcGFydGljaXBhbnRfaGFuZGxlGAEgAigEEjIKB3RyYWlsZXIY",
+ "AiACKAsyIS5saXZla2l0LnByb3RvLkRhdGFTdHJlYW0uVHJhaWxlchIeChZk",
+ "ZXN0aW5hdGlvbl9pZGVudGl0aWVzGAMgAygJEhcKD3NlbmRlcl9pZGVudGl0",
+ "eRgEIAIoCRIYChByZXF1ZXN0X2FzeW5jX2lkGAUgASgEIiwKGFNlbmRTdHJl",
+ "YW1IZWFkZXJSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCIrChdTZW5kU3Ry",
+ "ZWFtQ2h1bmtSZXNwb25zZRIQCghhc3luY19pZBgBIAIoBCItChlTZW5kU3Ry",
+ "ZWFtVHJhaWxlclJlc3BvbnNlEhAKCGFzeW5jX2lkGAEgAigEIjsKGFNlbmRT",
+ "dHJlYW1IZWFkZXJDYWxsYmFjaxIQCghhc3luY19pZBgBIAIoBBINCgVlcnJv",
+ "chgCIAEoCSI6ChdTZW5kU3RyZWFtQ2h1bmtDYWxsYmFjaxIQCghhc3luY19p",
+ "ZBgBIAIoBBINCgVlcnJvchgCIAEoCSI8ChlTZW5kU3RyZWFtVHJhaWxlckNh",
+ "bGxiYWNrEhAKCGFzeW5jX2lkGAEgAigEEg0KBWVycm9yGAIgASgJIpMBCi9T",
+ "ZXREYXRhQ2hhbm5lbEJ1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkUmVxdWVz",
+ "dBIgChhsb2NhbF9wYXJ0aWNpcGFudF9oYW5kbGUYASACKAQSEQoJdGhyZXNo",
+ "b2xkGAIgAigEEisKBGtpbmQYAyACKA4yHS5saXZla2l0LnByb3RvLkRhdGFQ",
+ "YWNrZXRLaW5kIjIKMFNldERhdGFDaGFubmVsQnVmZmVyZWRBbW91bnRMb3dU",
+ "aHJlc2hvbGRSZXNwb25zZSJuCixEYXRhQ2hhbm5lbEJ1ZmZlcmVkQW1vdW50",
+ "TG93VGhyZXNob2xkQ2hhbmdlZBIrCgRraW5kGAEgAigOMh0ubGl2ZWtpdC5w",
+ "cm90by5EYXRhUGFja2V0S2luZBIRCgl0aHJlc2hvbGQYAiACKAQiZgoQQnl0",
+ "ZVN0cmVhbU9wZW5lZBI0CgZyZWFkZXIYASACKAsyJC5saXZla2l0LnByb3Rv",
+ "Lk93bmVkQnl0ZVN0cmVhbVJlYWRlchIcChRwYXJ0aWNpcGFudF9pZGVudGl0",
+ "eRgCIAIoCSJmChBUZXh0U3RyZWFtT3BlbmVkEjQKBnJlYWRlchgBIAIoCzIk",
+ "LmxpdmVraXQucHJvdG8uT3duZWRUZXh0U3RyZWFtUmVhZGVyEhwKFHBhcnRp",
+ "Y2lwYW50X2lkZW50aXR5GAIgAigJIkgKEkRhdGFUcmFja1B1Ymxpc2hlZBIy",
+ "CgV0cmFjaxgBIAIoCzIjLmxpdmVraXQucHJvdG8uT3duZWRSZW1vdGVEYXRh",
+ "VHJhY2siIwoURGF0YVRyYWNrVW5wdWJsaXNoZWQSCwoDc2lkGAEgAigJKlAK",
+ "EEljZVRyYW5zcG9ydFR5cGUSEwoPVFJBTlNQT1JUX1JFTEFZEAASFAoQVFJB",
+ "TlNQT1JUX05PSE9TVBABEhEKDVRSQU5TUE9SVF9BTEwQAipDChhDb250aW51",
+ "YWxHYXRoZXJpbmdQb2xpY3kSDwoLR0FUSEVSX09OQ0UQABIWChJHQVRIRVJf",
+ "Q09OVElOVUFMTFkQASpgChFDb25uZWN0aW9uUXVhbGl0eRIQCgxRVUFMSVRZ",
+ "X1BPT1IQABIQCgxRVUFMSVRZX0dPT0QQARIVChFRVUFMSVRZX0VYQ0VMTEVO",
+ "VBACEhAKDFFVQUxJVFlfTE9TVBADKlMKD0Nvbm5lY3Rpb25TdGF0ZRIVChFD",
+ "T05OX0RJU0NPTk5FQ1RFRBAAEhIKDkNPTk5fQ09OTkVDVEVEEAESFQoRQ09O",
+ "Tl9SRUNPTk5FQ1RJTkcQAiozCg5EYXRhUGFja2V0S2luZBIOCgpLSU5EX0xP",
+ "U1NZEAASEQoNS0lORF9SRUxJQUJMRRABQhCqAg1MaXZlS2l0LlByb3Rv"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
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, global::LiveKit.Proto.DataTrackReflection.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[] {
@@ -351,7 +355,7 @@ static RoomReflection() {
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", "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", "RequestAsyncId" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DisconnectRequest), global::LiveKit.Proto.DisconnectRequest.Parser, new[]{ "RoomHandle", "RequestAsyncId", "Reason" }, 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, new[]{ "AsyncId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.PublishTrackRequest), global::LiveKit.Proto.PublishTrackRequest.Parser, new[]{ "LocalParticipantHandle", "TrackHandle", "Options", "RequestAsyncId" }, null, null, null, null),
@@ -393,11 +397,11 @@ static RoomReflection() {
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.TrackPublishOptions), global::LiveKit.Proto.TrackPublishOptions.Parser, new[]{ "VideoEncoding", "AudioEncoding", "VideoCodec", "Dtx", "Red", "Simulcast", "Source", "Stream", "PreconnectBuffer" }, 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", "Encryption" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomOptions), global::LiveKit.Proto.RoomOptions.Parser, new[]{ "AutoSubscribe", "AdaptiveStream", "Dynacast", "E2Ee", "RtcConfig", "JoinRetries", "Encryption", "SinglePeerConnection", "ConnectTimeoutMs" }, 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", "RoomUpdated", "Moved", "ParticipantsUpdated", "ParticipantEncryptionStatusChanged", "ParticipantPermissionChanged", "TokenRefreshed", "RemoteDataTrackPublished" }, new[]{ "Message" }, 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", "RoomUpdated", "Moved", "ParticipantsUpdated", "ParticipantEncryptionStatusChanged", "ParticipantPermissionChanged", "TokenRefreshed", "DataTrackPublished", "DataTrackUnpublished" }, new[]{ "Message" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RoomInfo), global::LiveKit.Proto.RoomInfo.Parser, new[]{ "Sid", "Name", "Metadata", "LossyDcBufferedAmountLowThreshold", "ReliableDcBufferedAmountLowThreshold", "EmptyTimeout", "DepartureTimeout", "MaxParticipants", "CreationTime", "NumParticipants", "NumPublishers", "ActiveRecording" }, 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.ParticipantsUpdated), global::LiveKit.Proto.ParticipantsUpdated.Parser, new[]{ "Participants" }, null, null, null, null),
@@ -458,7 +462,8 @@ static RoomReflection() {
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),
- new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.RemoteDataTrackPublished), global::LiveKit.Proto.RemoteDataTrackPublished.Parser, new[]{ "Track" }, null, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackPublished), global::LiveKit.Proto.DataTrackPublished.Parser, new[]{ "Track" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::LiveKit.Proto.DataTrackUnpublished), global::LiveKit.Proto.DataTrackUnpublished.Parser, new[]{ "Sid" }, null, null, null, null)
}));
}
#endregion
@@ -1993,6 +1998,7 @@ public DisconnectRequest(DisconnectRequest other) : this() {
_hasBits0 = other._hasBits0;
roomHandle_ = other.roomHandle_;
requestAsyncId_ = other.requestAsyncId_;
+ reason_ = other.reason_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -2056,6 +2062,33 @@ public void ClearRequestAsyncId() {
_hasBits0 &= ~2;
}
+ /// Field number for the "reason" field.
+ public const int ReasonFieldNumber = 3;
+ 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 & 4) != 0) { return reason_; } else { return ReasonDefaultValue; } }
+ set {
+ _hasBits0 |= 4;
+ 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 & 4) != 0; }
+ }
+ /// Clears the value of the "reason" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearReason() {
+ _hasBits0 &= ~4;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -2073,6 +2106,7 @@ public bool Equals(DisconnectRequest other) {
}
if (RoomHandle != other.RoomHandle) return false;
if (RequestAsyncId != other.RequestAsyncId) return false;
+ if (Reason != other.Reason) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -2082,6 +2116,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasRoomHandle) hash ^= RoomHandle.GetHashCode();
if (HasRequestAsyncId) hash ^= RequestAsyncId.GetHashCode();
+ if (HasReason) hash ^= Reason.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -2108,6 +2143,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(16);
output.WriteUInt64(RequestAsyncId);
}
+ if (HasReason) {
+ output.WriteRawTag(24);
+ output.WriteEnum((int) Reason);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -2126,6 +2165,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(16);
output.WriteUInt64(RequestAsyncId);
}
+ if (HasReason) {
+ output.WriteRawTag(24);
+ output.WriteEnum((int) Reason);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -2142,6 +2185,9 @@ public int CalculateSize() {
if (HasRequestAsyncId) {
size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RequestAsyncId);
}
+ if (HasReason) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Reason);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -2160,6 +2206,9 @@ public void MergeFrom(DisconnectRequest other) {
if (other.HasRequestAsyncId) {
RequestAsyncId = other.RequestAsyncId;
}
+ if (other.HasReason) {
+ Reason = other.Reason;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -2187,6 +2236,10 @@ public void MergeFrom(pb::CodedInputStream input) {
RequestAsyncId = input.ReadUInt64();
break;
}
+ case 24: {
+ Reason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum();
+ break;
+ }
}
}
#endif
@@ -2214,6 +2267,10 @@ public void MergeFrom(pb::CodedInputStream input) {
RequestAsyncId = input.ReadUInt64();
break;
}
+ case 24: {
+ Reason = (global::LiveKit.Proto.DisconnectReason) input.ReadEnum();
+ break;
+ }
}
}
}
@@ -14466,6 +14523,8 @@ public RoomOptions(RoomOptions other) : this() {
rtcConfig_ = other.rtcConfig_ != null ? other.rtcConfig_.Clone() : null;
joinRetries_ = other.joinRetries_;
encryption_ = other.encryption_ != null ? other.encryption_.Clone() : null;
+ singlePeerConnection_ = other.singlePeerConnection_;
+ connectTimeoutMs_ = other.connectTimeoutMs_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -14623,6 +14682,66 @@ public void ClearJoinRetries() {
}
}
+ /// Field number for the "single_peer_connection" field.
+ public const int SinglePeerConnectionFieldNumber = 8;
+ private readonly static bool SinglePeerConnectionDefaultValue = false;
+
+ private bool singlePeerConnection_;
+ ///
+ /// use single peer connection for both publish/subscribe (default: false)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool SinglePeerConnection {
+ get { if ((_hasBits0 & 16) != 0) { return singlePeerConnection_; } else { return SinglePeerConnectionDefaultValue; } }
+ set {
+ _hasBits0 |= 16;
+ singlePeerConnection_ = value;
+ }
+ }
+ /// Gets whether the "single_peer_connection" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasSinglePeerConnection {
+ get { return (_hasBits0 & 16) != 0; }
+ }
+ /// Clears the value of the "single_peer_connection" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearSinglePeerConnection() {
+ _hasBits0 &= ~16;
+ }
+
+ /// Field number for the "connect_timeout_ms" field.
+ public const int ConnectTimeoutMsFieldNumber = 9;
+ private readonly static ulong ConnectTimeoutMsDefaultValue = 0UL;
+
+ private ulong connectTimeoutMs_;
+ ///
+ /// timeout in milliseconds for each signal connection attempt (default: 5000)
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public ulong ConnectTimeoutMs {
+ get { if ((_hasBits0 & 32) != 0) { return connectTimeoutMs_; } else { return ConnectTimeoutMsDefaultValue; } }
+ set {
+ _hasBits0 |= 32;
+ connectTimeoutMs_ = value;
+ }
+ }
+ /// Gets whether the "connect_timeout_ms" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasConnectTimeoutMs {
+ get { return (_hasBits0 & 32) != 0; }
+ }
+ /// Clears the value of the "connect_timeout_ms" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearConnectTimeoutMs() {
+ _hasBits0 &= ~32;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -14645,6 +14764,8 @@ public bool Equals(RoomOptions other) {
if (!object.Equals(RtcConfig, other.RtcConfig)) return false;
if (JoinRetries != other.JoinRetries) return false;
if (!object.Equals(Encryption, other.Encryption)) return false;
+ if (SinglePeerConnection != other.SinglePeerConnection) return false;
+ if (ConnectTimeoutMs != other.ConnectTimeoutMs) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -14659,6 +14780,8 @@ public override int GetHashCode() {
if (rtcConfig_ != null) hash ^= RtcConfig.GetHashCode();
if (HasJoinRetries) hash ^= JoinRetries.GetHashCode();
if (encryption_ != null) hash ^= Encryption.GetHashCode();
+ if (HasSinglePeerConnection) hash ^= SinglePeerConnection.GetHashCode();
+ if (HasConnectTimeoutMs) hash ^= ConnectTimeoutMs.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -14705,6 +14828,14 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(58);
output.WriteMessage(Encryption);
}
+ if (HasSinglePeerConnection) {
+ output.WriteRawTag(64);
+ output.WriteBool(SinglePeerConnection);
+ }
+ if (HasConnectTimeoutMs) {
+ output.WriteRawTag(72);
+ output.WriteUInt64(ConnectTimeoutMs);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -14743,6 +14874,14 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(58);
output.WriteMessage(Encryption);
}
+ if (HasSinglePeerConnection) {
+ output.WriteRawTag(64);
+ output.WriteBool(SinglePeerConnection);
+ }
+ if (HasConnectTimeoutMs) {
+ output.WriteRawTag(72);
+ output.WriteUInt64(ConnectTimeoutMs);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -14774,6 +14913,12 @@ public int CalculateSize() {
if (encryption_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Encryption);
}
+ if (HasSinglePeerConnection) {
+ size += 1 + 1;
+ }
+ if (HasConnectTimeoutMs) {
+ size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ConnectTimeoutMs);
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -14816,6 +14961,12 @@ public void MergeFrom(RoomOptions other) {
}
Encryption.MergeFrom(other.Encryption);
}
+ if (other.HasSinglePeerConnection) {
+ SinglePeerConnection = other.SinglePeerConnection;
+ }
+ if (other.HasConnectTimeoutMs) {
+ ConnectTimeoutMs = other.ConnectTimeoutMs;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -14872,6 +15023,14 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Encryption);
break;
}
+ case 64: {
+ SinglePeerConnection = input.ReadBool();
+ break;
+ }
+ case 72: {
+ ConnectTimeoutMs = input.ReadUInt64();
+ break;
+ }
}
}
#endif
@@ -14928,6 +15087,14 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Encryption);
break;
}
+ case 64: {
+ SinglePeerConnection = input.ReadBool();
+ break;
+ }
+ case 72: {
+ ConnectTimeoutMs = input.ReadUInt64();
+ break;
+ }
}
}
}
@@ -16086,8 +16253,11 @@ public RoomEvent(RoomEvent other) : this() {
case MessageOneofCase.TokenRefreshed:
TokenRefreshed = other.TokenRefreshed.Clone();
break;
- case MessageOneofCase.RemoteDataTrackPublished:
- RemoteDataTrackPublished = other.RemoteDataTrackPublished.Clone();
+ case MessageOneofCase.DataTrackPublished:
+ DataTrackPublished = other.DataTrackPublished.Clone();
+ break;
+ case MessageOneofCase.DataTrackUnpublished:
+ DataTrackUnpublished = other.DataTrackUnpublished.Clone();
break;
}
@@ -16628,15 +16798,27 @@ public void ClearRoomHandle() {
}
}
- /// Field number for the "remote_data_track_published" field.
- public const int RemoteDataTrackPublishedFieldNumber = 42;
+ /// Field number for the "data_track_published" field.
+ public const int DataTrackPublishedFieldNumber = 42;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
- public global::LiveKit.Proto.RemoteDataTrackPublished RemoteDataTrackPublished {
- get { return messageCase_ == MessageOneofCase.RemoteDataTrackPublished ? (global::LiveKit.Proto.RemoteDataTrackPublished) message_ : null; }
+ public global::LiveKit.Proto.DataTrackPublished DataTrackPublished {
+ get { return messageCase_ == MessageOneofCase.DataTrackPublished ? (global::LiveKit.Proto.DataTrackPublished) message_ : null; }
set {
message_ = value;
- messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.RemoteDataTrackPublished;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataTrackPublished;
+ }
+ }
+
+ /// Field number for the "data_track_unpublished" field.
+ public const int DataTrackUnpublishedFieldNumber = 43;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::LiveKit.Proto.DataTrackUnpublished DataTrackUnpublished {
+ get { return messageCase_ == MessageOneofCase.DataTrackUnpublished ? (global::LiveKit.Proto.DataTrackUnpublished) message_ : null; }
+ set {
+ message_ = value;
+ messageCase_ = value == null ? MessageOneofCase.None : MessageOneofCase.DataTrackUnpublished;
}
}
@@ -16684,7 +16866,8 @@ public enum MessageOneofCase {
ParticipantEncryptionStatusChanged = 39,
ParticipantPermissionChanged = 41,
TokenRefreshed = 40,
- RemoteDataTrackPublished = 42,
+ DataTrackPublished = 42,
+ DataTrackUnpublished = 43,
}
private MessageOneofCase messageCase_ = MessageOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -16756,7 +16939,8 @@ public bool Equals(RoomEvent other) {
if (!object.Equals(ParticipantEncryptionStatusChanged, other.ParticipantEncryptionStatusChanged)) return false;
if (!object.Equals(ParticipantPermissionChanged, other.ParticipantPermissionChanged)) return false;
if (!object.Equals(TokenRefreshed, other.TokenRefreshed)) return false;
- if (!object.Equals(RemoteDataTrackPublished, other.RemoteDataTrackPublished)) return false;
+ if (!object.Equals(DataTrackPublished, other.DataTrackPublished)) return false;
+ if (!object.Equals(DataTrackUnpublished, other.DataTrackUnpublished)) return false;
if (MessageCase != other.MessageCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -16806,7 +16990,8 @@ public override int GetHashCode() {
if (messageCase_ == MessageOneofCase.ParticipantEncryptionStatusChanged) hash ^= ParticipantEncryptionStatusChanged.GetHashCode();
if (messageCase_ == MessageOneofCase.ParticipantPermissionChanged) hash ^= ParticipantPermissionChanged.GetHashCode();
if (messageCase_ == MessageOneofCase.TokenRefreshed) hash ^= TokenRefreshed.GetHashCode();
- if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) hash ^= RemoteDataTrackPublished.GetHashCode();
+ if (messageCase_ == MessageOneofCase.DataTrackPublished) hash ^= DataTrackPublished.GetHashCode();
+ if (messageCase_ == MessageOneofCase.DataTrackUnpublished) hash ^= DataTrackUnpublished.GetHashCode();
hash ^= (int) messageCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -16990,9 +17175,13 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(202, 2);
output.WriteMessage(ParticipantPermissionChanged);
}
- if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
+ if (messageCase_ == MessageOneofCase.DataTrackPublished) {
output.WriteRawTag(210, 2);
- output.WriteMessage(RemoteDataTrackPublished);
+ output.WriteMessage(DataTrackPublished);
+ }
+ if (messageCase_ == MessageOneofCase.DataTrackUnpublished) {
+ output.WriteRawTag(218, 2);
+ output.WriteMessage(DataTrackUnpublished);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
@@ -17168,9 +17357,13 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(202, 2);
output.WriteMessage(ParticipantPermissionChanged);
}
- if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
+ if (messageCase_ == MessageOneofCase.DataTrackPublished) {
output.WriteRawTag(210, 2);
- output.WriteMessage(RemoteDataTrackPublished);
+ output.WriteMessage(DataTrackPublished);
+ }
+ if (messageCase_ == MessageOneofCase.DataTrackUnpublished) {
+ output.WriteRawTag(218, 2);
+ output.WriteMessage(DataTrackUnpublished);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
@@ -17305,8 +17498,11 @@ public int CalculateSize() {
if (messageCase_ == MessageOneofCase.TokenRefreshed) {
size += 2 + pb::CodedOutputStream.ComputeMessageSize(TokenRefreshed);
}
- if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
- size += 2 + pb::CodedOutputStream.ComputeMessageSize(RemoteDataTrackPublished);
+ if (messageCase_ == MessageOneofCase.DataTrackPublished) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(DataTrackPublished);
+ }
+ if (messageCase_ == MessageOneofCase.DataTrackUnpublished) {
+ size += 2 + pb::CodedOutputStream.ComputeMessageSize(DataTrackUnpublished);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
@@ -17564,11 +17760,17 @@ public void MergeFrom(RoomEvent other) {
}
TokenRefreshed.MergeFrom(other.TokenRefreshed);
break;
- case MessageOneofCase.RemoteDataTrackPublished:
- if (RemoteDataTrackPublished == null) {
- RemoteDataTrackPublished = new global::LiveKit.Proto.RemoteDataTrackPublished();
+ case MessageOneofCase.DataTrackPublished:
+ if (DataTrackPublished == null) {
+ DataTrackPublished = new global::LiveKit.Proto.DataTrackPublished();
}
- RemoteDataTrackPublished.MergeFrom(other.RemoteDataTrackPublished);
+ DataTrackPublished.MergeFrom(other.DataTrackPublished);
+ break;
+ case MessageOneofCase.DataTrackUnpublished:
+ if (DataTrackUnpublished == null) {
+ DataTrackUnpublished = new global::LiveKit.Proto.DataTrackUnpublished();
+ }
+ DataTrackUnpublished.MergeFrom(other.DataTrackUnpublished);
break;
}
@@ -17956,12 +18158,21 @@ public void MergeFrom(pb::CodedInputStream input) {
break;
}
case 338: {
- global::LiveKit.Proto.RemoteDataTrackPublished subBuilder = new global::LiveKit.Proto.RemoteDataTrackPublished();
- if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
- subBuilder.MergeFrom(RemoteDataTrackPublished);
+ global::LiveKit.Proto.DataTrackPublished subBuilder = new global::LiveKit.Proto.DataTrackPublished();
+ if (messageCase_ == MessageOneofCase.DataTrackPublished) {
+ subBuilder.MergeFrom(DataTrackPublished);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackPublished = subBuilder;
+ break;
+ }
+ case 346: {
+ global::LiveKit.Proto.DataTrackUnpublished subBuilder = new global::LiveKit.Proto.DataTrackUnpublished();
+ if (messageCase_ == MessageOneofCase.DataTrackUnpublished) {
+ subBuilder.MergeFrom(DataTrackUnpublished);
}
input.ReadMessage(subBuilder);
- RemoteDataTrackPublished = subBuilder;
+ DataTrackUnpublished = subBuilder;
break;
}
}
@@ -18348,12 +18559,21 @@ public void MergeFrom(pb::CodedInputStream input) {
break;
}
case 338: {
- global::LiveKit.Proto.RemoteDataTrackPublished subBuilder = new global::LiveKit.Proto.RemoteDataTrackPublished();
- if (messageCase_ == MessageOneofCase.RemoteDataTrackPublished) {
- subBuilder.MergeFrom(RemoteDataTrackPublished);
+ global::LiveKit.Proto.DataTrackPublished subBuilder = new global::LiveKit.Proto.DataTrackPublished();
+ if (messageCase_ == MessageOneofCase.DataTrackPublished) {
+ subBuilder.MergeFrom(DataTrackPublished);
+ }
+ input.ReadMessage(subBuilder);
+ DataTrackPublished = subBuilder;
+ break;
+ }
+ case 346: {
+ global::LiveKit.Proto.DataTrackUnpublished subBuilder = new global::LiveKit.Proto.DataTrackUnpublished();
+ if (messageCase_ == MessageOneofCase.DataTrackUnpublished) {
+ subBuilder.MergeFrom(DataTrackUnpublished);
}
input.ReadMessage(subBuilder);
- RemoteDataTrackPublished = subBuilder;
+ DataTrackUnpublished = subBuilder;
break;
}
}
@@ -35064,16 +35284,16 @@ public void MergeFrom(pb::CodedInputStream input) {
/// A remote participant published a data track.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
- public sealed partial class RemoteDataTrackPublished : pb::IMessage
+ public sealed partial class DataTrackPublished : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
- private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RemoteDataTrackPublished());
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackPublished());
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)]
@@ -35089,7 +35309,7 @@ public sealed partial class RemoteDataTrackPublished : pb::IMessageField number for the "track" field.
@@ -35123,12 +35343,12 @@ public RemoteDataTrackPublished Clone() {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
- return Equals(other as RemoteDataTrackPublished);
+ return Equals(other as DataTrackPublished);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
- public bool Equals(RemoteDataTrackPublished other) {
+ public bool Equals(DataTrackPublished other) {
if (ReferenceEquals(other, null)) {
return false;
}
@@ -35201,7 +35421,7 @@ public int CalculateSize() {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
- public void MergeFrom(RemoteDataTrackPublished other) {
+ public void MergeFrom(DataTrackPublished other) {
if (other == null) {
return;
}
@@ -35270,6 +35490,224 @@ public void MergeFrom(pb::CodedInputStream input) {
}
+ ///
+ /// A remote participant unpublished a data track.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class DataTrackUnpublished : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataTrackUnpublished());
+ 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[107]; }
+ }
+
+ [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 DataTrackUnpublished() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackUnpublished(DataTrackUnpublished other) : this() {
+ sid_ = other.sid_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public DataTrackUnpublished Clone() {
+ return new DataTrackUnpublished(this);
+ }
+
+ /// Field number for the "sid" field.
+ public const int SidFieldNumber = 1;
+ private readonly static string SidDefaultValue = "";
+
+ private string sid_;
+ ///
+ /// SID of the track that was unpublished.
+ ///
+ [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 DataTrackUnpublished);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(DataTrackUnpublished 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(DataTrackUnpublished 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
+
+ }
+
#endregion
}
diff --git a/Runtime/Scripts/Proto/VideoFrame.cs b/Runtime/Scripts/Proto/VideoFrame.cs
index 45d9a353..4ba2f788 100644
--- a/Runtime/Scripts/Proto/VideoFrame.cs
+++ b/Runtime/Scripts/Proto/VideoFrame.cs
@@ -37,58 +37,59 @@ static VideoFrameReflection() {
"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",
- "cm90by5WaWRlb1NvdXJjZUluZm8qOwoKVmlkZW9Db2RlYxIHCgNWUDgQABII",
- "CgRIMjY0EAESBwoDQVYxEAISBwoDVlA5EAMSCAoESDI2NRAEKmwKDVZpZGVv",
- "Um90YXRpb24SFAoQVklERU9fUk9UQVRJT05fMBAAEhUKEVZJREVPX1JPVEFU",
- "SU9OXzkwEAESFgoSVklERU9fUk9UQVRJT05fMTgwEAISFgoSVklERU9fUk9U",
- "QVRJT05fMjcwEAMqgQEKD1ZpZGVvQnVmZmVyVHlwZRIICgRSR0JBEAASCAoE",
- "QUJHUhABEggKBEFSR0IQAhIICgRCR1JBEAMSCQoFUkdCMjQQBBIICgRJNDIw",
- "EAUSCQoFSTQyMEEQBhIICgRJNDIyEAcSCAoESTQ0NBAIEggKBEkwMTAQCRII",
- "CgROVjEyEAoqWQoPVmlkZW9TdHJlYW1UeXBlEhcKE1ZJREVPX1NUUkVBTV9O",
- "QVRJVkUQABIWChJWSURFT19TVFJFQU1fV0VCR0wQARIVChFWSURFT19TVFJF",
- "QU1fSFRNTBACKioKD1ZpZGVvU291cmNlVHlwZRIXChNWSURFT19TT1VSQ0Vf",
- "TkFUSVZFEABCEKoCDUxpdmVLaXQuUHJvdG8="));
+ "ZWFtGAEgAigLMh8ubGl2ZWtpdC5wcm90by5Pd25lZFZpZGVvU3RyZWFtIpYB",
+ "ChVOZXdWaWRlb1NvdXJjZVJlcXVlc3QSLAoEdHlwZRgBIAIoDjIeLmxpdmVr",
+ "aXQucHJvdG8uVmlkZW9Tb3VyY2VUeXBlEjgKCnJlc29sdXRpb24YAiACKAsy",
+ "JC5saXZla2l0LnByb3RvLlZpZGVvU291cmNlUmVzb2x1dGlvbhIVCg1pc19z",
+ "Y3JlZW5jYXN0GAMgASgIIkkKFk5ld1ZpZGVvU291cmNlUmVzcG9uc2USLwoG",
+ "c291cmNlGAEgAigLMh8ubGl2ZWtpdC5wcm90by5Pd25lZFZpZGVvU291cmNl",
+ "IqcBChhDYXB0dXJlVmlkZW9GcmFtZVJlcXVlc3QSFQoNc291cmNlX2hhbmRs",
+ "ZRgBIAIoBBIuCgZidWZmZXIYAiACKAsyHi5saXZla2l0LnByb3RvLlZpZGVv",
+ "QnVmZmVySW5mbxIUCgx0aW1lc3RhbXBfdXMYAyACKAMSLgoIcm90YXRpb24Y",
+ "BCACKA4yHC5saXZla2l0LnByb3RvLlZpZGVvUm90YXRpb24iGwoZQ2FwdHVy",
+ "ZVZpZGVvRnJhbWVSZXNwb25zZSKHAQoTVmlkZW9Db252ZXJ0UmVxdWVzdBIO",
+ "CgZmbGlwX3kYASABKAgSLgoGYnVmZmVyGAIgAigLMh4ubGl2ZWtpdC5wcm90",
+ "by5WaWRlb0J1ZmZlckluZm8SMAoIZHN0X3R5cGUYAyACKA4yHi5saXZla2l0",
+ "LnByb3RvLlZpZGVvQnVmZmVyVHlwZSJlChRWaWRlb0NvbnZlcnRSZXNwb25z",
+ "ZRIPCgVlcnJvchgBIAEoCUgAEjEKBmJ1ZmZlchgCIAEoCzIfLmxpdmVraXQu",
+ "cHJvdG8uT3duZWRWaWRlb0J1ZmZlckgAQgkKB21lc3NhZ2UiRAoPVmlkZW9S",
+ "ZXNvbHV0aW9uEg0KBXdpZHRoGAEgAigNEg4KBmhlaWdodBgCIAIoDRISCgpm",
+ "cmFtZV9yYXRlGAMgAigBIoMCCg9WaWRlb0J1ZmZlckluZm8SLAoEdHlwZRgB",
+ "IAIoDjIeLmxpdmVraXQucHJvdG8uVmlkZW9CdWZmZXJUeXBlEg0KBXdpZHRo",
+ "GAIgAigNEg4KBmhlaWdodBgDIAIoDRIQCghkYXRhX3B0chgEIAIoBBIOCgZz",
+ "dHJpZGUYBiABKA0SQAoKY29tcG9uZW50cxgHIAMoCzIsLmxpdmVraXQucHJv",
+ "dG8uVmlkZW9CdWZmZXJJbmZvLkNvbXBvbmVudEluZm8aPwoNQ29tcG9uZW50",
+ "SW5mbxIQCghkYXRhX3B0chgBIAIoBBIOCgZzdHJpZGUYAiACKA0SDAoEc2l6",
+ "ZRgDIAIoDSJvChBPd25lZFZpZGVvQnVmZmVyEi0KBmhhbmRsZRgBIAIoCzId",
+ "LmxpdmVraXQucHJvdG8uRmZpT3duZWRIYW5kbGUSLAoEaW5mbxgCIAIoCzIe",
+ "LmxpdmVraXQucHJvdG8uVmlkZW9CdWZmZXJJbmZvIj8KD1ZpZGVvU3RyZWFt",
+ "SW5mbxIsCgR0eXBlGAEgAigOMh4ubGl2ZWtpdC5wcm90by5WaWRlb1N0cmVh",
+ "bVR5cGUibwoQT3duZWRWaWRlb1N0cmVhbRItCgZoYW5kbGUYASACKAsyHS5s",
+ "aXZla2l0LnByb3RvLkZmaU93bmVkSGFuZGxlEiwKBGluZm8YAiACKAsyHi5s",
+ "aXZla2l0LnByb3RvLlZpZGVvU3RyZWFtSW5mbyKfAQoQVmlkZW9TdHJlYW1F",
+ "dmVudBIVCg1zdHJlYW1faGFuZGxlGAEgAigEEjsKDmZyYW1lX3JlY2VpdmVk",
+ "GAIgASgLMiEubGl2ZWtpdC5wcm90by5WaWRlb0ZyYW1lUmVjZWl2ZWRIABIs",
+ "CgNlb3MYAyABKAsyHS5saXZla2l0LnByb3RvLlZpZGVvU3RyZWFtRU9TSABC",
+ "CQoHbWVzc2FnZSKLAQoSVmlkZW9GcmFtZVJlY2VpdmVkEi8KBmJ1ZmZlchgB",
+ "IAIoCzIfLmxpdmVraXQucHJvdG8uT3duZWRWaWRlb0J1ZmZlchIUCgx0aW1l",
+ "c3RhbXBfdXMYAiACKAMSLgoIcm90YXRpb24YAyACKA4yHC5saXZla2l0LnBy",
+ "b3RvLlZpZGVvUm90YXRpb24iEAoOVmlkZW9TdHJlYW1FT1MiNgoVVmlkZW9T",
+ "b3VyY2VSZXNvbHV0aW9uEg0KBXdpZHRoGAEgAigNEg4KBmhlaWdodBgCIAIo",
+ "DSI/Cg9WaWRlb1NvdXJjZUluZm8SLAoEdHlwZRgBIAIoDjIeLmxpdmVraXQu",
+ "cHJvdG8uVmlkZW9Tb3VyY2VUeXBlIm8KEE93bmVkVmlkZW9Tb3VyY2USLQoG",
+ "aGFuZGxlGAEgAigLMh0ubGl2ZWtpdC5wcm90by5GZmlPd25lZEhhbmRsZRIs",
+ "CgRpbmZvGAIgAigLMh4ubGl2ZWtpdC5wcm90by5WaWRlb1NvdXJjZUluZm8q",
+ "OwoKVmlkZW9Db2RlYxIHCgNWUDgQABIICgRIMjY0EAESBwoDQVYxEAISBwoD",
+ "VlA5EAMSCAoESDI2NRAEKmwKDVZpZGVvUm90YXRpb24SFAoQVklERU9fUk9U",
+ "QVRJT05fMBAAEhUKEVZJREVPX1JPVEFUSU9OXzkwEAESFgoSVklERU9fUk9U",
+ "QVRJT05fMTgwEAISFgoSVklERU9fUk9UQVRJT05fMjcwEAMqgQEKD1ZpZGVv",
+ "QnVmZmVyVHlwZRIICgRSR0JBEAASCAoEQUJHUhABEggKBEFSR0IQAhIICgRC",
+ "R1JBEAMSCQoFUkdCMjQQBBIICgRJNDIwEAUSCQoFSTQyMEEQBhIICgRJNDIy",
+ "EAcSCAoESTQ0NBAIEggKBEkwMTAQCRIICgROVjEyEAoqWQoPVmlkZW9TdHJl",
+ "YW1UeXBlEhcKE1ZJREVPX1NUUkVBTV9OQVRJVkUQABIWChJWSURFT19TVFJF",
+ "QU1fV0VCR0wQARIVChFWSURFT19TVFJFQU1fSFRNTBACKioKD1ZpZGVvU291",
+ "cmNlVHlwZRIXChNWSURFT19TT1VSQ0VfTkFUSVZFEABCEKoCDUxpdmVLaXQu",
+ "UHJvdG8="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
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[] {
@@ -96,7 +97,7 @@ static VideoFrameReflection() {
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.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.NewVideoSourceRequest), global::LiveKit.Proto.NewVideoSourceRequest.Parser, new[]{ "Type", "Resolution", "IsScreencast" }, 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", "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),
@@ -1429,6 +1430,7 @@ public NewVideoSourceRequest(NewVideoSourceRequest other) : this() {
_hasBits0 = other._hasBits0;
type_ = other.type_;
resolution_ = other.resolution_ != null ? other.resolution_.Clone() : null;
+ isScreencast_ = other.isScreencast_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -1470,7 +1472,7 @@ public void ClearType() {
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
+ /// Most of the time it corresponds to the source resolution
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@@ -1481,6 +1483,33 @@ public void ClearType() {
}
}
+ /// Field number for the "is_screencast" field.
+ public const int IsScreencastFieldNumber = 3;
+ private readonly static bool IsScreencastDefaultValue = false;
+
+ private bool isScreencast_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool IsScreencast {
+ get { if ((_hasBits0 & 2) != 0) { return isScreencast_; } else { return IsScreencastDefaultValue; } }
+ set {
+ _hasBits0 |= 2;
+ isScreencast_ = value;
+ }
+ }
+ /// Gets whether the "is_screencast" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasIsScreencast {
+ get { return (_hasBits0 & 2) != 0; }
+ }
+ /// Clears the value of the "is_screencast" field
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearIsScreencast() {
+ _hasBits0 &= ~2;
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -1498,6 +1527,7 @@ public bool Equals(NewVideoSourceRequest other) {
}
if (Type != other.Type) return false;
if (!object.Equals(Resolution, other.Resolution)) return false;
+ if (IsScreencast != other.IsScreencast) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -1507,6 +1537,7 @@ public override int GetHashCode() {
int hash = 1;
if (HasType) hash ^= Type.GetHashCode();
if (resolution_ != null) hash ^= Resolution.GetHashCode();
+ if (HasIsScreencast) hash ^= IsScreencast.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -1533,6 +1564,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Resolution);
}
+ if (HasIsScreencast) {
+ output.WriteRawTag(24);
+ output.WriteBool(IsScreencast);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -1551,6 +1586,10 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(18);
output.WriteMessage(Resolution);
}
+ if (HasIsScreencast) {
+ output.WriteRawTag(24);
+ output.WriteBool(IsScreencast);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -1567,6 +1606,9 @@ public int CalculateSize() {
if (resolution_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Resolution);
}
+ if (HasIsScreencast) {
+ size += 1 + 1;
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -1588,6 +1630,9 @@ public void MergeFrom(NewVideoSourceRequest other) {
}
Resolution.MergeFrom(other.Resolution);
}
+ if (other.HasIsScreencast) {
+ IsScreencast = other.IsScreencast;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -1618,6 +1663,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Resolution);
break;
}
+ case 24: {
+ IsScreencast = input.ReadBool();
+ break;
+ }
}
}
#endif
@@ -1648,6 +1697,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(Resolution);
break;
}
+ case 24: {
+ IsScreencast = input.ReadBool();
+ break;
+ }
}
}
}
From f1f090da7f707c101590b7f46a87f0a5b91b9434 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 12:42:58 -0700
Subject: [PATCH 12/17] Rename event
---
Runtime/Scripts/Room.cs | 12 ++++++------
Tests/PlayMode/DataTrackTests.cs | 10 +++++-----
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/Runtime/Scripts/Room.cs b/Runtime/Scripts/Room.cs
index 8ce87ece..e8645b2f 100644
--- a/Runtime/Scripts/Room.cs
+++ b/Runtime/Scripts/Room.cs
@@ -126,7 +126,7 @@ public class Room
public delegate void ConnectionStateChangeDelegate(ConnectionState connectionState);
public delegate void ConnectionDelegate(Room room);
public delegate void E2EeStateChangedDelegate(Participant participant, EncryptionState state);
- public delegate void RemoteDataTrackPublishedDelegate(RemoteDataTrack track);
+ public delegate void DataTrackPublishedDelegate(RemoteDataTrack track);
public string Sid { private set; get; }
public string Name { private set; get; }
@@ -162,7 +162,7 @@ public class Room
public event ParticipantDelegate ParticipantMetadataChanged;
public event ParticipantDelegate ParticipantNameChanged;
public event ParticipantDelegate ParticipantAttributesChanged;
- public event RemoteDataTrackPublishedDelegate RemoteDataTrackPublished;
+ public event DataTrackPublishedDelegate DataTrackPublished;
public ConnectInstruction Connect(string url, string token, RoomOptions options)
{
@@ -236,7 +236,7 @@ internal void UpdateFromInfo(RoomInfo info)
Sid = info.Sid;
Name = info.Name;
Metadata = info.Metadata;
- NumParticipants = info.NumParticipants;
+ NumParticipants = info.NumParticipants;
}
internal void OnRpcMethodInvocationReceived(RpcMethodInvocationEvent e)
@@ -506,10 +506,10 @@ internal void OnEventReceived(RoomEvent e)
UpdateFromInfo(e.Moved);
}
break;
- case RoomEvent.MessageOneofCase.RemoteDataTrackPublished:
+ case RoomEvent.MessageOneofCase.DataTrackPublished:
{
- var track = new RemoteDataTrack(e.RemoteDataTrackPublished.Track);
- RemoteDataTrackPublished?.Invoke(track);
+ var track = new RemoteDataTrack(e.DataTrackPublished.Track);
+ DataTrackPublished?.Invoke(track);
}
break;
}
diff --git a/Tests/PlayMode/DataTrackTests.cs b/Tests/PlayMode/DataTrackTests.cs
index 35e15341..1d5d8760 100644
--- a/Tests/PlayMode/DataTrackTests.cs
+++ b/Tests/PlayMode/DataTrackTests.cs
@@ -95,7 +95,7 @@ public IEnumerator Unpublish_IsPublishedReturnsFalse()
}
[UnityTest, Category("E2E")]
- public IEnumerator RemoteDataTrackPublished_TriggersEvent()
+ public IEnumerator DataTrackPublished_TriggersEvent()
{
var publisher = TestRoomContext.ConnectionOptions.Default;
publisher.Identity = "publisher";
@@ -110,7 +110,7 @@ public IEnumerator RemoteDataTrackPublished_TriggersEvent()
var expectation = new Expectation(timeoutSeconds: 10f);
RemoteDataTrack receivedTrack = null;
- subscriberRoom.RemoteDataTrackPublished += (track) =>
+ subscriberRoom.DataTrackPublished += (track) =>
{
receivedTrack = track;
expectation.Fulfill();
@@ -143,7 +143,7 @@ public IEnumerator Subscribe_Succeeds()
var trackExpectation = new Expectation(timeoutSeconds: 10f);
RemoteDataTrack remoteTrack = null;
- subscriberRoom.RemoteDataTrackPublished += (track) =>
+ subscriberRoom.DataTrackPublished += (track) =>
{
remoteTrack = track;
trackExpectation.Fulfill();
@@ -180,7 +180,7 @@ public IEnumerator PushAndReceive_FramePayloadMatches()
var trackExpectation = new Expectation(timeoutSeconds: 10f);
RemoteDataTrack remoteTrack = null;
- subscriberRoom.RemoteDataTrackPublished += (track) =>
+ subscriberRoom.DataTrackPublished += (track) =>
{
remoteTrack = track;
trackExpectation.Fulfill();
@@ -226,7 +226,7 @@ public IEnumerator PushAndReceive_TimestampIsPreserved()
var trackExpectation = new Expectation(timeoutSeconds: 10f);
RemoteDataTrack remoteTrack = null;
- subscriberRoom.RemoteDataTrackPublished += (track) =>
+ subscriberRoom.DataTrackPublished += (track) =>
{
remoteTrack = track;
trackExpectation.Fulfill();
From 42fc03dd22e8e6caf1a24b45cc5b175ae10b4fb3 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 12:52:18 -0700
Subject: [PATCH 13/17] Expose unpublished event
---
Runtime/Scripts/Room.cs | 7 +++++++
Tests/PlayMode/DataTrackTests.cs | 25 ++++++++++++++++++++-----
2 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/Runtime/Scripts/Room.cs b/Runtime/Scripts/Room.cs
index e8645b2f..97c6f9e4 100644
--- a/Runtime/Scripts/Room.cs
+++ b/Runtime/Scripts/Room.cs
@@ -127,6 +127,7 @@ public class Room
public delegate void ConnectionDelegate(Room room);
public delegate void E2EeStateChangedDelegate(Participant participant, EncryptionState state);
public delegate void DataTrackPublishedDelegate(RemoteDataTrack track);
+ public delegate void DataTrackUnpublishedDelegate(string sid);
public string Sid { private set; get; }
public string Name { private set; get; }
@@ -163,6 +164,7 @@ public class Room
public event ParticipantDelegate ParticipantNameChanged;
public event ParticipantDelegate ParticipantAttributesChanged;
public event DataTrackPublishedDelegate DataTrackPublished;
+ public event DataTrackUnpublishedDelegate DataTrackUnpublished;
public ConnectInstruction Connect(string url, string token, RoomOptions options)
{
@@ -512,6 +514,11 @@ internal void OnEventReceived(RoomEvent e)
DataTrackPublished?.Invoke(track);
}
break;
+ case RoomEvent.MessageOneofCase.DataTrackUnpublished:
+ {
+ DataTrackUnpublished?.Invoke(e.DataTrackUnpublished.Sid);
+ }
+ break;
}
}
diff --git a/Tests/PlayMode/DataTrackTests.cs b/Tests/PlayMode/DataTrackTests.cs
index 1d5d8760..89130eed 100644
--- a/Tests/PlayMode/DataTrackTests.cs
+++ b/Tests/PlayMode/DataTrackTests.cs
@@ -95,7 +95,7 @@ public IEnumerator Unpublish_IsPublishedReturnsFalse()
}
[UnityTest, Category("E2E")]
- public IEnumerator DataTrackPublished_TriggersEvent()
+ public IEnumerator PublishAndUnpublish_TriggersEvents()
{
var publisher = TestRoomContext.ConnectionOptions.Default;
publisher.Identity = "publisher";
@@ -107,13 +107,13 @@ public IEnumerator DataTrackPublished_TriggersEvent()
Assert.IsNull(context.ConnectionError);
var subscriberRoom = context.Rooms[1];
- var expectation = new Expectation(timeoutSeconds: 10f);
+ var publishedExpectation = new Expectation(timeoutSeconds: 10f);
RemoteDataTrack receivedTrack = null;
subscriberRoom.DataTrackPublished += (track) =>
{
receivedTrack = track;
- expectation.Fulfill();
+ publishedExpectation.Fulfill();
};
var publisherRoom = context.Rooms[0];
@@ -121,10 +121,25 @@ public IEnumerator DataTrackPublished_TriggersEvent()
yield return publishInstruction;
Assert.IsFalse(publishInstruction.IsError);
- yield return expectation.Wait();
- Assert.IsNull(expectation.Error);
+ yield return publishedExpectation.Wait();
+ Assert.IsNull(publishedExpectation.Error);
Assert.AreEqual(TestTrackName, receivedTrack.Info.Name);
Assert.AreEqual(publisher.Identity, receivedTrack.PublisherIdentity);
+
+ var unpublishedExpectation = new Expectation(timeoutSeconds: 10f);
+ string unpublishedSid = null;
+
+ subscriberRoom.DataTrackUnpublished += (sid) =>
+ {
+ unpublishedSid = sid;
+ unpublishedExpectation.Fulfill();
+ };
+
+ publishInstruction.Track.Unpublish();
+
+ yield return unpublishedExpectation.Wait();
+ Assert.IsNull(unpublishedExpectation.Error);
+ Assert.AreEqual(receivedTrack.Info.Sid, unpublishedSid);
}
[UnityTest, Category("E2E")]
From 0d8acfdde23ae2d42ce2fbd638008a515f562957 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 12:59:26 -0700
Subject: [PATCH 14/17] Expose buffer size subscribe option
---
Runtime/Scripts/DataTrack.cs | 43 ++++++++++++++++++++++++++++++++++--
1 file changed, 41 insertions(+), 2 deletions(-)
diff --git a/Runtime/Scripts/DataTrack.cs b/Runtime/Scripts/DataTrack.cs
index 778f5606..e88f9e7c 100644
--- a/Runtime/Scripts/DataTrack.cs
+++ b/Runtime/Scripts/DataTrack.cs
@@ -55,6 +55,23 @@ public DataTrackOptions(string name)
}
}
+ ///
+ /// Options for subscribing to a remote data track.
+ ///
+ public class DataTrackSubscribeOptions
+ {
+ ///
+ /// Sets the maximum number of received frames buffered internally.
+ ///
+ ///
+ /// Zero is not a valid buffer size; if a value of zero is provided, it will be clamped to one.
+ ///
+ /// If there is already an active subscription for a given track, specifying a
+ /// different buffer size when obtaining a new subscription will have no effect.
+ ///
+ public uint? BufferSize { get; set; }
+ }
+
///
/// A frame published on a data track, consisting of a payload and optional metadata.
///
@@ -260,24 +277,46 @@ internal RemoteDataTrack(OwnedRemoteDataTrack owned)
///
/// Subscribes to the data track to receive frames.
///
+ /// Options for the subscription, such as buffer size.
///
/// A that completes when the subscription
/// is established or errors.
/// Check and access
/// to handle the result.
///
- public SubscribeDataTrackInstruction Subscribe()
+ public SubscribeDataTrackInstruction Subscribe(DataTrackSubscribeOptions options)
{
using var request = FFIBridge.Instance.NewRequest();
var subReq = request.request;
subReq.TrackHandle = (ulong)_handle.DangerousGetHandle();
- subReq.Options = new DataTrackSubscribeOptions();
+
+ var protoOptions = new Proto.DataTrackSubscribeOptions();
+ if (options.BufferSize.HasValue)
+ protoOptions.BufferSize = options.BufferSize.Value;
+ subReq.Options = protoOptions;
using var response = request.Send();
FfiResponse res = response;
return new SubscribeDataTrackInstruction(res.SubscribeDataTrack.AsyncId);
}
+ ///
+ /// Subscribes to the data track to receive frames using default options.
+ ///
+ ///
+ /// Use the overload to configure subscription options.
+ ///
+ ///
+ /// A that completes when the subscription
+ /// is established or errors.
+ /// Check and access
+ /// to handle the result.
+ ///
+ public SubscribeDataTrackInstruction Subscribe()
+ {
+ return Subscribe(new DataTrackSubscribeOptions());
+ }
+
///
/// Whether or not the track is still published.
///
From 60f31eb694b8aec4748d4a8c77bb0271d2c70962 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 13:09:14 -0700
Subject: [PATCH 15/17] Add explicit request to receive next frame for
subscription
---
Runtime/Scripts/DataTrack.cs | 5 +++++
Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/Runtime/Scripts/DataTrack.cs b/Runtime/Scripts/DataTrack.cs
index e88f9e7c..5eb6aa35 100644
--- a/Runtime/Scripts/DataTrack.cs
+++ b/Runtime/Scripts/DataTrack.cs
@@ -432,6 +432,11 @@ internal DataTrackSubscription(OwnedDataTrackSubscription owned)
public ReadFrameInstruction ReadFrame()
{
_currentInstruction = new ReadFrameInstruction();
+
+ using var request = FFIBridge.Instance.NewRequest();
+ request.request.SubscriptionHandle = _handleId;
+ using var response = request.Send();
+
return _currentInstruction;
}
diff --git a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs
index 7838dd52..9311dfb3 100644
--- a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs
+++ b/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs
@@ -165,6 +165,9 @@ public static void Inject(this FfiRequest ffiRequest, T request)
case RemoteDataTrackIsPublishedRequest remoteDataTrackIsPublishedRequest:
ffiRequest.RemoteDataTrackIsPublished = remoteDataTrackIsPublishedRequest;
break;
+ case DataTrackSubscriptionReadRequest dataTrackSubscriptionReadRequest:
+ ffiRequest.DataTrackSubscriptionRead = dataTrackSubscriptionReadRequest;
+ break;
default:
throw new Exception($"Unknown request type: {request?.GetType().FullName ?? "null"}");
}
@@ -229,6 +232,7 @@ public static void EnsureClean(this FfiRequest request)
|| request.LocalDataTrackIsPublished != null
|| request.SubscribeDataTrack != null
|| request.RemoteDataTrackIsPublished != null
+ || request.DataTrackSubscriptionRead != null
)
{
throw new InvalidOperationException("Request is not cleared");
@@ -294,6 +298,7 @@ public static void EnsureClean(this FfiResponse response)
|| response.LocalDataTrackIsPublished != null
|| response.SubscribeDataTrack != null
|| response.RemoteDataTrackIsPublished != null
+ || response.DataTrackSubscriptionRead != null
)
{
throw new InvalidOperationException("Response is not cleared: ");
From fbf8cfcc0eb3ac86462dba8ce09ac36f6f69a003 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 13:39:27 -0700
Subject: [PATCH 16/17] Adopt new pattern for one-shot async completion
---
Runtime/Scripts/DataTrack.cs | 14 ++++++++++----
Runtime/Scripts/Internal/FFIClient.cs | 10 ++--------
Runtime/Scripts/Participant.cs | 14 ++++++++++----
3 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/Runtime/Scripts/DataTrack.cs b/Runtime/Scripts/DataTrack.cs
index 5eb6aa35..9397edb4 100644
--- a/Runtime/Scripts/DataTrack.cs
+++ b/Runtime/Scripts/DataTrack.cs
@@ -295,9 +295,9 @@ public SubscribeDataTrackInstruction Subscribe(DataTrackSubscribeOptions options
protoOptions.BufferSize = options.BufferSize.Value;
subReq.Options = protoOptions;
+ var instruction = new SubscribeDataTrackInstruction(request.RequestAsyncId);
using var response = request.Send();
- FfiResponse res = response;
- return new SubscribeDataTrackInstruction(res.SubscribeDataTrack.AsyncId);
+ return instruction;
}
///
@@ -347,7 +347,7 @@ public sealed class SubscribeDataTrackInstruction : YieldInstruction
internal SubscribeDataTrackInstruction(ulong asyncId)
{
_asyncId = asyncId;
- FfiClient.Instance.SubscribeDataTrackReceived += OnSubscribe;
+ FfiClient.Instance.RegisterPendingCallback(asyncId, static e => e.SubscribeDataTrack, OnSubscribe, OnCanceled);
}
internal void OnSubscribe(SubscribeDataTrackCallback callback)
@@ -366,7 +366,13 @@ internal void OnSubscribe(SubscribeDataTrackCallback callback)
break;
}
IsDone = true;
- FfiClient.Instance.SubscribeDataTrackReceived -= OnSubscribe;
+ }
+
+ void OnCanceled()
+ {
+ Error = new SubscribeDataTrackError("Canceled");
+ IsError = true;
+ IsDone = true;
}
///
diff --git a/Runtime/Scripts/Internal/FFIClient.cs b/Runtime/Scripts/Internal/FFIClient.cs
index 960b199e..5f412390 100644
--- a/Runtime/Scripts/Internal/FFIClient.cs
+++ b/Runtime/Scripts/Internal/FFIClient.cs
@@ -62,8 +62,6 @@ internal sealed class FfiClient : IFFIClient
public event TextStreamReaderEventReceivedDelegate? TextStreamReaderEventReceived;
// Data Track
- public event PublishDataTrackReceivedDelegate? PublishDataTrackReceived;
- public event SubscribeDataTrackReceivedDelegate? SubscribeDataTrackReceived;
public event DataTrackSubscriptionEventReceivedDelegate? DataTrackSubscriptionEventReceived;
public FfiClient() : this(Pools.NewFfiResponsePool(), new ArrayMemoryPool())
@@ -337,12 +335,6 @@ static unsafe void FFICallback(UIntPtr data, UIntPtr size)
Instance.TextStreamReaderEventReceived?.Invoke(r.TextStreamReaderEvent!);
break;
// Data Track
- case FfiEvent.MessageOneofCase.PublishDataTrack:
- Instance.PublishDataTrackReceived?.Invoke(r.PublishDataTrack!);
- break;
- case FfiEvent.MessageOneofCase.SubscribeDataTrack:
- Instance.SubscribeDataTrackReceived?.Invoke(r.SubscribeDataTrack!);
- break;
case FfiEvent.MessageOneofCase.DataTrackSubscriptionEvent:
Instance.DataTrackSubscriptionEventReceived?.Invoke(r.DataTrackSubscriptionEvent!);
break;
@@ -410,6 +402,8 @@ private bool TryDispatchPendingCallback(ulong requestAsyncId, FfiEvent ffiEvent)
FfiEvent.MessageOneofCase.TextStreamWriterWrite => ffiEvent.TextStreamWriterWrite?.AsyncId,
FfiEvent.MessageOneofCase.TextStreamWriterClose => ffiEvent.TextStreamWriterClose?.AsyncId,
FfiEvent.MessageOneofCase.SendText => ffiEvent.SendText?.AsyncId,
+ FfiEvent.MessageOneofCase.PublishDataTrack => ffiEvent.PublishDataTrack?.AsyncId,
+ FfiEvent.MessageOneofCase.SubscribeDataTrack => ffiEvent.SubscribeDataTrack?.AsyncId,
_ => null,
};
}
diff --git a/Runtime/Scripts/Participant.cs b/Runtime/Scripts/Participant.cs
index 13fe60f3..81a61cc8 100644
--- a/Runtime/Scripts/Participant.cs
+++ b/Runtime/Scripts/Participant.cs
@@ -559,9 +559,9 @@ public PublishDataTrackInstruction PublishDataTrack(DataTrackOptions options)
publishReq.LocalParticipantHandle = (ulong)Handle.DangerousGetHandle();
publishReq.Options = new Proto.DataTrackOptions { Name = options.Name };
+ var instruction = new PublishDataTrackInstruction(request.RequestAsyncId);
using var response = request.Send();
- FfiResponse res = response;
- return new PublishDataTrackInstruction(res.PublishDataTrack.AsyncId);
+ return instruction;
}
///
@@ -1029,7 +1029,7 @@ public sealed class PublishDataTrackInstruction : YieldInstruction
internal PublishDataTrackInstruction(ulong asyncId)
{
_asyncId = asyncId;
- FfiClient.Instance.PublishDataTrackReceived += OnPublishDataTrack;
+ FfiClient.Instance.RegisterPendingCallback(asyncId, static e => e.PublishDataTrack, OnPublishDataTrack, OnCanceled);
}
internal void OnPublishDataTrack(PublishDataTrackCallback e)
@@ -1048,7 +1048,13 @@ internal void OnPublishDataTrack(PublishDataTrackCallback e)
break;
}
IsDone = true;
- FfiClient.Instance.PublishDataTrackReceived -= OnPublishDataTrack;
+ }
+
+ void OnCanceled()
+ {
+ Error = new PublishDataTrackError("Canceled");
+ IsError = true;
+ IsDone = true;
}
///
From dbefe11bbfb0aeb039565441ec3b5b31507d49c7 Mon Sep 17 00:00:00 2001
From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com>
Date: Tue, 24 Mar 2026 13:47:55 -0700
Subject: [PATCH 17/17] Remove custom SFU config in CI
---
.github/workflows/ci.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7ce1b2ad..b2f8dd56 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -39,7 +39,7 @@ jobs:
- name: Install LiveKit Server
run: curl -sSL https://get.livekit.io | bash
- name: Run LiveKit Server
- run: 'LIVEKIT_CONFIG="enable_data_tracks: true" livekit-server --dev &'
+ run: livekit-server --dev &
- name: Run Tests
uses: game-ci/unity-test-runner@v4
id: testRunner