participant to parent (TrackPublication)
This commit is contained in:
@@ -35,7 +35,9 @@ class RemoteTrackPublication<T extends RemoteTrack> extends TrackPublication {
|
||||
@override
|
||||
covariant T? track;
|
||||
|
||||
final RemoteParticipant _participant;
|
||||
@override
|
||||
final RemoteParticipant participant;
|
||||
|
||||
bool _enabled = true;
|
||||
lk_rtc.VideoQuality _videoQuality = lk_rtc.VideoQuality.HIGH;
|
||||
lk_rtc.VideoQuality get videoQuality => _videoQuality;
|
||||
@@ -46,11 +48,11 @@ class RemoteTrackPublication<T extends RemoteTrack> extends TrackPublication {
|
||||
Function(void)? _visibilityDidUpdate;
|
||||
Function? _cancelVisibilityDebounceFunc;
|
||||
|
||||
RemoteTrackPublication(
|
||||
lk_models.TrackInfo info,
|
||||
this._participant, [
|
||||
RemoteTrackPublication({
|
||||
required this.participant,
|
||||
required lk_models.TrackInfo info,
|
||||
Track? track,
|
||||
]) : super.fromInfo(info) {
|
||||
}) : super(info: info) {
|
||||
// register dispose func
|
||||
onDispose(() async {
|
||||
_cancelVisibilityDebounceFunc?.call();
|
||||
@@ -142,7 +144,7 @@ class RemoteTrackPublication<T extends RemoteTrack> extends TrackPublication {
|
||||
}
|
||||
|
||||
logger.fine('[Visibility] Sending to server ${settings.toProto3Json()}');
|
||||
_participant.engine.signalClient.sendUpdateTrackSettings(settings);
|
||||
participant.engine.signalClient.sendUpdateTrackSettings(settings);
|
||||
}
|
||||
|
||||
@internal
|
||||
@@ -154,7 +156,7 @@ class RemoteTrackPublication<T extends RemoteTrack> extends TrackPublication {
|
||||
// and the attached track is a video track
|
||||
if (didUpdate &&
|
||||
newValue != null &&
|
||||
_participant.engine.connectOptions.optimizeVideo &&
|
||||
participant.engine.connectOptions.optimizeVideo &&
|
||||
newValue.kind == lk_models.TrackType.VIDEO) {
|
||||
//
|
||||
// Attach visibility event listener (if video track)
|
||||
@@ -195,9 +197,8 @@ class RemoteTrackPublication<T extends RemoteTrack> extends TrackPublication {
|
||||
// Ideally, we should wait for WebRTC's onRemoveTrack event
|
||||
// but it does not work reliably across platforms.
|
||||
// So for now we will assume remove track succeeded.
|
||||
[_participant.events, _participant.roomEvents]
|
||||
.emit(TrackUnsubscribedEvent(
|
||||
participant: _participant,
|
||||
[participant.events, participant.roomEvents].emit(TrackUnsubscribedEvent(
|
||||
participant: participant,
|
||||
track: track!,
|
||||
publication: this,
|
||||
));
|
||||
@@ -212,7 +213,7 @@ class RemoteTrackPublication<T extends RemoteTrack> extends TrackPublication {
|
||||
trackSids: [sid],
|
||||
subscribe: subscribed,
|
||||
);
|
||||
_participant.engine.signalClient.sendUpdateSubscription(subscription);
|
||||
participant.engine.signalClient.sendUpdateSubscription(subscription);
|
||||
}
|
||||
|
||||
void _sendUpdateTrackSettings() {
|
||||
@@ -223,6 +224,6 @@ class RemoteTrackPublication<T extends RemoteTrack> extends TrackPublication {
|
||||
if (kind == lk_models.TrackType.VIDEO) {
|
||||
settings.quality = _videoQuality;
|
||||
}
|
||||
_participant.engine.signalClient.sendUpdateTrackSettings(settings);
|
||||
participant.engine.signalClient.sendUpdateTrackSettings(settings);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user