GetNextSourceFrame, GetStreamToSourceRatio
This commit is contained in:
@@ -502,6 +502,7 @@ public:
|
|||||||
|
|
||||||
int NumInputsForOutputSamples( int iOut ) const { return m_pPolyphase->NumInputsForOutputSamples(*m_pState, iOut, m_iDownFactor); }
|
int NumInputsForOutputSamples( int iOut ) const { return m_pPolyphase->NumInputsForOutputSamples(*m_pState, iOut, m_iDownFactor); }
|
||||||
int GetLatency() const { return m_pPolyphase->GetLatency(); }
|
int GetLatency() const { return m_pPolyphase->GetLatency(); }
|
||||||
|
int GetFilled() const { return m_pState->m_iFilled; }
|
||||||
|
|
||||||
RageSoundResampler_Polyphase( const RageSoundResampler_Polyphase &cpy )
|
RageSoundResampler_Polyphase( const RageSoundResampler_Polyphase &cpy )
|
||||||
{
|
{
|
||||||
@@ -540,6 +541,22 @@ private:
|
|||||||
int m_iDownFactor;
|
int m_iDownFactor;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int RageSoundReader_Resample_Good::GetNextSourceFrame() const
|
||||||
|
{
|
||||||
|
uint64_t iPosition = m_pSource->GetNextSourceFrame();
|
||||||
|
iPosition -= m_apResamplers[0]->GetFilled();
|
||||||
|
|
||||||
|
iPosition *= m_iSampleRate;
|
||||||
|
iPosition /= m_pSource->GetSampleRate();
|
||||||
|
return (int) iPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
float RageSoundReader_Resample_Good::GetStreamToSourceRatio() const
|
||||||
|
{
|
||||||
|
float fRatio = m_pSource->GetStreamToSourceRatio();
|
||||||
|
return fRatio;
|
||||||
|
}
|
||||||
|
|
||||||
RageSoundReader_Resample_Good::RageSoundReader_Resample_Good( RageSoundReader *pSource, int iSampleRate )
|
RageSoundReader_Resample_Good::RageSoundReader_Resample_Good( RageSoundReader *pSource, int iSampleRate )
|
||||||
{
|
{
|
||||||
m_pSource = pSource;
|
m_pSource = pSource;
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ public:
|
|||||||
int Read( char *pBuf, unsigned iLen );
|
int Read( char *pBuf, unsigned iLen );
|
||||||
virtual ~RageSoundReader_Resample_Good();
|
virtual ~RageSoundReader_Resample_Good();
|
||||||
RageSoundReader_Resample_Good *Copy() const;
|
RageSoundReader_Resample_Good *Copy() const;
|
||||||
|
int GetNextSourceFrame() const;
|
||||||
|
float GetStreamToSourceRatio() const;
|
||||||
|
|
||||||
int GetSampleRate() const { return m_iSampleRate; }
|
int GetSampleRate() const { return m_iSampleRate; }
|
||||||
unsigned GetNumChannels() const { return m_pSource->GetNumChannels(); }
|
unsigned GetNumChannels() const { return m_pSource->GetNumChannels(); }
|
||||||
|
|||||||
Reference in New Issue
Block a user