Skip to content

Commit

Permalink
libaudio-qdsp5v2: Fix build when FM is disabled
Browse files Browse the repository at this point in the history
Change-Id: I9712eb7d228e530d1ebd223ee9d0b2e6c5870ac5
  • Loading branch information
hyperb1iss committed Dec 28, 2010
1 parent 59a3d19 commit 953c9d9
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 17 deletions.
4 changes: 0 additions & 4 deletions libaudio-qdsp5v2/Android.mk
Expand Up @@ -23,8 +23,6 @@ endif

include $(BUILD_SHARED_LIBRARY)

ifneq ($(BOARD_PREBUILT_LIBAUDIO),true)

include $(CLEAR_VARS)

LOCAL_MODULE := libaudio
Expand Down Expand Up @@ -54,7 +52,5 @@ endif

include $(BUILD_SHARED_LIBRARY)

endif # not BOARD_PREBUILT_LIBAUDIO

endif # not BUILD_TINY_ANDROID

34 changes: 27 additions & 7 deletions libaudio-qdsp5v2/AudioPolicyManager.cpp
Expand Up @@ -47,7 +47,7 @@ extern "C" void destroyAudioPolicyManager(AudioPolicyInterface *interface)
}

// ---

#ifdef HAVE_FM_RADIO
status_t AudioPolicyManager::setDeviceConnectionState(AudioSystem::audio_devices device,
AudioSystem::device_connection_state state,
const char *device_address)
Expand Down Expand Up @@ -234,6 +234,7 @@ status_t AudioPolicyManager::setDeviceConnectionState(AudioSystem::audio_devices
LOGW("setDeviceConnectionState() invalid device: %x", device);
return BAD_VALUE;
}
#endif

uint32_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strategy, bool fromCache)
{
Expand Down Expand Up @@ -356,6 +357,7 @@ uint32_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strategy, boo
// FALL THROUGH

case STRATEGY_MEDIA: {
#ifdef HAVE_FM_RADIO
//To route FM stream to speaker when headset is connected, a new switch case is added.
//case AudioSystem::FORCE_SPEAKER for STRATEGY_MEDIA will come only when we need to route
//FM stream to speaker.
Expand All @@ -366,12 +368,9 @@ uint32_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strategy, boo
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL;
}
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADPHONE;
}
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADSET;
}
#else
uint32_t device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_AUX_DIGITAL;
#endif
#ifdef WITH_A2DP
if (mA2dpOutput != 0) {
if (device2 == 0) {
Expand All @@ -387,6 +386,25 @@ uint32_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strategy, boo
}
}
}
#endif
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADPHONE;
}
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_WIRED_HEADSET;
}
#ifdef WITH_A2DP
if (mA2dpOutput != 0) {
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP;
}
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES;
}
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER;
}
}
#endif
if (device2 == 0) {
device2 = mAvailableOutputDevices & AudioSystem::DEVICE_OUT_SPEAKER;
Expand Down Expand Up @@ -459,6 +477,7 @@ float AudioPolicyManager::computeVolume(int stream, int index, audio_io_handle_t
return volume;
}

#ifdef HAVE_FM_RADIO
void AudioPolicyManager::setOutputDevice(audio_io_handle_t output, uint32_t device, bool force, int delayMs)
{
LOGV("setOutputDevice() output %d device %x delayMs %d", output, device, delayMs);
Expand Down Expand Up @@ -527,5 +546,6 @@ void AudioPolicyManager::setOutputDevice(audio_io_handle_t output, uint32_t devi
setStrategyMute(STRATEGY_MEDIA, false, output, delayMs);
}
}
#endif

}; // namespace android
17 changes: 11 additions & 6 deletions libaudio-qdsp5v2/AudioPolicyManager.h
Expand Up @@ -36,12 +36,22 @@ class AudioPolicyManager: public AudioPolicyManagerBase

virtual ~AudioPolicyManager() {}

#ifdef HAVE_FM_RADIO
// AudioPolicyInterface
virtual status_t setDeviceConnectionState(AudioSystem::audio_devices device,
AudioSystem::device_connection_state state,
const char *device_address);

#endif
protected:
// return appropriate device for streams handled by the specified strategy according to current
// phone state, connected devices...
virtual uint32_t getDeviceForStrategy(routing_strategy strategy, bool fromCache = true);

#ifdef HAVE_FM_RADIO
void setOutputDevice(audio_io_handle_t output, uint32_t device, bool force = false, int delayMs = 0);
#endif

virtual float computeVolume(int stream, int index, audio_io_handle_t output, uint32_t device);

// true is current platform implements a back microphone
virtual bool hasBackMicrophone() const { return true; }
Expand All @@ -51,11 +61,6 @@ class AudioPolicyManager: public AudioPolicyManagerBase
virtual bool a2dpUsedForSonification() const { return true; }
#endif

// return appropriate device for streams handled by the specified strategy according to current
// phone state, connected devices...
virtual uint32_t getDeviceForStrategy(routing_strategy strategy, bool fromCache = true);
virtual float computeVolume(int stream, int index, audio_io_handle_t output, uint32_t device);
void setOutputDevice(audio_io_handle_t output, uint32_t device, bool force = false, int delayMs = 0);
};

};

0 comments on commit 953c9d9

Please sign in to comment.