diff options
author | Glenn Kasten <gkasten@google.com> | 2013-07-31 16:12:48 -0700 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2013-08-02 16:22:42 -0700 |
commit | eeca32671896739e84050da5992d5f151a1629de (patch) | |
tree | d611c0a426354e80345956c945e9381e6137209b /media/libmedia/IAudioFlinger.cpp | |
parent | 27f7b2a8fe899565487d8a326676a5f7d0a05a37 (diff) | |
download | frameworks_av-eeca32671896739e84050da5992d5f151a1629de.zip frameworks_av-eeca32671896739e84050da5992d5f151a1629de.tar.gz frameworks_av-eeca32671896739e84050da5992d5f151a1629de.tar.bz2 |
IAudioFlinger::openRecord track_flags_t flags is in/out
This will allow AudioFlinger to tell client it is denying a request.
Change-Id: Iff2be3ad6636371bbda9c9899a283c94620c1f06
Diffstat (limited to 'media/libmedia/IAudioFlinger.cpp')
-rw-r--r-- | media/libmedia/IAudioFlinger.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp index c6e43e7..be818c6 100644 --- a/media/libmedia/IAudioFlinger.cpp +++ b/media/libmedia/IAudioFlinger.cpp @@ -144,7 +144,7 @@ public: audio_format_t format, audio_channel_mask_t channelMask, size_t frameCount, - track_flags_t flags, + track_flags_t *flags, pid_t tid, int *sessionId, status_t *status) @@ -157,7 +157,8 @@ public: data.writeInt32(format); data.writeInt32(channelMask); data.writeInt32(frameCount); - data.writeInt32(flags); + track_flags_t lFlags = flags != NULL ? *flags : (track_flags_t) TRACK_DEFAULT; + data.writeInt32(lFlags); data.writeInt32((int32_t) tid); int lSessionId = 0; if (sessionId != NULL) { @@ -168,6 +169,10 @@ public: if (lStatus != NO_ERROR) { ALOGE("openRecord error: %s", strerror(-lStatus)); } else { + lFlags = reply.readInt32(); + if (flags != NULL) { + *flags = lFlags; + } lSessionId = reply.readInt32(); if (sessionId != NULL) { *sessionId = lSessionId; @@ -761,7 +766,8 @@ status_t BnAudioFlinger::onTransact( int sessionId = data.readInt32(); status_t status; sp<IAudioRecord> record = openRecord(input, - sampleRate, format, channelMask, frameCount, flags, tid, &sessionId, &status); + sampleRate, format, channelMask, frameCount, &flags, tid, &sessionId, &status); + reply->writeInt32(flags); reply->writeInt32(sessionId); reply->writeInt32(status); reply->writeStrongBinder(record->asBinder()); |