From 677ad94e7515c5e13a552c719c3725e3840b715b Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Mon, 3 Jan 2022 16:37:51 +0700 Subject: [PATCH] more logging for dynacast --- example/lib/main.dart | 4 +++- example/pubspec.lock | 7 +++++++ example/pubspec.yaml | 1 + lib/src/core/room.dart | 6 +++++- lib/src/publication/local.dart | 15 +++++++++++++-- 5 files changed, 29 insertions(+), 4 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index e5816b6..b6ec9af 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,14 +1,16 @@ import 'package:flutter/material.dart'; import 'package:livekit_example/theme.dart'; import 'package:logging/logging.dart'; +import 'package:intl/intl.dart'; import 'pages/connect.dart'; void main() { + final format = DateFormat('HH:mm:ss'); // configure logs for debugging Logger.root.level = Level.FINE; Logger.root.onRecord.listen((record) { - print('${record.level.name}: ${record.message}'); + print('${format.format(record.time)}: ${record.message}'); }); WidgetsFlutterBinding.ensureInitialized(); diff --git a/example/pubspec.lock b/example/pubspec.lock index df91664..44bb08f 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -156,6 +156,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.0.0" + intl: + dependency: "direct main" + description: + name: intl + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.0" js: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 676cee1..ed8739c 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -11,6 +11,7 @@ dependencies: flutter: sdk: flutter + intl: ^0.17.0 flutter_background: 1.1.0 provider: ^6.0.1 logging: ^1.0.1 diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index c4c4f69..17168fe 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -177,7 +177,11 @@ class Room extends DisposableChangeNotifier with EventsEmittable { // Signal for Dynacast final options = roomOptions ?? const RoomOptions(); // Dynacast is off or is unsupported - if (!options.dynacast || _serverVersion == '0.15.1') return; + if (!options.dynacast || _serverVersion == '0.15.1') { + logger.fine('Received subscribed quality update' + ' but Dynacast is off or server version is not supported.'); + return; + } // Find the publication final publication = localParticipant?.trackPublications[event.trackSid]; if (publication == null) { diff --git a/lib/src/publication/local.dart b/lib/src/publication/local.dart index 9b1bbf3..dfdea85 100644 --- a/lib/src/publication/local.dart +++ b/lib/src/publication/local.dart @@ -37,15 +37,24 @@ class LocalTrackPublication extends TrackPublication { @internal void updatePublishingLayers(List layers) async { // + logger.fine('Update publishing layers: $layers'); + final params = track?.sender?.parameters; - if (params == null) return; + if (params == null) { + logger.fine('Update publishing layers: sender params are null'); + return; + } final encodings = params.encodings; - if (encodings == null) return; + if (encodings == null) { + logger.fine('Update publishing layers: encodings are null'); + return; + } bool didChange = false; for (final encoding in encodings) { + logger.fine('Processing encoding: ${encoding.rid}...'); final layer = layers.firstWhereOrNull((e) => // If there is exact match, use it (e.quality.toRid() == encoding.rid) || @@ -67,6 +76,8 @@ class LocalTrackPublication extends TrackPublication { if (result == false) { logger.warning('Failed to update sender parameters'); } + } else { + logger.fine('Update publishing layers: nothing to change'); } } }