I want to implement a dsp plugin to capture audio data and save wav file, using getsamplerate api to get error 24000(48000 is correct) sample rate
FMOD_RESULT F_CALLBACK myDSPCreateCallback(FMOD_DSP_STATE *dsp_state)
{
unsigned int blocksize;
int bitrate;
FMOD_RESULT result;
result = dsp_state->functions->getblocksize(dsp_state, &blocksize);
ERRCHECK(result);
result = dsp_state->functions->getsamplerate(dsp_state, &bitrate);
ERRCHECK(result);
mydsp_data_t *data = (mydsp_data_t *)calloc(sizeof(mydsp_data_t), 1);
if (!data)
{
return FMOD_ERR_MEMORY;
}
dsp_state->plugindata = data;
if (g_record) {
data->record = g_record;
}
if (g_bitpersample > 0){
data->sample_bits = g_bitpersample;
}
data->sample_length = blocksize;
data->sample_rate = bitrate;
data->buffer = (float *)malloc(blocksize * 8 * sizeof(float));
if (!data->buffer)
{
return FMOD_ERR_MEMORY;
}
return FMOD_OK;
}