Use ParticipantTracks for UpdateSubscription (#75)

* impl

* fix
This commit is contained in:
Hiroshi Horie
2022-01-26 17:57:34 +07:00
committed by GitHub
parent 77b6a60244
commit 4aa0e0f427
2 changed files with 11 additions and 5 deletions
+5 -4
View File
@@ -1,5 +1,3 @@
import 'dart:collection';
import 'package:collection/collection.dart';
import '../core/signal_client.dart';
@@ -461,11 +459,14 @@ class Room extends DisposableChangeNotifier with EventsEmittable<RoomEvent> {
Future<void> _sendSyncState() async {
final connectOptions = this.connectOptions ?? const ConnectOptions();
final sendUnSub = connectOptions.autoSubscribe;
final participantTracks =
participants.values.map((e) => e.participantTracks());
engine.sendSyncState(
subscription: lk_rtc.UpdateSubscription(
participantTracks: participantTracks,
// Deprecated
trackSids: participantTracks.map((e) => e.trackSids).flattened,
subscribe: !sendUnSub,
participantTracks:
participants.values.map((e) => e.participantTracks()),
),
publishTracks: localParticipant?.publishedTracksInfo(),
);
+6 -1
View File
@@ -265,8 +265,13 @@ class RemoteTrackPublication<T extends RemoteTrack>
void _sendUpdateSubscription({required bool subscribed}) {
logger.fine('Sending update subscription... ${sid} ${subscribed}');
final subscription = lk_rtc.UpdateSubscription(
final participantTrack = lk_models.ParticipantTracks(
participantSid: participant.sid,
trackSids: [sid],
);
final subscription = lk_rtc.UpdateSubscription(
participantTracks: [participantTrack],
trackSids: [sid], // Deprecated
subscribe: subscribed,
);
participant.room.engine.signalClient.sendUpdateSubscription(subscription);