specify source and dest sample rate in the ctor; they don't change

This commit is contained in:
Glenn Maynard
2006-11-29 02:45:40 +00:00
parent 7c56fe71dd
commit 1146c57dc8
4 changed files with 7 additions and 25 deletions
+1 -3
View File
@@ -223,9 +223,7 @@ void RageSound::LoadSoundReader( RageSoundReader *pSound )
const int iNeededRate = SOUNDMAN->GetDriverSampleRate( pSound->GetSampleRate() );
if( iNeededRate != pSound->GetSampleRate() )
{
RageSoundReader_Resample_Good *Resample = new RageSoundReader_Resample_Good;
Resample->Open( pSound );
Resample->SetSampleRate( iNeededRate );
RageSoundReader_Resample_Good *Resample = new RageSoundReader_Resample_Good( pSound, iNeededRate );
pSound = Resample;
}
+1 -3
View File
@@ -133,9 +133,7 @@ void RageSoundReader_Chain::Finish()
{
SoundReader *&pSound = it->second;
RageSoundReader_Resample_Good *pResample = new RageSoundReader_Resample_Good;
pResample->Open( pSound );
pResample->SetSampleRate( m_iPreferredSampleRate );
RageSoundReader_Resample_Good *pResample = new RageSoundReader_Resample_Good( pSound, m_iPreferredSampleRate );
pSound = pResample;
}
@@ -540,10 +540,11 @@ private:
int m_iDownFactor;
};
RageSoundReader_Resample_Good::RageSoundReader_Resample_Good()
RageSoundReader_Resample_Good::RageSoundReader_Resample_Good( RageSoundReader *pSource, int iSampleRate )
{
m_pSource = NULL;
m_iSampleRate = -1;
m_pSource = pSource;
m_iSampleRate = iSampleRate;
ReopenResampler();
}
/* Call this if the input position is changed or reset. */
@@ -577,13 +578,6 @@ void RageSoundReader_Resample_Good::ReopenResampler()
}
}
void RageSoundReader_Resample_Good::Open( SoundReader *pSource )
{
ASSERT(pSource);
m_pSource = pSource;
}
RageSoundReader_Resample_Good::~RageSoundReader_Resample_Good()
{
for( size_t iChannel = 0; iChannel < m_apResamplers.size(); ++iChannel )
@@ -591,12 +585,6 @@ RageSoundReader_Resample_Good::~RageSoundReader_Resample_Good()
delete m_pSource;
}
void RageSoundReader_Resample_Good::SetSampleRate( int iHZ )
{
m_iSampleRate = iHZ;
ReopenResampler();
}
int RageSoundReader_Resample_Good::GetLength() const
{
return m_pSource->GetLength();
@@ -12,7 +12,7 @@ class RageSoundReader_Resample_Good: public RageSoundReader
{
public:
/* We own source. */
void Open( SoundReader *pSource );
RageSoundReader_Resample_Good( RageSoundReader *pSource, int iSampleRate );
RageSoundReader_Resample_Good( const RageSoundReader_Resample_Good &cpy );
int GetLength() const;
int GetLength_Fast() const;
@@ -23,8 +23,6 @@ public:
virtual ~RageSoundReader_Resample_Good();
RageSoundReader_Resample_Good *Copy() const;
/* Change the actual sample rate of a sound. */
void SetSampleRate( int iHZ );
void SetHighQuality( bool bHQ ) { }
int GetSampleRate() const { return m_iSampleRate; }