Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.

MediaBuffer class exposes internal classes, ABuffer and IMemory, which
we don't want to expose to plugins. This change introduces
MediaBufferBase which does not expose any classes from system library.

Test: build and post-submit media cts tests
Bug: 67908556
Change-Id: I86b1de0e0bfe09621403bb98da58d0b121eb2c00
diff --git a/cmds/codec2.cpp b/cmds/codec2.cpp
index 155c5aa..33bcd07 100644
--- a/cmds/codec2.cpp
+++ b/cmds/codec2.cpp
@@ -336,7 +336,7 @@
         size_t size = 0u;
         void* data = nullptr;
         int64_t timestamp = 0u;
-        MediaBuffer* buffer = nullptr;
+        MediaBufferBase* buffer = nullptr;
         sp<ABuffer> csd;
         if (!csds.empty()) {
             csd = std::move(csds.front());
diff --git a/tests/C2VDAComponent_test.cpp b/tests/C2VDAComponent_test.cpp
index 2e345b3..49a22ef 100644
--- a/tests/C2VDAComponent_test.cpp
+++ b/tests/C2VDAComponent_test.cpp
@@ -577,7 +577,7 @@
             size_t size = 0u;
             void* data = nullptr;
             int64_t timestamp = 0u;
-            MediaBuffer* buffer = nullptr;
+            MediaBufferBase* buffer = nullptr;
             sp<ABuffer> csd;
             bool queueDummyEOSWork = false;
             if (!csds.empty()) {