From a43e74ed7002effae12bcf76b4d6244e6ebf86d3 Mon Sep 17 00:00:00 2001 From: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com> Date: Wed, 20 Oct 2021 05:09:50 +0900 Subject: [PATCH] fix android hardware encoder issue --- lib/src/utils.dart | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/src/utils.dart b/lib/src/utils.dart index 077b1d9..4d2caf3 100644 --- a/lib/src/utils.dart +++ b/lib/src/utils.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc; +import 'package:livekit_client/src/logger.dart'; import 'extensions.dart'; import 'options.dart'; @@ -111,16 +112,18 @@ class Utils { if (width >= 960) ...[ midPreset.encoding.toRTCRtpEncoding( rid: 'h', - scaleResolutionDownBy: height / midPreset.height, + // passing decimals to hardware encoder of android devices + // often causes issues so we better use integers + scaleResolutionDownBy: 2, ), lowPreset.encoding.toRTCRtpEncoding( rid: 'q', - scaleResolutionDownBy: height / lowPreset.height, + scaleResolutionDownBy: 4, ), ] else lowPreset.encoding.toRTCRtpEncoding( rid: 'h', - scaleResolutionDownBy: height / lowPreset.height, + scaleResolutionDownBy: 2, ), ]; }