diff options
-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"); |