diff --git a/libs/faudio/include/FAudio.h b/libs/faudio/include/FAudio.h index 88d5e996cbf..565e0b14067 100644 --- a/libs/faudio/include/FAudio.h +++ b/libs/faudio/include/FAudio.h @@ -485,7 +485,7 @@ extern FAudioGUID DATAFORMAT_SUBTYPE_IEEE_FLOAT; #define FAUDIO_ABI_VERSION 0 #define FAUDIO_MAJOR_VERSION 22 -#define FAUDIO_MINOR_VERSION 8 +#define FAUDIO_MINOR_VERSION 11 #define FAUDIO_PATCH_VERSION 0 #define FAUDIO_COMPILED_VERSION ( \ diff --git a/libs/faudio/src/FACT.c b/libs/faudio/src/FACT.c index f7b3a64bb8e..649abf2111c 100644 --- a/libs/faudio/src/FACT.c +++ b/libs/faudio/src/FACT.c @@ -2409,7 +2409,6 @@ uint32_t FACTCue_Destroy(FACTCue *pCue) { FACTCue *cue, *prev; FAudioMutex mutex; - FACTNotification note; if (pCue == NULL) { return 1; diff --git a/libs/faudio/src/FAudio.c b/libs/faudio/src/FAudio.c index be3b038185f..559837c410b 100644 --- a/libs/faudio/src/FAudio.c +++ b/libs/faudio/src/FAudio.c @@ -678,16 +678,27 @@ uint32_t FAudio_CreateMasteringVoice( uint32_t DeviceIndex, const FAudioEffectChain *pEffectChain ) { - FAudioDeviceDetails details; - LOG_API_ENTER(audio) /* For now we only support one allocated master voice at a time */ FAudio_assert(audio->master == NULL); - if (FAudio_GetDeviceDetails(audio, DeviceIndex, &details) != 0) + if ( InputChannels == FAUDIO_DEFAULT_CHANNELS || + InputSampleRate == FAUDIO_DEFAULT_SAMPLERATE ) { - return FAUDIO_E_INVALID_CALL; + FAudioDeviceDetails details; + if (FAudio_GetDeviceDetails(audio, DeviceIndex, &details) != 0) + { + return FAUDIO_E_INVALID_CALL; + } + if (InputChannels == FAUDIO_DEFAULT_CHANNELS) + { + InputChannels = details.OutputFormat.Format.nChannels; + } + if (InputSampleRate == FAUDIO_DEFAULT_SAMPLERATE) + { + InputSampleRate = details.OutputFormat.Format.nSamplesPerSec; + } } *ppMasteringVoice = (FAudioMasteringVoice*) audio->pMalloc(sizeof(FAudioVoice)); @@ -704,12 +715,8 @@ uint32_t FAudio_CreateMasteringVoice( (*ppMasteringVoice)->volume = 1.0f; /* Master Properties */ - (*ppMasteringVoice)->master.inputChannels = (InputChannels == FAUDIO_DEFAULT_CHANNELS) ? - details.OutputFormat.Format.nChannels : - InputChannels; - (*ppMasteringVoice)->master.inputSampleRate = (InputSampleRate == FAUDIO_DEFAULT_SAMPLERATE) ? - details.OutputFormat.Format.nSamplesPerSec : - InputSampleRate; + (*ppMasteringVoice)->master.inputChannels = InputChannels; + (*ppMasteringVoice)->master.inputSampleRate = InputSampleRate; /* Sends/Effects */ FAudio_zero(&(*ppMasteringVoice)->sends, sizeof(FAudioVoiceSends)); diff --git a/libs/faudio/src/FAudioFX_reverb.c b/libs/faudio/src/FAudioFX_reverb.c index b357b772ec6..48f55f49fba 100644 --- a/libs/faudio/src/FAudioFX_reverb.c +++ b/libs/faudio/src/FAudioFX_reverb.c @@ -130,11 +130,13 @@ static inline float DspDelay_Process(DspDelay *filter, float sample_in) return delay_out; } +/* FIXME: This is currently unused! What was it for...? -flibit static inline float DspDelay_Tap(DspDelay *filter, uint32_t delay) { FAudio_assert(delay <= filter->delay); return filter->buffer[(filter->write_idx - delay + filter->capacity) % filter->capacity]; } +*/ static inline void DspDelay_Reset(DspDelay *filter) {