oops, I forgot the commit message on the last one. Use GetData's inNow parameter rather than calling GetPos.
This commit is contained in:
@@ -242,7 +242,7 @@ int64_t RageSound_CA::GetPosition(const RageSoundBase *sound) const
|
|||||||
void RageSound_CA::FillConverter(void *data, UInt32 dataByteSize)
|
void RageSound_CA::FillConverter(void *data, UInt32 dataByteSize)
|
||||||
{
|
{
|
||||||
int frames = dataByteSize / gConverter->GetInputFormat().mBytesPerPacket;
|
int frames = dataByteSize / gConverter->GetInputFormat().mBytesPerPacket;
|
||||||
this->Mix((int16_t *)data, frames, mDecodePos, GetPosition(NULL));
|
this->Mix((int16_t *)data, frames, mDecodePos, int64_t(mNow->mSampleTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
OSStatus RageSound_CA::GetData(AudioDeviceID inDevice,
|
OSStatus RageSound_CA::GetData(AudioDeviceID inDevice,
|
||||||
@@ -261,6 +261,7 @@ OSStatus RageSound_CA::GetData(AudioDeviceID inDevice,
|
|||||||
dataPackets /= gConverter->GetOutputFormat().mBytesPerPacket;
|
dataPackets /= gConverter->GetOutputFormat().mBytesPerPacket;
|
||||||
|
|
||||||
This->mDecodePos = int64_t(inOutputTime->mSampleTime);
|
This->mDecodePos = int64_t(inOutputTime->mSampleTime);
|
||||||
|
This->mNow = inNow;
|
||||||
gConverter->FillComplexBuffer(dataPackets, *outOutputData, NULL);
|
gConverter->FillComplexBuffer(dataPackets, *outOutputData, NULL);
|
||||||
|
|
||||||
g_fLastIOProcTime = tm.GetDeltaTime();
|
g_fLastIOProcTime = tm.GetDeltaTime();
|
||||||
|
|||||||
Reference in New Issue
Block a user