static void fillInputBuffer(Buffer_p buf) { int i = ESAA_FREQ_LAST_IN_LIST; int freq; ReadData(buf); mNbsample += buf->filledLen + 2; if( mNbsample >= mFileSize) { buf->flags |= BUFFERFLAG_EOS; mEosReached = 1; } //convert sampling frequency to enum value AudioTables_sampling_freqs_ptr1 = fn_AudioTables_sampling_freqs(); for( i = ESAA_FREQ_LAST_IN_LIST; i>= 0; i--) { if(AudioTables_sampling_freqs_ptr1[i] == mFreqIn) break; } freq = i ; if (mSendPcmSettings) { outputsettings.newFormat(freq, mMaxChans, 24); mSendPcmSettings = 0; } }
void METH(setParameter)(StereowidenerParams_t Params) { int i = ESAA_FREQ_LAST_IN_LIST; mStereoEnhancerData.memory_preset = Params.iMemoryPreset; //set sampling frequency AudioTables_sampling_freqs_ptr = fn_AudioTables_sampling_freqs(); for( i = ESAA_FREQ_LAST_IN_LIST; i>= 0; i--) { if(AudioTables_sampling_freqs_ptr[i] == Params.iSamplingFreq) break; } mSamplingFreq = i ; mChannelsIn = Params.iChannelsIn; if (mChannelsIn == 1) { processFunction = processBufferMonoToStereo; mStereoEnhancerData.NbInChannels = 1; mStereoEnhancerData.DataInOffset = 1; } else { processFunction = processBufferStereoToStereo; mStereoEnhancerData.NbInChannels = 2; mStereoEnhancerData.DataInOffset = 2; } mStereoEnhancerData.NbOutChannels = 2; mStereoEnhancerData.DataOutOffset = 2; mStereoEnhancerData.sample_freq = mSamplingFreq; switch (mSamplingFreq) { case 7: //ESAA_FREQ_48KHZ //mStereoEnhancerData.SamplingRate = FS48K; mStereoEnhancerData.Delay_M2S = 102; // (48000 * 0.0021)+1 mStereoEnhancerData.Delay_LS = 8; break; case 8: //ESAA_FREQ_44_1KHZ //mStereoEnhancerData.SamplingRate = FS44K; mStereoEnhancerData.Delay_M2S = 94; // (44100 * 0.0021)+1 mStereoEnhancerData.Delay_LS = 7; break; default: ASSERT(0); } }