mmlibs/mmfw/src/utils/audioutils/rateconvert.cpp
branchRCL_3
changeset 49 735348f59235
parent 0 40261b775718
child 32 ae690a8c4a18
equal deleted inserted replaced
40:f429a0a2075b 49:735348f59235
   217 TInt CChannelAndSampleRateConvert::SizeOfUpsampleBuffer(TInt aBufferLength)
   217 TInt CChannelAndSampleRateConvert::SizeOfUpsampleBuffer(TInt aBufferLength)
   218 	{
   218 	{
   219 	TInt rawValue = aBufferLength;
   219 	TInt rawValue = aBufferLength;
   220 	ASSERT(iFromRate < iToRate); // should not be called otherwise
   220 	ASSERT(iFromRate < iToRate); // should not be called otherwise
   221 	// upsample - will generate more data. use floats to avoid extra round error
   221 	// upsample - will generate more data. use floats to avoid extra round error
   222 	rawValue = TInt(rawValue * TReal(iToRate) / TReal(iFromRate) + 0.5) + 4*sizeof(TInt16); // add some fudge factor just in case
   222 	rawValue = TInt(rawValue * TReal(iToRate) / TReal(iFromRate) + 0.5) + 4*sizeof(TInt16); // add some buffer extra buffer
   223 	rawValue = NextPowerUp(rawValue); // when upscaling always give nice power
   223 	rawValue = NextPowerUp(rawValue); // when upscaling always give nice power
   224 	return rawValue;	
   224 	return rawValue;	
   225 	}
   225 	}
   226 
   226 
   227 //
   227 //