- better internal statistics + memory performance optimization

This commit is contained in:
2026-06-18 12:28:19 +03:00
parent 2cb2a93d59
commit 1e020a7b5f
9 changed files with 83 additions and 56 deletions
+10 -7
View File
@@ -18,9 +18,7 @@ namespace Audio
SpeexResampler::SpeexResampler()
:mContext(NULL), mErrorCode(0), mSourceRate(0), mDestRate(0), mLastSample(0), mChannels(0)
{
}
{}
void SpeexResampler::start(int channels, int sourceRate, int destRate)
{
@@ -51,6 +49,11 @@ void SpeexResampler::stop()
}
}
bool SpeexResampler::isOpened() const
{
return mContext != nullptr;
}
SpeexResampler::~SpeexResampler()
{
stop();
@@ -113,22 +116,22 @@ size_t SpeexResampler::processBuffer(const void* src, size_t sourceLength, size_
return outLen * sizeof(short) * mChannels;
}
int SpeexResampler::sourceRate()
int SpeexResampler::sourceRate() const
{
return mSourceRate;
}
int SpeexResampler::destRate()
int SpeexResampler::destRate() const
{
return mDestRate;
}
size_t SpeexResampler::getDestLength(size_t sourceLen)
size_t SpeexResampler::getDestLength(size_t sourceLen) const
{
return size_t(sourceLen * (float(mDestRate) / mSourceRate) + 0.5f);
}
size_t SpeexResampler::getSourceLength(size_t destLen)
size_t SpeexResampler::getSourceLength(size_t destLen) const
{
// Here we want to get 'destLen' number of samples
return size_t(destLen * (float(mSourceRate) / mDestRate) + 0.5f);