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;