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.track,
required this.muted, required this.muted,
}); });
@override
String toString() =>
'TrackMuteUpdatedEvent(track: ${track}, muted: ${muted})';
} }
// //
@@ -1,3 +1,4 @@
import '../logger.dart';
import '../events.dart'; import '../events.dart';
import '../extensions.dart'; import '../extensions.dart';
import '../internal/events.dart'; import '../internal/events.dart';
@@ -33,6 +34,7 @@ class LocalTrackPublication<T extends LocalTrack> extends TrackPublication<T> {
// listen for track muted events // listen for track muted events
..on<TrackMuteUpdatedEvent>((event) { ..on<TrackMuteUpdatedEvent>((event) {
// send signal to server // send signal to server
logger.fine('${this} sending mute signal ${sid}, ${event.muted}');
participant.room.engine.signalClient.sendMuteTrack(sid, event.muted); participant.room.engine.signalClient.sendMuteTrack(sid, event.muted);
// emit events // emit events
final newEvent = event.muted final newEvent = event.muted
+9 -5
View File
@@ -32,27 +32,31 @@ abstract class LocalTrack extends Track {
mediaStreamTrack, mediaStreamTrack,
); );
// only local tracks can set muted // Only local tracks can set muted.
Future<void> mute() async { // Returns true if muted, false if unchanged.
Future<bool> mute() async {
logger.fine('LocalTrack.mute() muted: $muted'); logger.fine('LocalTrack.mute() muted: $muted');
if (muted) return; if (muted) return false; // already muted
await disable(); await disable();
if (!Platform.isWindows) { if (!Platform.isWindows) {
await stop(); await stop();
} }
updateMuted(true); updateMuted(true);
events.emit(TrackMuteUpdatedEvent(track: this, muted: muted)); 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'); logger.fine('LocalTrack.unmute() muted: $muted');
if (!muted) return; if (!muted) return false; // already un-muted
if (!Platform.isWindows) { if (!Platform.isWindows) {
await restartTrack(); await restartTrack();
} }
await enable(); await enable();
updateMuted(false); updateMuted(false);
events.emit(TrackMuteUpdatedEvent(track: this, muted: muted)); events.emit(TrackMuteUpdatedEvent(track: this, muted: muted));
return true;
} }
@override @override