aaudio: implement native IPLayer for legacy playback streams

Make AudioStreamTrack derive from PlayerTrackBase to
provide playback and volume control via IPLayer interface.

Bug: 62027849
Test: verify aaudio playback regressions and registration of aaudio
players in AudioService

Change-Id: I5c04110f1554233eae3f1bc357a64a584d7303d1
diff --git a/media/libaudioclient/PlayerBase.cpp b/media/libaudioclient/PlayerBase.cpp
index 0ec69db..cbef1b3 100644
--- a/media/libaudioclient/PlayerBase.cpp
+++ b/media/libaudioclient/PlayerBase.cpp
@@ -84,15 +84,21 @@
     servicePlayerEvent(event);
 }
 
-//------------------------------------------------------------------------------
-// Implementation of IPlayer
-void PlayerBase::start() {
-    if (playerStart() == NO_ERROR) {
+status_t PlayerBase::startWithStatus() {
+    status_t status = playerStart();
+    if (status == NO_ERROR) {
         ALOGD("PlayerBase::start() from IPlayer");
         servicePlayerEvent(PLAYER_STATE_STARTED);
     } else {
         ALOGD("PlayerBase::start() no AudioTrack to start from IPlayer");
     }
+    return status;
+}
+
+//------------------------------------------------------------------------------
+// Implementation of IPlayer
+void PlayerBase::start() {
+    (void)startWithStatus();
 }
 
 void PlayerBase::pause() {