diff options
author | 2019-05-09 09:06:15 -0700 | |
---|---|---|
committer | 2019-05-09 09:06:15 -0700 | |
commit | b8bff0c45ad4231c32fb677158318cbc78564e96 (patch) | |
tree | 8b1d018a7c7b94ef08eb01e3762cd0158dc5c38f | |
parent | 46b45af96e5916276e1628ca49c44251c93f5eea (diff) |
Add IAudioManager method for releasing a recorder.
oneway releaseRecorder(int riid)
- unregisters a client recorder
Bug: 123312504
Test: start and stop audio recording, check "dumpsys audio"
Change-Id: I894de434a0bfeaaca37601a406feda1c62e060c7
-rw-r--r-- | include/audiomanager/IAudioManager.h | 2 | ||||
-rw-r--r-- | services/audiomanager/IAudioManager.cpp | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/audiomanager/IAudioManager.h b/include/audiomanager/IAudioManager.h index d0642c6bbb..2f5ccb89e9 100644 --- a/include/audiomanager/IAudioManager.h +++ b/include/audiomanager/IAudioManager.h @@ -38,6 +38,7 @@ public: RELEASE_PLAYER = IBinder::FIRST_CALL_TRANSACTION + 3, TRACK_RECORDER = IBinder::FIRST_CALL_TRANSACTION + 4, RECORDER_EVENT = IBinder::FIRST_CALL_TRANSACTION + 5, + RELEASE_RECORDER = IBinder::FIRST_CALL_TRANSACTION + 6, }; DECLARE_META_INTERFACE(AudioManager) @@ -52,6 +53,7 @@ public: /*oneway*/ virtual status_t releasePlayer(audio_unique_id_t piid) = 0; virtual audio_unique_id_t trackRecorder(const sp<IBinder>& recorder) = 0; /*oneway*/ virtual status_t recorderEvent(audio_unique_id_t riid, recorder_state_t event) = 0; + /*oneway*/ virtual status_t releaseRecorder(audio_unique_id_t riid) = 0; }; // ---------------------------------------------------------------------------- diff --git a/services/audiomanager/IAudioManager.cpp b/services/audiomanager/IAudioManager.cpp index f5d4826307..6235f06bc1 100644 --- a/services/audiomanager/IAudioManager.cpp +++ b/services/audiomanager/IAudioManager.cpp @@ -122,6 +122,13 @@ public: data.writeInt32((int32_t) event); return remote()->transact(RECORDER_EVENT, data, &reply, IBinder::FLAG_ONEWAY); } + + virtual status_t releaseRecorder(audio_unique_id_t riid) { + Parcel data, reply; + data.writeInterfaceToken(IAudioManager::getInterfaceDescriptor()); + data.writeInt32((int32_t) riid); + return remote()->transact(RELEASE_RECORDER, data, &reply, IBinder::FLAG_ONEWAY); + } }; IMPLEMENT_META_INTERFACE(AudioManager, "android.media.IAudioService"); |