diff options
Diffstat (limited to 'services/audiopolicy/AudioPolicyService.h')
-rw-r--r-- | services/audiopolicy/AudioPolicyService.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/services/audiopolicy/AudioPolicyService.h b/services/audiopolicy/AudioPolicyService.h index a579d1d..40f589b 100644 --- a/services/audiopolicy/AudioPolicyService.h +++ b/services/audiopolicy/AudioPolicyService.h @@ -166,6 +166,9 @@ public: int delayMs); status_t clientReleaseAudioPatch(audio_patch_handle_t handle, int delayMs); + virtual status_t clientSetAudioPortConfig(const struct audio_port_config *config, + int delayMs); + void removeNotificationClient(uid_t uid); void onAudioPortListUpdate(); void doOnAudioPortListUpdate(); @@ -200,7 +203,8 @@ private: CREATE_AUDIO_PATCH, RELEASE_AUDIO_PATCH, UPDATE_AUDIOPORT_LIST, - UPDATE_AUDIOPATCH_LIST + UPDATE_AUDIOPATCH_LIST, + SET_AUDIOPORT_CONFIG, }; AudioCommandThread (String8 name, const wp<AudioPolicyService>& service); @@ -234,7 +238,8 @@ private: int delayMs); void updateAudioPortListCommand(); void updateAudioPatchListCommand(); - + status_t setAudioPortConfigCommand(const struct audio_port_config *config, + int delayMs); void insertCommand_l(AudioCommand *command, int delayMs = 0); private: @@ -312,6 +317,11 @@ private: audio_patch_handle_t mHandle; }; + class SetAudioPortConfigData : public AudioCommandData { + public: + struct audio_port_config mConfig; + }; + Mutex mLock; Condition mWaitWorkCV; Vector < sp<AudioCommand> > mAudioCommands; // list of pending commands @@ -465,6 +475,9 @@ private: virtual status_t releaseAudioPatch(audio_patch_handle_t handle, int delayMs); + /* Set audio port configuration */ + virtual status_t setAudioPortConfig(const struct audio_port_config *config, int delayMs); + virtual void onAudioPortListUpdate(); virtual void onAudioPatchListUpdate(); |