Dsp_state->functions->getsamplerate(dsp_state, &bitrate) get incorrect sample rate

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;
}

DSP_state::functions::getsamplerate should return the same value as System::getSoftwareFormat which, if it is on a mobile device will default to 24KHz.