Fix audio processing when saving

Related to #112

Update the `saveRecording` function in `RecorderEventsHandler.kt` to handle the case where there is only one batch and skip processing.

* Add a check to see if there is only one batch and skip concatenation if true.
* Modify the `saveRecording` function to use the single batch file path if there is only one batch.
* Update the `saveAudioFile` and `saveVideoFile` calls to use the single batch file path if there is only one batch.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Myzel394/Alibi/issues/112?shareId=XXXX-XXXX-XXXX-XXXX).
This commit is contained in:
Myzel394 2024-08-05 22:34:41 +02:00
parent 061ed8b156
commit 9de42e5611

View File

@ -176,14 +176,18 @@ fun RecorderEventsHandler(
else -> throw Exception("Unknown recorder type")
}
batchesFolder.concatenate(
recording.recordingStart,
recording.fileExtension,
durationPerBatchInMilliseconds = settings.intervalDuration,
onProgress = { percentage ->
processingProgress = percentage
}
)
val outputFile = if (batchesFolder.getBatchesForFFmpeg().size == 1) {
batchesFolder.getBatchesForFFmpeg().first()
} else {
batchesFolder.concatenate(
recording.recordingStart,
recording.fileExtension,
durationPerBatchInMilliseconds = settings.intervalDuration,
onProgress = { percentage ->
processingProgress = percentage
}
)
}
// Save file
val name = batchesFolder.getName(
@ -196,19 +200,13 @@ fun RecorderEventsHandler(
when (batchesFolder) {
is AudioBatchesFolder -> {
saveAudioFile(
batchesFolder.asInternalGetOutputFile(
recording.recordingStart,
recording.fileExtension,
), name
outputFile, name
)
}
is VideoBatchesFolder -> {
saveVideoFile(
batchesFolder.asInternalGetOutputFile(
recording.recordingStart,
recording.fileExtension,
), name
outputFile, name
)
}
}
@ -368,4 +366,4 @@ fun RecorderEventsHandler(
showRecorderError = false
},
)
}
}