ndk data source: add close API
Bug: 63934228
Change-Id: I4d5f0d6d6bee22d9ef61b85343beffa9e8bd5e74
diff --git a/media/ndk/NdkMediaDataSource.cpp b/media/ndk/NdkMediaDataSource.cpp
index 0cae6f4..f190f80 100644
--- a/media/ndk/NdkMediaDataSource.cpp
+++ b/media/ndk/NdkMediaDataSource.cpp
@@ -40,6 +40,7 @@
void *userdata;
AMediaDataSourceReadAt readAt;
AMediaDataSourceGetSize getSize;
+ AMediaDataSourceClose close;
};
NdkDataSource::NdkDataSource(AMediaDataSource *dataSource)
@@ -77,6 +78,12 @@
return String8("application/octet-stream");
}
+void NdkDataSource::close() {
+ if (mDataSource->close != NULL && mDataSource->userdata != NULL) {
+ mDataSource->close(mDataSource->userdata);
+ }
+}
+
extern "C" {
EXPORT
@@ -85,6 +92,7 @@
mSource->userdata = NULL;
mSource->readAt = NULL;
mSource->getSize = NULL;
+ mSource->close = NULL;
return mSource;
}
@@ -111,5 +119,10 @@
mSource->getSize = getSize;
}
+EXPORT
+void AMediaDataSource_setClose(AMediaDataSource *mSource, AMediaDataSourceClose close) {
+ mSource->close = close;
+}
+
} // extern "C"