From 5f12be5f115b2ae3d0ff1532c54b356c047d2548 Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Tue, 7 Dec 2021 11:54:39 +0700 Subject: [PATCH] update proto --- lib/livekit_client_web.dart | 1 - lib/src/proto/livekit_models.pb.dart | 150 +++++++++++++++++++++++ lib/src/proto/livekit_models.pbenum.dart | 30 +++++ lib/src/proto/livekit_models.pbjson.dart | 44 ++++++- lib/src/proto/livekit_rtc.pb.dart | 137 +++++++++++++++++++-- lib/src/proto/livekit_rtc.pbenum.dart | 30 ----- lib/src/proto/livekit_rtc.pbjson.dart | 53 +++++--- lib/src/support/platforms/web.dart | 1 - lib/src/track/local.dart | 1 + lib/src/track/web/_audio_html.dart | 4 +- 10 files changed, 394 insertions(+), 57 deletions(-) diff --git a/lib/livekit_client_web.dart b/lib/livekit_client_web.dart index 30a622e..c0ae194 100644 --- a/lib/livekit_client_web.dart +++ b/lib/livekit_client_web.dart @@ -10,7 +10,6 @@ import 'package:flutter_web_plugins/flutter_web_plugins.dart'; // ignore: avoid_web_libraries_in_flutter // import 'dart:html' as html show window; - /// A web implementation of the Livekit plugin. class LiveKitWebPlugin { static void registerWith(Registrar registrar) { diff --git a/lib/src/proto/livekit_models.pb.dart b/lib/src/proto/livekit_models.pb.dart index 88ccd5d..089ba9d 100644 --- a/lib/src/proto/livekit_models.pb.dart +++ b/lib/src/proto/livekit_models.pb.dart @@ -628,6 +628,13 @@ class TrackInfo extends $pb.GeneratedMessage { defaultOrMaker: TrackSource.UNKNOWN, valueOf: TrackSource.valueOf, enumValues: TrackSource.values) + ..pc( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'layers', + $pb.PbFieldType.PM, + subBuilder: VideoLayer.create) ..hasRequiredFields = false; TrackInfo._() : super(); @@ -641,6 +648,7 @@ class TrackInfo extends $pb.GeneratedMessage { $core.bool? simulcast, $core.bool? disableDtx, TrackSource? source, + $core.Iterable? layers, }) { final _result = create(); if (sid != null) { @@ -670,6 +678,9 @@ class TrackInfo extends $pb.GeneratedMessage { if (source != null) { _result.source = source; } + if (layers != null) { + _result.layers.addAll(layers); + } return _result; } factory TrackInfo.fromBuffer($core.List<$core.int> i, @@ -805,6 +816,145 @@ class TrackInfo extends $pb.GeneratedMessage { $core.bool hasSource() => $_has(8); @$pb.TagNumber(9) void clearSource() => clearField(9); + + @$pb.TagNumber(10) + $core.List get layers => $_getList(9); +} + +class VideoLayer extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'VideoLayer', + 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') + ? '' + : 'quality', + $pb.PbFieldType.OE, + defaultOrMaker: VideoQuality.LOW, + valueOf: VideoQuality.valueOf, + enumValues: VideoQuality.values) + ..a<$core.int>( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'width', + $pb.PbFieldType.OU3) + ..a<$core.int>( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'height', + $pb.PbFieldType.OU3) + ..a<$core.int>( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'bitrate', + $pb.PbFieldType.OU3) + ..hasRequiredFields = false; + + VideoLayer._() : super(); + factory VideoLayer({ + VideoQuality? quality, + $core.int? width, + $core.int? height, + $core.int? bitrate, + }) { + final _result = create(); + if (quality != null) { + _result.quality = quality; + } + if (width != null) { + _result.width = width; + } + if (height != null) { + _result.height = height; + } + if (bitrate != null) { + _result.bitrate = bitrate; + } + return _result; + } + factory VideoLayer.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory VideoLayer.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') + VideoLayer clone() => VideoLayer()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + VideoLayer copyWith(void Function(VideoLayer) updates) => + super.copyWith((message) => updates(message as VideoLayer)) + as VideoLayer; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static VideoLayer create() => VideoLayer._(); + VideoLayer createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static VideoLayer getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static VideoLayer? _defaultInstance; + + @$pb.TagNumber(1) + VideoQuality get quality => $_getN(0); + @$pb.TagNumber(1) + set quality(VideoQuality v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasQuality() => $_has(0); + @$pb.TagNumber(1) + void clearQuality() => clearField(1); + + @$pb.TagNumber(2) + $core.int get width => $_getIZ(1); + @$pb.TagNumber(2) + set width($core.int v) { + $_setUnsignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasWidth() => $_has(1); + @$pb.TagNumber(2) + void clearWidth() => clearField(2); + + @$pb.TagNumber(3) + $core.int get height => $_getIZ(2); + @$pb.TagNumber(3) + set height($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasHeight() => $_has(2); + @$pb.TagNumber(3) + void clearHeight() => clearField(3); + + @$pb.TagNumber(4) + $core.int get bitrate => $_getIZ(3); + @$pb.TagNumber(4) + set bitrate($core.int v) { + $_setUnsignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasBitrate() => $_has(3); + @$pb.TagNumber(4) + void clearBitrate() => clearField(4); } enum DataPacket_Value { user, speaker, notSet } diff --git a/lib/src/proto/livekit_models.pbenum.dart b/lib/src/proto/livekit_models.pbenum.dart index a9bcda4..e985269 100644 --- a/lib/src/proto/livekit_models.pbenum.dart +++ b/lib/src/proto/livekit_models.pbenum.dart @@ -83,6 +83,36 @@ class TrackSource extends $pb.ProtobufEnum { const TrackSource._($core.int v, $core.String n) : super(v, n); } +class VideoQuality extends $pb.ProtobufEnum { + static const VideoQuality LOW = VideoQuality._( + 0, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'LOW'); + static const VideoQuality MEDIUM = VideoQuality._( + 1, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'MEDIUM'); + static const VideoQuality HIGH = VideoQuality._( + 2, + const $core.bool.fromEnvironment('protobuf.omit_enum_names') + ? '' + : 'HIGH'); + + static const $core.List values = [ + LOW, + MEDIUM, + HIGH, + ]; + + static final $core.Map<$core.int, VideoQuality> _byValue = + $pb.ProtobufEnum.initByValue(values); + static VideoQuality? valueOf($core.int value) => _byValue[value]; + + const VideoQuality._($core.int v, $core.String n) : super(v, n); +} + class ConnectionQuality extends $pb.ProtobufEnum { static const ConnectionQuality POOR = ConnectionQuality._( 0, diff --git a/lib/src/proto/livekit_models.pbjson.dart b/lib/src/proto/livekit_models.pbjson.dart index d10bf97..f2b28b0 100644 --- a/lib/src/proto/livekit_models.pbjson.dart +++ b/lib/src/proto/livekit_models.pbjson.dart @@ -37,6 +37,19 @@ const TrackSource$json = const { /// Descriptor for `TrackSource`. Decode as a `google.protobuf.EnumDescriptorProto`. final $typed_data.Uint8List trackSourceDescriptor = $convert.base64Decode( 'CgtUcmFja1NvdXJjZRILCgdVTktOT1dOEAASCgoGQ0FNRVJBEAESDgoKTUlDUk9QSE9ORRACEhAKDFNDUkVFTl9TSEFSRRADEhYKElNDUkVFTl9TSEFSRV9BVURJTxAE'); +@$core.Deprecated('Use videoQualityDescriptor instead') +const VideoQuality$json = const { + '1': 'VideoQuality', + '2': const [ + const {'1': 'LOW', '2': 0}, + const {'1': 'MEDIUM', '2': 1}, + const {'1': 'HIGH', '2': 2}, + ], +}; + +/// Descriptor for `VideoQuality`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List videoQualityDescriptor = $convert.base64Decode( + 'CgxWaWRlb1F1YWxpdHkSBwoDTE9XEAASCgoGTUVESVVNEAESCAoESElHSBAC'); @$core.Deprecated('Use connectionQualityDescriptor instead') const ConnectionQuality$json = const { '1': 'ConnectionQuality', @@ -178,12 +191,41 @@ const TrackInfo$json = const { '6': '.livekit.TrackSource', '10': 'source' }, + const { + '1': 'layers', + '3': 10, + '4': 3, + '5': 11, + '6': '.livekit.VideoLayer', + '10': 'layers' + }, ], }; /// Descriptor for `TrackInfo`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List trackInfoDescriptor = $convert.base64Decode( - 'CglUcmFja0luZm8SEAoDc2lkGAEgASgJUgNzaWQSJgoEdHlwZRgCIAEoDjISLmxpdmVraXQuVHJhY2tUeXBlUgR0eXBlEhIKBG5hbWUYAyABKAlSBG5hbWUSFAoFbXV0ZWQYBCABKAhSBW11dGVkEhQKBXdpZHRoGAUgASgNUgV3aWR0aBIWCgZoZWlnaHQYBiABKA1SBmhlaWdodBIcCglzaW11bGNhc3QYByABKAhSCXNpbXVsY2FzdBIfCgtkaXNhYmxlX2R0eBgIIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCSABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2U='); + 'CglUcmFja0luZm8SEAoDc2lkGAEgASgJUgNzaWQSJgoEdHlwZRgCIAEoDjISLmxpdmVraXQuVHJhY2tUeXBlUgR0eXBlEhIKBG5hbWUYAyABKAlSBG5hbWUSFAoFbXV0ZWQYBCABKAhSBW11dGVkEhQKBXdpZHRoGAUgASgNUgV3aWR0aBIWCgZoZWlnaHQYBiABKA1SBmhlaWdodBIcCglzaW11bGNhc3QYByABKAhSCXNpbXVsY2FzdBIfCgtkaXNhYmxlX2R0eBgIIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCSABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2USKwoGbGF5ZXJzGAogAygLMhMubGl2ZWtpdC5WaWRlb0xheWVyUgZsYXllcnM='); +@$core.Deprecated('Use videoLayerDescriptor instead') +const VideoLayer$json = const { + '1': 'VideoLayer', + '2': const [ + const { + '1': 'quality', + '3': 1, + '4': 1, + '5': 14, + '6': '.livekit.VideoQuality', + '10': 'quality' + }, + const {'1': 'width', '3': 2, '4': 1, '5': 13, '10': 'width'}, + const {'1': 'height', '3': 3, '4': 1, '5': 13, '10': 'height'}, + const {'1': 'bitrate', '3': 4, '4': 1, '5': 13, '10': 'bitrate'}, + ], +}; + +/// Descriptor for `VideoLayer`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List videoLayerDescriptor = $convert.base64Decode( + 'CgpWaWRlb0xheWVyEi8KB3F1YWxpdHkYASABKA4yFS5saXZla2l0LlZpZGVvUXVhbGl0eVIHcXVhbGl0eRIUCgV3aWR0aBgCIAEoDVIFd2lkdGgSFgoGaGVpZ2h0GAMgASgNUgZoZWlnaHQSGAoHYml0cmF0ZRgEIAEoDVIHYml0cmF0ZQ=='); @$core.Deprecated('Use dataPacketDescriptor instead') const DataPacket$json = const { '1': 'DataPacket', diff --git a/lib/src/proto/livekit_rtc.pb.dart b/lib/src/proto/livekit_rtc.pb.dart index 38a640b..fca5a14 100644 --- a/lib/src/proto/livekit_rtc.pb.dart +++ b/lib/src/proto/livekit_rtc.pb.dart @@ -24,6 +24,7 @@ enum SignalRequest_Message { subscription, trackSetting, leave, + updateLayers, notSet } @@ -38,6 +39,7 @@ class SignalRequest extends $pb.GeneratedMessage { 6: SignalRequest_Message.subscription, 7: SignalRequest_Message.trackSetting, 8: SignalRequest_Message.leave, + 10: SignalRequest_Message.updateLayers, 0: SignalRequest_Message.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( @@ -49,7 +51,7 @@ class SignalRequest extends $pb.GeneratedMessage { ? '' : 'livekit'), createEmptyInstance: create) - ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8]) + ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 10]) ..aOM( 1, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -98,6 +100,12 @@ class SignalRequest extends $pb.GeneratedMessage { ? '' : 'leave', subBuilder: LeaveRequest.create) + ..aOM( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'updateLayers', + subBuilder: UpdateVideoLayers.create) ..hasRequiredFields = false; SignalRequest._() : super(); @@ -110,6 +118,7 @@ class SignalRequest extends $pb.GeneratedMessage { UpdateSubscription? subscription, UpdateTrackSettings? trackSetting, LeaveRequest? leave, + UpdateVideoLayers? updateLayers, }) { final _result = create(); if (offer != null) { @@ -136,6 +145,9 @@ class SignalRequest extends $pb.GeneratedMessage { if (leave != null) { _result.leave = leave; } + if (updateLayers != null) { + _result.updateLayers = updateLayers; + } return _result; } factory SignalRequest.fromBuffer($core.List<$core.int> i, @@ -280,6 +292,20 @@ class SignalRequest extends $pb.GeneratedMessage { void clearLeave() => clearField(8); @$pb.TagNumber(8) LeaveRequest ensureLeave() => $_ensure(7); + + @$pb.TagNumber(10) + UpdateVideoLayers get updateLayers => $_getN(8); + @$pb.TagNumber(10) + set updateLayers(UpdateVideoLayers v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasUpdateLayers() => $_has(8); + @$pb.TagNumber(10) + void clearUpdateLayers() => clearField(10); + @$pb.TagNumber(10) + UpdateVideoLayers ensureUpdateLayers() => $_ensure(8); } enum SignalResponse_Message { @@ -713,6 +739,13 @@ class AddTrackRequest extends $pb.GeneratedMessage { defaultOrMaker: $0.TrackSource.UNKNOWN, valueOf: $0.TrackSource.valueOf, enumValues: $0.TrackSource.values) + ..pc<$0.VideoLayer>( + 9, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'layers', + $pb.PbFieldType.PM, + subBuilder: $0.VideoLayer.create) ..hasRequiredFields = false; AddTrackRequest._() : super(); @@ -725,6 +758,7 @@ class AddTrackRequest extends $pb.GeneratedMessage { $core.bool? muted, $core.bool? disableDtx, $0.TrackSource? source, + $core.Iterable<$0.VideoLayer>? layers, }) { final _result = create(); if (cid != null) { @@ -751,6 +785,9 @@ class AddTrackRequest extends $pb.GeneratedMessage { if (source != null) { _result.source = source; } + if (layers != null) { + _result.layers.addAll(layers); + } return _result; } factory AddTrackRequest.fromBuffer($core.List<$core.int> i, @@ -875,6 +912,9 @@ class AddTrackRequest extends $pb.GeneratedMessage { $core.bool hasSource() => $_has(7); @$pb.TagNumber(8) void clearSource() => clearField(8); + + @$pb.TagNumber(9) + $core.List<$0.VideoLayer> get layers => $_getList(8); } class TrickleRequest extends $pb.GeneratedMessage { @@ -1583,15 +1623,15 @@ class UpdateTrackSettings extends $pb.GeneratedMessage { const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'disabled') - ..e( + ..e<$0.VideoQuality>( 4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quality', $pb.PbFieldType.OE, - defaultOrMaker: VideoQuality.LOW, - valueOf: VideoQuality.valueOf, - enumValues: VideoQuality.values) + defaultOrMaker: $0.VideoQuality.LOW, + valueOf: $0.VideoQuality.valueOf, + enumValues: $0.VideoQuality.values) ..a<$core.int>( 5, const $core.bool.fromEnvironment('protobuf.omit_field_names') @@ -1610,7 +1650,7 @@ class UpdateTrackSettings extends $pb.GeneratedMessage { factory UpdateTrackSettings({ $core.Iterable<$core.String>? trackSids, $core.bool? disabled, - VideoQuality? quality, + $0.VideoQuality? quality, $core.int? width, $core.int? height, }) { @@ -1675,9 +1715,9 @@ class UpdateTrackSettings extends $pb.GeneratedMessage { void clearDisabled() => clearField(3); @$pb.TagNumber(4) - VideoQuality get quality => $_getN(2); + $0.VideoQuality get quality => $_getN(2); @$pb.TagNumber(4) - set quality(VideoQuality v) { + set quality($0.VideoQuality v) { setField(4, v); } @@ -1778,6 +1818,87 @@ class LeaveRequest extends $pb.GeneratedMessage { void clearCanReconnect() => clearField(1); } +class UpdateVideoLayers extends $pb.GeneratedMessage { + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'UpdateVideoLayers', + 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') + ? '' + : 'trackSid') + ..pc<$0.VideoLayer>( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'layers', + $pb.PbFieldType.PM, + subBuilder: $0.VideoLayer.create) + ..hasRequiredFields = false; + + UpdateVideoLayers._() : super(); + factory UpdateVideoLayers({ + $core.String? trackSid, + $core.Iterable<$0.VideoLayer>? layers, + }) { + final _result = create(); + if (trackSid != null) { + _result.trackSid = trackSid; + } + if (layers != null) { + _result.layers.addAll(layers); + } + return _result; + } + factory UpdateVideoLayers.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateVideoLayers.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') + UpdateVideoLayers clone() => UpdateVideoLayers()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateVideoLayers copyWith(void Function(UpdateVideoLayers) updates) => + super.copyWith((message) => updates(message as UpdateVideoLayers)) + as UpdateVideoLayers; // ignore: deprecated_member_use + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static UpdateVideoLayers create() => UpdateVideoLayers._(); + UpdateVideoLayers createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateVideoLayers getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateVideoLayers? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get trackSid => $_getSZ(0); + @$pb.TagNumber(1) + set trackSid($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTrackSid() => $_has(0); + @$pb.TagNumber(1) + void clearTrackSid() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$0.VideoLayer> get layers => $_getList(1); +} + class ICEServer extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( const $core.bool.fromEnvironment('protobuf.omit_message_names') diff --git a/lib/src/proto/livekit_rtc.pbenum.dart b/lib/src/proto/livekit_rtc.pbenum.dart index a66bd03..8e893a6 100644 --- a/lib/src/proto/livekit_rtc.pbenum.dart +++ b/lib/src/proto/livekit_rtc.pbenum.dart @@ -35,36 +35,6 @@ class SignalTarget extends $pb.ProtobufEnum { const SignalTarget._($core.int v, $core.String n) : super(v, n); } -class VideoQuality extends $pb.ProtobufEnum { - static const VideoQuality LOW = VideoQuality._( - 0, - const $core.bool.fromEnvironment('protobuf.omit_enum_names') - ? '' - : 'LOW'); - static const VideoQuality MEDIUM = VideoQuality._( - 1, - const $core.bool.fromEnvironment('protobuf.omit_enum_names') - ? '' - : 'MEDIUM'); - static const VideoQuality HIGH = VideoQuality._( - 2, - const $core.bool.fromEnvironment('protobuf.omit_enum_names') - ? '' - : 'HIGH'); - - static const $core.List values = [ - LOW, - MEDIUM, - HIGH, - ]; - - static final $core.Map<$core.int, VideoQuality> _byValue = - $pb.ProtobufEnum.initByValue(values); - static VideoQuality? valueOf($core.int value) => _byValue[value]; - - const VideoQuality._($core.int v, $core.String n) : super(v, n); -} - class StreamState extends $pb.ProtobufEnum { static const StreamState ACTIVE = StreamState._( 0, diff --git a/lib/src/proto/livekit_rtc.pbjson.dart b/lib/src/proto/livekit_rtc.pbjson.dart index 035bca1..d948722 100644 --- a/lib/src/proto/livekit_rtc.pbjson.dart +++ b/lib/src/proto/livekit_rtc.pbjson.dart @@ -21,19 +21,6 @@ const SignalTarget$json = const { /// Descriptor for `SignalTarget`. Decode as a `google.protobuf.EnumDescriptorProto`. final $typed_data.Uint8List signalTargetDescriptor = $convert.base64Decode( 'CgxTaWduYWxUYXJnZXQSDQoJUFVCTElTSEVSEAASDgoKU1VCU0NSSUJFUhAB'); -@$core.Deprecated('Use videoQualityDescriptor instead') -const VideoQuality$json = const { - '1': 'VideoQuality', - '2': const [ - const {'1': 'LOW', '2': 0}, - const {'1': 'MEDIUM', '2': 1}, - const {'1': 'HIGH', '2': 2}, - ], -}; - -/// Descriptor for `VideoQuality`. Decode as a `google.protobuf.EnumDescriptorProto`. -final $typed_data.Uint8List videoQualityDescriptor = $convert.base64Decode( - 'CgxWaWRlb1F1YWxpdHkSBwoDTE9XEAASCgoGTUVESVVNEAESCAoESElHSBAC'); @$core.Deprecated('Use streamStateDescriptor instead') const StreamState$json = const { '1': 'StreamState', @@ -122,6 +109,15 @@ const SignalRequest$json = const { '9': 0, '10': 'leave' }, + const { + '1': 'update_layers', + '3': 10, + '4': 1, + '5': 11, + '6': '.livekit.UpdateVideoLayers', + '9': 0, + '10': 'updateLayers' + }, ], '8': const [ const {'1': 'message'}, @@ -130,7 +126,7 @@ const SignalRequest$json = const { /// Descriptor for `SignalRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List signalRequestDescriptor = $convert.base64Decode( - 'Cg1TaWduYWxSZXF1ZXN0EjMKBW9mZmVyGAEgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIFb2ZmZXISNQoGYW5zd2VyGAIgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIGYW5zd2VyEjMKB3RyaWNrbGUYAyABKAsyFy5saXZla2l0LlRyaWNrbGVSZXF1ZXN0SABSB3RyaWNrbGUSNwoJYWRkX3RyYWNrGAQgASgLMhgubGl2ZWtpdC5BZGRUcmFja1JlcXVlc3RIAFIIYWRkVHJhY2sSLwoEbXV0ZRgFIAEoCzIZLmxpdmVraXQuTXV0ZVRyYWNrUmVxdWVzdEgAUgRtdXRlEkEKDHN1YnNjcmlwdGlvbhgGIAEoCzIbLmxpdmVraXQuVXBkYXRlU3Vic2NyaXB0aW9uSABSDHN1YnNjcmlwdGlvbhJDCg10cmFja19zZXR0aW5nGAcgASgLMhwubGl2ZWtpdC5VcGRhdGVUcmFja1NldHRpbmdzSABSDHRyYWNrU2V0dGluZxItCgVsZWF2ZRgIIAEoCzIVLmxpdmVraXQuTGVhdmVSZXF1ZXN0SABSBWxlYXZlQgkKB21lc3NhZ2U='); + 'Cg1TaWduYWxSZXF1ZXN0EjMKBW9mZmVyGAEgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIFb2ZmZXISNQoGYW5zd2VyGAIgASgLMhsubGl2ZWtpdC5TZXNzaW9uRGVzY3JpcHRpb25IAFIGYW5zd2VyEjMKB3RyaWNrbGUYAyABKAsyFy5saXZla2l0LlRyaWNrbGVSZXF1ZXN0SABSB3RyaWNrbGUSNwoJYWRkX3RyYWNrGAQgASgLMhgubGl2ZWtpdC5BZGRUcmFja1JlcXVlc3RIAFIIYWRkVHJhY2sSLwoEbXV0ZRgFIAEoCzIZLmxpdmVraXQuTXV0ZVRyYWNrUmVxdWVzdEgAUgRtdXRlEkEKDHN1YnNjcmlwdGlvbhgGIAEoCzIbLmxpdmVraXQuVXBkYXRlU3Vic2NyaXB0aW9uSABSDHN1YnNjcmlwdGlvbhJDCg10cmFja19zZXR0aW5nGAcgASgLMhwubGl2ZWtpdC5VcGRhdGVUcmFja1NldHRpbmdzSABSDHRyYWNrU2V0dGluZxItCgVsZWF2ZRgIIAEoCzIVLmxpdmVraXQuTGVhdmVSZXF1ZXN0SABSBWxlYXZlEkEKDXVwZGF0ZV9sYXllcnMYCiABKAsyGi5saXZla2l0LlVwZGF0ZVZpZGVvTGF5ZXJzSABSDHVwZGF0ZUxheWVyc0IJCgdtZXNzYWdl'); @$core.Deprecated('Use signalResponseDescriptor instead') const SignalResponse$json = const { '1': 'SignalResponse', @@ -278,12 +274,20 @@ const AddTrackRequest$json = const { '6': '.livekit.TrackSource', '10': 'source' }, + const { + '1': 'layers', + '3': 9, + '4': 3, + '5': 11, + '6': '.livekit.VideoLayer', + '10': 'layers' + }, ], }; /// Descriptor for `AddTrackRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List addTrackRequestDescriptor = $convert.base64Decode( - 'Cg9BZGRUcmFja1JlcXVlc3QSEAoDY2lkGAEgASgJUgNjaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRImCgR0eXBlGAMgASgOMhIubGl2ZWtpdC5UcmFja1R5cGVSBHR5cGUSFAoFd2lkdGgYBCABKA1SBXdpZHRoEhYKBmhlaWdodBgFIAEoDVIGaGVpZ2h0EhQKBW11dGVkGAYgASgIUgVtdXRlZBIfCgtkaXNhYmxlX2R0eBgHIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCCABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2U='); + 'Cg9BZGRUcmFja1JlcXVlc3QSEAoDY2lkGAEgASgJUgNjaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRImCgR0eXBlGAMgASgOMhIubGl2ZWtpdC5UcmFja1R5cGVSBHR5cGUSFAoFd2lkdGgYBCABKA1SBXdpZHRoEhYKBmhlaWdodBgFIAEoDVIGaGVpZ2h0EhQKBW11dGVkGAYgASgIUgVtdXRlZBIfCgtkaXNhYmxlX2R0eBgHIAEoCFIKZGlzYWJsZUR0eBIsCgZzb3VyY2UYCCABKA4yFC5saXZla2l0LlRyYWNrU291cmNlUgZzb3VyY2USKwoGbGF5ZXJzGAkgAygLMhMubGl2ZWtpdC5WaWRlb0xheWVyUgZsYXllcnM='); @$core.Deprecated('Use trickleRequestDescriptor instead') const TrickleRequest$json = const { '1': 'TrickleRequest', @@ -473,6 +477,25 @@ const LeaveRequest$json = const { /// Descriptor for `LeaveRequest`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List leaveRequestDescriptor = $convert.base64Decode( 'CgxMZWF2ZVJlcXVlc3QSIwoNY2FuX3JlY29ubmVjdBgBIAEoCFIMY2FuUmVjb25uZWN0'); +@$core.Deprecated('Use updateVideoLayersDescriptor instead') +const UpdateVideoLayers$json = const { + '1': 'UpdateVideoLayers', + '2': const [ + const {'1': 'track_sid', '3': 1, '4': 1, '5': 9, '10': 'trackSid'}, + const { + '1': 'layers', + '3': 2, + '4': 3, + '5': 11, + '6': '.livekit.VideoLayer', + '10': 'layers' + }, + ], +}; + +/// Descriptor for `UpdateVideoLayers`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateVideoLayersDescriptor = $convert.base64Decode( + 'ChFVcGRhdGVWaWRlb0xheWVycxIbCgl0cmFja19zaWQYASABKAlSCHRyYWNrU2lkEisKBmxheWVycxgCIAMoCzITLmxpdmVraXQuVmlkZW9MYXllclIGbGF5ZXJz'); @$core.Deprecated('Use iCEServerDescriptor instead') const ICEServer$json = const { '1': 'ICEServer', diff --git a/lib/src/support/platforms/web.dart b/lib/src/support/platforms/web.dart index 5f350d4..5cd5411 100644 --- a/lib/src/support/platforms/web.dart +++ b/lib/src/support/platforms/web.dart @@ -6,7 +6,6 @@ import '../websocket.dart'; // ignore: avoid_web_libraries_in_flutter - Future lkWebSocketConnect( Uri uri, [ WebSocketEventHandlers? options, diff --git a/lib/src/track/local.dart b/lib/src/track/local.dart index e24fcbe..48c9084 100644 --- a/lib/src/track/local.dart +++ b/lib/src/track/local.dart @@ -1,4 +1,5 @@ import 'dart:io' show Platform; + import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; import 'package:meta/meta.dart'; diff --git a/lib/src/track/web/_audio_html.dart b/lib/src/track/web/_audio_html.dart index cde1b59..91376ae 100644 --- a/lib/src/track/web/_audio_html.dart +++ b/lib/src/track/web/_audio_html.dart @@ -1,10 +1,12 @@ // ignore: avoid_web_libraries_in_flutter + import 'dart:html' as html; -// ignore: implementation_imports import 'package:dart_webrtc/src/media_stream_track_impl.dart'; import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; +// ignore: implementation_imports + const audioContainerId = 'livekit_audio_container'; const audioPrefix = 'livekit_audio_';