From 252ee3ed3b814eea767d3a9b379f83f40043910a Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Sat, 1 Jan 2022 13:31:07 +0700 Subject: [PATCH] make properties read-only --- lib/src/publication/track_publication.dart | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/src/publication/track_publication.dart b/lib/src/publication/track_publication.dart index 55c12cf..7d49341 100644 --- a/lib/src/publication/track_publication.dart +++ b/lib/src/publication/track_publication.dart @@ -8,6 +8,7 @@ import '../participant/participant.dart'; import '../proto/livekit_models.pb.dart' as lk_models; import '../support/disposable.dart'; import '../track/track.dart'; +import '../track/local/local.dart'; import '../types.dart'; import '../core/signal_client.dart'; @@ -32,22 +33,29 @@ abstract class TrackPublication extends Disposable { bool get muted => track?.muted ?? false; - bool simulcasted = false; - VideoDimensions? dimension; + /// If the [Track] is published with simulcast, only for video. (readonly) + bool get simulcasted => _simulcasted; + bool _simulcasted; - /// The MIME type of the track + /// The MIME type of the [Track] (readonly) String get mimeType => _mimeType; String _mimeType; + /// The video dimensions of the [Track], reported by publisher. + /// Only available for [VideoTrack]s. (readonly) + VideoDimensions? get dimensions => _dimensions; + VideoDimensions? _dimensions; + bool get subscribed => track != null; TrackPublication({ required lk_models.TrackInfo info, }) : sid = info.sid, name = info.name, - _mimeType = info.mimeType, kind = info.type, - source = info.source.toLKType() { + source = info.source.toLKType(), + _simulcasted = info.simulcast, + _mimeType = info.mimeType { updateFromInfo(info); } @@ -56,10 +64,10 @@ abstract class TrackPublication extends Disposable { kind == lk_models.TrackType.VIDEO && name == Track.screenShareName; void updateFromInfo(lk_models.TrackInfo info) { - simulcasted = info.simulcast; + _simulcasted = info.simulcast; _mimeType = info.mimeType; if (info.type == lk_models.TrackType.VIDEO) { - dimension = VideoDimensions(info.width, info.height); + _dimensions = VideoDimensions(info.width, info.height); } }