Skip to content

Commit 9b636a3

Browse files
authored
fix: fallback to nearest bitrate when switching formats (#152)
1 parent 6fab2c2 commit 9b636a3

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

app/src/main/kotlin/org/fossify/voicerecorder/activities/SettingsActivity.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import org.fossify.voicerecorder.helpers.SAMPLING_RATE_BITRATE_LIMITS
4545
import org.fossify.voicerecorder.models.Events
4646
import org.greenrobot.eventbus.EventBus
4747
import java.util.Locale
48+
import kotlin.math.abs
4849
import kotlin.system.exitProcess
4950

5051
class SettingsActivity : SimpleActivity() {
@@ -226,7 +227,11 @@ class SettingsActivity : SimpleActivity() {
226227
private fun adjustBitrate() {
227228
val availableBitrates = BITRATES[config.extension]!!
228229
if (!availableBitrates.contains(config.bitrate)) {
229-
config.bitrate = DEFAULT_BITRATE
230+
val currentBitrate = config.bitrate
231+
val closestBitrate = availableBitrates.minByOrNull { abs(it - currentBitrate) }
232+
?: DEFAULT_BITRATE
233+
234+
config.bitrate = closestBitrate
230235
binding.settingsBitrate.text = getBitrateText(config.bitrate)
231236
}
232237
}

app/src/main/kotlin/org/fossify/voicerecorder/helpers/Constants.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("MagicNumber")
2+
13
package org.fossify.voicerecorder.helpers
24

35
const val REPOSITORY_NAME = "Voice-Recorder"

0 commit comments

Comments
 (0)