@ -285,6 +285,7 @@ public:
audio_session_t session ,
pid_t pid ,
uid_t uid ,
const String16 & opPackageName ,
const audio_config_base_t * config ,
audio_input_flags_t flags ,
audio_port_handle_t * selectedDeviceId ,
@ -313,6 +314,7 @@ public:
data . writeInt32 ( session ) ;
data . writeInt32 ( pid ) ;
data . writeInt32 ( uid ) ;
data . writeString16 ( opPackageName ) ;
data . write ( config , sizeof ( audio_config_base_t ) ) ;
data . writeInt32 ( flags ) ;
data . writeInt32 ( * selectedDeviceId ) ;
@ -331,18 +333,12 @@ public:
return NO_ERROR ;
}
virtual status_t startInput ( audio_io_handle_t input ,
audio_session_t session ,
audio_devices_t device ,
uid_t uid ,
virtual status_t startInput ( audio_port_handle_t portId ,
bool * silenced )
{
Parcel data , reply ;
data . writeInterfaceToken ( IAudioPolicyService : : getInterfaceDescriptor ( ) ) ;
data . writeInt32 ( input ) ;
data . writeInt32 ( session ) ;
data . writeInt32 ( device ) ;
data . writeInt32 ( uid ) ;
data . writeInt32 ( portId ) ;
data . writeInt32 ( * silenced ? 1 : 0 ) ;
remote ( ) - > transact ( START_INPUT , data , & reply ) ;
status_t status = static_cast < status_t > ( reply . readInt32 ( ) ) ;
@ -350,24 +346,20 @@ public:
return status ;
}
virtual status_t stopInput ( audio_io_handle_t input ,
audio_session_t session )
virtual status_t stopInput ( audio_port_handle_t portId )
{
Parcel data , reply ;
data . writeInterfaceToken ( IAudioPolicyService : : getInterfaceDescriptor ( ) ) ;
data . writeInt32 ( input ) ;
data . writeInt32 ( session ) ;
data . writeInt32 ( portId ) ;
remote ( ) - > transact ( STOP_INPUT , data , & reply ) ;
return static_cast < status_t > ( reply . readInt32 ( ) ) ;
}
virtual void releaseInput ( audio_io_handle_t input ,
audio_session_t session )
virtual void releaseInput ( audio_port_handle_t portId )
{
Parcel data , reply ;
data . writeInterfaceToken ( IAudioPolicyService : : getInterfaceDescriptor ( ) ) ;
data . writeInt32 ( input ) ;
data . writeInt32 ( session ) ;
data . writeInt32 ( portId ) ;
remote ( ) - > transact ( RELEASE_INPUT , data , & reply ) ;
}
@ -1034,6 +1026,7 @@ status_t BnAudioPolicyService::onTransact(
audio_session_t session = ( audio_session_t ) data . readInt32 ( ) ;
pid_t pid = ( pid_t ) data . readInt32 ( ) ;
uid_t uid = ( uid_t ) data . readInt32 ( ) ;
const String16 opPackageName = data . readString16 ( ) ;
audio_config_base_t config ;
memset ( & config , 0 , sizeof ( audio_config_base_t ) ) ;
data . read ( & config , sizeof ( audio_config_base_t ) ) ;
@ -1041,7 +1034,7 @@ status_t BnAudioPolicyService::onTransact(
audio_port_handle_t selectedDeviceId = ( audio_port_handle_t ) data . readInt32 ( ) ;
audio_port_handle_t portId = ( audio_port_handle_t ) data . readInt32 ( ) ;
status_t status = getInputForAttr ( & attr , & input , session , pid , uid ,
& config ,
opPackageName , & config ,
flags , & selectedDeviceId , & portId ) ;
reply - > writeInt32 ( status ) ;
if ( status = = NO_ERROR ) {
@ -1054,12 +1047,9 @@ status_t BnAudioPolicyService::onTransact(
case START_INPUT : {
CHECK_INTERFACE ( IAudioPolicyService , data , reply ) ;
audio_io_handle_t input = static_cast < audio_io_handle_t > ( data . readInt32 ( ) ) ;
audio_session_t session = static_cast < audio_session_t > ( data . readInt32 ( ) ) ;
audio_devices_t device = static_cast < audio_devices_t > ( data . readInt32 ( ) ) ;
uid_t uid = static_cast < uid_t > ( data . readInt32 ( ) ) ;
audio_port_handle_t portId = static_cast < audio_port_handle_t > ( data . readInt32 ( ) ) ;
bool silenced = data . readInt32 ( ) = = 1 ;
status_t status = startInput ( input, session , device , ui d, & silenced ) ;
status_t status = startInput ( portId , & silenced ) ;
reply - > writeInt32 ( static_cast < uint32_t > ( status ) ) ;
reply - > writeInt32 ( silenced ? 1 : 0 ) ;
return NO_ERROR ;
@ -1067,17 +1057,15 @@ status_t BnAudioPolicyService::onTransact(
case STOP_INPUT : {
CHECK_INTERFACE ( IAudioPolicyService , data , reply ) ;
audio_io_handle_t input = static_cast < audio_io_handle_t > ( data . readInt32 ( ) ) ;
audio_session_t session = static_cast < audio_session_t > ( data . readInt32 ( ) ) ;
reply - > writeInt32 ( static_cast < uint32_t > ( stopInput ( input , session ) ) ) ;
audio_port_handle_t portId = static_cast < audio_port_handle_t > ( data . readInt32 ( ) ) ;
reply - > writeInt32 ( static_cast < uint32_t > ( stopInput ( portId ) ) ) ;
return NO_ERROR ;
} break ;
case RELEASE_INPUT : {
CHECK_INTERFACE ( IAudioPolicyService , data , reply ) ;
audio_io_handle_t input = static_cast < audio_io_handle_t > ( data . readInt32 ( ) ) ;
audio_session_t session = static_cast < audio_session_t > ( data . readInt32 ( ) ) ;
releaseInput ( input , session ) ;
audio_port_handle_t portId = static_cast < audio_port_handle_t > ( data . readInt32 ( ) ) ;
releaseInput ( portId ) ;
return NO_ERROR ;
} break ;