diff options
Diffstat (limited to 'media/libmedia/IAudioFlinger.cpp')
-rw-r--r-- | media/libmedia/IAudioFlinger.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp index cc6a75c..9d5691f 100644 --- a/media/libmedia/IAudioFlinger.cpp +++ b/media/libmedia/IAudioFlinger.cpp @@ -1,7 +1,8 @@ /* ** ** Copyright 2007, The Android Open Source Project -** Copyright (c) 2012, The Linux Foundation. All rights reserved. +** Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. +** ** Not a Contribution, Apache license notifications and license are retained ** for attribution purposes only. ** @@ -73,6 +74,9 @@ enum { GET_EFFECT_DESCRIPTOR, CREATE_EFFECT, MOVE_EFFECTS, +#ifdef QCOM_FM_ENABLED + SET_FM_VOLUME, +#endif LOAD_HW_MODULE, GET_PRIMARY_OUTPUT_SAMPLING_RATE, GET_PRIMARY_OUTPUT_FRAME_COUNT, @@ -730,6 +734,17 @@ public: return reply.readInt32(); } +#ifdef QCOM_FM_ENABLED + virtual status_t setFmVolume(float volume) + { + Parcel data, reply; + data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); + data.writeFloat(volume); + remote()->transact(SET_FM_VOLUME, data, &reply); + return reply.readInt32(); + } +#endif + virtual audio_module_handle_t loadHwModule(const char *name) { Parcel data, reply; @@ -1128,6 +1143,14 @@ status_t BnAudioFlinger::onTransact( reply->writeInt32(moveEffects(session, srcOutput, dstOutput)); return NO_ERROR; } break; +#ifdef QCOM_FM_ENABLED + case SET_FM_VOLUME: { + CHECK_INTERFACE(IAudioFlinger, data, reply); + float volume = data.readFloat(); + reply->writeInt32( setFmVolume(volume) ); + return NO_ERROR; + } break; +#endif case LOAD_HW_MODULE: { CHECK_INTERFACE(IAudioFlinger, data, reply); reply->writeInt32(loadHwModule(data.readCString())); |