This commit is contained in:
Demur Rumed 2025-07-04 06:30:32 +00:00
commit 49a1d62009
4 changed files with 20 additions and 20 deletions

View file

@ -22,13 +22,13 @@ bool SfxExtractor::isAllSilence(int16_t* buffer, size_t count) {
} }
bool SfxExtractor::isSilentSample(int16_t sample) { bool SfxExtractor::isSilentSample(int16_t sample) {
return abs(sample) <= SFX_EXTRACTION_SILENCE_THRESHOLD; return abs(sample) <= SFX_EXTRACTION_SILENCE_THRESHOLD;
} }
// Find the beginning of a captured signal. // Find the beginning of a captured signal.
size_t SfxExtractor::adjustedStartOfInput() { size_t SfxExtractor::adjustedStartOfInput() {
size_t startOfInput = 0; size_t startOfInput = 0;
while (startOfInput + 2 < SFX_EXTRACTION_BUFFER_SIZE * 2 && isSilentSample(tempBuffer[startOfInput]) && isSilentSample(tempBuffer[startOfInput + 1])) { while (startOfInput + 2 < SFX_EXTRACTION_BUFFER_SIZE * 2 && isSilentSample(tempBuffer[startOfInput]) &&
isSilentSample(tempBuffer[startOfInput + 1])) {
startOfInput += 2; startOfInput += 2;
} }
return startOfInput; return startOfInput;
@ -168,7 +168,8 @@ void SfxExtractor::frameCallback() {
} }
void SfxExtractor::prime() { void SfxExtractor::prime() {
int frameLimit = 0;//A couple of sounds don't come to a full stop until another sound is loaded, but should be effectively silent after a couple of seconds. int frameLimit = 0; // A couple of sounds don't come to a full stop until another sound is loaded, but should be
// effectively silent after a couple of seconds.
do { do {
AudioMgr_CreateNextAudioBuffer(tempBuffer + 0, SFX_EXTRACTION_ONE_FRAME); AudioMgr_CreateNextAudioBuffer(tempBuffer + 0, SFX_EXTRACTION_ONE_FRAME);
} while (frameLimit++ < 200 && !isAllSilence(tempBuffer + 0, SFX_EXTRACTION_ONE_FRAME * 2)); } while (frameLimit++ < 200 && !isAllSilence(tempBuffer + 0, SFX_EXTRACTION_ONE_FRAME * 2));

View file

@ -5,7 +5,6 @@
#define SFX_EXTRACTION_ONE_FRAME 560 #define SFX_EXTRACTION_ONE_FRAME 560
#define SFX_EXTRACTION_SILENCE_THRESHOLD 6 // Corresponds to an amplitude of -75dB. #define SFX_EXTRACTION_SILENCE_THRESHOLD 6 // Corresponds to an amplitude of -75dB.
enum CaptureThreadStates { enum CaptureThreadStates {
CT_WAITING, // for a sound to start ripping. CT_WAITING, // for a sound to start ripping.
CT_PRIMING, CT_PRIMING,