[Protocol v7] Remote unpublish & expose permissions (#101)

* fix

* impl

* oldPermissions

* mods
This commit is contained in:
Hiroshi Horie
2022-04-04 16:09:15 +09:00
committed by GitHub
parent cd4a3f5c8a
commit 48754e1672
10 changed files with 100 additions and 2 deletions
+16 -1
View File
@@ -1,5 +1,4 @@
import 'package:flutter/foundation.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
import 'package:meta/meta.dart';
@@ -17,6 +16,7 @@ import '../track/local/audio.dart';
import '../track/local/local.dart';
import '../track/local/video.dart';
import '../types/other.dart';
import '../types/participant_permissions.dart';
import '../types/video_dimensions.dart';
import '../utils.dart';
import 'participant.dart';
@@ -339,4 +339,19 @@ class LocalParticipant extends Participant<LocalTrackPublication> {
@internal
Iterable<lk_rtc.TrackPublishedResponse> publishedTracksInfo() =>
trackPublications.values.map((e) => e.toPBTrackPublishedResponse());
@internal
@override
ParticipantPermissions? setPermissions(ParticipantPermissions newValue) {
final oldValue = super.setPermissions(newValue);
if (oldValue != null) {
// notify
[events, room.events].emit(ParticipantPermissionsUpdatedEvent(
participant: this,
permissions: newValue,
oldPermissions: oldValue,
));
}
return oldValue;
}
}