Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 626c476f authored by Andy Hung's avatar Andy Hung Committed by Gerrit Code Review
Browse files

Merge "EffectBundle: Add missing sampling rates"

parents 4d004206 f0fb4962
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -121,6 +121,19 @@ typedef enum {
    LVM_FS_DUMMY = LVM_MAXENUM
} LVM_Fs_en;

static inline LVM_Fs_en lvmFsForSampleRate(int sampleRate) {
    static const std::map<int, LVM_Fs_en> kLVMFsMap = {
            {8000, LVM_FS_8000},    {11025, LVM_FS_11025}, {12000, LVM_FS_12000},
            {16000, LVM_FS_16000},  {22050, LVM_FS_22050}, {24000, LVM_FS_24000},
            {32000, LVM_FS_32000},  {44100, LVM_FS_44100}, {48000, LVM_FS_48000},
            {88200, LVM_FS_88200},  {96000, LVM_FS_96000}, {176400, LVM_FS_176400},
            {192000, LVM_FS_192000}};
    if (kLVMFsMap.find(sampleRate) != kLVMFsMap.end()) {
        return kLVMFsMap.at(sampleRate);
    }
    return LVM_FS_INVALID;
}

/* Memory Types */
typedef enum {
    LVM_PERSISTENT_SLOW_DATA = LVM_MEMREGION_PERSISTENT_SLOW_DATA,
+4 −45
Original line number Diff line number Diff line
@@ -415,52 +415,11 @@ int lvmControl(struct EffectContext* pContext, lvmConfigParams_t* plvmConfigPara
    } else {
        return -EINVAL;
    }

    LVM_Fs_en sampleRate;
    switch (plvmConfigParams->samplingFreq) {
        case 8000:
            sampleRate = LVM_FS_8000;
            break;
        case 11025:
            sampleRate = LVM_FS_11025;
            break;
        case 12000:
            sampleRate = LVM_FS_12000;
            break;
        case 16000:
            sampleRate = LVM_FS_16000;
            break;
        case 22050:
            sampleRate = LVM_FS_22050;
            break;
        case 24000:
            sampleRate = LVM_FS_24000;
            break;
        case 32000:
            sampleRate = LVM_FS_32000;
            break;
        case 44100:
            sampleRate = LVM_FS_44100;
            break;
        case 48000:
            sampleRate = LVM_FS_48000;
            break;
        case 88200:
            sampleRate = LVM_FS_88200;
            break;
        case 96000:
            sampleRate = LVM_FS_96000;
            break;
        case 176400:
            sampleRate = LVM_FS_176400;
            break;
        case 192000:
            sampleRate = LVM_FS_192000;
            break;
        default:
    params->SampleRate = lvmFsForSampleRate(plvmConfigParams->samplingFreq);
    if (params->SampleRate == LVM_FS_INVALID) {
        ALOGE("lvmControl invalid sampling rate %d", plvmConfigParams->samplingFreq);
        return -EINVAL;
    }
    params->SampleRate = sampleRate;

    /* Concert Sound parameters */
    params->VirtualizerOperatingMode = plvmConfigParams->csEnable;
+5 −44
Original line number Diff line number Diff line
@@ -957,51 +957,12 @@ int Effect_setConfig(EffectContext* pContext, effect_config_t* pConfig) {
    pContext->config = *pConfig;
    const LVM_INT16 NrChannels = audio_channel_count_from_out_mask(pConfig->inputCfg.channels);

    switch (pConfig->inputCfg.samplingRate) {
        case 8000:
            SampleRate = LVM_FS_8000;
            pContext->pBundledContext->SamplesPerSecond = 8000 * NrChannels;
            break;
        case 16000:
            SampleRate = LVM_FS_16000;
            pContext->pBundledContext->SamplesPerSecond = 16000 * NrChannels;
            break;
        case 22050:
            SampleRate = LVM_FS_22050;
            pContext->pBundledContext->SamplesPerSecond = 22050 * NrChannels;
            break;
        case 32000:
            SampleRate = LVM_FS_32000;
            pContext->pBundledContext->SamplesPerSecond = 32000 * NrChannels;
            break;
        case 44100:
            SampleRate = LVM_FS_44100;
            pContext->pBundledContext->SamplesPerSecond = 44100 * NrChannels;
            break;
        case 48000:
            SampleRate = LVM_FS_48000;
            pContext->pBundledContext->SamplesPerSecond = 48000 * NrChannels;
            break;
        case 88200:
            SampleRate = LVM_FS_88200;
            pContext->pBundledContext->SamplesPerSecond = 88200 * NrChannels;
            break;
        case 96000:
            SampleRate = LVM_FS_96000;
            pContext->pBundledContext->SamplesPerSecond = 96000 * NrChannels;
            break;
        case 176400:
            SampleRate = LVM_FS_176400;
            pContext->pBundledContext->SamplesPerSecond = 176400 * NrChannels;
            break;
        case 192000:
            SampleRate = LVM_FS_192000;
            pContext->pBundledContext->SamplesPerSecond = 192000 * NrChannels;
            break;
        default:
            ALOGV("\tEffect_setConfig invalid sampling rate %d", pConfig->inputCfg.samplingRate);
    SampleRate = lvmFsForSampleRate(pConfig->inputCfg.samplingRate);
    if (SampleRate == LVM_FS_INVALID) {
        ALOGV("Effect_setConfig invalid sampling rate %d", pConfig->inputCfg.samplingRate);
        return -EINVAL;
    }
    pContext->pBundledContext->SamplesPerSecond = pConfig->inputCfg.samplingRate * NrChannels;

    if (pContext->pBundledContext->SampleRate != SampleRate ||
        pContext->pBundledContext->ChMask != pConfig->inputCfg.channels) {
+4 −34
Original line number Diff line number Diff line
@@ -556,39 +556,9 @@ int Reverb_setConfig(ReverbContext* pContext, effect_config_t* pConfig) {
    // ALOGV("\tReverb_setConfig calling memcpy");
    pContext->config = *pConfig;

    switch (pConfig->inputCfg.samplingRate) {
        case 8000:
            SampleRate = LVM_FS_8000;
            break;
        case 16000:
            SampleRate = LVM_FS_16000;
            break;
        case 22050:
            SampleRate = LVM_FS_22050;
            break;
        case 32000:
            SampleRate = LVM_FS_32000;
            break;
        case 44100:
            SampleRate = LVM_FS_44100;
            break;
        case 48000:
            SampleRate = LVM_FS_48000;
            break;
        case 88200:
            SampleRate = LVM_FS_88200;
            break;
        case 96000:
            SampleRate = LVM_FS_96000;
            break;
        case 176400:
            SampleRate = LVM_FS_176400;
            break;
        case 192000:
            SampleRate = LVM_FS_192000;
            break;
        default:
            ALOGV("\rReverb_setConfig invalid sampling rate %d", pConfig->inputCfg.samplingRate);
    SampleRate = lvmFsForSampleRate(pConfig->inputCfg.samplingRate);
    if (SampleRate == LVM_FS_INVALID) {
        ALOGE("Reverb_setConfig invalid sampling rate %d", pConfig->inputCfg.samplingRate);
        return -EINVAL;
    }