@ -215,22 +215,34 @@ void AudioPolicyService::doOnDynamicPolicyMixStateUpdate(const String8& regId, i
}
}
void AudioPolicyService : : onRecordingConfigurationUpdate ( int event ,
const record_client_info_t * clientInfo , const audio_config_base_t * clientConfig ,
const audio_config_base_t * deviceConfig , audio_patch_handle_t patchHandle )
void AudioPolicyService : : onRecordingConfigurationUpdate (
int event ,
const record_client_info_t * clientInfo ,
const audio_config_base_t * clientConfig ,
std : : vector < effect_descriptor_t > clientEffects ,
const audio_config_base_t * deviceConfig ,
std : : vector < effect_descriptor_t > effects ,
audio_patch_handle_t patchHandle ,
audio_source_t source )
{
mOutputCommandThread - > recordingConfigurationUpdateCommand ( event , clientInfo ,
clientConfig , deviceConfig , patchHandle ) ;
}
void AudioPolicyService : : doOnRecordingConfigurationUpdate ( int event ,
const record_client_info_t * clientInfo , const audio_config_base_t * clientConfig ,
const audio_config_base_t * deviceConfig , audio_patch_handle_t patchHandle )
clientConfig , clientEffects , deviceConfig , effects , patchHandle , source ) ;
}
void AudioPolicyService : : doOnRecordingConfigurationUpdate (
int event ,
const record_client_info_t * clientInfo ,
const audio_config_base_t * clientConfig ,
std : : vector < effect_descriptor_t > clientEffects ,
const audio_config_base_t * deviceConfig ,
std : : vector < effect_descriptor_t > effects ,
audio_patch_handle_t patchHandle ,
audio_source_t source )
{
Mutex : : Autolock _l ( mNotificationClientsLock ) ;
for ( size_t i = 0 ; i < mNotificationClients . size ( ) ; i + + ) {
mNotificationClients . valueAt ( i ) - > onRecordingConfigurationUpdate ( event , clientInfo ,
clientConfig , deviceConfig , patchHandle ) ;
clientConfig , clientEffects, deviceConfig, effects, patchHandle, sourc e) ;
}
}
@ -298,13 +310,18 @@ void AudioPolicyService::NotificationClient::onDynamicPolicyMixStateUpdate(
}
void AudioPolicyService : : NotificationClient : : onRecordingConfigurationUpdate (
int event , const record_client_info_t * clientInfo ,
const audio_config_base_t * clientConfig , const audio_config_base_t * deviceConfig ,
audio_patch_handle_t patchHandle )
int event ,
const record_client_info_t * clientInfo ,
const audio_config_base_t * clientConfig ,
std : : vector < effect_descriptor_t > clientEffects ,
const audio_config_base_t * deviceConfig ,
std : : vector < effect_descriptor_t > effects ,
audio_patch_handle_t patchHandle ,
audio_source_t source )
{
if ( mAudioPolicyServiceClient ! = 0 & & isServiceUid ( mUid ) ) {
mAudioPolicyServiceClient - > onRecordingConfigurationUpdate ( event , clientInfo ,
clientConfig , deviceConfig , patchHandle ) ;
clientConfig , clientEffects, deviceConfig, effects, patchHandle, sourc e) ;
}
}
@ -1071,8 +1088,9 @@ bool AudioPolicyService::AudioCommandThread::threadLoop()
}
mLock . unlock ( ) ;
svc - > doOnRecordingConfigurationUpdate ( data - > mEvent , & data - > mClientInfo ,
& data - > mClientConfig , & data - > mDeviceConfig ,
data - > mPatchHandle ) ;
& data - > mClientConfig , data - > mClientEffects ,
& data - > mDeviceConfig , data - > mEffects ,
data - > mPatchHandle , data - > mSource ) ;
mLock . lock ( ) ;
} break ;
default :
@ -1307,9 +1325,14 @@ void AudioPolicyService::AudioCommandThread::dynamicPolicyMixStateUpdateCommand(
}
void AudioPolicyService : : AudioCommandThread : : recordingConfigurationUpdateCommand (
int event , const record_client_info_t * clientInfo ,
const audio_config_base_t * clientConfig , const audio_config_base_t * deviceConfig ,
audio_patch_handle_t patchHandle )
int event ,
const record_client_info_t * clientInfo ,
const audio_config_base_t * clientConfig ,
std : : vector < effect_descriptor_t > clientEffects ,
const audio_config_base_t * deviceConfig ,
std : : vector < effect_descriptor_t > effects ,
audio_patch_handle_t patchHandle ,
audio_source_t source )
{
sp < AudioCommand > command = new AudioCommand ( ) ;
command - > mCommand = RECORDING_CONFIGURATION_UPDATE ;
@ -1317,8 +1340,11 @@ void AudioPolicyService::AudioCommandThread::recordingConfigurationUpdateCommand
data - > mEvent = event ;
data - > mClientInfo = * clientInfo ;
data - > mClientConfig = * clientConfig ;
data - > mClientEffects = clientEffects ;
data - > mDeviceConfig = * deviceConfig ;
data - > mEffects = effects ;
data - > mPatchHandle = patchHandle ;
data - > mSource = source ;
command - > mParam = data ;
ALOGV ( " AudioCommandThread() adding recording configuration update event %d, source %d uid %u " ,
event , clientInfo - > source , clientInfo - > uid ) ;