From decca08d51ae960c012fcbd49c42b3e65380d075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Monnom?= Date: Mon, 15 Jan 2024 12:59:19 +0100 Subject: [PATCH] ignore unknown fields on webhook receiver & update proto (#290) * fix: webhook body serde decode error due to missing field * update proto & ignore unknown fields --------- Co-authored-by: Victor A <52110451+cs50victor@users.noreply.github.com> --- livekit-protocol/generate_proto.sh | 3 +- livekit-protocol/protocol | 2 +- livekit-protocol/src/livekit.rs | 4 + livekit-protocol/src/livekit.serde.rs | 739 +++++++++++++++++++++----- 4 files changed, 626 insertions(+), 122 deletions(-) diff --git a/livekit-protocol/generate_proto.sh b/livekit-protocol/generate_proto.sh index 485d195c2..903cab1da 100755 --- a/livekit-protocol/generate_proto.sh +++ b/livekit-protocol/generate_proto.sh @@ -23,8 +23,9 @@ protoc \ --prost_opt=compile_well_known_types \ --prost_opt=extern_path=.google.protobuf=::pbjson_types \ --prost-serde_out=$OUT_RUST \ + --prost-serde_opt=ignore_unknown_fields \ $PROTOCOL/livekit_egress.proto \ $PROTOCOL/livekit_rtc.proto \ $PROTOCOL/livekit_room.proto \ $PROTOCOL/livekit_webhook.proto \ - $PROTOCOL/livekit_models.proto \ No newline at end of file + $PROTOCOL/livekit_models.proto diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index 3045ec765..8ad4c79e2 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit 3045ec7650ee8b9ccb893871a8a8dde66b5e88f3 +Subproject commit 8ad4c79e2d02ca6d0af6c9a9e166cc7c2e74a56b diff --git a/livekit-protocol/src/livekit.rs b/livekit-protocol/src/livekit.rs index 5d0f88926..3783bae87 100644 --- a/livekit-protocol/src/livekit.rs +++ b/livekit-protocol/src/livekit.rs @@ -24,6 +24,8 @@ pub struct Room { pub num_publishers: u32, #[prost(bool, tag="10")] pub active_recording: bool, + #[prost(message, optional, tag="13")] + pub version: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -274,6 +276,8 @@ pub struct TrackInfo { pub encryption: i32, #[prost(string, tag="17")] pub stream: ::prost::alloc::string::String, + #[prost(message, optional, tag="18")] + pub version: ::core::option::Option, } /// provide information about available spatial layers #[allow(clippy::derive_partial_eq_without_eq)] diff --git a/livekit-protocol/src/livekit.serde.rs b/livekit-protocol/src/livekit.serde.rs index a4fc72dcf..1e0984302 100644 --- a/livekit-protocol/src/livekit.serde.rs +++ b/livekit-protocol/src/livekit.serde.rs @@ -30,6 +30,7 @@ impl<'de> serde::Deserialize<'de> for ActiveSpeakerUpdate { #[allow(clippy::enum_variant_names)] enum GeneratedField { Speakers, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -52,7 +53,7 @@ impl<'de> serde::Deserialize<'de> for ActiveSpeakerUpdate { { match value { "speakers" => Ok(GeneratedField::Speakers), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -80,6 +81,9 @@ impl<'de> serde::Deserialize<'de> for ActiveSpeakerUpdate { } speakers__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ActiveSpeakerUpdate { @@ -242,6 +246,7 @@ impl<'de> serde::Deserialize<'de> for AddTrackRequest { DisableRed, Encryption, Stream, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -278,7 +283,7 @@ impl<'de> serde::Deserialize<'de> for AddTrackRequest { "disableRed" | "disable_red" => Ok(GeneratedField::DisableRed), "encryption" => Ok(GeneratedField::Encryption), "stream" => Ok(GeneratedField::Stream), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -408,6 +413,9 @@ impl<'de> serde::Deserialize<'de> for AddTrackRequest { } stream__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(AddTrackRequest { @@ -496,6 +504,7 @@ impl<'de> serde::Deserialize<'de> for AliOssUpload { Region, Endpoint, Bucket, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -522,7 +531,7 @@ impl<'de> serde::Deserialize<'de> for AliOssUpload { "region" => Ok(GeneratedField::Region), "endpoint" => Ok(GeneratedField::Endpoint), "bucket" => Ok(GeneratedField::Bucket), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -578,6 +587,9 @@ impl<'de> serde::Deserialize<'de> for AliOssUpload { } bucket__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(AliOssUpload { @@ -728,6 +740,7 @@ impl<'de> serde::Deserialize<'de> for AutoParticipantEgress { SegmentOutputs, Preset, Advanced, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -753,7 +766,7 @@ impl<'de> serde::Deserialize<'de> for AutoParticipantEgress { "segmentOutputs" | "segment_outputs" => Ok(GeneratedField::SegmentOutputs), "preset" => Ok(GeneratedField::Preset), "advanced" => Ok(GeneratedField::Advanced), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -802,6 +815,9 @@ impl<'de> serde::Deserialize<'de> for AutoParticipantEgress { options__ = map.next_value::<::std::option::Option<_>>()?.map(auto_participant_egress::Options::Advanced) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(AutoParticipantEgress { @@ -876,6 +892,7 @@ impl<'de> serde::Deserialize<'de> for AutoTrackEgress { S3, Gcp, Azure, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -902,7 +919,7 @@ impl<'de> serde::Deserialize<'de> for AutoTrackEgress { "s3" => Ok(GeneratedField::S3), "gcp" => Ok(GeneratedField::Gcp), "azure" => Ok(GeneratedField::Azure), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -959,6 +976,9 @@ impl<'de> serde::Deserialize<'de> for AutoTrackEgress { output__ = map.next_value::<::std::option::Option<_>>()?.map(auto_track_egress::Output::Azure) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(AutoTrackEgress { @@ -1021,6 +1041,7 @@ impl<'de> serde::Deserialize<'de> for AzureBlobUpload { AccountName, AccountKey, ContainerName, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1045,7 +1066,7 @@ impl<'de> serde::Deserialize<'de> for AzureBlobUpload { "accountName" | "account_name" => Ok(GeneratedField::AccountName), "accountKey" | "account_key" => Ok(GeneratedField::AccountKey), "containerName" | "container_name" => Ok(GeneratedField::ContainerName), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -1087,6 +1108,9 @@ impl<'de> serde::Deserialize<'de> for AzureBlobUpload { } container_name__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(AzureBlobUpload { @@ -1321,6 +1345,7 @@ impl<'de> serde::Deserialize<'de> for ClientConfiguration { ResumeConnection, DisabledCodecs, ForceRelay, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1347,7 +1372,7 @@ impl<'de> serde::Deserialize<'de> for ClientConfiguration { "resumeConnection" | "resume_connection" => Ok(GeneratedField::ResumeConnection), "disabledCodecs" | "disabled_codecs" => Ok(GeneratedField::DisabledCodecs), "forceRelay" | "force_relay" => Ok(GeneratedField::ForceRelay), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -1403,6 +1428,9 @@ impl<'de> serde::Deserialize<'de> for ClientConfiguration { } force_relay__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ClientConfiguration { @@ -1525,6 +1553,7 @@ impl<'de> serde::Deserialize<'de> for ClientInfo { BrowserVersion, Address, Network, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1556,7 +1585,7 @@ impl<'de> serde::Deserialize<'de> for ClientInfo { "browserVersion" | "browser_version" => Ok(GeneratedField::BrowserVersion), "address" => Ok(GeneratedField::Address), "network" => Ok(GeneratedField::Network), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -1649,6 +1678,9 @@ impl<'de> serde::Deserialize<'de> for ClientInfo { } network__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ClientInfo { @@ -1808,6 +1840,7 @@ impl<'de> serde::Deserialize<'de> for Codec { enum GeneratedField { Mime, FmtpLine, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1831,7 +1864,7 @@ impl<'de> serde::Deserialize<'de> for Codec { match value { "mime" => Ok(GeneratedField::Mime), "fmtpLine" | "fmtp_line" => Ok(GeneratedField::FmtpLine), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -1866,6 +1899,9 @@ impl<'de> serde::Deserialize<'de> for Codec { } fmtp_line__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(Codec { @@ -2006,6 +2042,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionQualityInfo { ParticipantSid, Quality, Score, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2030,7 +2067,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionQualityInfo { "participantSid" | "participant_sid" => Ok(GeneratedField::ParticipantSid), "quality" => Ok(GeneratedField::Quality), "score" => Ok(GeneratedField::Score), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -2074,6 +2111,9 @@ impl<'de> serde::Deserialize<'de> for ConnectionQualityInfo { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ConnectionQualityInfo { @@ -2117,6 +2157,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionQualityUpdate { #[allow(clippy::enum_variant_names)] enum GeneratedField { Updates, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2139,7 +2180,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionQualityUpdate { { match value { "updates" => Ok(GeneratedField::Updates), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -2167,6 +2208,9 @@ impl<'de> serde::Deserialize<'de> for ConnectionQualityUpdate { } updates__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ConnectionQualityUpdate { @@ -2279,6 +2323,7 @@ impl<'de> serde::Deserialize<'de> for CreateIngressRequest { BypassTranscoding, Audio, Video, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2309,7 +2354,7 @@ impl<'de> serde::Deserialize<'de> for CreateIngressRequest { "bypassTranscoding" | "bypass_transcoding" => Ok(GeneratedField::BypassTranscoding), "audio" => Ok(GeneratedField::Audio), "video" => Ok(GeneratedField::Video), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -2393,6 +2438,9 @@ impl<'de> serde::Deserialize<'de> for CreateIngressRequest { } video__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(CreateIngressRequest { @@ -2512,6 +2560,7 @@ impl<'de> serde::Deserialize<'de> for CreateRoomRequest { MinPlayoutDelay, MaxPlayoutDelay, SyncStreams, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2542,7 +2591,7 @@ impl<'de> serde::Deserialize<'de> for CreateRoomRequest { "minPlayoutDelay" | "min_playout_delay" => Ok(GeneratedField::MinPlayoutDelay), "maxPlayoutDelay" | "max_playout_delay" => Ok(GeneratedField::MaxPlayoutDelay), "syncStreams" | "sync_streams" => Ok(GeneratedField::SyncStreams), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -2634,6 +2683,9 @@ impl<'de> serde::Deserialize<'de> for CreateRoomRequest { } sync_streams__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(CreateRoomRequest { @@ -2701,6 +2753,7 @@ impl<'de> serde::Deserialize<'de> for DataChannelInfo { Label, Id, Target, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2725,7 +2778,7 @@ impl<'de> serde::Deserialize<'de> for DataChannelInfo { "label" => Ok(GeneratedField::Label), "id" => Ok(GeneratedField::Id), "target" => Ok(GeneratedField::Target), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -2769,6 +2822,9 @@ impl<'de> serde::Deserialize<'de> for DataChannelInfo { } target__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(DataChannelInfo { @@ -2831,6 +2887,7 @@ impl<'de> serde::Deserialize<'de> for DataPacket { Kind, User, Speaker, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2855,7 +2912,7 @@ impl<'de> serde::Deserialize<'de> for DataPacket { "kind" => Ok(GeneratedField::Kind), "user" => Ok(GeneratedField::User), "speaker" => Ok(GeneratedField::Speaker), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -2898,6 +2955,9 @@ impl<'de> serde::Deserialize<'de> for DataPacket { value__ = map.next_value::<::std::option::Option<_>>()?.map(data_packet::Value::Speaker) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(DataPacket { @@ -3014,6 +3074,7 @@ impl<'de> serde::Deserialize<'de> for DeleteIngressRequest { #[allow(clippy::enum_variant_names)] enum GeneratedField { IngressId, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -3036,7 +3097,7 @@ impl<'de> serde::Deserialize<'de> for DeleteIngressRequest { { match value { "ingressId" | "ingress_id" => Ok(GeneratedField::IngressId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -3064,6 +3125,9 @@ impl<'de> serde::Deserialize<'de> for DeleteIngressRequest { } ingress_id__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(DeleteIngressRequest { @@ -3105,6 +3169,7 @@ impl<'de> serde::Deserialize<'de> for DeleteRoomRequest { #[allow(clippy::enum_variant_names)] enum GeneratedField { Room, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -3127,7 +3192,7 @@ impl<'de> serde::Deserialize<'de> for DeleteRoomRequest { { match value { "room" => Ok(GeneratedField::Room), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -3155,6 +3220,9 @@ impl<'de> serde::Deserialize<'de> for DeleteRoomRequest { } room__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(DeleteRoomRequest { @@ -3188,6 +3256,7 @@ impl<'de> serde::Deserialize<'de> for DeleteRoomResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -3208,7 +3277,7 @@ impl<'de> serde::Deserialize<'de> for DeleteRoomResponse { where E: serde::de::Error, { - Err(serde::de::Error::unknown_field(value, FIELDS)) + Ok(GeneratedField::__SkipField__) } } deserializer.deserialize_identifier(GeneratedVisitor) @@ -3303,6 +3372,7 @@ impl<'de> serde::Deserialize<'de> for DirectFileOutput { Gcp, Azure, AliOss, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -3330,7 +3400,7 @@ impl<'de> serde::Deserialize<'de> for DirectFileOutput { "gcp" => Ok(GeneratedField::Gcp), "azure" => Ok(GeneratedField::Azure), "aliOSS" => Ok(GeneratedField::AliOss), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -3394,6 +3464,9 @@ impl<'de> serde::Deserialize<'de> for DirectFileOutput { output__ = map.next_value::<::std::option::Option<_>>()?.map(direct_file_output::Output::AliOss) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(DirectFileOutput { @@ -3445,6 +3518,7 @@ impl<'de> serde::Deserialize<'de> for DisabledCodecs { enum GeneratedField { Codecs, Publish, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -3468,7 +3542,7 @@ impl<'de> serde::Deserialize<'de> for DisabledCodecs { match value { "codecs" => Ok(GeneratedField::Codecs), "publish" => Ok(GeneratedField::Publish), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -3503,6 +3577,9 @@ impl<'de> serde::Deserialize<'de> for DisabledCodecs { } publish__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(DisabledCodecs { @@ -3792,6 +3869,7 @@ impl<'de> serde::Deserialize<'de> for EgressInfo { Stream, File, Segments, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -3833,7 +3911,7 @@ impl<'de> serde::Deserialize<'de> for EgressInfo { "stream" => Ok(GeneratedField::Stream), "file" => Ok(GeneratedField::File), "segments" => Ok(GeneratedField::Segments), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -4002,6 +4080,9 @@ impl<'de> serde::Deserialize<'de> for EgressInfo { result__ = map.next_value::<::std::option::Option<_>>()?.map(egress_info::Result::Segments) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(EgressInfo { @@ -4191,6 +4272,7 @@ impl<'de> serde::Deserialize<'de> for EncodedFileOutput { Gcp, Azure, AliOss, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -4219,7 +4301,7 @@ impl<'de> serde::Deserialize<'de> for EncodedFileOutput { "gcp" => Ok(GeneratedField::Gcp), "azure" => Ok(GeneratedField::Azure), "aliOSS" => Ok(GeneratedField::AliOss), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -4290,6 +4372,9 @@ impl<'de> serde::Deserialize<'de> for EncodedFileOutput { output__ = map.next_value::<::std::option::Option<_>>()?.map(encoded_file_output::Output::AliOss) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(EncodedFileOutput { @@ -4510,6 +4595,7 @@ impl<'de> serde::Deserialize<'de> for EncodingOptions { VideoBitrate, VideoQuality, KeyFrameInterval, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -4543,7 +4629,7 @@ impl<'de> serde::Deserialize<'de> for EncodingOptions { "videoBitrate" | "video_bitrate" => Ok(GeneratedField::VideoBitrate), "videoQuality" | "video_quality" => Ok(GeneratedField::VideoQuality), "keyFrameInterval" | "key_frame_interval" => Ok(GeneratedField::KeyFrameInterval), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -4668,6 +4754,9 @@ impl<'de> serde::Deserialize<'de> for EncodingOptions { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(EncodingOptions { @@ -4803,6 +4892,7 @@ impl<'de> serde::Deserialize<'de> for Encryption { #[allow(clippy::enum_variant_names)] enum GeneratedField { + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -4823,7 +4913,7 @@ impl<'de> serde::Deserialize<'de> for Encryption { where E: serde::de::Error, { - Err(serde::de::Error::unknown_field(value, FIELDS)) + Ok(GeneratedField::__SkipField__) } } deserializer.deserialize_identifier(GeneratedVisitor) @@ -5000,6 +5090,7 @@ impl<'de> serde::Deserialize<'de> for FileInfo { Duration, Size, Location, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -5027,7 +5118,7 @@ impl<'de> serde::Deserialize<'de> for FileInfo { "duration" => Ok(GeneratedField::Duration), "size" => Ok(GeneratedField::Size), "location" => Ok(GeneratedField::Location), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -5098,6 +5189,9 @@ impl<'de> serde::Deserialize<'de> for FileInfo { } location__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(FileInfo { @@ -5152,6 +5246,7 @@ impl<'de> serde::Deserialize<'de> for GcpUpload { enum GeneratedField { Credentials, Bucket, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -5175,7 +5270,7 @@ impl<'de> serde::Deserialize<'de> for GcpUpload { match value { "credentials" => Ok(GeneratedField::Credentials), "bucket" => Ok(GeneratedField::Bucket), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -5210,6 +5305,9 @@ impl<'de> serde::Deserialize<'de> for GcpUpload { } bucket__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(GcpUpload { @@ -5268,6 +5366,7 @@ impl<'de> serde::Deserialize<'de> for IceServer { Urls, Username, Credential, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -5292,7 +5391,7 @@ impl<'de> serde::Deserialize<'de> for IceServer { "urls" => Ok(GeneratedField::Urls), "username" => Ok(GeneratedField::Username), "credential" => Ok(GeneratedField::Credential), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -5334,6 +5433,9 @@ impl<'de> serde::Deserialize<'de> for IceServer { } credential__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(IceServer { @@ -5607,6 +5709,7 @@ impl<'de> serde::Deserialize<'de> for ImageOutput { Gcp, Azure, AliOss, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -5639,7 +5742,7 @@ impl<'de> serde::Deserialize<'de> for ImageOutput { "gcp" => Ok(GeneratedField::Gcp), "azure" => Ok(GeneratedField::Azure), "aliOSS" => Ok(GeneratedField::AliOss), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -5744,6 +5847,9 @@ impl<'de> serde::Deserialize<'de> for ImageOutput { output__ = map.next_value::<::std::option::Option<_>>()?.map(image_output::Output::AliOss) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ImageOutput { @@ -5811,6 +5917,7 @@ impl<'de> serde::Deserialize<'de> for ImagesInfo { ImageCount, StartedAt, EndedAt, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -5835,7 +5942,7 @@ impl<'de> serde::Deserialize<'de> for ImagesInfo { "imageCount" | "image_count" => Ok(GeneratedField::ImageCount), "startedAt" | "started_at" => Ok(GeneratedField::StartedAt), "endedAt" | "ended_at" => Ok(GeneratedField::EndedAt), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -5883,6 +5990,9 @@ impl<'de> serde::Deserialize<'de> for ImagesInfo { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ImagesInfo { @@ -5954,6 +6064,7 @@ impl<'de> serde::Deserialize<'de> for IngressAudioEncodingOptions { Bitrate, DisableDtx, Channels, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -5979,7 +6090,7 @@ impl<'de> serde::Deserialize<'de> for IngressAudioEncodingOptions { "bitrate" => Ok(GeneratedField::Bitrate), "disableDtx" | "disable_dtx" => Ok(GeneratedField::DisableDtx), "channels" => Ok(GeneratedField::Channels), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -6032,6 +6143,9 @@ impl<'de> serde::Deserialize<'de> for IngressAudioEncodingOptions { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(IngressAudioEncodingOptions { @@ -6178,6 +6292,7 @@ impl<'de> serde::Deserialize<'de> for IngressAudioOptions { Source, Preset, Options, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -6203,7 +6318,7 @@ impl<'de> serde::Deserialize<'de> for IngressAudioOptions { "source" => Ok(GeneratedField::Source), "preset" => Ok(GeneratedField::Preset), "options" => Ok(GeneratedField::Options), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -6252,6 +6367,9 @@ impl<'de> serde::Deserialize<'de> for IngressAudioOptions { encoding_options__ = map.next_value::<::std::option::Option<_>>()?.map(ingress_audio_options::EncodingOptions::Options) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(IngressAudioOptions { @@ -6400,6 +6518,7 @@ impl<'de> serde::Deserialize<'de> for IngressInfo { ParticipantName, Reusable, State, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -6434,7 +6553,7 @@ impl<'de> serde::Deserialize<'de> for IngressInfo { "participantName" | "participant_name" => Ok(GeneratedField::ParticipantName), "reusable" => Ok(GeneratedField::Reusable), "state" => Ok(GeneratedField::State), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -6546,6 +6665,9 @@ impl<'de> serde::Deserialize<'de> for IngressInfo { } state__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(IngressInfo { @@ -6745,6 +6867,7 @@ impl<'de> serde::Deserialize<'de> for IngressState { EndedAt, ResourceId, Tracks, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -6775,7 +6898,7 @@ impl<'de> serde::Deserialize<'de> for IngressState { "endedAt" | "ended_at" => Ok(GeneratedField::EndedAt), "resourceId" | "resource_id" => Ok(GeneratedField::ResourceId), "tracks" => Ok(GeneratedField::Tracks), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -6863,6 +6986,9 @@ impl<'de> serde::Deserialize<'de> for IngressState { } tracks__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(IngressState { @@ -7014,6 +7140,7 @@ impl<'de> serde::Deserialize<'de> for IngressVideoEncodingOptions { VideoCodec, FrameRate, Layers, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -7038,7 +7165,7 @@ impl<'de> serde::Deserialize<'de> for IngressVideoEncodingOptions { "videoCodec" | "video_codec" => Ok(GeneratedField::VideoCodec), "frameRate" | "frame_rate" => Ok(GeneratedField::FrameRate), "layers" => Ok(GeneratedField::Layers), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -7082,6 +7209,9 @@ impl<'de> serde::Deserialize<'de> for IngressVideoEncodingOptions { } layers__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(IngressVideoEncodingOptions { @@ -7251,6 +7381,7 @@ impl<'de> serde::Deserialize<'de> for IngressVideoOptions { Source, Preset, Options, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -7276,7 +7407,7 @@ impl<'de> serde::Deserialize<'de> for IngressVideoOptions { "source" => Ok(GeneratedField::Source), "preset" => Ok(GeneratedField::Preset), "options" => Ok(GeneratedField::Options), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -7325,6 +7456,9 @@ impl<'de> serde::Deserialize<'de> for IngressVideoOptions { encoding_options__ = map.next_value::<::std::option::Option<_>>()?.map(ingress_video_options::EncodingOptions::Options) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(IngressVideoOptions { @@ -7395,6 +7529,7 @@ impl<'de> serde::Deserialize<'de> for InputAudioState { AverageBitrate, Channels, SampleRate, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -7420,7 +7555,7 @@ impl<'de> serde::Deserialize<'de> for InputAudioState { "averageBitrate" | "average_bitrate" => Ok(GeneratedField::AverageBitrate), "channels" => Ok(GeneratedField::Channels), "sampleRate" | "sample_rate" => Ok(GeneratedField::SampleRate), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -7475,6 +7610,9 @@ impl<'de> serde::Deserialize<'de> for InputAudioState { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(InputAudioState { @@ -7553,6 +7691,7 @@ impl<'de> serde::Deserialize<'de> for InputVideoState { Width, Height, Framerate, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -7579,7 +7718,7 @@ impl<'de> serde::Deserialize<'de> for InputVideoState { "width" => Ok(GeneratedField::Width), "height" => Ok(GeneratedField::Height), "framerate" => Ok(GeneratedField::Framerate), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -7643,6 +7782,9 @@ impl<'de> serde::Deserialize<'de> for InputVideoState { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(InputVideoState { @@ -7795,6 +7937,7 @@ impl<'de> serde::Deserialize<'de> for JoinResponse { PingInterval, ServerInfo, SifTrailer, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -7829,7 +7972,7 @@ impl<'de> serde::Deserialize<'de> for JoinResponse { "pingInterval" | "ping_interval" => Ok(GeneratedField::PingInterval), "serverInfo" | "server_info" => Ok(GeneratedField::ServerInfo), "sifTrailer" | "sif_trailer" => Ok(GeneratedField::SifTrailer), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -7947,6 +8090,9 @@ impl<'de> serde::Deserialize<'de> for JoinResponse { Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(JoinResponse { @@ -8011,6 +8157,7 @@ impl<'de> serde::Deserialize<'de> for LeaveRequest { enum GeneratedField { CanReconnect, Reason, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8034,7 +8181,7 @@ impl<'de> serde::Deserialize<'de> for LeaveRequest { match value { "canReconnect" | "can_reconnect" => Ok(GeneratedField::CanReconnect), "reason" => Ok(GeneratedField::Reason), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8069,6 +8216,9 @@ impl<'de> serde::Deserialize<'de> for LeaveRequest { } reason__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(LeaveRequest { @@ -8129,6 +8279,7 @@ impl<'de> serde::Deserialize<'de> for ListEgressRequest { RoomName, EgressId, Active, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8153,7 +8304,7 @@ impl<'de> serde::Deserialize<'de> for ListEgressRequest { "roomName" | "room_name" => Ok(GeneratedField::RoomName), "egressId" | "egress_id" => Ok(GeneratedField::EgressId), "active" => Ok(GeneratedField::Active), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8195,6 +8346,9 @@ impl<'de> serde::Deserialize<'de> for ListEgressRequest { } active__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListEgressRequest { @@ -8238,6 +8392,7 @@ impl<'de> serde::Deserialize<'de> for ListEgressResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { Items, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8260,7 +8415,7 @@ impl<'de> serde::Deserialize<'de> for ListEgressResponse { { match value { "items" => Ok(GeneratedField::Items), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8288,6 +8443,9 @@ impl<'de> serde::Deserialize<'de> for ListEgressResponse { } items__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListEgressResponse { @@ -8339,6 +8497,7 @@ impl<'de> serde::Deserialize<'de> for ListIngressRequest { enum GeneratedField { RoomName, IngressId, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8362,7 +8521,7 @@ impl<'de> serde::Deserialize<'de> for ListIngressRequest { match value { "roomName" | "room_name" => Ok(GeneratedField::RoomName), "ingressId" | "ingress_id" => Ok(GeneratedField::IngressId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8397,6 +8556,9 @@ impl<'de> serde::Deserialize<'de> for ListIngressRequest { } ingress_id__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListIngressRequest { @@ -8439,6 +8601,7 @@ impl<'de> serde::Deserialize<'de> for ListIngressResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { Items, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8461,7 +8624,7 @@ impl<'de> serde::Deserialize<'de> for ListIngressResponse { { match value { "items" => Ok(GeneratedField::Items), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8489,6 +8652,9 @@ impl<'de> serde::Deserialize<'de> for ListIngressResponse { } items__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListIngressResponse { @@ -8530,6 +8696,7 @@ impl<'de> serde::Deserialize<'de> for ListParticipantsRequest { #[allow(clippy::enum_variant_names)] enum GeneratedField { Room, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8552,7 +8719,7 @@ impl<'de> serde::Deserialize<'de> for ListParticipantsRequest { { match value { "room" => Ok(GeneratedField::Room), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8580,6 +8747,9 @@ impl<'de> serde::Deserialize<'de> for ListParticipantsRequest { } room__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListParticipantsRequest { @@ -8621,6 +8791,7 @@ impl<'de> serde::Deserialize<'de> for ListParticipantsResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { Participants, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8643,7 +8814,7 @@ impl<'de> serde::Deserialize<'de> for ListParticipantsResponse { { match value { "participants" => Ok(GeneratedField::Participants), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8671,6 +8842,9 @@ impl<'de> serde::Deserialize<'de> for ListParticipantsResponse { } participants__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListParticipantsResponse { @@ -8712,6 +8886,7 @@ impl<'de> serde::Deserialize<'de> for ListRoomsRequest { #[allow(clippy::enum_variant_names)] enum GeneratedField { Names, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8734,7 +8909,7 @@ impl<'de> serde::Deserialize<'de> for ListRoomsRequest { { match value { "names" => Ok(GeneratedField::Names), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8762,6 +8937,9 @@ impl<'de> serde::Deserialize<'de> for ListRoomsRequest { } names__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListRoomsRequest { @@ -8803,6 +8981,7 @@ impl<'de> serde::Deserialize<'de> for ListRoomsResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { Rooms, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8825,7 +9004,7 @@ impl<'de> serde::Deserialize<'de> for ListRoomsResponse { { match value { "rooms" => Ok(GeneratedField::Rooms), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8853,6 +9032,9 @@ impl<'de> serde::Deserialize<'de> for ListRoomsResponse { } rooms__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ListRoomsResponse { @@ -8919,6 +9101,7 @@ impl<'de> serde::Deserialize<'de> for MuteRoomTrackRequest { Identity, TrackSid, Muted, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8944,7 +9127,7 @@ impl<'de> serde::Deserialize<'de> for MuteRoomTrackRequest { "identity" => Ok(GeneratedField::Identity), "trackSid" | "track_sid" => Ok(GeneratedField::TrackSid), "muted" => Ok(GeneratedField::Muted), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -8993,6 +9176,9 @@ impl<'de> serde::Deserialize<'de> for MuteRoomTrackRequest { } muted__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(MuteRoomTrackRequest { @@ -9037,6 +9223,7 @@ impl<'de> serde::Deserialize<'de> for MuteRoomTrackResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { Track, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -9059,7 +9246,7 @@ impl<'de> serde::Deserialize<'de> for MuteRoomTrackResponse { { match value { "track" => Ok(GeneratedField::Track), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -9087,6 +9274,9 @@ impl<'de> serde::Deserialize<'de> for MuteRoomTrackResponse { } track__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(MuteRoomTrackResponse { @@ -9136,6 +9326,7 @@ impl<'de> serde::Deserialize<'de> for MuteTrackRequest { enum GeneratedField { Sid, Muted, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -9159,7 +9350,7 @@ impl<'de> serde::Deserialize<'de> for MuteTrackRequest { match value { "sid" => Ok(GeneratedField::Sid), "muted" => Ok(GeneratedField::Muted), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -9194,6 +9385,9 @@ impl<'de> serde::Deserialize<'de> for MuteTrackRequest { } muted__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(MuteTrackRequest { @@ -9309,6 +9503,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantEgressRequest { ImageOutputs, Preset, Advanced, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -9339,7 +9534,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantEgressRequest { "imageOutputs" | "image_outputs" => Ok(GeneratedField::ImageOutputs), "preset" => Ok(GeneratedField::Preset), "advanced" => Ok(GeneratedField::Advanced), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -9423,6 +9618,9 @@ impl<'de> serde::Deserialize<'de> for ParticipantEgressRequest { options__ = map.next_value::<::std::option::Option<_>>()?.map(participant_egress_request::Options::Advanced) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ParticipantEgressRequest { @@ -9565,6 +9763,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantInfo { Region, IsPublisher, Kind, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -9598,7 +9797,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantInfo { "region" => Ok(GeneratedField::Region), "isPublisher" | "is_publisher" => Ok(GeneratedField::IsPublisher), "kind" => Ok(GeneratedField::Kind), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -9707,6 +9906,9 @@ impl<'de> serde::Deserialize<'de> for ParticipantInfo { } kind__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ParticipantInfo { @@ -9985,6 +10187,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantPermission { Recorder, CanUpdateMetadata, Agent, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -10014,7 +10217,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantPermission { "recorder" => Ok(GeneratedField::Recorder), "canUpdateMetadata" | "can_update_metadata" => Ok(GeneratedField::CanUpdateMetadata), "agent" => Ok(GeneratedField::Agent), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -10091,6 +10294,9 @@ impl<'de> serde::Deserialize<'de> for ParticipantPermission { } agent__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ParticipantPermission { @@ -10149,6 +10355,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantTracks { enum GeneratedField { ParticipantSid, TrackSids, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -10172,7 +10379,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantTracks { match value { "participantSid" | "participant_sid" => Ok(GeneratedField::ParticipantSid), "trackSids" | "track_sids" => Ok(GeneratedField::TrackSids), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -10207,6 +10414,9 @@ impl<'de> serde::Deserialize<'de> for ParticipantTracks { } track_sids__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ParticipantTracks { @@ -10249,6 +10459,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantUpdate { #[allow(clippy::enum_variant_names)] enum GeneratedField { Participants, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -10271,7 +10482,7 @@ impl<'de> serde::Deserialize<'de> for ParticipantUpdate { { match value { "participants" => Ok(GeneratedField::Participants), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -10299,6 +10510,9 @@ impl<'de> serde::Deserialize<'de> for ParticipantUpdate { } participants__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ParticipantUpdate { @@ -10348,6 +10562,7 @@ impl<'de> serde::Deserialize<'de> for Ping { enum GeneratedField { Timestamp, Rtt, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -10371,7 +10586,7 @@ impl<'de> serde::Deserialize<'de> for Ping { match value { "timestamp" => Ok(GeneratedField::Timestamp), "rtt" => Ok(GeneratedField::Rtt), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -10410,6 +10625,9 @@ impl<'de> serde::Deserialize<'de> for Ping { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(Ping { @@ -10468,6 +10686,7 @@ impl<'de> serde::Deserialize<'de> for PlayoutDelay { Enabled, Min, Max, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -10492,7 +10711,7 @@ impl<'de> serde::Deserialize<'de> for PlayoutDelay { "enabled" => Ok(GeneratedField::Enabled), "min" => Ok(GeneratedField::Min), "max" => Ok(GeneratedField::Max), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -10538,6 +10757,9 @@ impl<'de> serde::Deserialize<'de> for PlayoutDelay { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(PlayoutDelay { @@ -10590,6 +10812,7 @@ impl<'de> serde::Deserialize<'de> for Pong { enum GeneratedField { LastPingTimestamp, Timestamp, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -10613,7 +10836,7 @@ impl<'de> serde::Deserialize<'de> for Pong { match value { "lastPingTimestamp" | "last_ping_timestamp" => Ok(GeneratedField::LastPingTimestamp), "timestamp" => Ok(GeneratedField::Timestamp), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -10652,6 +10875,9 @@ impl<'de> serde::Deserialize<'de> for Pong { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(Pong { @@ -10766,6 +10992,7 @@ impl<'de> serde::Deserialize<'de> for RtpDrift { DriftSamples, DriftMs, ClockRate, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -10796,7 +11023,7 @@ impl<'de> serde::Deserialize<'de> for RtpDrift { "driftSamples" | "drift_samples" => Ok(GeneratedField::DriftSamples), "driftMs" | "drift_ms" => Ok(GeneratedField::DriftMs), "clockRate" | "clock_rate" => Ok(GeneratedField::ClockRate), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -10894,6 +11121,9 @@ impl<'de> serde::Deserialize<'de> for RtpDrift { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RtpDrift { @@ -11314,6 +11544,7 @@ impl<'de> serde::Deserialize<'de> for RtpStats { LastLayerLockPli, PacketDrift, ReportDrift, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -11378,7 +11609,7 @@ impl<'de> serde::Deserialize<'de> for RtpStats { "lastLayerLockPli" | "last_layer_lock_pli" => Ok(GeneratedField::LastLayerLockPli), "packetDrift" | "packet_drift" => Ok(GeneratedField::PacketDrift), "reportDrift" | "report_drift" => Ok(GeneratedField::ReportDrift), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -11771,6 +12002,9 @@ impl<'de> serde::Deserialize<'de> for RtpStats { } report_drift__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RtpStats { @@ -11946,6 +12180,7 @@ impl<'de> serde::Deserialize<'de> for ReconnectResponse { enum GeneratedField { IceServers, ClientConfiguration, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -11969,7 +12204,7 @@ impl<'de> serde::Deserialize<'de> for ReconnectResponse { match value { "iceServers" | "ice_servers" => Ok(GeneratedField::IceServers), "clientConfiguration" | "client_configuration" => Ok(GeneratedField::ClientConfiguration), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -12004,6 +12239,9 @@ impl<'de> serde::Deserialize<'de> for ReconnectResponse { } client_configuration__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ReconnectResponse { @@ -12062,6 +12300,7 @@ impl<'de> serde::Deserialize<'de> for RegionInfo { Region, Url, Distance, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -12086,7 +12325,7 @@ impl<'de> serde::Deserialize<'de> for RegionInfo { "region" => Ok(GeneratedField::Region), "url" => Ok(GeneratedField::Url), "distance" => Ok(GeneratedField::Distance), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -12130,6 +12369,9 @@ impl<'de> serde::Deserialize<'de> for RegionInfo { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RegionInfo { @@ -12173,6 +12415,7 @@ impl<'de> serde::Deserialize<'de> for RegionSettings { #[allow(clippy::enum_variant_names)] enum GeneratedField { Regions, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -12195,7 +12438,7 @@ impl<'de> serde::Deserialize<'de> for RegionSettings { { match value { "regions" => Ok(GeneratedField::Regions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -12223,6 +12466,9 @@ impl<'de> serde::Deserialize<'de> for RegionSettings { } regions__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RegionSettings { @@ -12256,6 +12502,7 @@ impl<'de> serde::Deserialize<'de> for RemoveParticipantResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -12276,7 +12523,7 @@ impl<'de> serde::Deserialize<'de> for RemoveParticipantResponse { where E: serde::de::Error, { - Err(serde::de::Error::unknown_field(value, FIELDS)) + Ok(GeneratedField::__SkipField__) } } deserializer.deserialize_identifier(GeneratedVisitor) @@ -12345,6 +12592,9 @@ impl serde::Serialize for Room { if self.active_recording { len += 1; } + if self.version.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("livekit.Room", len)?; if !self.sid.is_empty() { struct_ser.serialize_field("sid", &self.sid)?; @@ -12379,6 +12629,9 @@ impl serde::Serialize for Room { if self.active_recording { struct_ser.serialize_field("activeRecording", &self.active_recording)?; } + if let Some(v) = self.version.as_ref() { + struct_ser.serialize_field("version", v)?; + } struct_ser.end() } } @@ -12408,6 +12661,7 @@ impl<'de> serde::Deserialize<'de> for Room { "numPublishers", "active_recording", "activeRecording", + "version", ]; #[allow(clippy::enum_variant_names)] @@ -12423,6 +12677,8 @@ impl<'de> serde::Deserialize<'de> for Room { NumParticipants, NumPublishers, ActiveRecording, + Version, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -12455,7 +12711,8 @@ impl<'de> serde::Deserialize<'de> for Room { "numParticipants" | "num_participants" => Ok(GeneratedField::NumParticipants), "numPublishers" | "num_publishers" => Ok(GeneratedField::NumPublishers), "activeRecording" | "active_recording" => Ok(GeneratedField::ActiveRecording), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + "version" => Ok(GeneratedField::Version), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -12485,6 +12742,7 @@ impl<'de> serde::Deserialize<'de> for Room { let mut num_participants__ = None; let mut num_publishers__ = None; let mut active_recording__ = None; + let mut version__ = None; while let Some(k) = map.next_key()? { match k { GeneratedField::Sid => { @@ -12563,6 +12821,15 @@ impl<'de> serde::Deserialize<'de> for Room { } active_recording__ = Some(map.next_value()?); } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = map.next_value()?; + } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(Room { @@ -12577,6 +12844,7 @@ impl<'de> serde::Deserialize<'de> for Room { num_participants: num_participants__.unwrap_or_default(), num_publishers: num_publishers__.unwrap_or_default(), active_recording: active_recording__.unwrap_or_default(), + version: version__, }) } } @@ -12727,6 +12995,7 @@ impl<'de> serde::Deserialize<'de> for RoomCompositeEgressRequest { Segments, Preset, Advanced, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -12762,7 +13031,7 @@ impl<'de> serde::Deserialize<'de> for RoomCompositeEgressRequest { "segments" => Ok(GeneratedField::Segments), "preset" => Ok(GeneratedField::Preset), "advanced" => Ok(GeneratedField::Advanced), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -12882,6 +13151,9 @@ impl<'de> serde::Deserialize<'de> for RoomCompositeEgressRequest { options__ = map.next_value::<::std::option::Option<_>>()?.map(room_composite_egress_request::Options::Advanced) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RoomCompositeEgressRequest { @@ -12949,6 +13221,7 @@ impl<'de> serde::Deserialize<'de> for RoomEgress { Room, Participant, Tracks, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -12973,7 +13246,7 @@ impl<'de> serde::Deserialize<'de> for RoomEgress { "room" => Ok(GeneratedField::Room), "participant" => Ok(GeneratedField::Participant), "tracks" => Ok(GeneratedField::Tracks), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -13015,6 +13288,9 @@ impl<'de> serde::Deserialize<'de> for RoomEgress { } tracks__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RoomEgress { @@ -13066,6 +13342,7 @@ impl<'de> serde::Deserialize<'de> for RoomParticipantIdentity { enum GeneratedField { Room, Identity, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -13089,7 +13366,7 @@ impl<'de> serde::Deserialize<'de> for RoomParticipantIdentity { match value { "room" => Ok(GeneratedField::Room), "identity" => Ok(GeneratedField::Identity), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -13124,6 +13401,9 @@ impl<'de> serde::Deserialize<'de> for RoomParticipantIdentity { } identity__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RoomParticipantIdentity { @@ -13166,6 +13446,7 @@ impl<'de> serde::Deserialize<'de> for RoomUpdate { #[allow(clippy::enum_variant_names)] enum GeneratedField { Room, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -13188,7 +13469,7 @@ impl<'de> serde::Deserialize<'de> for RoomUpdate { { match value { "room" => Ok(GeneratedField::Room), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -13216,6 +13497,9 @@ impl<'de> serde::Deserialize<'de> for RoomUpdate { } room__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(RoomUpdate { @@ -13324,6 +13608,7 @@ impl<'de> serde::Deserialize<'de> for S3Upload { Metadata, Tagging, ContentDisposition, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -13354,7 +13639,7 @@ impl<'de> serde::Deserialize<'de> for S3Upload { "metadata" => Ok(GeneratedField::Metadata), "tagging" => Ok(GeneratedField::Tagging), "contentDisposition" | "content_disposition" => Ok(GeneratedField::ContentDisposition), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -13440,6 +13725,9 @@ impl<'de> serde::Deserialize<'de> for S3Upload { } content_disposition__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(S3Upload { @@ -13574,6 +13862,7 @@ impl<'de> serde::Deserialize<'de> for SegmentedFileOutput { Gcp, Azure, AliOss, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -13606,7 +13895,7 @@ impl<'de> serde::Deserialize<'de> for SegmentedFileOutput { "gcp" => Ok(GeneratedField::Gcp), "azure" => Ok(GeneratedField::Azure), "aliOSS" => Ok(GeneratedField::AliOss), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -13707,6 +13996,9 @@ impl<'de> serde::Deserialize<'de> for SegmentedFileOutput { output__ = map.next_value::<::std::option::Option<_>>()?.map(segmented_file_output::Output::AliOss) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SegmentedFileOutput { @@ -13972,6 +14264,7 @@ impl<'de> serde::Deserialize<'de> for SegmentsInfo { SegmentCount, StartedAt, EndedAt, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -14002,7 +14295,7 @@ impl<'de> serde::Deserialize<'de> for SegmentsInfo { "segmentCount" | "segment_count" => Ok(GeneratedField::SegmentCount), "startedAt" | "started_at" => Ok(GeneratedField::StartedAt), "endedAt" | "ended_at" => Ok(GeneratedField::EndedAt), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -14096,6 +14389,9 @@ impl<'de> serde::Deserialize<'de> for SegmentsInfo { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SegmentsInfo { @@ -14189,6 +14485,7 @@ impl<'de> serde::Deserialize<'de> for SendDataRequest { DestinationSids, DestinationIdentities, Topic, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -14216,7 +14513,7 @@ impl<'de> serde::Deserialize<'de> for SendDataRequest { "destinationSids" | "destination_sids" => Ok(GeneratedField::DestinationSids), "destinationIdentities" | "destination_identities" => Ok(GeneratedField::DestinationIdentities), "topic" => Ok(GeneratedField::Topic), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -14281,6 +14578,9 @@ impl<'de> serde::Deserialize<'de> for SendDataRequest { } topic__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SendDataRequest { @@ -14319,6 +14619,7 @@ impl<'de> serde::Deserialize<'de> for SendDataResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -14339,7 +14640,7 @@ impl<'de> serde::Deserialize<'de> for SendDataResponse { where E: serde::de::Error, { - Err(serde::de::Error::unknown_field(value, FIELDS)) + Ok(GeneratedField::__SkipField__) } } deserializer.deserialize_identifier(GeneratedVisitor) @@ -14442,6 +14743,7 @@ impl<'de> serde::Deserialize<'de> for ServerInfo { Region, NodeId, DebugInfo, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -14469,7 +14771,7 @@ impl<'de> serde::Deserialize<'de> for ServerInfo { "region" => Ok(GeneratedField::Region), "nodeId" | "node_id" => Ok(GeneratedField::NodeId), "debugInfo" | "debug_info" => Ok(GeneratedField::DebugInfo), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -14534,6 +14836,9 @@ impl<'de> serde::Deserialize<'de> for ServerInfo { } debug_info__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(ServerInfo { @@ -14661,6 +14966,7 @@ impl<'de> serde::Deserialize<'de> for SessionDescription { enum GeneratedField { Type, Sdp, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -14684,7 +14990,7 @@ impl<'de> serde::Deserialize<'de> for SessionDescription { match value { "type" => Ok(GeneratedField::Type), "sdp" => Ok(GeneratedField::Sdp), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -14719,6 +15025,9 @@ impl<'de> serde::Deserialize<'de> for SessionDescription { } sdp__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SessionDescription { @@ -14842,6 +15151,7 @@ impl<'de> serde::Deserialize<'de> for SignalRequest { Ping, UpdateMetadata, PingReq, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -14878,7 +15188,7 @@ impl<'de> serde::Deserialize<'de> for SignalRequest { "ping" => Ok(GeneratedField::Ping), "updateMetadata" | "update_metadata" => Ok(GeneratedField::UpdateMetadata), "pingReq" | "ping_req" => Ok(GeneratedField::PingReq), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -15004,6 +15314,9 @@ impl<'de> serde::Deserialize<'de> for SignalRequest { message__ = map.next_value::<::std::option::Option<_>>()?.map(signal_request::Message::PingReq) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SignalRequest { @@ -15155,6 +15468,7 @@ impl<'de> serde::Deserialize<'de> for SignalResponse { Reconnect, PongResp, SubscriptionResponse, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -15196,7 +15510,7 @@ impl<'de> serde::Deserialize<'de> for SignalResponse { "reconnect" => Ok(GeneratedField::Reconnect), "pongResp" | "pong_resp" => Ok(GeneratedField::PongResp), "subscriptionResponse" | "subscription_response" => Ok(GeneratedField::SubscriptionResponse), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -15356,6 +15670,9 @@ impl<'de> serde::Deserialize<'de> for SignalResponse { message__ = map.next_value::<::std::option::Option<_>>()?.map(signal_response::Message::SubscriptionResponse) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SignalResponse { @@ -15506,6 +15823,7 @@ impl<'de> serde::Deserialize<'de> for SimulateScenario { ServerLeave, SwitchCandidateProtocol, SubscriberBandwidth, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -15533,7 +15851,7 @@ impl<'de> serde::Deserialize<'de> for SimulateScenario { "serverLeave" | "server_leave" => Ok(GeneratedField::ServerLeave), "switchCandidateProtocol" | "switch_candidate_protocol" => Ok(GeneratedField::SwitchCandidateProtocol), "subscriberBandwidth" | "subscriber_bandwidth" => Ok(GeneratedField::SubscriberBandwidth), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -15591,6 +15909,9 @@ impl<'de> serde::Deserialize<'de> for SimulateScenario { } scenario__ = map.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| simulate_scenario::Scenario::SubscriberBandwidth(x.0)); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SimulateScenario { @@ -15640,6 +15961,7 @@ impl<'de> serde::Deserialize<'de> for SimulcastCodec { enum GeneratedField { Codec, Cid, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -15663,7 +15985,7 @@ impl<'de> serde::Deserialize<'de> for SimulcastCodec { match value { "codec" => Ok(GeneratedField::Codec), "cid" => Ok(GeneratedField::Cid), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -15698,6 +16020,9 @@ impl<'de> serde::Deserialize<'de> for SimulcastCodec { } cid__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SimulcastCodec { @@ -15765,6 +16090,7 @@ impl<'de> serde::Deserialize<'de> for SimulcastCodecInfo { Mid, Cid, Layers, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -15790,7 +16116,7 @@ impl<'de> serde::Deserialize<'de> for SimulcastCodecInfo { "mid" => Ok(GeneratedField::Mid), "cid" => Ok(GeneratedField::Cid), "layers" => Ok(GeneratedField::Layers), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -15839,6 +16165,9 @@ impl<'de> serde::Deserialize<'de> for SimulcastCodecInfo { } layers__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SimulcastCodecInfo { @@ -15899,6 +16228,7 @@ impl<'de> serde::Deserialize<'de> for SpeakerInfo { Sid, Level, Active, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -15923,7 +16253,7 @@ impl<'de> serde::Deserialize<'de> for SpeakerInfo { "sid" => Ok(GeneratedField::Sid), "level" => Ok(GeneratedField::Level), "active" => Ok(GeneratedField::Active), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -15967,6 +16297,9 @@ impl<'de> serde::Deserialize<'de> for SpeakerInfo { } active__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SpeakerInfo { @@ -16010,6 +16343,7 @@ impl<'de> serde::Deserialize<'de> for SpeakersChanged { #[allow(clippy::enum_variant_names)] enum GeneratedField { Speakers, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -16032,7 +16366,7 @@ impl<'de> serde::Deserialize<'de> for SpeakersChanged { { match value { "speakers" => Ok(GeneratedField::Speakers), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -16060,6 +16394,9 @@ impl<'de> serde::Deserialize<'de> for SpeakersChanged { } speakers__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SpeakersChanged { @@ -16102,6 +16439,7 @@ impl<'de> serde::Deserialize<'de> for StopEgressRequest { #[allow(clippy::enum_variant_names)] enum GeneratedField { EgressId, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -16124,7 +16462,7 @@ impl<'de> serde::Deserialize<'de> for StopEgressRequest { { match value { "egressId" | "egress_id" => Ok(GeneratedField::EgressId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -16152,6 +16490,9 @@ impl<'de> serde::Deserialize<'de> for StopEgressRequest { } egress_id__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(StopEgressRequest { @@ -16237,6 +16578,7 @@ impl<'de> serde::Deserialize<'de> for StreamInfo { Duration, Status, Error, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -16264,7 +16606,7 @@ impl<'de> serde::Deserialize<'de> for StreamInfo { "duration" => Ok(GeneratedField::Duration), "status" => Ok(GeneratedField::Status), "error" => Ok(GeneratedField::Error), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -16333,6 +16675,9 @@ impl<'de> serde::Deserialize<'de> for StreamInfo { } error__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(StreamInfo { @@ -16455,6 +16800,7 @@ impl<'de> serde::Deserialize<'de> for StreamInfoList { #[allow(clippy::enum_variant_names)] enum GeneratedField { Info, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -16477,7 +16823,7 @@ impl<'de> serde::Deserialize<'de> for StreamInfoList { { match value { "info" => Ok(GeneratedField::Info), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -16505,6 +16851,9 @@ impl<'de> serde::Deserialize<'de> for StreamInfoList { } info__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(StreamInfoList { @@ -16556,6 +16905,7 @@ impl<'de> serde::Deserialize<'de> for StreamOutput { enum GeneratedField { Protocol, Urls, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -16579,7 +16929,7 @@ impl<'de> serde::Deserialize<'de> for StreamOutput { match value { "protocol" => Ok(GeneratedField::Protocol), "urls" => Ok(GeneratedField::Urls), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -16614,6 +16964,9 @@ impl<'de> serde::Deserialize<'de> for StreamOutput { } urls__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(StreamOutput { @@ -16822,6 +17175,7 @@ impl<'de> serde::Deserialize<'de> for StreamStateInfo { ParticipantSid, TrackSid, State, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -16846,7 +17200,7 @@ impl<'de> serde::Deserialize<'de> for StreamStateInfo { "participantSid" | "participant_sid" => Ok(GeneratedField::ParticipantSid), "trackSid" | "track_sid" => Ok(GeneratedField::TrackSid), "state" => Ok(GeneratedField::State), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -16888,6 +17242,9 @@ impl<'de> serde::Deserialize<'de> for StreamStateInfo { } state__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(StreamStateInfo { @@ -16932,6 +17289,7 @@ impl<'de> serde::Deserialize<'de> for StreamStateUpdate { #[allow(clippy::enum_variant_names)] enum GeneratedField { StreamStates, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -16954,7 +17312,7 @@ impl<'de> serde::Deserialize<'de> for StreamStateUpdate { { match value { "streamStates" | "stream_states" => Ok(GeneratedField::StreamStates), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -16982,6 +17340,9 @@ impl<'de> serde::Deserialize<'de> for StreamStateUpdate { } stream_states__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(StreamStateUpdate { @@ -17031,6 +17392,7 @@ impl<'de> serde::Deserialize<'de> for SubscribedCodec { enum GeneratedField { Codec, Qualities, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17054,7 +17416,7 @@ impl<'de> serde::Deserialize<'de> for SubscribedCodec { match value { "codec" => Ok(GeneratedField::Codec), "qualities" => Ok(GeneratedField::Qualities), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -17089,6 +17451,9 @@ impl<'de> serde::Deserialize<'de> for SubscribedCodec { } qualities__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SubscribedCodec { @@ -17141,6 +17506,7 @@ impl<'de> serde::Deserialize<'de> for SubscribedQuality { enum GeneratedField { Quality, Enabled, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17164,7 +17530,7 @@ impl<'de> serde::Deserialize<'de> for SubscribedQuality { match value { "quality" => Ok(GeneratedField::Quality), "enabled" => Ok(GeneratedField::Enabled), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -17199,6 +17565,9 @@ impl<'de> serde::Deserialize<'de> for SubscribedQuality { } enabled__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SubscribedQuality { @@ -17260,6 +17629,7 @@ impl<'de> serde::Deserialize<'de> for SubscribedQualityUpdate { TrackSid, SubscribedQualities, SubscribedCodecs, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17284,7 +17654,7 @@ impl<'de> serde::Deserialize<'de> for SubscribedQualityUpdate { "trackSid" | "track_sid" => Ok(GeneratedField::TrackSid), "subscribedQualities" | "subscribed_qualities" => Ok(GeneratedField::SubscribedQualities), "subscribedCodecs" | "subscribed_codecs" => Ok(GeneratedField::SubscribedCodecs), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -17326,6 +17696,9 @@ impl<'de> serde::Deserialize<'de> for SubscribedQualityUpdate { } subscribed_codecs__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SubscribedQualityUpdate { @@ -17455,6 +17828,7 @@ impl<'de> serde::Deserialize<'de> for SubscriptionPermission { enum GeneratedField { AllParticipants, TrackPermissions, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17478,7 +17852,7 @@ impl<'de> serde::Deserialize<'de> for SubscriptionPermission { match value { "allParticipants" | "all_participants" => Ok(GeneratedField::AllParticipants), "trackPermissions" | "track_permissions" => Ok(GeneratedField::TrackPermissions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -17513,6 +17887,9 @@ impl<'de> serde::Deserialize<'de> for SubscriptionPermission { } track_permissions__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SubscriptionPermission { @@ -17573,6 +17950,7 @@ impl<'de> serde::Deserialize<'de> for SubscriptionPermissionUpdate { ParticipantSid, TrackSid, Allowed, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17597,7 +17975,7 @@ impl<'de> serde::Deserialize<'de> for SubscriptionPermissionUpdate { "participantSid" | "participant_sid" => Ok(GeneratedField::ParticipantSid), "trackSid" | "track_sid" => Ok(GeneratedField::TrackSid), "allowed" => Ok(GeneratedField::Allowed), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -17639,6 +18017,9 @@ impl<'de> serde::Deserialize<'de> for SubscriptionPermissionUpdate { } allowed__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SubscriptionPermissionUpdate { @@ -17693,6 +18074,7 @@ impl<'de> serde::Deserialize<'de> for SubscriptionResponse { enum GeneratedField { TrackSid, Err, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17716,7 +18098,7 @@ impl<'de> serde::Deserialize<'de> for SubscriptionResponse { match value { "trackSid" | "track_sid" => Ok(GeneratedField::TrackSid), "err" => Ok(GeneratedField::Err), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -17751,6 +18133,9 @@ impl<'de> serde::Deserialize<'de> for SubscriptionResponse { } err__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SubscriptionResponse { @@ -17827,6 +18212,7 @@ impl<'de> serde::Deserialize<'de> for SyncState { PublishTracks, DataChannels, Offer, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17853,7 +18239,7 @@ impl<'de> serde::Deserialize<'de> for SyncState { "publishTracks" | "publish_tracks" => Ok(GeneratedField::PublishTracks), "dataChannels" | "data_channels" => Ok(GeneratedField::DataChannels), "offer" => Ok(GeneratedField::Offer), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -17909,6 +18295,9 @@ impl<'de> serde::Deserialize<'de> for SyncState { } offer__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(SyncState { @@ -17963,6 +18352,7 @@ impl<'de> serde::Deserialize<'de> for TimedVersion { enum GeneratedField { UnixMicro, Ticks, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -17986,7 +18376,7 @@ impl<'de> serde::Deserialize<'de> for TimedVersion { match value { "unixMicro" | "unix_micro" => Ok(GeneratedField::UnixMicro), "ticks" => Ok(GeneratedField::Ticks), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -18025,6 +18415,9 @@ impl<'de> serde::Deserialize<'de> for TimedVersion { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TimedVersion { @@ -18163,6 +18556,7 @@ impl<'de> serde::Deserialize<'de> for TrackCompositeEgressRequest { Segments, Preset, Advanced, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -18196,7 +18590,7 @@ impl<'de> serde::Deserialize<'de> for TrackCompositeEgressRequest { "segments" => Ok(GeneratedField::Segments), "preset" => Ok(GeneratedField::Preset), "advanced" => Ok(GeneratedField::Advanced), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -18302,6 +18696,9 @@ impl<'de> serde::Deserialize<'de> for TrackCompositeEgressRequest { options__ = map.next_value::<::std::option::Option<_>>()?.map(track_composite_egress_request::Options::Advanced) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TrackCompositeEgressRequest { @@ -18379,6 +18776,7 @@ impl<'de> serde::Deserialize<'de> for TrackEgressRequest { TrackId, File, WebsocketUrl, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -18404,7 +18802,7 @@ impl<'de> serde::Deserialize<'de> for TrackEgressRequest { "trackId" | "track_id" => Ok(GeneratedField::TrackId), "file" => Ok(GeneratedField::File), "websocketUrl" | "websocket_url" => Ok(GeneratedField::WebsocketUrl), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -18453,6 +18851,9 @@ impl<'de> serde::Deserialize<'de> for TrackEgressRequest { } output__ = map.next_value::<::std::option::Option<_>>()?.map(track_egress_request::Output::WebsocketUrl); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TrackEgressRequest { @@ -18524,6 +18925,9 @@ impl serde::Serialize for TrackInfo { if !self.stream.is_empty() { len += 1; } + if self.version.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("livekit.TrackInfo", len)?; if !self.sid.is_empty() { struct_ser.serialize_field("sid", &self.sid)?; @@ -18582,6 +18986,9 @@ impl serde::Serialize for TrackInfo { if !self.stream.is_empty() { struct_ser.serialize_field("stream", &self.stream)?; } + if let Some(v) = self.version.as_ref() { + struct_ser.serialize_field("version", v)?; + } struct_ser.end() } } @@ -18612,6 +19019,7 @@ impl<'de> serde::Deserialize<'de> for TrackInfo { "disableRed", "encryption", "stream", + "version", ]; #[allow(clippy::enum_variant_names)] @@ -18633,6 +19041,8 @@ impl<'de> serde::Deserialize<'de> for TrackInfo { DisableRed, Encryption, Stream, + Version, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -18671,7 +19081,8 @@ impl<'de> serde::Deserialize<'de> for TrackInfo { "disableRed" | "disable_red" => Ok(GeneratedField::DisableRed), "encryption" => Ok(GeneratedField::Encryption), "stream" => Ok(GeneratedField::Stream), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + "version" => Ok(GeneratedField::Version), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -18707,6 +19118,7 @@ impl<'de> serde::Deserialize<'de> for TrackInfo { let mut disable_red__ = None; let mut encryption__ = None; let mut stream__ = None; + let mut version__ = None; while let Some(k) = map.next_key()? { match k { GeneratedField::Sid => { @@ -18815,6 +19227,15 @@ impl<'de> serde::Deserialize<'de> for TrackInfo { } stream__ = Some(map.next_value()?); } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = map.next_value()?; + } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TrackInfo { @@ -18835,6 +19256,7 @@ impl<'de> serde::Deserialize<'de> for TrackInfo { disable_red: disable_red__.unwrap_or_default(), encryption: encryption__.unwrap_or_default(), stream: stream__.unwrap_or_default(), + version: version__, }) } } @@ -18900,6 +19322,7 @@ impl<'de> serde::Deserialize<'de> for TrackPermission { AllTracks, TrackSids, ParticipantIdentity, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -18925,7 +19348,7 @@ impl<'de> serde::Deserialize<'de> for TrackPermission { "allTracks" | "all_tracks" => Ok(GeneratedField::AllTracks), "trackSids" | "track_sids" => Ok(GeneratedField::TrackSids), "participantIdentity" | "participant_identity" => Ok(GeneratedField::ParticipantIdentity), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -18974,6 +19397,9 @@ impl<'de> serde::Deserialize<'de> for TrackPermission { } participant_identity__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TrackPermission { @@ -19026,6 +19452,7 @@ impl<'de> serde::Deserialize<'de> for TrackPublishedResponse { enum GeneratedField { Cid, Track, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -19049,7 +19476,7 @@ impl<'de> serde::Deserialize<'de> for TrackPublishedResponse { match value { "cid" => Ok(GeneratedField::Cid), "track" => Ok(GeneratedField::Track), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -19084,6 +19511,9 @@ impl<'de> serde::Deserialize<'de> for TrackPublishedResponse { } track__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TrackPublishedResponse { @@ -19285,6 +19715,7 @@ impl<'de> serde::Deserialize<'de> for TrackUnpublishedResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { TrackSid, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -19307,7 +19738,7 @@ impl<'de> serde::Deserialize<'de> for TrackUnpublishedResponse { { match value { "trackSid" | "track_sid" => Ok(GeneratedField::TrackSid), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -19335,6 +19766,9 @@ impl<'de> serde::Deserialize<'de> for TrackUnpublishedResponse { } track_sid__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TrackUnpublishedResponse { @@ -19386,6 +19820,7 @@ impl<'de> serde::Deserialize<'de> for TrickleRequest { enum GeneratedField { CandidateInit, Target, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -19409,7 +19844,7 @@ impl<'de> serde::Deserialize<'de> for TrickleRequest { match value { "candidateInit" => Ok(GeneratedField::CandidateInit), "target" => Ok(GeneratedField::Target), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -19444,6 +19879,9 @@ impl<'de> serde::Deserialize<'de> for TrickleRequest { } target__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(TrickleRequest { @@ -19547,6 +19985,7 @@ impl<'de> serde::Deserialize<'de> for UpdateIngressRequest { BypassTranscoding, Audio, Video, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -19576,7 +20015,7 @@ impl<'de> serde::Deserialize<'de> for UpdateIngressRequest { "bypassTranscoding" | "bypass_transcoding" => Ok(GeneratedField::BypassTranscoding), "audio" => Ok(GeneratedField::Audio), "video" => Ok(GeneratedField::Video), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -19653,6 +20092,9 @@ impl<'de> serde::Deserialize<'de> for UpdateIngressRequest { } video__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateIngressRequest { @@ -19710,6 +20152,7 @@ impl<'de> serde::Deserialize<'de> for UpdateLayoutRequest { enum GeneratedField { EgressId, Layout, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -19733,7 +20176,7 @@ impl<'de> serde::Deserialize<'de> for UpdateLayoutRequest { match value { "egressId" | "egress_id" => Ok(GeneratedField::EgressId), "layout" => Ok(GeneratedField::Layout), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -19768,6 +20211,9 @@ impl<'de> serde::Deserialize<'de> for UpdateLayoutRequest { } layout__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateLayoutRequest { @@ -19818,6 +20264,7 @@ impl<'de> serde::Deserialize<'de> for UpdateParticipantMetadata { enum GeneratedField { Metadata, Name, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -19841,7 +20288,7 @@ impl<'de> serde::Deserialize<'de> for UpdateParticipantMetadata { match value { "metadata" => Ok(GeneratedField::Metadata), "name" => Ok(GeneratedField::Name), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -19876,6 +20323,9 @@ impl<'de> serde::Deserialize<'de> for UpdateParticipantMetadata { } name__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateParticipantMetadata { @@ -19950,6 +20400,7 @@ impl<'de> serde::Deserialize<'de> for UpdateParticipantRequest { Metadata, Permission, Name, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -19976,7 +20427,7 @@ impl<'de> serde::Deserialize<'de> for UpdateParticipantRequest { "metadata" => Ok(GeneratedField::Metadata), "permission" => Ok(GeneratedField::Permission), "name" => Ok(GeneratedField::Name), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -20032,6 +20483,9 @@ impl<'de> serde::Deserialize<'de> for UpdateParticipantRequest { } name__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateParticipantRequest { @@ -20085,6 +20539,7 @@ impl<'de> serde::Deserialize<'de> for UpdateRoomMetadataRequest { enum GeneratedField { Room, Metadata, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -20108,7 +20563,7 @@ impl<'de> serde::Deserialize<'de> for UpdateRoomMetadataRequest { match value { "room" => Ok(GeneratedField::Room), "metadata" => Ok(GeneratedField::Metadata), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -20143,6 +20598,9 @@ impl<'de> serde::Deserialize<'de> for UpdateRoomMetadataRequest { } metadata__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateRoomMetadataRequest { @@ -20204,6 +20662,7 @@ impl<'de> serde::Deserialize<'de> for UpdateStreamRequest { EgressId, AddOutputUrls, RemoveOutputUrls, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -20228,7 +20687,7 @@ impl<'de> serde::Deserialize<'de> for UpdateStreamRequest { "egressId" | "egress_id" => Ok(GeneratedField::EgressId), "addOutputUrls" | "add_output_urls" => Ok(GeneratedField::AddOutputUrls), "removeOutputUrls" | "remove_output_urls" => Ok(GeneratedField::RemoveOutputUrls), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -20270,6 +20729,9 @@ impl<'de> serde::Deserialize<'de> for UpdateStreamRequest { } remove_output_urls__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateStreamRequest { @@ -20331,6 +20793,7 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscription { TrackSids, Subscribe, ParticipantTracks, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -20355,7 +20818,7 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscription { "trackSids" | "track_sids" => Ok(GeneratedField::TrackSids), "subscribe" => Ok(GeneratedField::Subscribe), "participantTracks" | "participant_tracks" => Ok(GeneratedField::ParticipantTracks), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -20397,6 +20860,9 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscription { } participant_tracks__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateSubscription { @@ -20474,6 +20940,7 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscriptionsRequest { TrackSids, Subscribe, ParticipantTracks, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -20500,7 +20967,7 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscriptionsRequest { "trackSids" | "track_sids" => Ok(GeneratedField::TrackSids), "subscribe" => Ok(GeneratedField::Subscribe), "participantTracks" | "participant_tracks" => Ok(GeneratedField::ParticipantTracks), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -20556,6 +21023,9 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscriptionsRequest { } participant_tracks__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateSubscriptionsRequest { @@ -20593,6 +21063,7 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscriptionsResponse { #[allow(clippy::enum_variant_names)] enum GeneratedField { + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -20613,7 +21084,7 @@ impl<'de> serde::Deserialize<'de> for UpdateSubscriptionsResponse { where E: serde::de::Error, { - Err(serde::de::Error::unknown_field(value, FIELDS)) + Ok(GeneratedField::__SkipField__) } } deserializer.deserialize_identifier(GeneratedVisitor) @@ -20723,6 +21194,7 @@ impl<'de> serde::Deserialize<'de> for UpdateTrackSettings { Height, Fps, Priority, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -20751,7 +21223,7 @@ impl<'de> serde::Deserialize<'de> for UpdateTrackSettings { "height" => Ok(GeneratedField::Height), "fps" => Ok(GeneratedField::Fps), "priority" => Ok(GeneratedField::Priority), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -20829,6 +21301,9 @@ impl<'de> serde::Deserialize<'de> for UpdateTrackSettings { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateTrackSettings { @@ -20885,6 +21360,7 @@ impl<'de> serde::Deserialize<'de> for UpdateVideoLayers { enum GeneratedField { TrackSid, Layers, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -20908,7 +21384,7 @@ impl<'de> serde::Deserialize<'de> for UpdateVideoLayers { match value { "trackSid" | "track_sid" => Ok(GeneratedField::TrackSid), "layers" => Ok(GeneratedField::Layers), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -20943,6 +21419,9 @@ impl<'de> serde::Deserialize<'de> for UpdateVideoLayers { } layers__ = Some(map.next_value()?); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UpdateVideoLayers { @@ -21029,6 +21508,7 @@ impl<'de> serde::Deserialize<'de> for UserPacket { DestinationSids, DestinationIdentities, Topic, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -21056,7 +21536,7 @@ impl<'de> serde::Deserialize<'de> for UserPacket { "destinationSids" | "destination_sids" => Ok(GeneratedField::DestinationSids), "destinationIdentities" | "destination_identities" => Ok(GeneratedField::DestinationIdentities), "topic" => Ok(GeneratedField::Topic), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -21121,6 +21601,9 @@ impl<'de> serde::Deserialize<'de> for UserPacket { } topic__ = map.next_value()?; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(UserPacket { @@ -21252,6 +21735,7 @@ impl<'de> serde::Deserialize<'de> for VideoConfiguration { #[allow(clippy::enum_variant_names)] enum GeneratedField { HardwareEncoder, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -21274,7 +21758,7 @@ impl<'de> serde::Deserialize<'de> for VideoConfiguration { { match value { "hardwareEncoder" | "hardware_encoder" => Ok(GeneratedField::HardwareEncoder), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -21302,6 +21786,9 @@ impl<'de> serde::Deserialize<'de> for VideoConfiguration { } hardware_encoder__ = Some(map.next_value::()? as i32); } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(VideoConfiguration { @@ -21377,6 +21864,7 @@ impl<'de> serde::Deserialize<'de> for VideoLayer { Height, Bitrate, Ssrc, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -21403,7 +21891,7 @@ impl<'de> serde::Deserialize<'de> for VideoLayer { "height" => Ok(GeneratedField::Height), "bitrate" => Ok(GeneratedField::Bitrate), "ssrc" => Ok(GeneratedField::Ssrc), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -21467,6 +21955,9 @@ impl<'de> serde::Deserialize<'de> for VideoLayer { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(VideoLayer { @@ -21695,6 +22186,7 @@ impl<'de> serde::Deserialize<'de> for WebEgressRequest { Segments, Preset, Advanced, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -21729,7 +22221,7 @@ impl<'de> serde::Deserialize<'de> for WebEgressRequest { "segments" => Ok(GeneratedField::Segments), "preset" => Ok(GeneratedField::Preset), "advanced" => Ok(GeneratedField::Advanced), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -21842,6 +22334,9 @@ impl<'de> serde::Deserialize<'de> for WebEgressRequest { options__ = map.next_value::<::std::option::Option<_>>()?.map(web_egress_request::Options::Advanced) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(WebEgressRequest { @@ -21960,6 +22455,7 @@ impl<'de> serde::Deserialize<'de> for WebhookEvent { Id, CreatedAt, NumDropped, + __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -21990,7 +22486,7 @@ impl<'de> serde::Deserialize<'de> for WebhookEvent { "id" => Ok(GeneratedField::Id), "createdAt" | "created_at" => Ok(GeneratedField::CreatedAt), "numDropped" | "num_dropped" => Ok(GeneratedField::NumDropped), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + _ => Ok(GeneratedField::__SkipField__), } } } @@ -22078,6 +22574,9 @@ impl<'de> serde::Deserialize<'de> for WebhookEvent { Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::__SkipField__ => { + let _ = map.next_value::()?; + } } } Ok(WebhookEvent {