1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-19 23:21:33 +01:00

More uses of SampleBuffer, eliminating explicit DeleteSamples calls

This commit is contained in:
Paul Licameli
2016-02-01 10:16:00 -05:00
parent 508286661a
commit 321d5259a2
22 changed files with 145 additions and 156 deletions

View File

@@ -386,8 +386,8 @@ void BlockFile::GetMinMax(sampleCount start, sampleCount len,
float *outMin, float *outMax, float *outRMS)
{
// TODO: actually use summaries
samplePtr blockData = NewSamples(len, floatSample);
this->ReadData(blockData, floatSample, start, len);
SampleBuffer blockData(len, floatSample);
this->ReadData(blockData.ptr(), floatSample, start, len);
float min = FLT_MAX;
float max = -FLT_MAX;
@@ -395,7 +395,7 @@ void BlockFile::GetMinMax(sampleCount start, sampleCount len,
for( int i = 0; i < len; i++ )
{
float sample = ((float*)blockData)[i];
float sample = ((float*)blockData.ptr())[i];
if( sample > max )
max = sample;
@@ -404,8 +404,6 @@ void BlockFile::GetMinMax(sampleCount start, sampleCount len,
sumsq += (sample*sample);
}
DeleteSamples(blockData);
*outMin = min;
*outMax = max;
*outRMS = sqrt(sumsq/len);
@@ -579,14 +577,12 @@ void AliasBlockFile::WriteSummary()
// To build the summary data, call ReadData (implemented by the
// derived classes) to get the sample data
samplePtr sampleData = NewSamples(mLen, floatSample);
this->ReadData(sampleData, floatSample, 0, mLen);
SampleBuffer sampleData(mLen, floatSample);
this->ReadData(sampleData.ptr(), floatSample, 0, mLen);
void *summaryData = BlockFile::CalcSummary(sampleData, mLen,
void *summaryData = BlockFile::CalcSummary(sampleData.ptr(), mLen,
floatSample);
summaryFile.Write(summaryData, mSummaryInfo.totalSummaryBytes);
DeleteSamples(sampleData);
}
AliasBlockFile::~AliasBlockFile()