Subscription permission API (#68)

* signal

* request

* implement

* rename event

* ref

* adjustments based on review

* override subscribed

* move events emit

* fix subscription state

* minor change

* update example for permissions demo

* format & subscriptionState as computed property

* prepare macos build

* unsubscribed event when subscription not allowed
This commit is contained in:
Hiroshi Horie
2022-01-10 23:48:44 +07:00
committed by GitHub
parent 9a37129504
commit aef1fd8804
12 changed files with 259 additions and 24 deletions
+19
View File
@@ -191,6 +191,25 @@ class Room extends DisposableChangeNotifier with EventsEmittable<RoomEvent> {
}
publication.updatePublishingLayers(event.updates);
})
..on<SignalSubscriptionPermissionUpdateEvent>((event) async {
logger.fine('SignalSubscriptionPermissionUpdateEvent '
'participantSid:${event.participantSid} '
'trackSid:${event.trackSid} '
'allowed:${event.allowed}');
// find participant
final participant = _participants[event.participantSid];
if (participant == null) {
return;
}
// find track
final publication = participant.trackPublications[event.trackSid];
if (publication == null) {
return;
}
//
await publication.updateSubscriptionAllowed(event.allowed);
})
..on<EngineTrackAddedEvent>((event) async {
logger.fine('EngineTrackAddedEvent trackSid:${event.track.id}');