Add IAudioManager methods for tracking client recording activity
audio_unique_id_t IAudioManager::trackRecorder(IBinder token)
- registers a client recorder withing Audio Service,
returns a unique tracking recording ID (RIID);
Audio Service tracks the lifetime of the recorder using
the provided token.
oneway recorderEvent(int riid, int event)
- updates the current state of the client;
only "started" and "stoped" states are considered.
Bug: 123312504
Test: android.media.cts.AudioRecordingConfigurationTest
AudioRecordTest#testAudioRecordInfoCallback
MediaRecorderTest#testAudioRecordInfoCallback
manual testing using Oboe and Solo test apps
Change-Id: Iddb1b91fff7127ab35ba1d33e3e6c32937ac3081
diff --git a/include/audiomanager/IAudioManager.h b/include/audiomanager/IAudioManager.h
index d279bbd..d0642c6 100644
--- a/include/audiomanager/IAudioManager.h
+++ b/include/audiomanager/IAudioManager.h
@@ -36,6 +36,8 @@
PLAYER_ATTRIBUTES = IBinder::FIRST_CALL_TRANSACTION + 1,
PLAYER_EVENT = IBinder::FIRST_CALL_TRANSACTION + 2,
RELEASE_PLAYER = IBinder::FIRST_CALL_TRANSACTION + 3,
+ TRACK_RECORDER = IBinder::FIRST_CALL_TRANSACTION + 4,
+ RECORDER_EVENT = IBinder::FIRST_CALL_TRANSACTION + 5,
};
DECLARE_META_INTERFACE(AudioManager)
@@ -48,6 +50,8 @@
audio_content_type_t content)= 0;
/*oneway*/ virtual status_t playerEvent(audio_unique_id_t piid, player_state_t event) = 0;
/*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;
};
// ----------------------------------------------------------------------------