better logging for mute

This commit is contained in:
Hiroshi Horie
2021-12-11 18:26:58 +07:00
parent 9c573f4924
commit 2b88ffd5f9
3 changed files with 15 additions and 5 deletions
+4
View File
@@ -74,6 +74,10 @@ class TrackMuteUpdatedEvent with TrackEvent, InternalEvent {
required this.track,
required this.muted,
});
@override
String toString() =>
'TrackMuteUpdatedEvent(track: ${track}, muted: ${muted})';
}
//
@@ -1,3 +1,4 @@
import '../logger.dart';
import '../events.dart';
import '../extensions.dart';
import '../internal/events.dart';
@@ -33,6 +34,7 @@ class LocalTrackPublication<T extends LocalTrack> extends TrackPublication<T> {
// listen for track muted events
..on<TrackMuteUpdatedEvent>((event) {
// send signal to server
logger.fine('${this} sending mute signal ${sid}, ${event.muted}');
participant.room.engine.signalClient.sendMuteTrack(sid, event.muted);
// emit events
final newEvent = event.muted
+9 -5
View File
@@ -32,27 +32,31 @@ abstract class LocalTrack extends Track {
mediaStreamTrack,
);
// only local tracks can set muted
Future<void> mute() async {
// Only local tracks can set muted.
// Returns true if muted, false if unchanged.
Future<bool> mute() async {
logger.fine('LocalTrack.mute() muted: $muted');
if (muted) return;
if (muted) return false; // already muted
await disable();
if (!Platform.isWindows) {
await stop();
}
updateMuted(true);
events.emit(TrackMuteUpdatedEvent(track: this, muted: muted));
return true;
}
Future<void> unmute() async {
// Returns true if unmuted, false if unchanged.
Future<bool> unmute() async {
logger.fine('LocalTrack.unmute() muted: $muted');
if (!muted) return;
if (!muted) return false; // already un-muted
if (!Platform.isWindows) {
await restartTrack();
}
await enable();
updateMuted(false);
events.emit(TrackMuteUpdatedEvent(track: this, muted: muted));
return true;
}
@override