Changed the order of the setters for mediaRecorder in MediaRecorderBuilder.java to make it more readable. (#3181)
diff --git a/packages/camera/CHANGELOG.md b/packages/camera/CHANGELOG.md index 3aec9b9..f6ff34d 100644 --- a/packages/camera/CHANGELOG.md +++ b/packages/camera/CHANGELOG.md
@@ -1,3 +1,7 @@ +## 0.5.8+14 + +* Changed the order of the setters for `mediaRecorder` in `MediaRecorderBuilder.java` to make it more readable. + ## 0.5.8+13 * Added Dartdocs for all public APIs.
diff --git a/packages/camera/android/src/main/java/io/flutter/plugins/camera/media/MediaRecorderBuilder.java b/packages/camera/android/src/main/java/io/flutter/plugins/camera/media/MediaRecorderBuilder.java index 57dc6e6..b2309c8 100644 --- a/packages/camera/android/src/main/java/io/flutter/plugins/camera/media/MediaRecorderBuilder.java +++ b/packages/camera/android/src/main/java/io/flutter/plugins/camera/media/MediaRecorderBuilder.java
@@ -49,18 +49,18 @@ public MediaRecorder build() throws IOException { MediaRecorder mediaRecorder = recorderFactory.makeMediaRecorder(); - // There's a specific order that mediaRecorder expects. Do not change the order - // of these function calls. - if (enableAudio) { - mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); - mediaRecorder.setAudioEncodingBitRate(recordingProfile.audioBitRate); - } + // There's a fixed order that mediaRecorder expects. Only change these functions accordingly. + // You can find the specifics here: https://developer.android.com/reference/android/media/MediaRecorder. + if (enableAudio) mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE); mediaRecorder.setOutputFormat(recordingProfile.fileFormat); - if (enableAudio) mediaRecorder.setAudioEncoder(recordingProfile.audioCodec); + if (enableAudio) { + mediaRecorder.setAudioEncoder(recordingProfile.audioCodec); + mediaRecorder.setAudioEncodingBitRate(recordingProfile.audioBitRate); + mediaRecorder.setAudioSamplingRate(recordingProfile.audioSampleRate); + } mediaRecorder.setVideoEncoder(recordingProfile.videoCodec); mediaRecorder.setVideoEncodingBitRate(recordingProfile.videoBitRate); - if (enableAudio) mediaRecorder.setAudioSamplingRate(recordingProfile.audioSampleRate); mediaRecorder.setVideoFrameRate(recordingProfile.videoFrameRate); mediaRecorder.setVideoSize(recordingProfile.videoFrameWidth, recordingProfile.videoFrameHeight); mediaRecorder.setOutputFile(outputFilePath);
diff --git a/packages/camera/android/src/test/java/io/flutter/plugins/camera/media/MediaRecorderBuilderTest.java b/packages/camera/android/src/test/java/io/flutter/plugins/camera/media/MediaRecorderBuilderTest.java index f60e85d..622b49b 100644 --- a/packages/camera/android/src/test/java/io/flutter/plugins/camera/media/MediaRecorderBuilderTest.java +++ b/packages/camera/android/src/test/java/io/flutter/plugins/camera/media/MediaRecorderBuilderTest.java
@@ -69,13 +69,13 @@ InOrder inOrder = inOrder(recorder); inOrder.verify(recorder).setAudioSource(MediaRecorder.AudioSource.MIC); - inOrder.verify(recorder).setAudioEncodingBitRate(recorderProfile.audioBitRate); inOrder.verify(recorder).setVideoSource(MediaRecorder.VideoSource.SURFACE); inOrder.verify(recorder).setOutputFormat(recorderProfile.fileFormat); inOrder.verify(recorder).setAudioEncoder(recorderProfile.audioCodec); + inOrder.verify(recorder).setAudioEncodingBitRate(recorderProfile.audioBitRate); + inOrder.verify(recorder).setAudioSamplingRate(recorderProfile.audioSampleRate); inOrder.verify(recorder).setVideoEncoder(recorderProfile.videoCodec); inOrder.verify(recorder).setVideoEncodingBitRate(recorderProfile.videoBitRate); - inOrder.verify(recorder).setAudioSamplingRate(recorderProfile.audioSampleRate); inOrder.verify(recorder).setVideoFrameRate(recorderProfile.videoFrameRate); inOrder .verify(recorder)
diff --git a/packages/camera/pubspec.yaml b/packages/camera/pubspec.yaml index 5f2debb..de7d8b5 100644 --- a/packages/camera/pubspec.yaml +++ b/packages/camera/pubspec.yaml
@@ -2,8 +2,7 @@ description: A Flutter plugin for getting information about and controlling the camera on Android and iOS. Supports previewing the camera feed, capturing images, capturing video, and streaming image buffers to dart. -version: 0.5.8+13 - +version: 0.5.8+14 homepage: https://github.com/flutter/plugins/tree/master/packages/camera dependencies: