diff --git a/lib/src/core/signal_client.dart b/lib/src/core/signal_client.dart index 8c932d9..184e6fe 100644 --- a/lib/src/core/signal_client.dart +++ b/lib/src/core/signal_client.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:collection'; +import 'package:fixnum/fixnum.dart'; import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; import 'package:http/http.dart' as http; import 'package:meta/meta.dart'; @@ -28,6 +29,11 @@ class SignalClient extends Disposable with EventsEmittable { LiveKitWebSocket? _ws; final _queue = Queue(); + Duration? _pingTimeoutDuration; + Timer? _pingTimeoutTimer; + + Duration? _pingIntervalDuration; + Timer? _pingIntervalTimer; @internal SignalClient(WebSocketConnector wsConnector) : _wsConnector = wsConnector { @@ -149,6 +155,13 @@ class SignalClient extends Disposable with EventsEmittable { switch (msg.whichMessage()) { case lk_rtc.SignalResponse_Message.join: + if (msg.join.pingTimeout > 0) { + _pingTimeoutDuration = Duration(seconds: msg.join.pingTimeout); + _pingIntervalDuration = Duration(seconds: msg.join.pingInterval); + logger.info( + 'ping config timeout: ${msg.join.pingTimeout}, interval: ${msg.join.pingInterval} '); + _startPingInterval(); + } events.emit(SignalJoinResponseEvent(response: msg.join)); break; case lk_rtc.SignalResponse_Message.answer: @@ -223,6 +236,9 @@ class SignalClient extends Disposable with EventsEmittable { case lk_rtc.SignalResponse_Message.notSet: logger.info('signal message not set'); break; + case lk_rtc.SignalResponse_Message.pong: + _resetPingTimeout(); + break; default: logger.warning('received unknown signal message'); } @@ -240,6 +256,47 @@ class SignalClient extends Disposable with EventsEmittable { _updateConnectionState(ConnectionState.disconnected); } } + + void _sendPing() { + _sendRequest(lk_rtc.SignalRequest() + ..ping = DateTime.now().millisecondsSinceEpoch as Int64); + } + + void _startPingInterval() { + _clearPingInterval(); + _resetPingTimeout(); + + if (_pingIntervalDuration == null) { + logger.warning('ping timeout duration not set'); + return; + } + + _pingIntervalTimer ??= + Timer.periodic(_pingIntervalDuration!, (_) => _sendPing); + } + + void _clearPingInterval() { + _clearPingTimeout(); + _pingIntervalTimer?.cancel(); + _pingIntervalTimer = null; + } + + void _resetPingTimeout() { + _clearPingTimeout(); + if (_pingTimeoutDuration == null) { + logger.warning('ping timeout duration not set'); + return; + } + _pingTimeoutTimer ??= Timer(_pingTimeoutDuration!, () { + logger.warning('ping timeout'); + _onSocketDispose(); + }); + } + + void _clearPingTimeout() { + _pingTimeoutTimer?.cancel(); + _pingTimeoutTimer = null; + } } extension SignalClientRequests on SignalClient { @@ -414,6 +471,16 @@ extension SignalClientPrivateMethods on SignalClient { newValue == ConnectionState.connected; final oldState = _connectionState; + + if (newValue == ConnectionState.connected && + oldState == ConnectionState.reconnecting) { + // restart ping interval as it's cleared for reconnection + _startPingInterval(); + } else if (newValue == ConnectionState.reconnecting) { + // clear ping interval and restart it once reconnected + _clearPingInterval(); + } + _connectionState = newValue; events.emit(SignalConnectionStateUpdatedEvent( diff --git a/lib/src/proto/livekit_models.pb.dart b/lib/src/proto/livekit_models.pb.dart index 6fd222b..c4046e0 100644 --- a/lib/src/proto/livekit_models.pb.dart +++ b/lib/src/proto/livekit_models.pb.dart @@ -785,6 +785,129 @@ class ParticipantInfo extends $pb.GeneratedMessage { void clearIsPublisher() => clearField(13); } +class SimulcastCodecInfo extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'SimulcastCodecInfo', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'livekit'), + createEmptyInstance: create) + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'mimeType') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'mid') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'cid') + ..pc( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'layers', + $pb.PbFieldType.PM, + subBuilder: VideoLayer.create) + ..hasRequiredFields = false; + + SimulcastCodecInfo._() : super(); + factory SimulcastCodecInfo({ + $core.String? mimeType, + $core.String? mid, + $core.String? cid, + $core.Iterable? layers, + }) { + final _result = create(); + if (mimeType != null) { + _result.mimeType = mimeType; + } + if (mid != null) { + _result.mid = mid; + } + if (cid != null) { + _result.cid = cid; + } + if (layers != null) { + _result.layers.addAll(layers); + } + return _result; + } + factory SimulcastCodecInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SimulcastCodecInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SimulcastCodecInfo clone() => SimulcastCodecInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SimulcastCodecInfo copyWith(void Function(SimulcastCodecInfo) updates) => + super.copyWith((message) => updates(message as SimulcastCodecInfo)) + as SimulcastCodecInfo; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static SimulcastCodecInfo create() => SimulcastCodecInfo._(); + SimulcastCodecInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SimulcastCodecInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SimulcastCodecInfo? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get mimeType => $_getSZ(0); + @$pb.TagNumber(1) + set mimeType($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMimeType() => $_has(0); + @$pb.TagNumber(1) + void clearMimeType() => clearField(1); + + @$pb.TagNumber(2) + $core.String get mid => $_getSZ(1); + @$pb.TagNumber(2) + set mid($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMid() => $_has(1); + @$pb.TagNumber(2) + void clearMid() => clearField(2); + + @$pb.TagNumber(3) + $core.String get cid => $_getSZ(2); + @$pb.TagNumber(3) + set cid($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasCid() => $_has(2); + @$pb.TagNumber(3) + void clearCid() => clearField(3); + + @$pb.TagNumber(4) + $core.List get layers => $_getList(3); +} + class TrackInfo extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( const $core.bool.fromEnvironment('protobuf.omit_message_names') @@ -867,6 +990,13 @@ class TrackInfo extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'mid') + ..pc( + 13, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'codecs', + $pb.PbFieldType.PM, + subBuilder: SimulcastCodecInfo.create) ..hasRequiredFields = false; TrackInfo._() : super(); @@ -883,6 +1013,7 @@ class TrackInfo extends $pb.GeneratedMessage { $core.Iterable? layers, $core.String? mimeType, $core.String? mid, + $core.Iterable? codecs, }) { final _result = create(); if (sid != null) { @@ -921,6 +1052,9 @@ class TrackInfo extends $pb.GeneratedMessage { if (mid != null) { _result.mid = mid; } + if (codecs != null) { + _result.codecs.addAll(codecs); + } return _result; } factory TrackInfo.fromBuffer($core.List<$core.int> i, @@ -1083,6 +1217,9 @@ class TrackInfo extends $pb.GeneratedMessage { $core.bool hasMid() => $_has(11); @$pb.TagNumber(12) void clearMid() => clearField(12); + + @$pb.TagNumber(13) + $core.List get codecs => $_getList(12); } class VideoLayer extends $pb.GeneratedMessage { @@ -1720,6 +1857,182 @@ class ParticipantTracks extends $pb.GeneratedMessage { $core.List<$core.String> get trackSids => $_getList(1); } +class ServerInfo extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'ServerInfo', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'livekit'), + createEmptyInstance: create) + ..e( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'edition', + $pb.PbFieldType.OE, + defaultOrMaker: ServerInfo_Edition.Standard, + valueOf: ServerInfo_Edition.valueOf, + enumValues: ServerInfo_Edition.values) + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'version') + ..a<$core.int>( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'protocol', + $pb.PbFieldType.O3) + ..aOS( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'region') + ..aOS( + 5, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'nodeId') + ..aOS( + 6, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'debugInfo') + ..hasRequiredFields = false; + + ServerInfo._() : super(); + factory ServerInfo({ + ServerInfo_Edition? edition, + $core.String? version, + $core.int? protocol, + $core.String? region, + $core.String? nodeId, + $core.String? debugInfo, + }) { + final _result = create(); + if (edition != null) { + _result.edition = edition; + } + if (version != null) { + _result.version = version; + } + if (protocol != null) { + _result.protocol = protocol; + } + if (region != null) { + _result.region = region; + } + if (nodeId != null) { + _result.nodeId = nodeId; + } + if (debugInfo != null) { + _result.debugInfo = debugInfo; + } + return _result; + } + factory ServerInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServerInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServerInfo clone() => ServerInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServerInfo copyWith(void Function(ServerInfo) updates) => + super.copyWith((message) => updates(message as ServerInfo)) + as ServerInfo; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static ServerInfo create() => ServerInfo._(); + ServerInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServerInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServerInfo? _defaultInstance; + + @$pb.TagNumber(1) + ServerInfo_Edition get edition => $_getN(0); + @$pb.TagNumber(1) + set edition(ServerInfo_Edition v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasEdition() => $_has(0); + @$pb.TagNumber(1) + void clearEdition() => clearField(1); + + @$pb.TagNumber(2) + $core.String get version => $_getSZ(1); + @$pb.TagNumber(2) + set version($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); + + @$pb.TagNumber(3) + $core.int get protocol => $_getIZ(2); + @$pb.TagNumber(3) + set protocol($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasProtocol() => $_has(2); + @$pb.TagNumber(3) + void clearProtocol() => clearField(3); + + @$pb.TagNumber(4) + $core.String get region => $_getSZ(3); + @$pb.TagNumber(4) + set region($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasRegion() => $_has(3); + @$pb.TagNumber(4) + void clearRegion() => clearField(4); + + @$pb.TagNumber(5) + $core.String get nodeId => $_getSZ(4); + @$pb.TagNumber(5) + set nodeId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasNodeId() => $_has(4); + @$pb.TagNumber(5) + void clearNodeId() => clearField(5); + + @$pb.TagNumber(6) + $core.String get debugInfo => $_getSZ(5); + @$pb.TagNumber(6) + set debugInfo($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasDebugInfo() => $_has(5); + @$pb.TagNumber(6) + void clearDebugInfo() => clearField(6); +} + class ClientInfo extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( const $core.bool.fromEnvironment('protobuf.omit_message_names') @@ -1780,6 +2093,11 @@ class ClientInfo extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'address') + ..aOS( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'network') ..hasRequiredFields = false; ClientInfo._() : super(); @@ -1793,6 +2111,7 @@ class ClientInfo extends $pb.GeneratedMessage { $core.String? browser, $core.String? browserVersion, $core.String? address, + $core.String? network, }) { final _result = create(); if (sdk != null) { @@ -1822,6 +2141,9 @@ class ClientInfo extends $pb.GeneratedMessage { if (address != null) { _result.address = address; } + if (network != null) { + _result.network = network; + } return _result; } factory ClientInfo.fromBuffer($core.List<$core.int> i, @@ -1957,6 +2279,18 @@ class ClientInfo extends $pb.GeneratedMessage { $core.bool hasAddress() => $_has(8); @$pb.TagNumber(9) void clearAddress() => clearField(9); + + @$pb.TagNumber(10) + $core.String get network => $_getSZ(9); + @$pb.TagNumber(10) + set network($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasNetwork() => $_has(9); + @$pb.TagNumber(10) + void clearNetwork() => clearField(10); } class ClientConfiguration extends $pb.GeneratedMessage { @@ -1990,6 +2324,21 @@ class ClientConfiguration extends $pb.GeneratedMessage { defaultOrMaker: ClientConfigSetting.UNSET, valueOf: ClientConfigSetting.valueOf, enumValues: ClientConfigSetting.values) + ..aOM( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'disabledCodecs', + subBuilder: DisabledCodecs.create) + ..e( + 5, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'forceRelay', + $pb.PbFieldType.OE, + defaultOrMaker: ClientConfigSetting.UNSET, + valueOf: ClientConfigSetting.valueOf, + enumValues: ClientConfigSetting.values) ..hasRequiredFields = false; ClientConfiguration._() : super(); @@ -1997,6 +2346,8 @@ class ClientConfiguration extends $pb.GeneratedMessage { VideoConfiguration? video, VideoConfiguration? screen, ClientConfigSetting? resumeConnection, + DisabledCodecs? disabledCodecs, + ClientConfigSetting? forceRelay, }) { final _result = create(); if (video != null) { @@ -2008,6 +2359,12 @@ class ClientConfiguration extends $pb.GeneratedMessage { if (resumeConnection != null) { _result.resumeConnection = resumeConnection; } + if (disabledCodecs != null) { + _result.disabledCodecs = disabledCodecs; + } + if (forceRelay != null) { + _result.forceRelay = forceRelay; + } return _result; } factory ClientConfiguration.fromBuffer($core.List<$core.int> i, @@ -2076,6 +2433,32 @@ class ClientConfiguration extends $pb.GeneratedMessage { $core.bool hasResumeConnection() => $_has(2); @$pb.TagNumber(3) void clearResumeConnection() => clearField(3); + + @$pb.TagNumber(4) + DisabledCodecs get disabledCodecs => $_getN(3); + @$pb.TagNumber(4) + set disabledCodecs(DisabledCodecs v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisabledCodecs() => $_has(3); + @$pb.TagNumber(4) + void clearDisabledCodecs() => clearField(4); + @$pb.TagNumber(4) + DisabledCodecs ensureDisabledCodecs() => $_ensure(3); + + @$pb.TagNumber(5) + ClientConfigSetting get forceRelay => $_getN(4); + @$pb.TagNumber(5) + set forceRelay(ClientConfigSetting v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasForceRelay() => $_has(4); + @$pb.TagNumber(5) + void clearForceRelay() => clearField(5); } class VideoConfiguration extends $pb.GeneratedMessage { @@ -2149,6 +2532,66 @@ class VideoConfiguration extends $pb.GeneratedMessage { void clearHardwareEncoder() => clearField(1); } +class DisabledCodecs extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'DisabledCodecs', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'livekit'), + createEmptyInstance: create) + ..pc( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'codecs', + $pb.PbFieldType.PM, + subBuilder: Codec.create) + ..hasRequiredFields = false; + + DisabledCodecs._() : super(); + factory DisabledCodecs({ + $core.Iterable? codecs, + }) { + final _result = create(); + if (codecs != null) { + _result.codecs.addAll(codecs); + } + return _result; + } + factory DisabledCodecs.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DisabledCodecs.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DisabledCodecs clone() => DisabledCodecs()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DisabledCodecs copyWith(void Function(DisabledCodecs) updates) => + super.copyWith((message) => updates(message as DisabledCodecs)) + as DisabledCodecs; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static DisabledCodecs create() => DisabledCodecs._(); + DisabledCodecs createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DisabledCodecs getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DisabledCodecs? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get codecs => $_getList(0); +} + class RTPStats extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( const $core.bool.fromEnvironment('protobuf.omit_message_names') @@ -2393,6 +2836,27 @@ class RTPStats extends $pb.GeneratedMessage { ? '' : 'nackRepeated', $pb.PbFieldType.OU3) + ..a<$fixnum.Int64>( + 39, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'headerBytes', + $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>( + 40, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'headerBytesDuplicate', + $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>( + 41, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'headerBytesPadding', + $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) ..hasRequiredFields = false; RTPStats._() : super(); @@ -2435,6 +2899,9 @@ class RTPStats extends $pb.GeneratedMessage { $0.Timestamp? lastLayerLockPli, $core.int? nackAcks, $core.int? nackRepeated, + $fixnum.Int64? headerBytes, + $fixnum.Int64? headerBytesDuplicate, + $fixnum.Int64? headerBytesPadding, }) { final _result = create(); if (startTime != null) { @@ -2551,6 +3018,15 @@ class RTPStats extends $pb.GeneratedMessage { if (nackRepeated != null) { _result.nackRepeated = nackRepeated; } + if (headerBytes != null) { + _result.headerBytes = headerBytes; + } + if (headerBytesDuplicate != null) { + _result.headerBytesDuplicate = headerBytesDuplicate; + } + if (headerBytesPadding != null) { + _result.headerBytesPadding = headerBytesPadding; + } return _result; } factory RTPStats.fromBuffer($core.List<$core.int> i, @@ -3037,4 +3513,129 @@ class RTPStats extends $pb.GeneratedMessage { $core.bool hasNackRepeated() => $_has(37); @$pb.TagNumber(38) void clearNackRepeated() => clearField(38); + + @$pb.TagNumber(39) + $fixnum.Int64 get headerBytes => $_getI64(38); + @$pb.TagNumber(39) + set headerBytes($fixnum.Int64 v) { + $_setInt64(38, v); + } + + @$pb.TagNumber(39) + $core.bool hasHeaderBytes() => $_has(38); + @$pb.TagNumber(39) + void clearHeaderBytes() => clearField(39); + + @$pb.TagNumber(40) + $fixnum.Int64 get headerBytesDuplicate => $_getI64(39); + @$pb.TagNumber(40) + set headerBytesDuplicate($fixnum.Int64 v) { + $_setInt64(39, v); + } + + @$pb.TagNumber(40) + $core.bool hasHeaderBytesDuplicate() => $_has(39); + @$pb.TagNumber(40) + void clearHeaderBytesDuplicate() => clearField(40); + + @$pb.TagNumber(41) + $fixnum.Int64 get headerBytesPadding => $_getI64(40); + @$pb.TagNumber(41) + set headerBytesPadding($fixnum.Int64 v) { + $_setInt64(40, v); + } + + @$pb.TagNumber(41) + $core.bool hasHeaderBytesPadding() => $_has(40); + @$pb.TagNumber(41) + void clearHeaderBytesPadding() => clearField(41); +} + +class TimedVersion extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TimedVersion', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'livekit'), + createEmptyInstance: create) + ..aInt64( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'unixMicro') + ..a<$core.int>( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'ticks', + $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + TimedVersion._() : super(); + factory TimedVersion({ + $fixnum.Int64? unixMicro, + $core.int? ticks, + }) { + final _result = create(); + if (unixMicro != null) { + _result.unixMicro = unixMicro; + } + if (ticks != null) { + _result.ticks = ticks; + } + return _result; + } + factory TimedVersion.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TimedVersion.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TimedVersion clone() => TimedVersion()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TimedVersion copyWith(void Function(TimedVersion) updates) => + super.copyWith((message) => updates(message as TimedVersion)) + as TimedVersion; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static TimedVersion create() => TimedVersion._(); + TimedVersion createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TimedVersion getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TimedVersion? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get unixMicro => $_getI64(0); + @$pb.TagNumber(1) + set unixMicro($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasUnixMicro() => $_has(0); + @$pb.TagNumber(1) + void clearUnixMicro() => clearField(1); + + @$pb.TagNumber(2) + $core.int get ticks => $_getIZ(1); + @$pb.TagNumber(2) + set ticks($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTicks() => $_has(1); + @$pb.TagNumber(2) + void clearTicks() => clearField(2); } diff --git a/lib/src/proto/livekit_models.pbenum.dart b/lib/src/proto/livekit_models.pbenum.dart index 1520391..7a9a65a 100644 --- a/lib/src/proto/livekit_models.pbenum.dart +++ b/lib/src/proto/livekit_models.pbenum.dart @@ -177,6 +177,66 @@ class ClientConfigSetting extends $pb.ProtobufEnum { const ClientConfigSetting._($core.int v, $core.String n) : super(v, n); } +class DisconnectReason extends $pb.ProtobufEnum { + static const DisconnectReason UNKNOWN_REASON = DisconnectReason._( + 0, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'UNKNOWN_REASON'); + static const DisconnectReason CLIENT_INITIATED = DisconnectReason._( + 1, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'CLIENT_INITIATED'); + static const DisconnectReason DUPLICATE_IDENTITY = DisconnectReason._( + 2, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'DUPLICATE_IDENTITY'); + static const DisconnectReason SERVER_SHUTDOWN = DisconnectReason._( + 3, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'SERVER_SHUTDOWN'); + static const DisconnectReason PARTICIPANT_REMOVED = DisconnectReason._( + 4, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'PARTICIPANT_REMOVED'); + static const DisconnectReason ROOM_DELETED = DisconnectReason._( + 5, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'ROOM_DELETED'); + static const DisconnectReason STATE_MISMATCH = DisconnectReason._( + 6, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'STATE_MISMATCH'); + static const DisconnectReason JOIN_FAILURE = DisconnectReason._( + 7, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'JOIN_FAILURE'); + + static const $core.List values = [ + UNKNOWN_REASON, + CLIENT_INITIATED, + DUPLICATE_IDENTITY, + SERVER_SHUTDOWN, + PARTICIPANT_REMOVED, + ROOM_DELETED, + STATE_MISMATCH, + JOIN_FAILURE, + ]; + + static final $core.Map<$core.int, DisconnectReason> _byValue = + $pb.ProtobufEnum.initByValue(values); + static DisconnectReason? valueOf($core.int value) => _byValue[value]; + + const DisconnectReason._($core.int v, $core.String n) : super(v, n); +} + class ParticipantInfo_State extends $pb.ProtobufEnum { static const ParticipantInfo_State JOINING = ParticipantInfo_State._( 0, @@ -238,6 +298,30 @@ class DataPacket_Kind extends $pb.ProtobufEnum { const DataPacket_Kind._($core.int v, $core.String n) : super(v, n); } +class ServerInfo_Edition extends $pb.ProtobufEnum { + static const ServerInfo_Edition Standard = ServerInfo_Edition._( + 0, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'Standard'); + static const ServerInfo_Edition Cloud = ServerInfo_Edition._( + 1, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'Cloud'); + + static const $core.List values = [ + Standard, + Cloud, + ]; + + static final $core.Map<$core.int, ServerInfo_Edition> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ServerInfo_Edition? valueOf($core.int value) => _byValue[value]; + + const ServerInfo_Edition._($core.int v, $core.String n) : super(v, n); +} + class ClientInfo_SDK extends $pb.ProtobufEnum { static const ClientInfo_SDK UNKNOWN = ClientInfo_SDK._( 0, diff --git a/lib/src/proto/livekit_models.pbjson.dart b/lib/src/proto/livekit_models.pbjson.dart index 4a3c5be..f00d02c 100644 --- a/lib/src/proto/livekit_models.pbjson.dart +++ b/lib/src/proto/livekit_models.pbjson.dart @@ -77,6 +77,24 @@ const ClientConfigSetting$json = const { /// Descriptor for `ClientConfigSetting`. Decode as a `google.protobuf.EnumDescriptorProto`. final $typed_data.Uint8List clientConfigSettingDescriptor = $convert.base64Decode( 'ChNDbGllbnRDb25maWdTZXR0aW5nEgkKBVVOU0VUEAASDAoIRElTQUJMRUQQARILCgdFTkFCTEVEEAI='); +@$core.Deprecated('Use disconnectReasonDescriptor instead') +const DisconnectReason$json = const { + '1': 'DisconnectReason', + '2': const [ + const {'1': 'UNKNOWN_REASON', '2': 0}, + const {'1': 'CLIENT_INITIATED', '2': 1}, + const {'1': 'DUPLICATE_IDENTITY', '2': 2}, + const {'1': 'SERVER_SHUTDOWN', '2': 3}, + const {'1': 'PARTICIPANT_REMOVED', '2': 4}, + const {'1': 'ROOM_DELETED', '2': 5}, + const {'1': 'STATE_MISMATCH', '2': 6}, + const {'1': 'JOIN_FAILURE', '2': 7}, + ], +}; + +/// Descriptor for `DisconnectReason`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List disconnectReasonDescriptor = $convert.base64Decode( + 'ChBEaXNjb25uZWN0UmVhc29uEhIKDlVOS05PV05fUkVBU09OEAASFAoQQ0xJRU5UX0lOSVRJQVRFRBABEhYKEkRVUExJQ0FURV9JREVOVElUWRACEhMKD1NFUlZFUl9TSFVURE9XThADEhcKE1BBUlRJQ0lQQU5UX1JFTU9WRUQQBBIQCgxST09NX0RFTEVURUQQBRISCg5TVEFURV9NSVNNQVRDSBAGEhAKDEpPSU5fRkFJTFVSRRAH'); @$core.Deprecated('Use roomDescriptor instead') const Room$json = const { '1': 'Room', @@ -209,6 +227,27 @@ const ParticipantInfo_State$json = const { /// Descriptor for `ParticipantInfo`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List participantInfoDescriptor = $convert.base64Decode( 'Cg9QYXJ0aWNpcGFudEluZm8SEAoDc2lkGAEgASgJUgNzaWQSGgoIaWRlbnRpdHkYAiABKAlSCGlkZW50aXR5EjQKBXN0YXRlGAMgASgOMh4ubGl2ZWtpdC5QYXJ0aWNpcGFudEluZm8uU3RhdGVSBXN0YXRlEioKBnRyYWNrcxgEIAMoCzISLmxpdmVraXQuVHJhY2tJbmZvUgZ0cmFja3MSGgoIbWV0YWRhdGEYBSABKAlSCG1ldGFkYXRhEhsKCWpvaW5lZF9hdBgGIAEoA1IIam9pbmVkQXQSEgoEbmFtZRgJIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGAogASgNUgd2ZXJzaW9uEj4KCnBlcm1pc3Npb24YCyABKAsyHi5saXZla2l0LlBhcnRpY2lwYW50UGVybWlzc2lvblIKcGVybWlzc2lvbhIWCgZyZWdpb24YDCABKAlSBnJlZ2lvbhIhCgxpc19wdWJsaXNoZXIYDSABKAhSC2lzUHVibGlzaGVyIj4KBVN0YXRlEgsKB0pPSU5JTkcQABIKCgZKT0lORUQQARIKCgZBQ1RJVkUQAhIQCgxESVNDT05ORUNURUQQAw=='); +@$core.Deprecated('Use simulcastCodecInfoDescriptor instead') +const SimulcastCodecInfo$json = const { + '1': 'SimulcastCodecInfo', + '2': const [ + const {'1': 'mime_type', '3': 1, '4': 1, '5': 9, '10': 'mimeType'}, + const {'1': 'mid', '3': 2, '4': 1, '5': 9, '10': 'mid'}, + const {'1': 'cid', '3': 3, '4': 1, '5': 9, '10': 'cid'}, + const { + '1': 'layers', + '3': 4, + '4': 3, + '5': 11, + '6': '.livekit.VideoLayer', + '10': 'layers' + }, + ], +}; + +/// Descriptor for `SimulcastCodecInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List simulcastCodecInfoDescriptor = $convert.base64Decode( + 'ChJTaW11bGNhc3RDb2RlY0luZm8SGwoJbWltZV90eXBlGAEgASgJUghtaW1lVHlwZRIQCgNtaWQYAiABKAlSA21pZBIQCgNjaWQYAyABKAlSA2NpZBIrCgZsYXllcnMYBCADKAsyEy5saXZla2l0LlZpZGVvTGF5ZXJSBmxheWVycw=='); @$core.Deprecated('Use trackInfoDescriptor instead') const TrackInfo$json = const { '1': 'TrackInfo', @@ -246,12 +285,20 @@ const TrackInfo$json = const { }, const {'1': 'mime_type', '3': 11, '4': 1, '5': 9, '10': 'mimeType'}, const {'1': 'mid', '3': 12, '4': 1, '5': 9, '10': 'mid'}, + const { + '1': 'codecs', + '3': 13, + '4': 3, + '5': 11, + '6': '.livekit.SimulcastCodecInfo', + '10': 'codecs' + }, ], }; /// Descriptor for `TrackInfo`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List trackInfoDescriptor = $convert.base64Decode( - 'CglUcmFja0luZm8SEAoDc2lkGAEgASgJUgNzaWQSJgoEdHlwZRgCIAEoDjISLmxpdmVraXQuVHJhY2tUeXBlUgR0eXBlEhIKBG5hbWUYAyABKAlSBG5hbWUSFAoFbXV0ZWQYBCABKAhSBW11dGVkEhQKBXdpZHRoGAUgASgNUgV3aWR0aBIWCgZoZWlnaHQYBiABKA1SBmhlaWdodBIcCglzaW11bGNhc3QYByABKAhSCXNpbXVsY2FzdBIfCgtkaXNhYmxlX2R0eBgIIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCSABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2USKwoGbGF5ZXJzGAogAygLMhMubGl2ZWtpdC5WaWRlb0xheWVyUgZsYXllcnMSGwoJbWltZV90eXBlGAsgASgJUghtaW1lVHlwZRIQCgNtaWQYDCABKAlSA21pZA=='); + 'CglUcmFja0luZm8SEAoDc2lkGAEgASgJUgNzaWQSJgoEdHlwZRgCIAEoDjISLmxpdmVraXQuVHJhY2tUeXBlUgR0eXBlEhIKBG5hbWUYAyABKAlSBG5hbWUSFAoFbXV0ZWQYBCABKAhSBW11dGVkEhQKBXdpZHRoGAUgASgNUgV3aWR0aBIWCgZoZWlnaHQYBiABKA1SBmhlaWdodBIcCglzaW11bGNhc3QYByABKAhSCXNpbXVsY2FzdBIfCgtkaXNhYmxlX2R0eBgIIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCSABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2USKwoGbGF5ZXJzGAogAygLMhMubGl2ZWtpdC5WaWRlb0xheWVyUgZsYXllcnMSGwoJbWltZV90eXBlGAsgASgJUghtaW1lVHlwZRIQCgNtaWQYDCABKAlSA21pZBIzCgZjb2RlY3MYDSADKAsyGy5saXZla2l0LlNpbXVsY2FzdENvZGVjSW5mb1IGY29kZWNz'); @$core.Deprecated('Use videoLayerDescriptor instead') const VideoLayer$json = const { '1': 'VideoLayer', @@ -397,6 +444,39 @@ const ParticipantTracks$json = const { /// Descriptor for `ParticipantTracks`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List participantTracksDescriptor = $convert.base64Decode( 'ChFQYXJ0aWNpcGFudFRyYWNrcxInCg9wYXJ0aWNpcGFudF9zaWQYASABKAlSDnBhcnRpY2lwYW50U2lkEh0KCnRyYWNrX3NpZHMYAiADKAlSCXRyYWNrU2lkcw=='); +@$core.Deprecated('Use serverInfoDescriptor instead') +const ServerInfo$json = const { + '1': 'ServerInfo', + '2': const [ + const { + '1': 'edition', + '3': 1, + '4': 1, + '5': 14, + '6': '.livekit.ServerInfo.Edition', + '10': 'edition' + }, + const {'1': 'version', '3': 2, '4': 1, '5': 9, '10': 'version'}, + const {'1': 'protocol', '3': 3, '4': 1, '5': 5, '10': 'protocol'}, + const {'1': 'region', '3': 4, '4': 1, '5': 9, '10': 'region'}, + const {'1': 'node_id', '3': 5, '4': 1, '5': 9, '10': 'nodeId'}, + const {'1': 'debug_info', '3': 6, '4': 1, '5': 9, '10': 'debugInfo'}, + ], + '4': const [ServerInfo_Edition$json], +}; + +@$core.Deprecated('Use serverInfoDescriptor instead') +const ServerInfo_Edition$json = const { + '1': 'Edition', + '2': const [ + const {'1': 'Standard', '2': 0}, + const {'1': 'Cloud', '2': 1}, + ], +}; + +/// Descriptor for `ServerInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serverInfoDescriptor = $convert.base64Decode( + 'CgpTZXJ2ZXJJbmZvEjUKB2VkaXRpb24YASABKA4yGy5saXZla2l0LlNlcnZlckluZm8uRWRpdGlvblIHZWRpdGlvbhIYCgd2ZXJzaW9uGAIgASgJUgd2ZXJzaW9uEhoKCHByb3RvY29sGAMgASgFUghwcm90b2NvbBIWCgZyZWdpb24YBCABKAlSBnJlZ2lvbhIXCgdub2RlX2lkGAUgASgJUgZub2RlSWQSHQoKZGVidWdfaW5mbxgGIAEoCVIJZGVidWdJbmZvIiIKB0VkaXRpb24SDAoIU3RhbmRhcmQQABIJCgVDbG91ZBAB'); @$core.Deprecated('Use clientInfoDescriptor instead') const ClientInfo$json = const { '1': 'ClientInfo', @@ -423,6 +503,7 @@ const ClientInfo$json = const { '10': 'browserVersion' }, const {'1': 'address', '3': 9, '4': 1, '5': 9, '10': 'address'}, + const {'1': 'network', '3': 10, '4': 1, '5': 9, '10': 'network'}, ], '4': const [ClientInfo_SDK$json], }; @@ -443,7 +524,7 @@ const ClientInfo_SDK$json = const { /// Descriptor for `ClientInfo`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List clientInfoDescriptor = $convert.base64Decode( - 'CgpDbGllbnRJbmZvEikKA3NkaxgBIAEoDjIXLmxpdmVraXQuQ2xpZW50SW5mby5TREtSA3NkaxIYCgd2ZXJzaW9uGAIgASgJUgd2ZXJzaW9uEhoKCHByb3RvY29sGAMgASgFUghwcm90b2NvbBIOCgJvcxgEIAEoCVICb3MSHQoKb3NfdmVyc2lvbhgFIAEoCVIJb3NWZXJzaW9uEiEKDGRldmljZV9tb2RlbBgGIAEoCVILZGV2aWNlTW9kZWwSGAoHYnJvd3NlchgHIAEoCVIHYnJvd3NlchInCg9icm93c2VyX3ZlcnNpb24YCCABKAlSDmJyb3dzZXJWZXJzaW9uEhgKB2FkZHJlc3MYCSABKAlSB2FkZHJlc3MiUgoDU0RLEgsKB1VOS05PV04QABIGCgJKUxABEgkKBVNXSUZUEAISCwoHQU5EUk9JRBADEgsKB0ZMVVRURVIQBBIGCgJHTxAFEgkKBVVOSVRZEAY='); + 'CgpDbGllbnRJbmZvEikKA3NkaxgBIAEoDjIXLmxpdmVraXQuQ2xpZW50SW5mby5TREtSA3NkaxIYCgd2ZXJzaW9uGAIgASgJUgd2ZXJzaW9uEhoKCHByb3RvY29sGAMgASgFUghwcm90b2NvbBIOCgJvcxgEIAEoCVICb3MSHQoKb3NfdmVyc2lvbhgFIAEoCVIJb3NWZXJzaW9uEiEKDGRldmljZV9tb2RlbBgGIAEoCVILZGV2aWNlTW9kZWwSGAoHYnJvd3NlchgHIAEoCVIHYnJvd3NlchInCg9icm93c2VyX3ZlcnNpb24YCCABKAlSDmJyb3dzZXJWZXJzaW9uEhgKB2FkZHJlc3MYCSABKAlSB2FkZHJlc3MSGAoHbmV0d29yaxgKIAEoCVIHbmV0d29yayJSCgNTREsSCwoHVU5LTk9XThAAEgYKAkpTEAESCQoFU1dJRlQQAhILCgdBTkRST0lEEAMSCwoHRkxVVFRFUhAEEgYKAkdPEAUSCQoFVU5JVFkQBg=='); @$core.Deprecated('Use clientConfigurationDescriptor instead') const ClientConfiguration$json = const { '1': 'ClientConfiguration', @@ -472,12 +553,28 @@ const ClientConfiguration$json = const { '6': '.livekit.ClientConfigSetting', '10': 'resumeConnection' }, + const { + '1': 'disabled_codecs', + '3': 4, + '4': 1, + '5': 11, + '6': '.livekit.DisabledCodecs', + '10': 'disabledCodecs' + }, + const { + '1': 'force_relay', + '3': 5, + '4': 1, + '5': 14, + '6': '.livekit.ClientConfigSetting', + '10': 'forceRelay' + }, ], }; /// Descriptor for `ClientConfiguration`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List clientConfigurationDescriptor = $convert.base64Decode( - 'ChNDbGllbnRDb25maWd1cmF0aW9uEjEKBXZpZGVvGAEgASgLMhsubGl2ZWtpdC5WaWRlb0NvbmZpZ3VyYXRpb25SBXZpZGVvEjMKBnNjcmVlbhgCIAEoCzIbLmxpdmVraXQuVmlkZW9Db25maWd1cmF0aW9uUgZzY3JlZW4SSQoRcmVzdW1lX2Nvbm5lY3Rpb24YAyABKA4yHC5saXZla2l0LkNsaWVudENvbmZpZ1NldHRpbmdSEHJlc3VtZUNvbm5lY3Rpb24='); + 'ChNDbGllbnRDb25maWd1cmF0aW9uEjEKBXZpZGVvGAEgASgLMhsubGl2ZWtpdC5WaWRlb0NvbmZpZ3VyYXRpb25SBXZpZGVvEjMKBnNjcmVlbhgCIAEoCzIbLmxpdmVraXQuVmlkZW9Db25maWd1cmF0aW9uUgZzY3JlZW4SSQoRcmVzdW1lX2Nvbm5lY3Rpb24YAyABKA4yHC5saXZla2l0LkNsaWVudENvbmZpZ1NldHRpbmdSEHJlc3VtZUNvbm5lY3Rpb24SQAoPZGlzYWJsZWRfY29kZWNzGAQgASgLMhcubGl2ZWtpdC5EaXNhYmxlZENvZGVjc1IOZGlzYWJsZWRDb2RlY3MSPQoLZm9yY2VfcmVsYXkYBSABKA4yHC5saXZla2l0LkNsaWVudENvbmZpZ1NldHRpbmdSCmZvcmNlUmVsYXk='); @$core.Deprecated('Use videoConfigurationDescriptor instead') const VideoConfiguration$json = const { '1': 'VideoConfiguration', @@ -496,6 +593,24 @@ const VideoConfiguration$json = const { /// Descriptor for `VideoConfiguration`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List videoConfigurationDescriptor = $convert.base64Decode( 'ChJWaWRlb0NvbmZpZ3VyYXRpb24SRwoQaGFyZHdhcmVfZW5jb2RlchgBIAEoDjIcLmxpdmVraXQuQ2xpZW50Q29uZmlnU2V0dGluZ1IPaGFyZHdhcmVFbmNvZGVy'); +@$core.Deprecated('Use disabledCodecsDescriptor instead') +const DisabledCodecs$json = const { + '1': 'DisabledCodecs', + '2': const [ + const { + '1': 'codecs', + '3': 1, + '4': 3, + '5': 11, + '6': '.livekit.Codec', + '10': 'codecs' + }, + ], +}; + +/// Descriptor for `DisabledCodecs`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List disabledCodecsDescriptor = $convert.base64Decode( + 'Cg5EaXNhYmxlZENvZGVjcxImCgZjb2RlY3MYASADKAsyDi5saXZla2l0LkNvZGVjUgZjb2RlY3M='); @$core.Deprecated('Use rTPStatsDescriptor instead') const RTPStats$json = const { '1': 'RTPStats', @@ -520,6 +635,7 @@ const RTPStats$json = const { const {'1': 'packets', '3': 4, '4': 1, '5': 13, '10': 'packets'}, const {'1': 'packet_rate', '3': 5, '4': 1, '5': 1, '10': 'packetRate'}, const {'1': 'bytes', '3': 6, '4': 1, '5': 4, '10': 'bytes'}, + const {'1': 'header_bytes', '3': 39, '4': 1, '5': 4, '10': 'headerBytes'}, const {'1': 'bitrate', '3': 7, '4': 1, '5': 1, '10': 'bitrate'}, const {'1': 'packets_lost', '3': 8, '4': 1, '5': 13, '10': 'packetsLost'}, const { @@ -557,6 +673,13 @@ const RTPStats$json = const { '5': 4, '10': 'bytesDuplicate' }, + const { + '1': 'header_bytes_duplicate', + '3': 40, + '4': 1, + '5': 4, + '10': 'headerBytesDuplicate' + }, const { '1': 'bitrate_duplicate', '3': 14, @@ -579,6 +702,13 @@ const RTPStats$json = const { '10': 'packetPaddingRate' }, const {'1': 'bytes_padding', '3': 17, '4': 1, '5': 4, '10': 'bytesPadding'}, + const { + '1': 'header_bytes_padding', + '3': 41, + '4': 1, + '5': 4, + '10': 'headerBytesPadding' + }, const { '1': 'bitrate_padding', '3': 18, @@ -681,4 +811,16 @@ const RTPStats_GapHistogramEntry$json = const { /// Descriptor for `RTPStats`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rTPStatsDescriptor = $convert.base64Decode( - 'CghSVFBTdGF0cxI5CgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIJc3RhcnRUaW1lEjUKCGVuZF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIHZW5kVGltZRIaCghkdXJhdGlvbhgDIAEoAVIIZHVyYXRpb24SGAoHcGFja2V0cxgEIAEoDVIHcGFja2V0cxIfCgtwYWNrZXRfcmF0ZRgFIAEoAVIKcGFja2V0UmF0ZRIUCgVieXRlcxgGIAEoBFIFYnl0ZXMSGAoHYml0cmF0ZRgHIAEoAVIHYml0cmF0ZRIhCgxwYWNrZXRzX2xvc3QYCCABKA1SC3BhY2tldHNMb3N0EigKEHBhY2tldF9sb3NzX3JhdGUYCSABKAFSDnBhY2tldExvc3NSYXRlEjQKFnBhY2tldF9sb3NzX3BlcmNlbnRhZ2UYCiABKAJSFHBhY2tldExvc3NQZXJjZW50YWdlEisKEXBhY2tldHNfZHVwbGljYXRlGAsgASgNUhBwYWNrZXRzRHVwbGljYXRlEjIKFXBhY2tldF9kdXBsaWNhdGVfcmF0ZRgMIAEoAVITcGFja2V0RHVwbGljYXRlUmF0ZRInCg9ieXRlc19kdXBsaWNhdGUYDSABKARSDmJ5dGVzRHVwbGljYXRlEisKEWJpdHJhdGVfZHVwbGljYXRlGA4gASgBUhBiaXRyYXRlRHVwbGljYXRlEicKD3BhY2tldHNfcGFkZGluZxgPIAEoDVIOcGFja2V0c1BhZGRpbmcSLgoTcGFja2V0X3BhZGRpbmdfcmF0ZRgQIAEoAVIRcGFja2V0UGFkZGluZ1JhdGUSIwoNYnl0ZXNfcGFkZGluZxgRIAEoBFIMYnl0ZXNQYWRkaW5nEicKD2JpdHJhdGVfcGFkZGluZxgSIAEoAVIOYml0cmF0ZVBhZGRpbmcSLwoUcGFja2V0c19vdXRfb2Zfb3JkZXIYEyABKA1SEXBhY2tldHNPdXRPZk9yZGVyEhYKBmZyYW1lcxgUIAEoDVIGZnJhbWVzEh0KCmZyYW1lX3JhdGUYFSABKAFSCWZyYW1lUmF0ZRIlCg5qaXR0ZXJfY3VycmVudBgWIAEoAVINaml0dGVyQ3VycmVudBIdCgpqaXR0ZXJfbWF4GBcgASgBUglqaXR0ZXJNYXgSSAoNZ2FwX2hpc3RvZ3JhbRgYIAMoCzIjLmxpdmVraXQuUlRQU3RhdHMuR2FwSGlzdG9ncmFtRW50cnlSDGdhcEhpc3RvZ3JhbRIUCgVuYWNrcxgZIAEoDVIFbmFja3MSGwoJbmFja19hY2tzGCUgASgNUghuYWNrQWNrcxIfCgtuYWNrX21pc3NlcxgaIAEoDVIKbmFja01pc3NlcxIjCg1uYWNrX3JlcGVhdGVkGCYgASgNUgxuYWNrUmVwZWF0ZWQSEgoEcGxpcxgbIAEoDVIEcGxpcxI1CghsYXN0X3BsaRgcIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB2xhc3RQbGkSEgoEZmlycxgdIAEoDVIEZmlycxI1CghsYXN0X2ZpchgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB2xhc3RGaXISHwoLcnR0X2N1cnJlbnQYHyABKA1SCnJ0dEN1cnJlbnQSFwoHcnR0X21heBggIAEoDVIGcnR0TWF4Eh0KCmtleV9mcmFtZXMYISABKA1SCWtleUZyYW1lcxJACg5sYXN0X2tleV9mcmFtZRgiIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSDGxhc3RLZXlGcmFtZRImCg9sYXllcl9sb2NrX3BsaXMYIyABKA1SDWxheWVyTG9ja1BsaXMSSQoTbGFzdF9sYXllcl9sb2NrX3BsaRgkIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEGxhc3RMYXllckxvY2tQbGkaPwoRR2FwSGlzdG9ncmFtRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKA1SBXZhbHVlOgI4AQ=='); + 'CghSVFBTdGF0cxI5CgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIJc3RhcnRUaW1lEjUKCGVuZF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIHZW5kVGltZRIaCghkdXJhdGlvbhgDIAEoAVIIZHVyYXRpb24SGAoHcGFja2V0cxgEIAEoDVIHcGFja2V0cxIfCgtwYWNrZXRfcmF0ZRgFIAEoAVIKcGFja2V0UmF0ZRIUCgVieXRlcxgGIAEoBFIFYnl0ZXMSIQoMaGVhZGVyX2J5dGVzGCcgASgEUgtoZWFkZXJCeXRlcxIYCgdiaXRyYXRlGAcgASgBUgdiaXRyYXRlEiEKDHBhY2tldHNfbG9zdBgIIAEoDVILcGFja2V0c0xvc3QSKAoQcGFja2V0X2xvc3NfcmF0ZRgJIAEoAVIOcGFja2V0TG9zc1JhdGUSNAoWcGFja2V0X2xvc3NfcGVyY2VudGFnZRgKIAEoAlIUcGFja2V0TG9zc1BlcmNlbnRhZ2USKwoRcGFja2V0c19kdXBsaWNhdGUYCyABKA1SEHBhY2tldHNEdXBsaWNhdGUSMgoVcGFja2V0X2R1cGxpY2F0ZV9yYXRlGAwgASgBUhNwYWNrZXREdXBsaWNhdGVSYXRlEicKD2J5dGVzX2R1cGxpY2F0ZRgNIAEoBFIOYnl0ZXNEdXBsaWNhdGUSNAoWaGVhZGVyX2J5dGVzX2R1cGxpY2F0ZRgoIAEoBFIUaGVhZGVyQnl0ZXNEdXBsaWNhdGUSKwoRYml0cmF0ZV9kdXBsaWNhdGUYDiABKAFSEGJpdHJhdGVEdXBsaWNhdGUSJwoPcGFja2V0c19wYWRkaW5nGA8gASgNUg5wYWNrZXRzUGFkZGluZxIuChNwYWNrZXRfcGFkZGluZ19yYXRlGBAgASgBUhFwYWNrZXRQYWRkaW5nUmF0ZRIjCg1ieXRlc19wYWRkaW5nGBEgASgEUgxieXRlc1BhZGRpbmcSMAoUaGVhZGVyX2J5dGVzX3BhZGRpbmcYKSABKARSEmhlYWRlckJ5dGVzUGFkZGluZxInCg9iaXRyYXRlX3BhZGRpbmcYEiABKAFSDmJpdHJhdGVQYWRkaW5nEi8KFHBhY2tldHNfb3V0X29mX29yZGVyGBMgASgNUhFwYWNrZXRzT3V0T2ZPcmRlchIWCgZmcmFtZXMYFCABKA1SBmZyYW1lcxIdCgpmcmFtZV9yYXRlGBUgASgBUglmcmFtZVJhdGUSJQoOaml0dGVyX2N1cnJlbnQYFiABKAFSDWppdHRlckN1cnJlbnQSHQoKaml0dGVyX21heBgXIAEoAVIJaml0dGVyTWF4EkgKDWdhcF9oaXN0b2dyYW0YGCADKAsyIy5saXZla2l0LlJUUFN0YXRzLkdhcEhpc3RvZ3JhbUVudHJ5UgxnYXBIaXN0b2dyYW0SFAoFbmFja3MYGSABKA1SBW5hY2tzEhsKCW5hY2tfYWNrcxglIAEoDVIIbmFja0Fja3MSHwoLbmFja19taXNzZXMYGiABKA1SCm5hY2tNaXNzZXMSIwoNbmFja19yZXBlYXRlZBgmIAEoDVIMbmFja1JlcGVhdGVkEhIKBHBsaXMYGyABKA1SBHBsaXMSNQoIbGFzdF9wbGkYHCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdsYXN0UGxpEhIKBGZpcnMYHSABKA1SBGZpcnMSNQoIbGFzdF9maXIYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdsYXN0RmlyEh8KC3J0dF9jdXJyZW50GB8gASgNUgpydHRDdXJyZW50EhcKB3J0dF9tYXgYICABKA1SBnJ0dE1heBIdCgprZXlfZnJhbWVzGCEgASgNUglrZXlGcmFtZXMSQAoObGFzdF9rZXlfZnJhbWUYIiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgxsYXN0S2V5RnJhbWUSJgoPbGF5ZXJfbG9ja19wbGlzGCMgASgNUg1sYXllckxvY2tQbGlzEkkKE2xhc3RfbGF5ZXJfbG9ja19wbGkYJCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUhBsYXN0TGF5ZXJMb2NrUGxpGj8KEUdhcEhpc3RvZ3JhbUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgNUgV2YWx1ZToCOAE='); +@$core.Deprecated('Use timedVersionDescriptor instead') +const TimedVersion$json = const { + '1': 'TimedVersion', + '2': const [ + const {'1': 'unix_micro', '3': 1, '4': 1, '5': 3, '10': 'unixMicro'}, + const {'1': 'ticks', '3': 2, '4': 1, '5': 5, '10': 'ticks'}, + ], +}; + +/// Descriptor for `TimedVersion`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List timedVersionDescriptor = $convert.base64Decode( + 'CgxUaW1lZFZlcnNpb24SHQoKdW5peF9taWNybxgBIAEoA1IJdW5peE1pY3JvEhQKBXRpY2tzGAIgASgFUgV0aWNrcw=='); diff --git a/lib/src/proto/livekit_rtc.pb.dart b/lib/src/proto/livekit_rtc.pb.dart index cf432d3..43adebf 100644 --- a/lib/src/proto/livekit_rtc.pb.dart +++ b/lib/src/proto/livekit_rtc.pb.dart @@ -7,11 +7,12 @@ import 'dart:core' as $core; +import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'livekit_models.pb.dart' as $0; +import 'livekit_models.pb.dart' as $1; -import 'livekit_models.pbenum.dart' as $0; +import 'livekit_models.pbenum.dart' as $1; import 'livekit_rtc.pbenum.dart'; export 'livekit_rtc.pbenum.dart'; @@ -29,6 +30,7 @@ enum SignalRequest_Message { subscriptionPermission, syncState, simulate, + ping, notSet } @@ -47,6 +49,7 @@ class SignalRequest extends $pb.GeneratedMessage { 11: SignalRequest_Message.subscriptionPermission, 12: SignalRequest_Message.syncState, 13: SignalRequest_Message.simulate, + 14: SignalRequest_Message.ping, 0: SignalRequest_Message.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( @@ -58,7 +61,7 @@ class SignalRequest extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13]) + ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]) ..aOM( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -131,6 +134,11 @@ class SignalRequest extends $pb.GeneratedMessage { ? '' : 'simulate', subBuilder: SimulateScenario.create) + ..aInt64( + 14, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'ping') ..hasRequiredFields = false; SignalRequest._() : super(); @@ -147,6 +155,7 @@ class SignalRequest extends $pb.GeneratedMessage { SubscriptionPermission? subscriptionPermission, SyncState? syncState, SimulateScenario? simulate, + $fixnum.Int64? ping, }) { final _result = create(); if (offer != null) { @@ -185,6 +194,9 @@ class SignalRequest extends $pb.GeneratedMessage { if (simulate != null) { _result.simulate = simulate; } + if (ping != null) { + _result.ping = ping; + } return _result; } factory SignalRequest.fromBuffer($core.List<$core.int> i, @@ -385,6 +397,18 @@ class SignalRequest extends $pb.GeneratedMessage { void clearSimulate() => clearField(13); @$pb.TagNumber(13) SimulateScenario ensureSimulate() => $_ensure(11); + + @$pb.TagNumber(14) + $fixnum.Int64 get ping => $_getI64(12); + @$pb.TagNumber(14) + set ping($fixnum.Int64 v) { + $_setInt64(12, v); + } + + @$pb.TagNumber(14) + $core.bool hasPing() => $_has(12); + @$pb.TagNumber(14) + void clearPing() => clearField(14); } enum SignalResponse_Message { @@ -404,6 +428,7 @@ enum SignalResponse_Message { subscriptionPermissionUpdate, refreshToken, trackUnpublished, + pong, notSet } @@ -426,6 +451,7 @@ class SignalResponse extends $pb.GeneratedMessage { 15: SignalResponse_Message.subscriptionPermissionUpdate, 16: SignalResponse_Message.refreshToken, 17: SignalResponse_Message.trackUnpublished, + 18: SignalResponse_Message.pong, 0: SignalResponse_Message.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( @@ -437,7 +463,7 @@ class SignalResponse extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..oo(0, [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]) + ..oo(0, [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]) ..aOM( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -533,6 +559,11 @@ class SignalResponse extends $pb.GeneratedMessage { ? '' : 'trackUnpublished', subBuilder: TrackUnpublishedResponse.create) + ..aInt64( + 18, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pong') ..hasRequiredFields = false; SignalResponse._() : super(); @@ -553,6 +584,7 @@ class SignalResponse extends $pb.GeneratedMessage { SubscriptionPermissionUpdate? subscriptionPermissionUpdate, $core.String? refreshToken, TrackUnpublishedResponse? trackUnpublished, + $fixnum.Int64? pong, }) { final _result = create(); if (join != null) { @@ -603,6 +635,9 @@ class SignalResponse extends $pb.GeneratedMessage { if (trackUnpublished != null) { _result.trackUnpublished = trackUnpublished; } + if (pong != null) { + _result.pong = pong; + } return _result; } factory SignalResponse.fromBuffer($core.List<$core.int> i, @@ -858,6 +893,127 @@ class SignalResponse extends $pb.GeneratedMessage { void clearTrackUnpublished() => clearField(17); @$pb.TagNumber(17) TrackUnpublishedResponse ensureTrackUnpublished() => $_ensure(15); + + @$pb.TagNumber(18) + $fixnum.Int64 get pong => $_getI64(16); + @$pb.TagNumber(18) + set pong($fixnum.Int64 v) { + $_setInt64(16, v); + } + + @$pb.TagNumber(18) + $core.bool hasPong() => $_has(16); + @$pb.TagNumber(18) + void clearPong() => clearField(18); +} + +class SimulcastCodec extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'SimulcastCodec', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'livekit'), + createEmptyInstance: create) + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'codec') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'cid') + ..aOB( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'enableSimulcastLayers') + ..hasRequiredFields = false; + + SimulcastCodec._() : super(); + factory SimulcastCodec({ + $core.String? codec, + $core.String? cid, + $core.bool? enableSimulcastLayers, + }) { + final _result = create(); + if (codec != null) { + _result.codec = codec; + } + if (cid != null) { + _result.cid = cid; + } + if (enableSimulcastLayers != null) { + _result.enableSimulcastLayers = enableSimulcastLayers; + } + return _result; + } + factory SimulcastCodec.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SimulcastCodec.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SimulcastCodec clone() => SimulcastCodec()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SimulcastCodec copyWith(void Function(SimulcastCodec) updates) => + super.copyWith((message) => updates(message as SimulcastCodec)) + as SimulcastCodec; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static SimulcastCodec create() => SimulcastCodec._(); + SimulcastCodec createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SimulcastCodec getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SimulcastCodec? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get codec => $_getSZ(0); + @$pb.TagNumber(1) + set codec($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCodec() => $_has(0); + @$pb.TagNumber(1) + void clearCodec() => clearField(1); + + @$pb.TagNumber(2) + $core.String get cid => $_getSZ(1); + @$pb.TagNumber(2) + set cid($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasCid() => $_has(1); + @$pb.TagNumber(2) + void clearCid() => clearField(2); + + @$pb.TagNumber(3) + $core.bool get enableSimulcastLayers => $_getBF(2); + @$pb.TagNumber(3) + set enableSimulcastLayers($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasEnableSimulcastLayers() => $_has(2); + @$pb.TagNumber(3) + void clearEnableSimulcastLayers() => clearField(3); } class AddTrackRequest extends $pb.GeneratedMessage { @@ -880,15 +1036,15 @@ class AddTrackRequest extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'name') - ..e<$0.TrackType>( + ..e<$1.TrackType>( 3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'type', $pb.PbFieldType.OE, - defaultOrMaker: $0.TrackType.AUDIO, - valueOf: $0.TrackType.valueOf, - enumValues: $0.TrackType.values) + defaultOrMaker: $1.TrackType.AUDIO, + valueOf: $1.TrackType.valueOf, + enumValues: $1.TrackType.values) ..a<$core.int>( 4, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -911,35 +1067,49 @@ class AddTrackRequest extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'disableDtx') - ..e<$0.TrackSource>( + ..e<$1.TrackSource>( 8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'source', $pb.PbFieldType.OE, - defaultOrMaker: $0.TrackSource.UNKNOWN, - valueOf: $0.TrackSource.valueOf, - enumValues: $0.TrackSource.values) - ..pc<$0.VideoLayer>( + defaultOrMaker: $1.TrackSource.UNKNOWN, + valueOf: $1.TrackSource.valueOf, + enumValues: $1.TrackSource.values) + ..pc<$1.VideoLayer>( 9, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'layers', $pb.PbFieldType.PM, - subBuilder: $0.VideoLayer.create) + subBuilder: $1.VideoLayer.create) + ..pc( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'simulcastCodecs', + $pb.PbFieldType.PM, + subBuilder: SimulcastCodec.create) + ..aOS( + 11, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sid') ..hasRequiredFields = false; AddTrackRequest._() : super(); factory AddTrackRequest({ $core.String? cid, $core.String? name, - $0.TrackType? type, + $1.TrackType? type, $core.int? width, $core.int? height, $core.bool? muted, $core.bool? disableDtx, - $0.TrackSource? source, - $core.Iterable<$0.VideoLayer>? layers, + $1.TrackSource? source, + $core.Iterable<$1.VideoLayer>? layers, + $core.Iterable? simulcastCodecs, + $core.String? sid, }) { final _result = create(); if (cid != null) { @@ -969,6 +1139,12 @@ class AddTrackRequest extends $pb.GeneratedMessage { if (layers != null) { _result.layers.addAll(layers); } + if (simulcastCodecs != null) { + _result.simulcastCodecs.addAll(simulcastCodecs); + } + if (sid != null) { + _result.sid = sid; + } return _result; } factory AddTrackRequest.fromBuffer($core.List<$core.int> i, @@ -1023,9 +1199,9 @@ class AddTrackRequest extends $pb.GeneratedMessage { void clearName() => clearField(2); @$pb.TagNumber(3) - $0.TrackType get type => $_getN(2); + $1.TrackType get type => $_getN(2); @$pb.TagNumber(3) - set type($0.TrackType v) { + set type($1.TrackType v) { setField(3, v); } @@ -1083,9 +1259,9 @@ class AddTrackRequest extends $pb.GeneratedMessage { void clearDisableDtx() => clearField(7); @$pb.TagNumber(8) - $0.TrackSource get source => $_getN(7); + $1.TrackSource get source => $_getN(7); @$pb.TagNumber(8) - set source($0.TrackSource v) { + set source($1.TrackSource v) { setField(8, v); } @@ -1095,7 +1271,22 @@ class AddTrackRequest extends $pb.GeneratedMessage { void clearSource() => clearField(8); @$pb.TagNumber(9) - $core.List<$0.VideoLayer> get layers => $_getList(8); + $core.List<$1.VideoLayer> get layers => $_getList(8); + + @$pb.TagNumber(10) + $core.List get simulcastCodecs => $_getList(9); + + @$pb.TagNumber(11) + $core.String get sid => $_getSZ(10); + @$pb.TagNumber(11) + set sid($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasSid() => $_has(10); + @$pb.TagNumber(11) + void clearSid() => clearField(11); } class TrickleRequest extends $pb.GeneratedMessage { @@ -1289,25 +1480,25 @@ class JoinResponse extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..aOM<$0.Room>( + ..aOM<$1.Room>( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'room', - subBuilder: $0.Room.create) - ..aOM<$0.ParticipantInfo>( + subBuilder: $1.Room.create) + ..aOM<$1.ParticipantInfo>( 2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'participant', - subBuilder: $0.ParticipantInfo.create) - ..pc<$0.ParticipantInfo>( + subBuilder: $1.ParticipantInfo.create) + ..pc<$1.ParticipantInfo>( 3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'otherParticipants', $pb.PbFieldType.PM, - subBuilder: $0.ParticipantInfo.create) + subBuilder: $1.ParticipantInfo.create) ..aOS( 4, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -1330,30 +1521,51 @@ class JoinResponse extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'alternativeUrl') - ..aOM<$0.ClientConfiguration>( + ..aOM<$1.ClientConfiguration>( 8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'clientConfiguration', - subBuilder: $0.ClientConfiguration.create) + subBuilder: $1.ClientConfiguration.create) ..aOS( 9, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'serverRegion') + ..a<$core.int>( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pingTimeout', + $pb.PbFieldType.O3) + ..a<$core.int>( + 11, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pingInterval', + $pb.PbFieldType.O3) + ..aOM<$1.ServerInfo>( + 12, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'serverInfo', + subBuilder: $1.ServerInfo.create) ..hasRequiredFields = false; JoinResponse._() : super(); factory JoinResponse({ - $0.Room? room, - $0.ParticipantInfo? participant, - $core.Iterable<$0.ParticipantInfo>? otherParticipants, + $1.Room? room, + $1.ParticipantInfo? participant, + $core.Iterable<$1.ParticipantInfo>? otherParticipants, $core.String? serverVersion, $core.Iterable? iceServers, $core.bool? subscriberPrimary, $core.String? alternativeUrl, - $0.ClientConfiguration? clientConfiguration, + $1.ClientConfiguration? clientConfiguration, $core.String? serverRegion, + $core.int? pingTimeout, + $core.int? pingInterval, + $1.ServerInfo? serverInfo, }) { final _result = create(); if (room != null) { @@ -1383,6 +1595,15 @@ class JoinResponse extends $pb.GeneratedMessage { if (serverRegion != null) { _result.serverRegion = serverRegion; } + if (pingTimeout != null) { + _result.pingTimeout = pingTimeout; + } + if (pingInterval != null) { + _result.pingInterval = pingInterval; + } + if (serverInfo != null) { + _result.serverInfo = serverInfo; + } return _result; } factory JoinResponse.fromBuffer($core.List<$core.int> i, @@ -1413,9 +1634,9 @@ class JoinResponse extends $pb.GeneratedMessage { static JoinResponse? _defaultInstance; @$pb.TagNumber(1) - $0.Room get room => $_getN(0); + $1.Room get room => $_getN(0); @$pb.TagNumber(1) - set room($0.Room v) { + set room($1.Room v) { setField(1, v); } @@ -1424,12 +1645,12 @@ class JoinResponse extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearRoom() => clearField(1); @$pb.TagNumber(1) - $0.Room ensureRoom() => $_ensure(0); + $1.Room ensureRoom() => $_ensure(0); @$pb.TagNumber(2) - $0.ParticipantInfo get participant => $_getN(1); + $1.ParticipantInfo get participant => $_getN(1); @$pb.TagNumber(2) - set participant($0.ParticipantInfo v) { + set participant($1.ParticipantInfo v) { setField(2, v); } @@ -1438,10 +1659,10 @@ class JoinResponse extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearParticipant() => clearField(2); @$pb.TagNumber(2) - $0.ParticipantInfo ensureParticipant() => $_ensure(1); + $1.ParticipantInfo ensureParticipant() => $_ensure(1); @$pb.TagNumber(3) - $core.List<$0.ParticipantInfo> get otherParticipants => $_getList(2); + $core.List<$1.ParticipantInfo> get otherParticipants => $_getList(2); @$pb.TagNumber(4) $core.String get serverVersion => $_getSZ(3); @@ -1483,9 +1704,9 @@ class JoinResponse extends $pb.GeneratedMessage { void clearAlternativeUrl() => clearField(7); @$pb.TagNumber(8) - $0.ClientConfiguration get clientConfiguration => $_getN(7); + $1.ClientConfiguration get clientConfiguration => $_getN(7); @$pb.TagNumber(8) - set clientConfiguration($0.ClientConfiguration v) { + set clientConfiguration($1.ClientConfiguration v) { setField(8, v); } @@ -1494,7 +1715,7 @@ class JoinResponse extends $pb.GeneratedMessage { @$pb.TagNumber(8) void clearClientConfiguration() => clearField(8); @$pb.TagNumber(8) - $0.ClientConfiguration ensureClientConfiguration() => $_ensure(7); + $1.ClientConfiguration ensureClientConfiguration() => $_ensure(7); @$pb.TagNumber(9) $core.String get serverRegion => $_getSZ(8); @@ -1507,6 +1728,44 @@ class JoinResponse extends $pb.GeneratedMessage { $core.bool hasServerRegion() => $_has(8); @$pb.TagNumber(9) void clearServerRegion() => clearField(9); + + @$pb.TagNumber(10) + $core.int get pingTimeout => $_getIZ(9); + @$pb.TagNumber(10) + set pingTimeout($core.int v) { + $_setSignedInt32(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasPingTimeout() => $_has(9); + @$pb.TagNumber(10) + void clearPingTimeout() => clearField(10); + + @$pb.TagNumber(11) + $core.int get pingInterval => $_getIZ(10); + @$pb.TagNumber(11) + set pingInterval($core.int v) { + $_setSignedInt32(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasPingInterval() => $_has(10); + @$pb.TagNumber(11) + void clearPingInterval() => clearField(11); + + @$pb.TagNumber(12) + $1.ServerInfo get serverInfo => $_getN(11); + @$pb.TagNumber(12) + set serverInfo($1.ServerInfo v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasServerInfo() => $_has(11); + @$pb.TagNumber(12) + void clearServerInfo() => clearField(12); + @$pb.TagNumber(12) + $1.ServerInfo ensureServerInfo() => $_ensure(11); } class TrackPublishedResponse extends $pb.GeneratedMessage { @@ -1524,18 +1783,18 @@ class TrackPublishedResponse extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'cid') - ..aOM<$0.TrackInfo>( + ..aOM<$1.TrackInfo>( 2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'track', - subBuilder: $0.TrackInfo.create) + subBuilder: $1.TrackInfo.create) ..hasRequiredFields = false; TrackPublishedResponse._() : super(); factory TrackPublishedResponse({ $core.String? cid, - $0.TrackInfo? track, + $1.TrackInfo? track, }) { final _result = create(); if (cid != null) { @@ -1588,9 +1847,9 @@ class TrackPublishedResponse extends $pb.GeneratedMessage { void clearCid() => clearField(1); @$pb.TagNumber(2) - $0.TrackInfo get track => $_getN(1); + $1.TrackInfo get track => $_getN(1); @$pb.TagNumber(2) - set track($0.TrackInfo v) { + set track($1.TrackInfo v) { setField(2, v); } @@ -1599,7 +1858,7 @@ class TrackPublishedResponse extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearTrack() => clearField(2); @$pb.TagNumber(2) - $0.TrackInfo ensureTrack() => $_ensure(1); + $1.TrackInfo ensureTrack() => $_ensure(1); } class TrackUnpublishedResponse extends $pb.GeneratedMessage { @@ -1769,18 +2028,18 @@ class ParticipantUpdate extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..pc<$0.ParticipantInfo>( + ..pc<$1.ParticipantInfo>( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'participants', $pb.PbFieldType.PM, - subBuilder: $0.ParticipantInfo.create) + subBuilder: $1.ParticipantInfo.create) ..hasRequiredFields = false; ParticipantUpdate._() : super(); factory ParticipantUpdate({ - $core.Iterable<$0.ParticipantInfo>? participants, + $core.Iterable<$1.ParticipantInfo>? participants, }) { final _result = create(); if (participants != null) { @@ -1816,7 +2075,7 @@ class ParticipantUpdate extends $pb.GeneratedMessage { static ParticipantUpdate? _defaultInstance; @$pb.TagNumber(1) - $core.List<$0.ParticipantInfo> get participants => $_getList(0); + $core.List<$1.ParticipantInfo> get participants => $_getList(0); } class UpdateSubscription extends $pb.GeneratedMessage { @@ -1839,20 +2098,20 @@ class UpdateSubscription extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'subscribe') - ..pc<$0.ParticipantTracks>( + ..pc<$1.ParticipantTracks>( 3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'participantTracks', $pb.PbFieldType.PM, - subBuilder: $0.ParticipantTracks.create) + subBuilder: $1.ParticipantTracks.create) ..hasRequiredFields = false; UpdateSubscription._() : super(); factory UpdateSubscription({ $core.Iterable<$core.String>? trackSids, $core.bool? subscribe, - $core.Iterable<$0.ParticipantTracks>? participantTracks, + $core.Iterable<$1.ParticipantTracks>? participantTracks, }) { final _result = create(); if (trackSids != null) { @@ -1909,7 +2168,7 @@ class UpdateSubscription extends $pb.GeneratedMessage { void clearSubscribe() => clearField(2); @$pb.TagNumber(3) - $core.List<$0.ParticipantTracks> get participantTracks => $_getList(2); + $core.List<$1.ParticipantTracks> get participantTracks => $_getList(2); } class UpdateTrackSettings extends $pb.GeneratedMessage { @@ -1932,15 +2191,15 @@ class UpdateTrackSettings extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'disabled') - ..e<$0.VideoQuality>( + ..e<$1.VideoQuality>( 4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quality', $pb.PbFieldType.OE, - defaultOrMaker: $0.VideoQuality.LOW, - valueOf: $0.VideoQuality.valueOf, - enumValues: $0.VideoQuality.values) + defaultOrMaker: $1.VideoQuality.LOW, + valueOf: $1.VideoQuality.valueOf, + enumValues: $1.VideoQuality.values) ..a<$core.int>( 5, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -1959,7 +2218,7 @@ class UpdateTrackSettings extends $pb.GeneratedMessage { factory UpdateTrackSettings({ $core.Iterable<$core.String>? trackSids, $core.bool? disabled, - $0.VideoQuality? quality, + $1.VideoQuality? quality, $core.int? width, $core.int? height, }) { @@ -2024,9 +2283,9 @@ class UpdateTrackSettings extends $pb.GeneratedMessage { void clearDisabled() => clearField(3); @$pb.TagNumber(4) - $0.VideoQuality get quality => $_getN(2); + $1.VideoQuality get quality => $_getN(2); @$pb.TagNumber(4) - set quality($0.VideoQuality v) { + set quality($1.VideoQuality v) { setField(4, v); } @@ -2075,16 +2334,29 @@ class LeaveRequest extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'canReconnect') + ..e<$1.DisconnectReason>( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'reason', + $pb.PbFieldType.OE, + defaultOrMaker: $1.DisconnectReason.UNKNOWN_REASON, + valueOf: $1.DisconnectReason.valueOf, + enumValues: $1.DisconnectReason.values) ..hasRequiredFields = false; LeaveRequest._() : super(); factory LeaveRequest({ $core.bool? canReconnect, + $1.DisconnectReason? reason, }) { final _result = create(); if (canReconnect != null) { _result.canReconnect = canReconnect; } + if (reason != null) { + _result.reason = reason; + } return _result; } factory LeaveRequest.fromBuffer($core.List<$core.int> i, @@ -2125,6 +2397,18 @@ class LeaveRequest extends $pb.GeneratedMessage { $core.bool hasCanReconnect() => $_has(0); @$pb.TagNumber(1) void clearCanReconnect() => clearField(1); + + @$pb.TagNumber(2) + $1.DisconnectReason get reason => $_getN(1); + @$pb.TagNumber(2) + set reason($1.DisconnectReason v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasReason() => $_has(1); + @$pb.TagNumber(2) + void clearReason() => clearField(2); } class UpdateVideoLayers extends $pb.GeneratedMessage { @@ -2142,19 +2426,19 @@ class UpdateVideoLayers extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'trackSid') - ..pc<$0.VideoLayer>( + ..pc<$1.VideoLayer>( 2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'layers', $pb.PbFieldType.PM, - subBuilder: $0.VideoLayer.create) + subBuilder: $1.VideoLayer.create) ..hasRequiredFields = false; UpdateVideoLayers._() : super(); factory UpdateVideoLayers({ $core.String? trackSid, - $core.Iterable<$0.VideoLayer>? layers, + $core.Iterable<$1.VideoLayer>? layers, }) { final _result = create(); if (trackSid != null) { @@ -2205,7 +2489,7 @@ class UpdateVideoLayers extends $pb.GeneratedMessage { void clearTrackSid() => clearField(1); @$pb.TagNumber(2) - $core.List<$0.VideoLayer> get layers => $_getList(1); + $core.List<$1.VideoLayer> get layers => $_getList(1); } class ICEServer extends $pb.GeneratedMessage { @@ -2317,18 +2601,18 @@ class SpeakersChanged extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..pc<$0.SpeakerInfo>( + ..pc<$1.SpeakerInfo>( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'speakers', $pb.PbFieldType.PM, - subBuilder: $0.SpeakerInfo.create) + subBuilder: $1.SpeakerInfo.create) ..hasRequiredFields = false; SpeakersChanged._() : super(); factory SpeakersChanged({ - $core.Iterable<$0.SpeakerInfo>? speakers, + $core.Iterable<$1.SpeakerInfo>? speakers, }) { final _result = create(); if (speakers != null) { @@ -2364,7 +2648,7 @@ class SpeakersChanged extends $pb.GeneratedMessage { static SpeakersChanged? _defaultInstance; @$pb.TagNumber(1) - $core.List<$0.SpeakerInfo> get speakers => $_getList(0); + $core.List<$1.SpeakerInfo> get speakers => $_getList(0); } class RoomUpdate extends $pb.GeneratedMessage { @@ -2377,17 +2661,17 @@ class RoomUpdate extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..aOM<$0.Room>( + ..aOM<$1.Room>( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'room', - subBuilder: $0.Room.create) + subBuilder: $1.Room.create) ..hasRequiredFields = false; RoomUpdate._() : super(); factory RoomUpdate({ - $0.Room? room, + $1.Room? room, }) { final _result = create(); if (room != null) { @@ -2422,9 +2706,9 @@ class RoomUpdate extends $pb.GeneratedMessage { static RoomUpdate? _defaultInstance; @$pb.TagNumber(1) - $0.Room get room => $_getN(0); + $1.Room get room => $_getN(0); @$pb.TagNumber(1) - set room($0.Room v) { + set room($1.Room v) { setField(1, v); } @@ -2433,7 +2717,7 @@ class RoomUpdate extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearRoom() => clearField(1); @$pb.TagNumber(1) - $0.Room ensureRoom() => $_ensure(0); + $1.Room ensureRoom() => $_ensure(0); } class ConnectionQualityInfo extends $pb.GeneratedMessage { @@ -2451,15 +2735,15 @@ class ConnectionQualityInfo extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'participantSid') - ..e<$0.ConnectionQuality>( + ..e<$1.ConnectionQuality>( 2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quality', $pb.PbFieldType.OE, - defaultOrMaker: $0.ConnectionQuality.POOR, - valueOf: $0.ConnectionQuality.valueOf, - enumValues: $0.ConnectionQuality.values) + defaultOrMaker: $1.ConnectionQuality.POOR, + valueOf: $1.ConnectionQuality.valueOf, + enumValues: $1.ConnectionQuality.values) ..a<$core.double>( 3, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -2471,7 +2755,7 @@ class ConnectionQualityInfo extends $pb.GeneratedMessage { ConnectionQualityInfo._() : super(); factory ConnectionQualityInfo({ $core.String? participantSid, - $0.ConnectionQuality? quality, + $1.ConnectionQuality? quality, $core.double? score, }) { final _result = create(); @@ -2528,9 +2812,9 @@ class ConnectionQualityInfo extends $pb.GeneratedMessage { void clearParticipantSid() => clearField(1); @$pb.TagNumber(2) - $0.ConnectionQuality get quality => $_getN(1); + $1.ConnectionQuality get quality => $_getN(1); @$pb.TagNumber(2) - set quality($0.ConnectionQuality v) { + set quality($1.ConnectionQuality v) { setField(2, v); } @@ -2797,15 +3081,15 @@ class SubscribedQuality extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..e<$0.VideoQuality>( + ..e<$1.VideoQuality>( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quality', $pb.PbFieldType.OE, - defaultOrMaker: $0.VideoQuality.LOW, - valueOf: $0.VideoQuality.valueOf, - enumValues: $0.VideoQuality.values) + defaultOrMaker: $1.VideoQuality.LOW, + valueOf: $1.VideoQuality.valueOf, + enumValues: $1.VideoQuality.values) ..aOB( 2, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -2815,7 +3099,7 @@ class SubscribedQuality extends $pb.GeneratedMessage { SubscribedQuality._() : super(); factory SubscribedQuality({ - $0.VideoQuality? quality, + $1.VideoQuality? quality, $core.bool? enabled, }) { final _result = create(); @@ -2855,9 +3139,9 @@ class SubscribedQuality extends $pb.GeneratedMessage { static SubscribedQuality? _defaultInstance; @$pb.TagNumber(1) - $0.VideoQuality get quality => $_getN(0); + $1.VideoQuality get quality => $_getN(0); @$pb.TagNumber(1) - set quality($0.VideoQuality v) { + set quality($1.VideoQuality v) { setField(1, v); } @@ -2879,6 +3163,87 @@ class SubscribedQuality extends $pb.GeneratedMessage { void clearEnabled() => clearField(2); } +class SubscribedCodec extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'SubscribedCodec', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'livekit'), + createEmptyInstance: create) + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'codec') + ..pc( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'qualities', + $pb.PbFieldType.PM, + subBuilder: SubscribedQuality.create) + ..hasRequiredFields = false; + + SubscribedCodec._() : super(); + factory SubscribedCodec({ + $core.String? codec, + $core.Iterable? qualities, + }) { + final _result = create(); + if (codec != null) { + _result.codec = codec; + } + if (qualities != null) { + _result.qualities.addAll(qualities); + } + return _result; + } + factory SubscribedCodec.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SubscribedCodec.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubscribedCodec clone() => SubscribedCodec()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubscribedCodec copyWith(void Function(SubscribedCodec) updates) => + super.copyWith((message) => updates(message as SubscribedCodec)) + as SubscribedCodec; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static SubscribedCodec create() => SubscribedCodec._(); + SubscribedCodec createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SubscribedCodec getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SubscribedCodec? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get codec => $_getSZ(0); + @$pb.TagNumber(1) + set codec($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCodec() => $_has(0); + @$pb.TagNumber(1) + void clearCodec() => clearField(1); + + @$pb.TagNumber(2) + $core.List get qualities => $_getList(1); +} + class SubscribedQualityUpdate extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( const $core.bool.fromEnvironment('protobuf.omit_message_names') @@ -2901,12 +3266,20 @@ class SubscribedQualityUpdate extends $pb.GeneratedMessage { : 'subscribedQualities', $pb.PbFieldType.PM, subBuilder: SubscribedQuality.create) + ..pc( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'subscribedCodecs', + $pb.PbFieldType.PM, + subBuilder: SubscribedCodec.create) ..hasRequiredFields = false; SubscribedQualityUpdate._() : super(); factory SubscribedQualityUpdate({ $core.String? trackSid, $core.Iterable? subscribedQualities, + $core.Iterable? subscribedCodecs, }) { final _result = create(); if (trackSid != null) { @@ -2915,6 +3288,9 @@ class SubscribedQualityUpdate extends $pb.GeneratedMessage { if (subscribedQualities != null) { _result.subscribedQualities.addAll(subscribedQualities); } + if (subscribedCodecs != null) { + _result.subscribedCodecs.addAll(subscribedCodecs); + } return _result; } factory SubscribedQualityUpdate.fromBuffer($core.List<$core.int> i, @@ -2960,6 +3336,9 @@ class SubscribedQualityUpdate extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.List get subscribedQualities => $_getList(1); + + @$pb.TagNumber(3) + $core.List get subscribedCodecs => $_getList(2); } class TrackPermission extends $pb.GeneratedMessage { @@ -3519,6 +3898,7 @@ enum SimulateScenario_Scenario { nodeFailure, migration, serverLeave, + switchCandidateProtocol, notSet } @@ -3529,6 +3909,7 @@ class SimulateScenario extends $pb.GeneratedMessage { 2: SimulateScenario_Scenario.nodeFailure, 3: SimulateScenario_Scenario.migration, 4: SimulateScenario_Scenario.serverLeave, + 5: SimulateScenario_Scenario.switchCandidateProtocol, 0: SimulateScenario_Scenario.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( @@ -3540,7 +3921,7 @@ class SimulateScenario extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..oo(0, [1, 2, 3, 4]) + ..oo(0, [1, 2, 3, 4, 5]) ..a<$core.int>( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -3562,6 +3943,15 @@ class SimulateScenario extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'serverLeave') + ..e( + 5, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'switchCandidateProtocol', + $pb.PbFieldType.OE, + defaultOrMaker: CandidateProtocol.UDP, + valueOf: CandidateProtocol.valueOf, + enumValues: CandidateProtocol.values) ..hasRequiredFields = false; SimulateScenario._() : super(); @@ -3570,6 +3960,7 @@ class SimulateScenario extends $pb.GeneratedMessage { $core.bool? nodeFailure, $core.bool? migration, $core.bool? serverLeave, + CandidateProtocol? switchCandidateProtocol, }) { final _result = create(); if (speakerUpdate != null) { @@ -3584,6 +3975,9 @@ class SimulateScenario extends $pb.GeneratedMessage { if (serverLeave != null) { _result.serverLeave = serverLeave; } + if (switchCandidateProtocol != null) { + _result.switchCandidateProtocol = switchCandidateProtocol; + } return _result; } factory SimulateScenario.fromBuffer($core.List<$core.int> i, @@ -3664,4 +4058,16 @@ class SimulateScenario extends $pb.GeneratedMessage { $core.bool hasServerLeave() => $_has(3); @$pb.TagNumber(4) void clearServerLeave() => clearField(4); + + @$pb.TagNumber(5) + CandidateProtocol get switchCandidateProtocol => $_getN(4); + @$pb.TagNumber(5) + set switchCandidateProtocol(CandidateProtocol v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSwitchCandidateProtocol() => $_has(4); + @$pb.TagNumber(5) + void clearSwitchCandidateProtocol() => clearField(5); } diff --git a/lib/src/proto/livekit_rtc.pbenum.dart b/lib/src/proto/livekit_rtc.pbenum.dart index 3414912..0b2154c 100644 --- a/lib/src/proto/livekit_rtc.pbenum.dart +++ b/lib/src/proto/livekit_rtc.pbenum.dart @@ -56,3 +56,33 @@ class StreamState extends $pb.ProtobufEnum { const StreamState._($core.int v, $core.String n) : super(v, n); } + +class CandidateProtocol extends $pb.ProtobufEnum { + static const CandidateProtocol UDP = CandidateProtocol._( + 0, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'UDP'); + static const CandidateProtocol TCP = CandidateProtocol._( + 1, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'TCP'); + static const CandidateProtocol TLS = CandidateProtocol._( + 2, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'TLS'); + + static const $core.List values = [ + UDP, + TCP, + TLS, + ]; + + static final $core.Map<$core.int, CandidateProtocol> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CandidateProtocol? valueOf($core.int value) => _byValue[value]; + + const CandidateProtocol._($core.int v, $core.String n) : super(v, n); +} diff --git a/lib/src/proto/livekit_rtc.pbjson.dart b/lib/src/proto/livekit_rtc.pbjson.dart index 1865e67..5ce7355 100644 --- a/lib/src/proto/livekit_rtc.pbjson.dart +++ b/lib/src/proto/livekit_rtc.pbjson.dart @@ -33,6 +33,19 @@ const StreamState$json = const { /// Descriptor for `StreamState`. Decode as a `google.protobuf.EnumDescriptorProto`. final $typed_data.Uint8List streamStateDescriptor = $convert .base64Decode('CgtTdHJlYW1TdGF0ZRIKCgZBQ1RJVkUQABIKCgZQQVVTRUQQAQ=='); +@$core.Deprecated('Use candidateProtocolDescriptor instead') +const CandidateProtocol$json = const { + '1': 'CandidateProtocol', + '2': const [ + const {'1': 'UDP', '2': 0}, + const {'1': 'TCP', '2': 1}, + const {'1': 'TLS', '2': 2}, + ], +}; + +/// Descriptor for `CandidateProtocol`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List candidateProtocolDescriptor = $convert.base64Decode( + 'ChFDYW5kaWRhdGVQcm90b2NvbBIHCgNVRFAQABIHCgNUQ1AQARIHCgNUTFMQAg=='); @$core.Deprecated('Use signalRequestDescriptor instead') const SignalRequest$json = const { '1': 'SignalRequest', @@ -145,6 +158,7 @@ const SignalRequest$json = const { '9': 0, '10': 'simulate' }, + const {'1': 'ping', '3': 14, '4': 1, '5': 3, '9': 0, '10': 'ping'}, ], '8': const [ const {'1': 'message'}, @@ -153,7 +167,7 @@ const SignalRequest$json = const { /// Descriptor for `SignalRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List signalRequestDescriptor = $convert.base64Decode( - 'Cg1TaWduYWxSZXF1ZXN0EjMKBW9mZmVyGAEgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIFb2ZmZXISNQoGYW5zd2VyGAIgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIGYW5zd2VyEjMKB3RyaWNrbGUYAyABKAsyFy5saXZla2l0LlRyaWNrbGVSZXF1ZXN0SABSB3RyaWNrbGUSNwoJYWRkX3RyYWNrGAQgASgLMhgubGl2ZWtpdC5BZGRUcmFja1JlcXVlc3RIAFIIYWRkVHJhY2sSLwoEbXV0ZRgFIAEoCzIZLmxpdmVraXQuTXV0ZVRyYWNrUmVxdWVzdEgAUgRtdXRlEkEKDHN1YnNjcmlwdGlvbhgGIAEoCzIbLmxpdmVraXQuVXBkYXRlU3Vic2NyaXB0aW9uSABSDHN1YnNjcmlwdGlvbhJDCg10cmFja19zZXR0aW5nGAcgASgLMhwubGl2ZWtpdC5VcGRhdGVUcmFja1NldHRpbmdzSABSDHRyYWNrU2V0dGluZxItCgVsZWF2ZRgIIAEoCzIVLmxpdmVraXQuTGVhdmVSZXF1ZXN0SABSBWxlYXZlEkEKDXVwZGF0ZV9sYXllcnMYCiABKAsyGi5saXZla2l0LlVwZGF0ZVZpZGVvTGF5ZXJzSABSDHVwZGF0ZUxheWVycxJaChdzdWJzY3JpcHRpb25fcGVybWlzc2lvbhgLIAEoCzIfLmxpdmVraXQuU3Vic2NyaXB0aW9uUGVybWlzc2lvbkgAUhZzdWJzY3JpcHRpb25QZXJtaXNzaW9uEjMKCnN5bmNfc3RhdGUYDCABKAsyEi5saXZla2l0LlN5bmNTdGF0ZUgAUglzeW5jU3RhdGUSNwoIc2ltdWxhdGUYDSABKAsyGS5saXZla2l0LlNpbXVsYXRlU2NlbmFyaW9IAFIIc2ltdWxhdGVCCQoHbWVzc2FnZQ=='); + 'Cg1TaWduYWxSZXF1ZXN0EjMKBW9mZmVyGAEgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIFb2ZmZXISNQoGYW5zd2VyGAIgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIGYW5zd2VyEjMKB3RyaWNrbGUYAyABKAsyFy5saXZla2l0LlRyaWNrbGVSZXF1ZXN0SABSB3RyaWNrbGUSNwoJYWRkX3RyYWNrGAQgASgLMhgubGl2ZWtpdC5BZGRUcmFja1JlcXVlc3RIAFIIYWRkVHJhY2sSLwoEbXV0ZRgFIAEoCzIZLmxpdmVraXQuTXV0ZVRyYWNrUmVxdWVzdEgAUgRtdXRlEkEKDHN1YnNjcmlwdGlvbhgGIAEoCzIbLmxpdmVraXQuVXBkYXRlU3Vic2NyaXB0aW9uSABSDHN1YnNjcmlwdGlvbhJDCg10cmFja19zZXR0aW5nGAcgASgLMhwubGl2ZWtpdC5VcGRhdGVUcmFja1NldHRpbmdzSABSDHRyYWNrU2V0dGluZxItCgVsZWF2ZRgIIAEoCzIVLmxpdmVraXQuTGVhdmVSZXF1ZXN0SABSBWxlYXZlEkEKDXVwZGF0ZV9sYXllcnMYCiABKAsyGi5saXZla2l0LlVwZGF0ZVZpZGVvTGF5ZXJzSABSDHVwZGF0ZUxheWVycxJaChdzdWJzY3JpcHRpb25fcGVybWlzc2lvbhgLIAEoCzIfLmxpdmVraXQuU3Vic2NyaXB0aW9uUGVybWlzc2lvbkgAUhZzdWJzY3JpcHRpb25QZXJtaXNzaW9uEjMKCnN5bmNfc3RhdGUYDCABKAsyEi5saXZla2l0LlN5bmNTdGF0ZUgAUglzeW5jU3RhdGUSNwoIc2ltdWxhdGUYDSABKAsyGS5saXZla2l0LlNpbXVsYXRlU2NlbmFyaW9IAFIIc2ltdWxhdGUSFAoEcGluZxgOIAEoA0gAUgRwaW5nQgkKB21lc3NhZ2U='); @$core.Deprecated('Use signalResponseDescriptor instead') const SignalResponse$json = const { '1': 'SignalResponse', @@ -301,6 +315,7 @@ const SignalResponse$json = const { '9': 0, '10': 'trackUnpublished' }, + const {'1': 'pong', '3': 18, '4': 1, '5': 3, '9': 0, '10': 'pong'}, ], '8': const [ const {'1': 'message'}, @@ -309,7 +324,26 @@ const SignalResponse$json = const { /// Descriptor for `SignalResponse`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List signalResponseDescriptor = $convert.base64Decode( - 'Cg5TaWduYWxSZXNwb25zZRIrCgRqb2luGAEgASgLMhUubGl2ZWtpdC5Kb2luUmVzcG9uc2VIAFIEam9pbhI1CgZhbnN3ZXIYAiABKAsyGy5saXZla2l0LlNlc3Npb25EZXNjcmlwdGlvbkgAUgZhbnN3ZXISMwoFb2ZmZXIYAyABKAsyGy5saXZla2l0LlNlc3Npb25EZXNjcmlwdGlvbkgAUgVvZmZlchIzCgd0cmlja2xlGAQgASgLMhcubGl2ZWtpdC5Ucmlja2xlUmVxdWVzdEgAUgd0cmlja2xlEjQKBnVwZGF0ZRgFIAEoCzIaLmxpdmVraXQuUGFydGljaXBhbnRVcGRhdGVIAFIGdXBkYXRlEkoKD3RyYWNrX3B1Ymxpc2hlZBgGIAEoCzIfLmxpdmVraXQuVHJhY2tQdWJsaXNoZWRSZXNwb25zZUgAUg50cmFja1B1Ymxpc2hlZBItCgVsZWF2ZRgIIAEoCzIVLmxpdmVraXQuTGVhdmVSZXF1ZXN0SABSBWxlYXZlEi8KBG11dGUYCSABKAsyGS5saXZla2l0Lk11dGVUcmFja1JlcXVlc3RIAFIEbXV0ZRJFChBzcGVha2Vyc19jaGFuZ2VkGAogASgLMhgubGl2ZWtpdC5TcGVha2Vyc0NoYW5nZWRIAFIPc3BlYWtlcnNDaGFuZ2VkEjYKC3Jvb21fdXBkYXRlGAsgASgLMhMubGl2ZWtpdC5Sb29tVXBkYXRlSABSCnJvb21VcGRhdGUSUQoSY29ubmVjdGlvbl9xdWFsaXR5GAwgASgLMiAubGl2ZWtpdC5Db25uZWN0aW9uUXVhbGl0eVVwZGF0ZUgAUhFjb25uZWN0aW9uUXVhbGl0eRJMChNzdHJlYW1fc3RhdGVfdXBkYXRlGA0gASgLMhoubGl2ZWtpdC5TdHJlYW1TdGF0ZVVwZGF0ZUgAUhFzdHJlYW1TdGF0ZVVwZGF0ZRJeChlzdWJzY3JpYmVkX3F1YWxpdHlfdXBkYXRlGA4gASgLMiAubGl2ZWtpdC5TdWJzY3JpYmVkUXVhbGl0eVVwZGF0ZUgAUhdzdWJzY3JpYmVkUXVhbGl0eVVwZGF0ZRJtCh5zdWJzY3JpcHRpb25fcGVybWlzc2lvbl91cGRhdGUYDyABKAsyJS5saXZla2l0LlN1YnNjcmlwdGlvblBlcm1pc3Npb25VcGRhdGVIAFIcc3Vic2NyaXB0aW9uUGVybWlzc2lvblVwZGF0ZRIlCg1yZWZyZXNoX3Rva2VuGBAgASgJSABSDHJlZnJlc2hUb2tlbhJQChF0cmFja191bnB1Ymxpc2hlZBgRIAEoCzIhLmxpdmVraXQuVHJhY2tVbnB1Ymxpc2hlZFJlc3BvbnNlSABSEHRyYWNrVW5wdWJsaXNoZWRCCQoHbWVzc2FnZQ=='); + 'Cg5TaWduYWxSZXNwb25zZRIrCgRqb2luGAEgASgLMhUubGl2ZWtpdC5Kb2luUmVzcG9uc2VIAFIEam9pbhI1CgZhbnN3ZXIYAiABKAsyGy5saXZla2l0LlNlc3Npb25EZXNjcmlwdGlvbkgAUgZhbnN3ZXISMwoFb2ZmZXIYAyABKAsyGy5saXZla2l0LlNlc3Npb25EZXNjcmlwdGlvbkgAUgVvZmZlchIzCgd0cmlja2xlGAQgASgLMhcubGl2ZWtpdC5Ucmlja2xlUmVxdWVzdEgAUgd0cmlja2xlEjQKBnVwZGF0ZRgFIAEoCzIaLmxpdmVraXQuUGFydGljaXBhbnRVcGRhdGVIAFIGdXBkYXRlEkoKD3RyYWNrX3B1Ymxpc2hlZBgGIAEoCzIfLmxpdmVraXQuVHJhY2tQdWJsaXNoZWRSZXNwb25zZUgAUg50cmFja1B1Ymxpc2hlZBItCgVsZWF2ZRgIIAEoCzIVLmxpdmVraXQuTGVhdmVSZXF1ZXN0SABSBWxlYXZlEi8KBG11dGUYCSABKAsyGS5saXZla2l0Lk11dGVUcmFja1JlcXVlc3RIAFIEbXV0ZRJFChBzcGVha2Vyc19jaGFuZ2VkGAogASgLMhgubGl2ZWtpdC5TcGVha2Vyc0NoYW5nZWRIAFIPc3BlYWtlcnNDaGFuZ2VkEjYKC3Jvb21fdXBkYXRlGAsgASgLMhMubGl2ZWtpdC5Sb29tVXBkYXRlSABSCnJvb21VcGRhdGUSUQoSY29ubmVjdGlvbl9xdWFsaXR5GAwgASgLMiAubGl2ZWtpdC5Db25uZWN0aW9uUXVhbGl0eVVwZGF0ZUgAUhFjb25uZWN0aW9uUXVhbGl0eRJMChNzdHJlYW1fc3RhdGVfdXBkYXRlGA0gASgLMhoubGl2ZWtpdC5TdHJlYW1TdGF0ZVVwZGF0ZUgAUhFzdHJlYW1TdGF0ZVVwZGF0ZRJeChlzdWJzY3JpYmVkX3F1YWxpdHlfdXBkYXRlGA4gASgLMiAubGl2ZWtpdC5TdWJzY3JpYmVkUXVhbGl0eVVwZGF0ZUgAUhdzdWJzY3JpYmVkUXVhbGl0eVVwZGF0ZRJtCh5zdWJzY3JpcHRpb25fcGVybWlzc2lvbl91cGRhdGUYDyABKAsyJS5saXZla2l0LlN1YnNjcmlwdGlvblBlcm1pc3Npb25VcGRhdGVIAFIcc3Vic2NyaXB0aW9uUGVybWlzc2lvblVwZGF0ZRIlCg1yZWZyZXNoX3Rva2VuGBAgASgJSABSDHJlZnJlc2hUb2tlbhJQChF0cmFja191bnB1Ymxpc2hlZBgRIAEoCzIhLmxpdmVraXQuVHJhY2tVbnB1Ymxpc2hlZFJlc3BvbnNlSABSEHRyYWNrVW5wdWJsaXNoZWQSFAoEcG9uZxgSIAEoA0gAUgRwb25nQgkKB21lc3NhZ2U='); +@$core.Deprecated('Use simulcastCodecDescriptor instead') +const SimulcastCodec$json = const { + '1': 'SimulcastCodec', + '2': const [ + const {'1': 'codec', '3': 1, '4': 1, '5': 9, '10': 'codec'}, + const {'1': 'cid', '3': 2, '4': 1, '5': 9, '10': 'cid'}, + const { + '1': 'enable_simulcast_layers', + '3': 3, + '4': 1, + '5': 8, + '10': 'enableSimulcastLayers' + }, + ], +}; + +/// Descriptor for `SimulcastCodec`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List simulcastCodecDescriptor = $convert.base64Decode( + 'Cg5TaW11bGNhc3RDb2RlYxIUCgVjb2RlYxgBIAEoCVIFY29kZWMSEAoDY2lkGAIgASgJUgNjaWQSNgoXZW5hYmxlX3NpbXVsY2FzdF9sYXllcnMYAyABKAhSFWVuYWJsZVNpbXVsY2FzdExheWVycw=='); @$core.Deprecated('Use addTrackRequestDescriptor instead') const AddTrackRequest$json = const { '1': 'AddTrackRequest', @@ -344,12 +378,21 @@ const AddTrackRequest$json = const { '6': '.livekit.VideoLayer', '10': 'layers' }, + const { + '1': 'simulcast_codecs', + '3': 10, + '4': 3, + '5': 11, + '6': '.livekit.SimulcastCodec', + '10': 'simulcastCodecs' + }, + const {'1': 'sid', '3': 11, '4': 1, '5': 9, '10': 'sid'}, ], }; /// Descriptor for `AddTrackRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List addTrackRequestDescriptor = $convert.base64Decode( - 'Cg9BZGRUcmFja1JlcXVlc3QSEAoDY2lkGAEgASgJUgNjaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRImCgR0eXBlGAMgASgOMhIubGl2ZWtpdC5UcmFja1R5cGVSBHR5cGUSFAoFd2lkdGgYBCABKA1SBXdpZHRoEhYKBmhlaWdodBgFIAEoDVIGaGVpZ2h0EhQKBW11dGVkGAYgASgIUgVtdXRlZBIfCgtkaXNhYmxlX2R0eBgHIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCCABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2USKwoGbGF5ZXJzGAkgAygLMhMubGl2ZWtpdC5WaWRlb0xheWVyUgZsYXllcnM='); + 'Cg9BZGRUcmFja1JlcXVlc3QSEAoDY2lkGAEgASgJUgNjaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRImCgR0eXBlGAMgASgOMhIubGl2ZWtpdC5UcmFja1R5cGVSBHR5cGUSFAoFd2lkdGgYBCABKA1SBXdpZHRoEhYKBmhlaWdodBgFIAEoDVIGaGVpZ2h0EhQKBW11dGVkGAYgASgIUgVtdXRlZBIfCgtkaXNhYmxlX2R0eBgHIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCCABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2USKwoGbGF5ZXJzGAkgAygLMhMubGl2ZWtpdC5WaWRlb0xheWVyUgZsYXllcnMSQgoQc2ltdWxjYXN0X2NvZGVjcxgKIAMoCzIXLmxpdmVraXQuU2ltdWxjYXN0Q29kZWNSD3NpbXVsY2FzdENvZGVjcxIQCgNzaWQYCyABKAlSA3NpZA=='); @$core.Deprecated('Use trickleRequestDescriptor instead') const TrickleRequest$json = const { '1': 'TrickleRequest', @@ -447,12 +490,22 @@ const JoinResponse$json = const { '10': 'clientConfiguration' }, const {'1': 'server_region', '3': 9, '4': 1, '5': 9, '10': 'serverRegion'}, + const {'1': 'ping_timeout', '3': 10, '4': 1, '5': 5, '10': 'pingTimeout'}, + const {'1': 'ping_interval', '3': 11, '4': 1, '5': 5, '10': 'pingInterval'}, + const { + '1': 'server_info', + '3': 12, + '4': 1, + '5': 11, + '6': '.livekit.ServerInfo', + '10': 'serverInfo' + }, ], }; /// Descriptor for `JoinResponse`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List joinResponseDescriptor = $convert.base64Decode( - 'CgxKb2luUmVzcG9uc2USIQoEcm9vbRgBIAEoCzINLmxpdmVraXQuUm9vbVIEcm9vbRI6CgtwYXJ0aWNpcGFudBgCIAEoCzIYLmxpdmVraXQuUGFydGljaXBhbnRJbmZvUgtwYXJ0aWNpcGFudBJHChJvdGhlcl9wYXJ0aWNpcGFudHMYAyADKAsyGC5saXZla2l0LlBhcnRpY2lwYW50SW5mb1IRb3RoZXJQYXJ0aWNpcGFudHMSJQoOc2VydmVyX3ZlcnNpb24YBCABKAlSDXNlcnZlclZlcnNpb24SMwoLaWNlX3NlcnZlcnMYBSADKAsyEi5saXZla2l0LklDRVNlcnZlclIKaWNlU2VydmVycxItChJzdWJzY3JpYmVyX3ByaW1hcnkYBiABKAhSEXN1YnNjcmliZXJQcmltYXJ5EicKD2FsdGVybmF0aXZlX3VybBgHIAEoCVIOYWx0ZXJuYXRpdmVVcmwSTwoUY2xpZW50X2NvbmZpZ3VyYXRpb24YCCABKAsyHC5saXZla2l0LkNsaWVudENvbmZpZ3VyYXRpb25SE2NsaWVudENvbmZpZ3VyYXRpb24SIwoNc2VydmVyX3JlZ2lvbhgJIAEoCVIMc2VydmVyUmVnaW9u'); + 'CgxKb2luUmVzcG9uc2USIQoEcm9vbRgBIAEoCzINLmxpdmVraXQuUm9vbVIEcm9vbRI6CgtwYXJ0aWNpcGFudBgCIAEoCzIYLmxpdmVraXQuUGFydGljaXBhbnRJbmZvUgtwYXJ0aWNpcGFudBJHChJvdGhlcl9wYXJ0aWNpcGFudHMYAyADKAsyGC5saXZla2l0LlBhcnRpY2lwYW50SW5mb1IRb3RoZXJQYXJ0aWNpcGFudHMSJQoOc2VydmVyX3ZlcnNpb24YBCABKAlSDXNlcnZlclZlcnNpb24SMwoLaWNlX3NlcnZlcnMYBSADKAsyEi5saXZla2l0LklDRVNlcnZlclIKaWNlU2VydmVycxItChJzdWJzY3JpYmVyX3ByaW1hcnkYBiABKAhSEXN1YnNjcmliZXJQcmltYXJ5EicKD2FsdGVybmF0aXZlX3VybBgHIAEoCVIOYWx0ZXJuYXRpdmVVcmwSTwoUY2xpZW50X2NvbmZpZ3VyYXRpb24YCCABKAsyHC5saXZla2l0LkNsaWVudENvbmZpZ3VyYXRpb25SE2NsaWVudENvbmZpZ3VyYXRpb24SIwoNc2VydmVyX3JlZ2lvbhgJIAEoCVIMc2VydmVyUmVnaW9uEiEKDHBpbmdfdGltZW91dBgKIAEoBVILcGluZ1RpbWVvdXQSIwoNcGluZ19pbnRlcnZhbBgLIAEoBVIMcGluZ0ludGVydmFsEjQKC3NlcnZlcl9pbmZvGAwgASgLMhMubGl2ZWtpdC5TZXJ2ZXJJbmZvUgpzZXJ2ZXJJbmZv'); @$core.Deprecated('Use trackPublishedResponseDescriptor instead') const TrackPublishedResponse$json = const { '1': 'TrackPublishedResponse', @@ -562,12 +615,20 @@ const LeaveRequest$json = const { '1': 'LeaveRequest', '2': const [ const {'1': 'can_reconnect', '3': 1, '4': 1, '5': 8, '10': 'canReconnect'}, + const { + '1': 'reason', + '3': 2, + '4': 1, + '5': 14, + '6': '.livekit.DisconnectReason', + '10': 'reason' + }, ], }; /// Descriptor for `LeaveRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List leaveRequestDescriptor = $convert.base64Decode( - 'CgxMZWF2ZVJlcXVlc3QSIwoNY2FuX3JlY29ubmVjdBgBIAEoCFIMY2FuUmVjb25uZWN0'); + 'CgxMZWF2ZVJlcXVlc3QSIwoNY2FuX3JlY29ubmVjdBgBIAEoCFIMY2FuUmVjb25uZWN0EjEKBnJlYXNvbhgCIAEoDjIZLmxpdmVraXQuRGlzY29ubmVjdFJlYXNvblIGcmVhc29u'); @$core.Deprecated('Use updateVideoLayersDescriptor instead') const UpdateVideoLayers$json = const { '1': 'UpdateVideoLayers', @@ -744,6 +805,25 @@ const SubscribedQuality$json = const { /// Descriptor for `SubscribedQuality`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List subscribedQualityDescriptor = $convert.base64Decode( 'ChFTdWJzY3JpYmVkUXVhbGl0eRIvCgdxdWFsaXR5GAEgASgOMhUubGl2ZWtpdC5WaWRlb1F1YWxpdHlSB3F1YWxpdHkSGAoHZW5hYmxlZBgCIAEoCFIHZW5hYmxlZA=='); +@$core.Deprecated('Use subscribedCodecDescriptor instead') +const SubscribedCodec$json = const { + '1': 'SubscribedCodec', + '2': const [ + const {'1': 'codec', '3': 1, '4': 1, '5': 9, '10': 'codec'}, + const { + '1': 'qualities', + '3': 2, + '4': 3, + '5': 11, + '6': '.livekit.SubscribedQuality', + '10': 'qualities' + }, + ], +}; + +/// Descriptor for `SubscribedCodec`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List subscribedCodecDescriptor = $convert.base64Decode( + 'Cg9TdWJzY3JpYmVkQ29kZWMSFAoFY29kZWMYASABKAlSBWNvZGVjEjgKCXF1YWxpdGllcxgCIAMoCzIaLmxpdmVraXQuU3Vic2NyaWJlZFF1YWxpdHlSCXF1YWxpdGllcw=='); @$core.Deprecated('Use subscribedQualityUpdateDescriptor instead') const SubscribedQualityUpdate$json = const { '1': 'SubscribedQualityUpdate', @@ -757,13 +837,21 @@ const SubscribedQualityUpdate$json = const { '6': '.livekit.SubscribedQuality', '10': 'subscribedQualities' }, + const { + '1': 'subscribed_codecs', + '3': 3, + '4': 3, + '5': 11, + '6': '.livekit.SubscribedCodec', + '10': 'subscribedCodecs' + }, ], }; /// Descriptor for `SubscribedQualityUpdate`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List subscribedQualityUpdateDescriptor = $convert.base64Decode( - 'ChdTdWJzY3JpYmVkUXVhbGl0eVVwZGF0ZRIbCgl0cmFja19zaWQYASABKAlSCHRyYWNrU2lkEk0KFHN1YnNjcmliZWRfcXVhbGl0aWVzGAIgAygLMhoubGl2ZWtpdC5TdWJzY3JpYmVkUXVhbGl0eVITc3Vic2NyaWJlZFF1YWxpdGllcw=='); + 'ChdTdWJzY3JpYmVkUXVhbGl0eVVwZGF0ZRIbCgl0cmFja19zaWQYASABKAlSCHRyYWNrU2lkEk0KFHN1YnNjcmliZWRfcXVhbGl0aWVzGAIgAygLMhoubGl2ZWtpdC5TdWJzY3JpYmVkUXVhbGl0eVITc3Vic2NyaWJlZFF1YWxpdGllcxJFChFzdWJzY3JpYmVkX2NvZGVjcxgDIAMoCzIYLmxpdmVraXQuU3Vic2NyaWJlZENvZGVjUhBzdWJzY3JpYmVkQ29kZWNz'); @$core.Deprecated('Use trackPermissionDescriptor instead') const TrackPermission$json = const { '1': 'TrackPermission', @@ -927,6 +1015,15 @@ const SimulateScenario$json = const { '9': 0, '10': 'serverLeave' }, + const { + '1': 'switch_candidate_protocol', + '3': 5, + '4': 1, + '5': 14, + '6': '.livekit.CandidateProtocol', + '9': 0, + '10': 'switchCandidateProtocol' + }, ], '8': const [ const {'1': 'scenario'}, @@ -935,4 +1032,4 @@ const SimulateScenario$json = const { /// Descriptor for `SimulateScenario`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List simulateScenarioDescriptor = $convert.base64Decode( - 'ChBTaW11bGF0ZVNjZW5hcmlvEicKDnNwZWFrZXJfdXBkYXRlGAEgASgFSABSDXNwZWFrZXJVcGRhdGUSIwoMbm9kZV9mYWlsdXJlGAIgASgISABSC25vZGVGYWlsdXJlEh4KCW1pZ3JhdGlvbhgDIAEoCEgAUgltaWdyYXRpb24SIwoMc2VydmVyX2xlYXZlGAQgASgISABSC3NlcnZlckxlYXZlQgoKCHNjZW5hcmlv'); + 'ChBTaW11bGF0ZVNjZW5hcmlvEicKDnNwZWFrZXJfdXBkYXRlGAEgASgFSABSDXNwZWFrZXJVcGRhdGUSIwoMbm9kZV9mYWlsdXJlGAIgASgISABSC25vZGVGYWlsdXJlEh4KCW1pZ3JhdGlvbhgDIAEoCEgAUgltaWdyYXRpb24SIwoMc2VydmVyX2xlYXZlGAQgASgISABSC3NlcnZlckxlYXZlElgKGXN3aXRjaF9jYW5kaWRhdGVfcHJvdG9jb2wYBSABKA4yGi5saXZla2l0LkNhbmRpZGF0ZVByb3RvY29sSABSF3N3aXRjaENhbmRpZGF0ZVByb3RvY29sQgoKCHNjZW5hcmlv');