Fix parameter order.
This commit is contained in:
@@ -38,9 +38,6 @@ Desc::Desc( Float64 sampleRate, UInt32 formatID, UInt32 formatFlags, UInt32 byte
|
|||||||
mReserved = 0;
|
mReserved = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static OSStatus SampleRateChanged( AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput,
|
|
||||||
AudioDevicePropertyID inPropertyID, void *inData );
|
|
||||||
|
|
||||||
/* temporary hack: */
|
/* temporary hack: */
|
||||||
static float g_fLastIOProcTime = 0;
|
static float g_fLastIOProcTime = 0;
|
||||||
static const int NUM_MIX_TIMES = 16;
|
static const int NUM_MIX_TIMES = 16;
|
||||||
@@ -55,7 +52,7 @@ RageSound_CA::RageSound_CA() : m_fLatency(0.0f), m_Converter(NULL), m_bStarted(f
|
|||||||
|
|
||||||
static inline RString FourCCToString( uint32_t num )
|
static inline RString FourCCToString( uint32_t num )
|
||||||
{
|
{
|
||||||
RString s( '?', 4 );
|
RString s( 4, '?' );
|
||||||
char c;
|
char c;
|
||||||
|
|
||||||
c = (num >> 24) & 0xFF;
|
c = (num >> 24) & 0xFF;
|
||||||
@@ -136,6 +133,14 @@ RString RageSound_CA::Init()
|
|||||||
LOG->Info( "Audio device manufacturer: %s", str );
|
LOG->Info( "Audio device manufacturer: %s", str );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AddListener( kAudioDeviceProcessorOverload, OverloadListener, "overload" );
|
||||||
|
AddListener( kAudioDevicePropertyDeviceHasChanged, DeviceChanged, "device changed" );
|
||||||
|
AddListener( kAudioDevicePropertyJackIsConnected, JackChanged, "jack changed" );
|
||||||
|
AddListener( kAudioDevicePropertyStreamConfiguration, DeviceChanged, "configuration changed" );
|
||||||
|
AddListener( kAudioDevicePropertyPreferredChannelsForStereo, DeviceChanged, "preferred channels changed" );
|
||||||
|
AddListener( kAudioHardwarePropertyDefaultOutputDevice, DeviceChanged, "default output device changed" );
|
||||||
|
// AddListener( kAudioDevicePropertyStreamFormat, FormatChanged, "stream format changed" );
|
||||||
|
|
||||||
// Find the stereo channels
|
// Find the stereo channels
|
||||||
UInt32 channels[2];
|
UInt32 channels[2];
|
||||||
|
|
||||||
@@ -219,11 +224,6 @@ RString RageSound_CA::Init()
|
|||||||
}
|
}
|
||||||
delete[] streams;
|
delete[] streams;
|
||||||
|
|
||||||
AddListener( kAudioDeviceProcessorOverload, OverloadListener, "overload" );
|
|
||||||
AddListener( kAudioDevicePropertyDeviceHasChanged, DeviceChanged, "device changed" );
|
|
||||||
AddListener( kAudioDevicePropertyJackIsConnected, JackChanged, "jack changed" );
|
|
||||||
AddListener( kAudioDevicePropertyActualSampleRate, SampleRateChanged, "sample rate changed" );
|
|
||||||
|
|
||||||
// The canonical format
|
// The canonical format
|
||||||
Desc IOProcFormat( actualSampleRate, kAudioFormatLinearPCM, kAudioFormatFlagsNativeFloatPacked, 8, 1, 8, 2, 32 );
|
Desc IOProcFormat( actualSampleRate, kAudioFormatLinearPCM, kAudioFormatFlagsNativeFloatPacked, 8, 1, 8, 2, 32 );
|
||||||
const Desc SMFormat( actualSampleRate, kAudioFormatLinearPCM, kFormatFlags, kBytesPerPacket,
|
const Desc SMFormat( actualSampleRate, kAudioFormatLinearPCM, kFormatFlags, kBytesPerPacket,
|
||||||
@@ -329,16 +329,7 @@ RageSound_CA::~RageSound_CA()
|
|||||||
{
|
{
|
||||||
AudioDeviceStop( m_OutputDevice, GetData );
|
AudioDeviceStop( m_OutputDevice, GetData );
|
||||||
AudioDeviceRemoveIOProc( m_OutputDevice, GetData );
|
AudioDeviceRemoveIOProc( m_OutputDevice, GetData );
|
||||||
|
RemoveListeners();
|
||||||
while( m_vPropertyListeners.size() )
|
|
||||||
{
|
|
||||||
pair<AudioHardwarePropertyID, AudioDevicePropertyListenerProc>& p = m_vPropertyListeners.back();
|
|
||||||
|
|
||||||
AudioDeviceRemovePropertyListener( m_OutputDevice, kAudioPropertyWildcardChannel,
|
|
||||||
kAudioDeviceSectionOutput, p.first, p.second );
|
|
||||||
|
|
||||||
m_vPropertyListeners.pop_back();
|
|
||||||
}
|
|
||||||
delete m_pIOThread;
|
delete m_pIOThread;
|
||||||
delete m_pNotificationThread;
|
delete m_pNotificationThread;
|
||||||
}
|
}
|
||||||
@@ -365,6 +356,19 @@ void RageSound_CA::AddListener( AudioDevicePropertyID propertyID, AudioDevicePro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RageSound_CA::RemoveListeners()
|
||||||
|
{
|
||||||
|
while( m_vPropertyListeners.size() )
|
||||||
|
{
|
||||||
|
pair<AudioHardwarePropertyID, AudioDevicePropertyListenerProc>& p = m_vPropertyListeners.back();
|
||||||
|
|
||||||
|
AudioDeviceRemovePropertyListener( m_OutputDevice, kAudioPropertyWildcardChannel,
|
||||||
|
kAudioDeviceSectionOutput, p.first, p.second );
|
||||||
|
|
||||||
|
m_vPropertyListeners.pop_back();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int64_t RageSound_CA::GetPosition( const RageSoundBase *sound ) const
|
int64_t RageSound_CA::GetPosition( const RageSoundBase *sound ) const
|
||||||
{
|
{
|
||||||
AudioTimeStamp time;
|
AudioTimeStamp time;
|
||||||
@@ -487,19 +491,6 @@ OSStatus RageSound_CA::JackChanged( AudioDeviceID inDevice, UInt32 inChannel, Bo
|
|||||||
return noErr;
|
return noErr;
|
||||||
}
|
}
|
||||||
|
|
||||||
OSStatus SampleRateChanged( AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput,
|
|
||||||
AudioDevicePropertyID inPropertyID, void *inData )
|
|
||||||
{
|
|
||||||
if( isInput )
|
|
||||||
return noErr;
|
|
||||||
Float64 sampleRate;
|
|
||||||
UInt32 size = sizeof( sampleRate );
|
|
||||||
|
|
||||||
AudioDeviceGetProperty( inDevice, inChannel, 0, inPropertyID, &size, &sampleRate );
|
|
||||||
LOG->Warn( "Sample rate changed to %f.", sampleRate );
|
|
||||||
return noErr;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void RageSound_CA::SetupDecodingThread()
|
void RageSound_CA::SetupDecodingThread()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user