Remove RefBase from plugin-side DataSource

Extractor plugins now use DataSourceBase, which is not refcounted.
Framework-side DataSource derives from DataSourceBase and RefBase.
Also remove MediaExtractor::release, because it is not needed
anymore due to the way the extractor/track/datasource lifecycle
is managed now.
Also add source and target pid to CallbackDataSource name, to
make the extractor dumpsys more useful.

Bug: 67908556
Test: build, boot, CTS, skia test app for heif
Change-Id: I6b9cbe903f76b0cf27ba87f4a456f424803efd08
diff --git a/media/extractors/mp4/ItemTable.h b/media/extractors/mp4/ItemTable.h
index 3d2e2ae..f4a69cc 100644
--- a/media/extractors/mp4/ItemTable.h
+++ b/media/extractors/mp4/ItemTable.h
@@ -25,7 +25,7 @@
 
 namespace android {
 
-class DataSource;
+class DataSourceBase;
 class MetaData;
 
 namespace heif {
@@ -44,7 +44,7 @@
 
 class ItemTable : public RefBase {
 public:
-    explicit ItemTable(const sp<DataSource> &source);
+    explicit ItemTable(DataSourceBase *source);
 
     status_t parse(uint32_t type, off64_t offset, size_t size);
 
@@ -60,7 +60,7 @@
     ~ItemTable();
 
 private:
-    sp<DataSource> mDataSource;
+    DataSourceBase *mDataSource;
 
     KeyedVector<uint32_t, ItemLoc> mItemLocs;
     Vector<ItemInfo> mItemInfos;