AIDLize IAudioFlinger
This change removes all the manual parceling code used in the
IAudioFlinger interface. In order to reduce impact on existing client
and server code to a minimum, the IAudioFlinger interface is preserved
and a new translation layer between IAudioFlinger and its AIDL
counterpart, IAudioFlingerService, is introduced:
- AudioFlingerClientAdapter is for use on the client side. It wraps an
IAudioFlingerService instance and presents an IAudioFlinger
interface.
- AudioFlingerServerAdapter is for use on the server side. It wraps an
IAudioFlinger instance and presents an IAudioFlingerService.
Argument conversion an error checking is performed rigorously in the
translation layer.
Test: Audio-related CTS tests from CtsMediaTestCases
Bug: 160253486
Change-Id: Ibe35317e449b0faa3ef5336bb30f669106978a31
diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp
index fa67898..64ec145 100644
--- a/media/libaudioclient/Android.bp
+++ b/media/libaudioclient/Android.bp
@@ -347,7 +347,9 @@
"aidl/android/media/OpenInputResponse.aidl",
"aidl/android/media/OpenOutputRequest.aidl",
"aidl/android/media/OpenOutputResponse.aidl",
+ "aidl/android/media/RenderPosition.aidl",
+ "aidl/android/media/IAudioFlingerService.aidl",
"aidl/android/media/IAudioFlingerClient.aidl",
"aidl/android/media/IAudioRecord.aidl",
"aidl/android/media/IAudioTrack.aidl",