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

}
Esempio n. 2
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);
	}
}