AudioFlinger: Extract inner Track classes

Finish removing inner Track classes from AudioFlinger.

Test: atest audiorecord_tests audiotrack_tests audiorouting_tests trackplayerbase_tests audiosystem_tests
Test: atest AudioTrackTest AudioRecordTest
Test: YouTube and Camera
Bug: 288339104
Bug: 288468076
Merged-In: Ib44c7eb854f9d447aa11223d76373b00c413a778
Change-Id: Ib44c7eb854f9d447aa11223d76373b00c413a778
(cherry picked from commit 8d31fd23b1f731911b291f8704bf697c4135ad9d)
diff --git a/services/audioflinger/PatchPanel.h b/services/audioflinger/PatchPanel.h
index 2c5e47c..e693486 100644
--- a/services/audioflinger/PatchPanel.h
+++ b/services/audioflinger/PatchPanel.h
@@ -216,9 +216,9 @@
         // the objects are created by createConnections() and released by clearConnections()
         // playback thread is created if no existing playback thread can be used
         // connects playback thread output to sink device
-        Endpoint<PlaybackThread, PlaybackThread::PatchTrack> mPlayback;
+        Endpoint<PlaybackThread, IAfPatchTrack> mPlayback;
         // connects source device to record thread input
-        Endpoint<RecordThread, RecordThread::PatchRecord> mRecord;
+        Endpoint<RecordThread, IAfPatchRecord> mRecord;
 
         wp<ThreadBase> mThread;
         bool mIsEndpointPatch;