Loading media/libaudioclient/AudioSystem.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1297,7 +1297,7 @@ void AudioSystem::AudioPolicyServiceClient::onDynamicPolicyMixStateUpdate( } void AudioSystem::AudioPolicyServiceClient::onRecordingConfigurationUpdate( int event, audio_session_t session, audio_source_t source, 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) { record_config_callback cb = NULL; Loading @@ -1307,7 +1307,7 @@ void AudioSystem::AudioPolicyServiceClient::onRecordingConfigurationUpdate( } if (cb != NULL) { cb(event, session, source, clientConfig, deviceConfig, patchHandle); cb(event, clientInfo, clientConfig, deviceConfig, patchHandle); } } Loading media/libaudioclient/IAudioPolicyServiceClient.cpp +18 −7 Original line number Diff line number Diff line Loading @@ -48,6 +48,18 @@ inline void writeAudioConfigBaseToParcel(Parcel& data, const audio_config_base_t data.writeInt32((int32_t) config->format); } inline void readRecordClientInfoFromParcel(const Parcel& data, record_client_info_t *clientInfo) { clientInfo->uid = (uid_t) data.readUint32(); clientInfo->session = (audio_session_t) data.readInt32(); clientInfo->source = (audio_source_t) data.readInt32(); } inline void writeRecordClientInfoFromParcel(Parcel& data, const record_client_info_t *clientInfo) { data.writeUint32((uint32_t) clientInfo->uid); data.writeInt32((int32_t) clientInfo->session); data.writeInt32((int32_t) clientInfo->source); } // ---------------------------------------------------------------------- class BpAudioPolicyServiceClient : public BpInterface<IAudioPolicyServiceClient> { Loading Loading @@ -80,14 +92,13 @@ public: remote()->transact(MIX_STATE_UPDATE, data, &reply, IBinder::FLAG_ONEWAY); } void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, const audio_config_base_t *clientConfig, void 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) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyServiceClient::getInterfaceDescriptor()); data.writeInt32(event); data.writeInt32(session); data.writeInt32(source); writeRecordClientInfoFromParcel(data, clientInfo); writeAudioConfigBaseToParcel(data, clientConfig); writeAudioConfigBaseToParcel(data, deviceConfig); data.writeInt32(patchHandle); Loading Loading @@ -123,14 +134,14 @@ status_t BnAudioPolicyServiceClient::onTransact( case RECORDING_CONFIGURATION_UPDATE: { CHECK_INTERFACE(IAudioPolicyServiceClient, data, reply); int event = (int) data.readInt32(); audio_session_t session = (audio_session_t) data.readInt32(); audio_source_t source = (audio_source_t) data.readInt32(); record_client_info_t clientInfo; audio_config_base_t clientConfig; audio_config_base_t deviceConfig; readRecordClientInfoFromParcel(data, &clientInfo); readAudioConfigBaseFromParcel(data, &clientConfig); readAudioConfigBaseFromParcel(data, &deviceConfig); audio_patch_handle_t patchHandle = (audio_patch_handle_t) data.readInt32(); onRecordingConfigurationUpdate(event, session, source, &clientConfig, &deviceConfig, onRecordingConfigurationUpdate(event, &clientInfo, &clientConfig, &deviceConfig, patchHandle); return NO_ERROR; } break; Loading media/libaudioclient/include/media/AudioSystem.h +4 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ namespace android { typedef void (*audio_error_callback)(status_t err); typedef void (*dynamic_policy_callback)(int event, String8 regId, int val); typedef void (*record_config_callback)(int event, audio_session_t session, int source, typedef void (*record_config_callback)(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); Loading Loading @@ -440,8 +440,9 @@ private: virtual void onAudioPortListUpdate(); virtual void onAudioPatchListUpdate(); virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state); virtual void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, const audio_config_base_t *clientConfig, virtual void 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); private: Loading media/libaudioclient/include/media/IAudioPolicyServiceClient.h +12 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,16 @@ namespace android { // ---------------------------------------------------------------------------- struct record_client_info { uid_t uid; audio_session_t session; audio_source_t source; }; typedef struct record_client_info record_client_info_t; // ---------------------------------------------------------------------------- class IAudioPolicyServiceClient : public IInterface { public: Loading @@ -38,8 +48,8 @@ public: // Notifies a change in the mixing state of a specific mix in a dynamic audio policy virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state) = 0; // Notifies a change of audio recording configuration virtual void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, virtual void 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) = 0; Loading services/audiopolicy/AudioPolicyInterface.h +2 −2 Original line number Diff line number Diff line Loading @@ -349,8 +349,8 @@ public: virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state) = 0; virtual void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, virtual void onRecordingConfigurationUpdate(int event, const record_client_info_t *clientInfo, const struct audio_config_base *clientConfig, const struct audio_config_base *deviceConfig, audio_patch_handle_t patchHandle) = 0; Loading Loading
media/libaudioclient/AudioSystem.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1297,7 +1297,7 @@ void AudioSystem::AudioPolicyServiceClient::onDynamicPolicyMixStateUpdate( } void AudioSystem::AudioPolicyServiceClient::onRecordingConfigurationUpdate( int event, audio_session_t session, audio_source_t source, 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) { record_config_callback cb = NULL; Loading @@ -1307,7 +1307,7 @@ void AudioSystem::AudioPolicyServiceClient::onRecordingConfigurationUpdate( } if (cb != NULL) { cb(event, session, source, clientConfig, deviceConfig, patchHandle); cb(event, clientInfo, clientConfig, deviceConfig, patchHandle); } } Loading
media/libaudioclient/IAudioPolicyServiceClient.cpp +18 −7 Original line number Diff line number Diff line Loading @@ -48,6 +48,18 @@ inline void writeAudioConfigBaseToParcel(Parcel& data, const audio_config_base_t data.writeInt32((int32_t) config->format); } inline void readRecordClientInfoFromParcel(const Parcel& data, record_client_info_t *clientInfo) { clientInfo->uid = (uid_t) data.readUint32(); clientInfo->session = (audio_session_t) data.readInt32(); clientInfo->source = (audio_source_t) data.readInt32(); } inline void writeRecordClientInfoFromParcel(Parcel& data, const record_client_info_t *clientInfo) { data.writeUint32((uint32_t) clientInfo->uid); data.writeInt32((int32_t) clientInfo->session); data.writeInt32((int32_t) clientInfo->source); } // ---------------------------------------------------------------------- class BpAudioPolicyServiceClient : public BpInterface<IAudioPolicyServiceClient> { Loading Loading @@ -80,14 +92,13 @@ public: remote()->transact(MIX_STATE_UPDATE, data, &reply, IBinder::FLAG_ONEWAY); } void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, const audio_config_base_t *clientConfig, void 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) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyServiceClient::getInterfaceDescriptor()); data.writeInt32(event); data.writeInt32(session); data.writeInt32(source); writeRecordClientInfoFromParcel(data, clientInfo); writeAudioConfigBaseToParcel(data, clientConfig); writeAudioConfigBaseToParcel(data, deviceConfig); data.writeInt32(patchHandle); Loading Loading @@ -123,14 +134,14 @@ status_t BnAudioPolicyServiceClient::onTransact( case RECORDING_CONFIGURATION_UPDATE: { CHECK_INTERFACE(IAudioPolicyServiceClient, data, reply); int event = (int) data.readInt32(); audio_session_t session = (audio_session_t) data.readInt32(); audio_source_t source = (audio_source_t) data.readInt32(); record_client_info_t clientInfo; audio_config_base_t clientConfig; audio_config_base_t deviceConfig; readRecordClientInfoFromParcel(data, &clientInfo); readAudioConfigBaseFromParcel(data, &clientConfig); readAudioConfigBaseFromParcel(data, &deviceConfig); audio_patch_handle_t patchHandle = (audio_patch_handle_t) data.readInt32(); onRecordingConfigurationUpdate(event, session, source, &clientConfig, &deviceConfig, onRecordingConfigurationUpdate(event, &clientInfo, &clientConfig, &deviceConfig, patchHandle); return NO_ERROR; } break; Loading
media/libaudioclient/include/media/AudioSystem.h +4 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ namespace android { typedef void (*audio_error_callback)(status_t err); typedef void (*dynamic_policy_callback)(int event, String8 regId, int val); typedef void (*record_config_callback)(int event, audio_session_t session, int source, typedef void (*record_config_callback)(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); Loading Loading @@ -440,8 +440,9 @@ private: virtual void onAudioPortListUpdate(); virtual void onAudioPatchListUpdate(); virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state); virtual void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, const audio_config_base_t *clientConfig, virtual void 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); private: Loading
media/libaudioclient/include/media/IAudioPolicyServiceClient.h +12 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,16 @@ namespace android { // ---------------------------------------------------------------------------- struct record_client_info { uid_t uid; audio_session_t session; audio_source_t source; }; typedef struct record_client_info record_client_info_t; // ---------------------------------------------------------------------------- class IAudioPolicyServiceClient : public IInterface { public: Loading @@ -38,8 +48,8 @@ public: // Notifies a change in the mixing state of a specific mix in a dynamic audio policy virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state) = 0; // Notifies a change of audio recording configuration virtual void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, virtual void 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) = 0; Loading
services/audiopolicy/AudioPolicyInterface.h +2 −2 Original line number Diff line number Diff line Loading @@ -349,8 +349,8 @@ public: virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state) = 0; virtual void onRecordingConfigurationUpdate(int event, audio_session_t session, audio_source_t source, virtual void onRecordingConfigurationUpdate(int event, const record_client_info_t *clientInfo, const struct audio_config_base *clientConfig, const struct audio_config_base *deviceConfig, audio_patch_handle_t patchHandle) = 0; Loading