From 03a7672cf1d161246b99ae326832f71ed0b8ed11 Mon Sep 17 00:00:00 2001 From: CloudWebRTC Date: Mon, 22 May 2023 12:17:34 +0800 Subject: [PATCH] fix: default options for fast connect. (#289) --- example/android/app/build.gradle | 2 +- example/lib/pages/connect.dart | 18 ++++++++++++++++-- lib/src/core/room.dart | 23 ++++++++++++++--------- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 192bcfe..296f231 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 31 + compileSdkVersion 33 sourceSets { main.java.srcDirs += 'src/main/kotlin' diff --git a/example/lib/pages/connect.dart b/example/lib/pages/connect.dart index 1b02609..932ab3f 100644 --- a/example/lib/pages/connect.dart +++ b/example/lib/pages/connect.dart @@ -148,9 +148,23 @@ class _ConnectPageState extends State { defaultVideoPublishOptions: VideoPublishOptions( simulcast: _simulcast, ), - defaultScreenShareCaptureOptions: - const ScreenShareCaptureOptions(useiOSBroadcastExtension: true), + defaultScreenShareCaptureOptions: const ScreenShareCaptureOptions( + useiOSBroadcastExtension: true, + params: VideoParameters( + dimensions: VideoDimensionsPresets.h1080_169, + encoding: VideoEncoding( + maxBitrate: 3 * 1000 * 1000, + maxFramerate: 15, + ))), e2eeOptions: e2eeOptions, + defaultCameraCaptureOptions: const CameraCaptureOptions( + maxFrameRate: 30, + params: VideoParameters( + dimensions: VideoDimensionsPresets.h720_169, + encoding: VideoEncoding( + maxBitrate: 2 * 1000 * 1000, + maxFramerate: 30, + ))), ), fastConnectOptions: _fastConnect ? FastConnectOptions( diff --git a/lib/src/core/room.dart b/lib/src/core/room.dart index bc0914d..e4393eb 100644 --- a/lib/src/core/room.dart +++ b/lib/src/core/room.dart @@ -201,30 +201,35 @@ class Room extends DisposableChangeNotifier with EventsEmittable { var audio = options.microphone; if (audio.enabled != null && audio.enabled == true) { if (audio.track != null) { - _localParticipant! - .publishAudioTrack(audio.track as LocalAudioTrack); + _localParticipant!.publishAudioTrack(audio.track as LocalAudioTrack, + publishOptions: roomOptions.defaultAudioPublishOptions); } else { - _localParticipant!.setMicrophoneEnabled(true); + _localParticipant!.setMicrophoneEnabled(true, + audioCaptureOptions: roomOptions.defaultAudioCaptureOptions); } } var video = options.camera; if (video.enabled != null && video.enabled == true) { if (video.track != null) { - _localParticipant! - .publishVideoTrack(video.track as LocalVideoTrack); + _localParticipant!.publishVideoTrack(video.track as LocalVideoTrack, + publishOptions: roomOptions.defaultVideoPublishOptions); } else { - _localParticipant!.setCameraEnabled(true); + _localParticipant!.setCameraEnabled(true, + cameraCaptureOptions: roomOptions.defaultCameraCaptureOptions); } } var screen = options.screen; if (screen.enabled != null && screen.enabled == true) { if (screen.track != null) { - _localParticipant! - .publishVideoTrack(screen.track as LocalVideoTrack); + _localParticipant!.publishVideoTrack( + screen.track as LocalVideoTrack, + publishOptions: roomOptions.defaultVideoPublishOptions); } else { - _localParticipant!.setScreenShareEnabled(true); + _localParticipant!.setScreenShareEnabled(true, + screenShareCaptureOptions: + roomOptions.defaultScreenShareCaptureOptions); } } }