diff options
author | Mingming Yin <mingming@codeaurora.org> | 2012-12-27 17:43:05 -0800 |
---|---|---|
committer | Konsta <konsta09@gmail.com> | 2013-03-06 09:51:55 +0200 |
commit | a35c8f521c9cbb64f3d32df5ded7eab2db2727ee (patch) | |
tree | 6b41434b68ca73397fff0950f7aac2ac44de77bd /services/audioflinger/AudioFlinger.cpp | |
parent | 720055270a0412311d39ca77ff1c0e6d744d6b5e (diff) | |
download | frameworks_av-a35c8f521c9cbb64f3d32df5ded7eab2db2727ee.zip frameworks_av-a35c8f521c9cbb64f3d32df5ded7eab2db2727ee.tar.gz frameworks_av-a35c8f521c9cbb64f3d32df5ded7eab2db2727ee.tar.bz2 |
qcom-fm: audio: add support for FM feature
Change-Id: Idd5c7a0364710d54809ef5d4c7b2404b22dc4cf6
Conflicts:
include/media/IAudioFlinger.h
media/libmediaplayerservice/StagefrightRecorder.cpp
media/libstagefright/Android.mk
Diffstat (limited to 'services/audioflinger/AudioFlinger.cpp')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index 5975b62..88da88c 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -1,9 +1,8 @@ /* ** ** Copyright 2007, The Android Open Source Project -** Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +** Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. ** -** Copyright (c) 2012, The Linux Foundation. All rights reserved. ** Not a Contribution, Apache license notifications and license are retained ** for attribution purposes only. ** @@ -1377,6 +1376,29 @@ status_t AudioFlinger::getRenderPosition(uint32_t *halFrames, uint32_t *dspFrame return BAD_VALUE; } +#ifdef QCOM_FM_ENABLED +status_t AudioFlinger::setFmVolume(float value) +{ + status_t ret = initCheck(); + if (ret != NO_ERROR) { + return ret; + } + + // check calling permissions + if (!settingsAllowed()) { + return PERMISSION_DENIED; + } + + AutoMutex lock(mHardwareLock); + audio_hw_device_t *dev = mPrimaryHardwareDev->hwDevice(); + mHardwareStatus = AUDIO_SET_FM_VOLUME; + ret = dev->set_fm_volume(dev, value); + mHardwareStatus = AUDIO_HW_IDLE; + + return ret; +} +#endif + void AudioFlinger::registerClient(const sp<IAudioFlingerClient>& client) { |