diff options
| author | Dima Zavin <dima@android.com> | 2011-04-26 19:51:06 -0700 |
|---|---|---|
| committer | Dima Zavin <dima@android.com> | 2011-04-27 10:48:25 -0700 |
| commit | d8d8c60a3a91a2029294d95344b80d76fec09aed (patch) | |
| tree | fe92b7a5ba56f5f3607113290f3396e164e0f4b0 /audio | |
| parent | b7e1f72899e7abb8416b1b76ae840c64c1c9eaaa (diff) | |
| download | hardware_libhardware_legacy-d8d8c60a3a91a2029294d95344b80d76fec09aed.tar.gz hardware_libhardware_legacy-d8d8c60a3a91a2029294d95344b80d76fec09aed.tar.bz2 hardware_libhardware_legacy-d8d8c60a3a91a2029294d95344b80d76fec09aed.zip | |
hardware_legacy/audio: provide a default audio policy implementation
This uses the legacy policy code to build a default implementation that
can be used while we figure out what the new policy inheritance should
look like.
Change-Id: I3e4154abc7152b4f560b28e391a268bf508767e3
Signed-off-by: Dima Zavin <dima@android.com>
Diffstat (limited to 'audio')
| -rw-r--r-- | audio/Android.mk | 28 | ||||
| -rw-r--r-- | audio/AudioPolicyManagerDefault.cpp | 34 | ||||
| -rw-r--r-- | audio/AudioPolicyManagerDefault.h | 43 |
3 files changed, 105 insertions, 0 deletions
diff --git a/audio/Android.mk b/audio/Android.mk index 5a5a5a1..ef41374 100644 --- a/audio/Android.mk +++ b/audio/Android.mk @@ -41,6 +41,34 @@ LOCAL_MODULE_TAGS := optional include $(BUILD_STATIC_LIBRARY) +# The default audio policy, for now still implemented on top of legacy +# policy code +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + AudioPolicyManagerDefault.cpp + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libutils \ + libmedia + +LOCAL_STATIC_LIBRARIES := \ + libmedia_helper + +LOCAL_WHOLE_STATIC_LIBRARIES := \ + libaudiopolicy_legacy + +LOCAL_MODULE := audio_policy.default +LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw +LOCAL_MODULE_TAGS := optional + +ifeq ($(BOARD_HAVE_BLUETOOTH),true) + LOCAL_CFLAGS += -DWITH_A2DP +endif + +include $(BUILD_SHARED_LIBRARY) + #ifeq ($(ENABLE_AUDIO_DUMP),true) # LOCAL_SRC_FILES += AudioDumpInterface.cpp # LOCAL_CFLAGS += -DENABLE_AUDIO_DUMP diff --git a/audio/AudioPolicyManagerDefault.cpp b/audio/AudioPolicyManagerDefault.cpp new file mode 100644 index 0000000..9083638 --- /dev/null +++ b/audio/AudioPolicyManagerDefault.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "AudioPolicyManagerDefault" +//#define LOG_NDEBUG 0 + +#include "AudioPolicyManagerDefault.h" + +namespace android_audio_legacy { + +extern "C" AudioPolicyInterface* createAudioPolicyManager(AudioPolicyClientInterface *clientInterface) +{ + return new AudioPolicyManagerDefault(clientInterface); +} + +extern "C" void destroyAudioPolicyManager(AudioPolicyInterface *interface) +{ + delete interface; +} + +}; // namespace android diff --git a/audio/AudioPolicyManagerDefault.h b/audio/AudioPolicyManagerDefault.h new file mode 100644 index 0000000..b2b2576 --- /dev/null +++ b/audio/AudioPolicyManagerDefault.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#include <stdint.h> +#include <stdbool.h> + +#include <hardware_legacy/AudioPolicyManagerBase.h> + +namespace android_audio_legacy { + +class AudioPolicyManagerDefault: public AudioPolicyManagerBase +{ + +public: + AudioPolicyManagerDefault(AudioPolicyClientInterface *clientInterface) + : AudioPolicyManagerBase(clientInterface) {} + + virtual ~AudioPolicyManagerDefault() {} + +protected: + // true is current platform implements a back microphone + virtual bool hasBackMicrophone() const { return false; } +#ifdef WITH_A2DP + // true is current platform supports suplication of notifications and ringtones over A2DP output + virtual bool a2dpUsedForSonification() const { return true; } +#endif + +}; +}; |
