From fce7a473248381cc83a01855f92581077d3c9ee2 Mon Sep 17 00:00:00 2001 From: Dima Zavin Date: Tue, 19 Apr 2011 22:30:36 -0700 Subject: audio/media: convert to using the audio HAL and new audio defs Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5 Signed-off-by: Dima Zavin --- services/audioflinger/AudioPolicyService.h | 90 +++++++++++++----------------- 1 file changed, 38 insertions(+), 52 deletions(-) (limited to 'services/audioflinger/AudioPolicyService.h') diff --git a/services/audioflinger/AudioPolicyService.h b/services/audioflinger/AudioPolicyService.h index faad893..01e592b 100644 --- a/services/audioflinger/AudioPolicyService.h +++ b/services/audioflinger/AudioPolicyService.h @@ -18,11 +18,14 @@ #define ANDROID_AUDIOPOLICYSERVICE_H #include -#include #include #include #include +#include +#include +#include + namespace android { class String8; @@ -32,7 +35,7 @@ class String8; class AudioPolicyService : public BinderService, public BnAudioPolicyService, - public AudioPolicyClientInterface, +// public AudioPolicyClientInterface, public IBinder::DeathRecipient { friend class BinderService; @@ -47,46 +50,46 @@ public: // BnAudioPolicyService (see AudioPolicyInterface for method descriptions) // - virtual status_t setDeviceConnectionState(AudioSystem::audio_devices device, - AudioSystem::device_connection_state state, + virtual status_t setDeviceConnectionState(audio_devices_t device, + audio_policy_dev_state_t state, const char *device_address); - virtual AudioSystem::device_connection_state getDeviceConnectionState( - AudioSystem::audio_devices device, + virtual audio_policy_dev_state_t getDeviceConnectionState( + audio_devices_t device, const char *device_address); virtual status_t setPhoneState(int state); virtual status_t setRingerMode(uint32_t mode, uint32_t mask); - virtual status_t setForceUse(AudioSystem::force_use usage, AudioSystem::forced_config config); - virtual AudioSystem::forced_config getForceUse(AudioSystem::force_use usage); - virtual audio_io_handle_t getOutput(AudioSystem::stream_type stream, + virtual status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config); + virtual audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage); + virtual audio_io_handle_t getOutput(audio_stream_type_t stream, uint32_t samplingRate = 0, - uint32_t format = AudioSystem::FORMAT_DEFAULT, + uint32_t format = AUDIO_FORMAT_DEFAULT, uint32_t channels = 0, - AudioSystem::output_flags flags = - AudioSystem::OUTPUT_FLAG_INDIRECT); + audio_policy_output_flags_t flags = + AUDIO_POLICY_OUTPUT_FLAG_INDIRECT); virtual status_t startOutput(audio_io_handle_t output, - AudioSystem::stream_type stream, + audio_stream_type_t stream, int session = 0); virtual status_t stopOutput(audio_io_handle_t output, - AudioSystem::stream_type stream, + audio_stream_type_t stream, int session = 0); virtual void releaseOutput(audio_io_handle_t output); virtual audio_io_handle_t getInput(int inputSource, uint32_t samplingRate = 0, - uint32_t format = AudioSystem::FORMAT_DEFAULT, + uint32_t format = AUDIO_FORMAT_DEFAULT, uint32_t channels = 0, - AudioSystem::audio_in_acoustics acoustics = - (AudioSystem::audio_in_acoustics)0); + audio_in_acoustics_t acoustics = + (audio_in_acoustics_t)0); virtual status_t startInput(audio_io_handle_t input); virtual status_t stopInput(audio_io_handle_t input); virtual void releaseInput(audio_io_handle_t input); - virtual status_t initStreamVolume(AudioSystem::stream_type stream, + virtual status_t initStreamVolume(audio_stream_type_t stream, int indexMin, int indexMax); - virtual status_t setStreamVolumeIndex(AudioSystem::stream_type stream, int index); - virtual status_t getStreamVolumeIndex(AudioSystem::stream_type stream, int *index); + virtual status_t setStreamVolumeIndex(audio_stream_type_t stream, int index); + virtual status_t getStreamVolumeIndex(audio_stream_type_t stream, int *index); - virtual uint32_t getStrategyForStream(AudioSystem::stream_type stream); - virtual uint32_t getDevicesForStream(AudioSystem::stream_type stream); + virtual uint32_t getStrategyForStream(audio_stream_type_t stream); + virtual uint32_t getDevicesForStream(audio_stream_type_t stream); virtual audio_io_handle_t getOutputForEffect(effect_descriptor_t *desc); virtual status_t registerEffect(effect_descriptor_t *desc, @@ -107,40 +110,21 @@ public: virtual void binderDied(const wp& who); // - // AudioPolicyClientInterface + // Helpers for the struct audio_policy_service_ops implementation. + // This is used by the audio policy manager for certain operations that + // are implemented by the policy service. // - virtual audio_io_handle_t openOutput(uint32_t *pDevices, - uint32_t *pSamplingRate, - uint32_t *pFormat, - uint32_t *pChannels, - uint32_t *pLatencyMs, - AudioSystem::output_flags flags); - virtual audio_io_handle_t openDuplicateOutput(audio_io_handle_t output1, - audio_io_handle_t output2); - virtual status_t closeOutput(audio_io_handle_t output); - virtual status_t suspendOutput(audio_io_handle_t output); - virtual status_t restoreOutput(audio_io_handle_t output); - virtual audio_io_handle_t openInput(uint32_t *pDevices, - uint32_t *pSamplingRate, - uint32_t *pFormat, - uint32_t *pChannels, - uint32_t acoustics); - virtual status_t closeInput(audio_io_handle_t input); - virtual status_t setStreamVolume(AudioSystem::stream_type stream, + virtual void setParameters(audio_io_handle_t ioHandle, + const char *keyValuePairs, + int delayMs); + + virtual status_t setStreamVolume(audio_stream_type_t stream, float volume, audio_io_handle_t output, int delayMs = 0); - virtual status_t setStreamOutput(AudioSystem::stream_type stream, audio_io_handle_t output); - virtual void setParameters(audio_io_handle_t ioHandle, - const String8& keyValuePairs, - int delayMs = 0); - virtual String8 getParameters(audio_io_handle_t ioHandle, const String8& keys); - virtual status_t startTone(ToneGenerator::tone_type tone, AudioSystem::stream_type stream); + virtual status_t startTone(audio_policy_tone_t tone, audio_stream_type_t stream); virtual status_t stopTone(); virtual status_t setVoiceVolume(float volume, int delayMs = 0); - virtual status_t moveEffects(int session, - audio_io_handle_t srcOutput, - audio_io_handle_t dstOutput); private: AudioPolicyService(); @@ -180,7 +164,7 @@ private: void startToneCommand(int type = 0, int stream = 0); void stopToneCommand(); status_t volumeCommand(int stream, float volume, int output, int delayMs = 0); - status_t parametersCommand(int ioHandle, const String8& keyValuePairs, int delayMs = 0); + status_t parametersCommand(int ioHandle, const char *keyValuePairs, int delayMs = 0); status_t voiceVolumeCommand(float volume, int delayMs = 0); void insertCommand_l(AudioCommand *command, int delayMs = 0); @@ -240,9 +224,11 @@ private: mutable Mutex mLock; // prevents concurrent access to AudioPolicy manager functions changing // device connection state or routing - AudioPolicyInterface* mpPolicyManager; // the platform specific policy manager sp mAudioCommandThread; // audio commands thread sp mTonePlaybackThread; // tone playback thread + + struct audio_policy_device *mpAudioPolicyDev; + struct audio_policy *mpAudioPolicy; }; }; // namespace android -- cgit v1.1