From d6205c1b9ee10059d9c1155199d4399524d0d95e Mon Sep 17 00:00:00 2001 From: Anantha Eswar Date: Tue, 23 Jun 2026 14:12:25 +0530 Subject: [PATCH 1/2] [camera_android_camerax] Pass targetVideoEncodingBitRate to Recorder --- .../lib/src/android_camera_camerax.dart | 5 ++++- .../test/android_camera_camerax_test.dart | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart index 0c84bdf2f2e5..6c2a1328857b 100644 --- a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart +++ b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart @@ -413,7 +413,10 @@ class AndroidCameraCameraX extends CameraPlatform { ); // Configure VideoCapture and Recorder instances. - recorder = Recorder(qualitySelector: presetQualitySelector); + recorder = Recorder( + qualitySelector: presetQualitySelector, + targetVideoEncodingBitRate: mediaSettings?.videoBitrate, + ); videoCapture = VideoCapture.withOutput(videoOutput: recorder!, targetFpsRange: _targetFpsRange); // Retrieve info required for correcting the rotation of the camera preview diff --git a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart index afc297894d29..1e3fa97252ee 100644 --- a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart +++ b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart @@ -530,8 +530,10 @@ void main() { }) { return mockImageCapture; }; + int? recorderTargetVideoEncodingBitRate; PigeonOverrides.recorder_new = ({int? aspectRatio, int? targetVideoEncodingBitRate, QualitySelector? qualitySelector}) { + recorderTargetVideoEncodingBitRate = targetVideoEncodingBitRate; return mockRecorder; }; PigeonOverrides.videoCapture_withOutput = @@ -658,6 +660,7 @@ void main() { // Verify the camera's Recorder and VideoCapture instances are instantiated properly. expect(camera.recorder, equals(mockRecorder)); + expect(recorderTargetVideoEncodingBitRate, equals(200000)); expect(camera.videoCapture, equals(mockVideoCapture)); // Verify the camera's Preview instance has its surface provider set. From 1a59253e89645431ff740a2d9e36932163cebeb3 Mon Sep 17 00:00:00 2001 From: Anantha Eswar Date: Tue, 23 Jun 2026 15:06:53 +0530 Subject: [PATCH 2/2] Bump version to 0.7.3 and update CHANGELOG --- packages/camera/camera_android_camerax/CHANGELOG.md | 4 ++++ packages/camera/camera_android_camerax/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/camera/camera_android_camerax/CHANGELOG.md b/packages/camera/camera_android_camerax/CHANGELOG.md index a98f51e54eae..8debb8c4e53e 100644 --- a/packages/camera/camera_android_camerax/CHANGELOG.md +++ b/packages/camera/camera_android_camerax/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.7.3 + +* Fixes `videoBitrate` configuration being ignored during video recording. + ## 0.7.2+1 * Migrates to Built-in Kotlin to support AGP 9. diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index 5225408a8bde..257f6fa5d16b 100644 --- a/packages/camera/camera_android_camerax/pubspec.yaml +++ b/packages/camera/camera_android_camerax/pubspec.yaml @@ -2,7 +2,7 @@ name: camera_android_camerax description: Android implementation of the camera plugin using the CameraX library. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android_camerax issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.7.2+1 +version: 0.7.3 environment: sdk: ^3.12.0