diff options
| author | 2010-06-04 00:16:05 -0700 | |
|---|---|---|
| committer | 2010-06-04 00:16:05 -0700 | |
| commit | 030a15531c200247e81d36f13f81d6ee443ea81b (patch) | |
| tree | 4cce0e6e3096c7cf4c22fe668687b49e6bfc3c50 /media/libmedia/IAudioTrack.cpp | |
| parent | 2f98f99cd11ea0b971a86903271bbbc4c4c60da0 (diff) | |
| parent | 2ea200c5a7c13e6a7e8bfdb04e96066a38b19240 (diff) | |
am 2ea200c5: Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken
Diffstat (limited to 'media/libmedia/IAudioTrack.cpp')
| -rw-r--r-- | media/libmedia/IAudioTrack.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/media/libmedia/IAudioTrack.cpp b/media/libmedia/IAudioTrack.cpp index 01ffd75e56c5..bc8ff34182a4 100644 --- a/media/libmedia/IAudioTrack.cpp +++ b/media/libmedia/IAudioTrack.cpp @@ -34,7 +34,8 @@ enum { STOP, FLUSH, MUTE, - PAUSE + PAUSE, + ATTACH_AUX_EFFECT }; class BpAudioTrack : public BpInterface<IAudioTrack> @@ -97,7 +98,21 @@ public: cblk = interface_cast<IMemory>(reply.readStrongBinder()); } return cblk; - } + } + + virtual status_t attachAuxEffect(int effectId) + { + Parcel data, reply; + data.writeInterfaceToken(IAudioTrack::getInterfaceDescriptor()); + data.writeInt32(effectId); + status_t status = remote()->transact(ATTACH_AUX_EFFECT, data, &reply); + if (status == NO_ERROR) { + status = reply.readInt32(); + } else { + LOGW("attachAuxEffect() error: %s", strerror(-status)); + } + return status; + } }; IMPLEMENT_META_INTERFACE(AudioTrack, "android.media.IAudioTrack"); @@ -138,6 +153,11 @@ status_t BnAudioTrack::onTransact( pause(); return NO_ERROR; } + case ATTACH_AUX_EFFECT: { + CHECK_INTERFACE(IAudioTrack, data, reply); + reply->writeInt32(attachAuxEffect(data.readInt32())); + return NO_ERROR; + } break; default: return BBinder::onTransact(code, data, reply, flags); } |