stagefright: add flags to NuMediaExtractor::getTrackFormat
This is to allow passing mpeg-2 stream headers.
Bug: 28671284
Change-Id: I63abecad58ae346fa12d33896bbd8c970194d7e3
diff --git a/include/media/stagefright/NuMediaExtractor.h b/include/media/stagefright/NuMediaExtractor.h
index 6606c58..03e2185 100644
--- a/include/media/stagefright/NuMediaExtractor.h
+++ b/include/media/stagefright/NuMediaExtractor.h
@@ -44,6 +44,11 @@
SAMPLE_FLAG_ENCRYPTED = 2,
};
+ // identical to IMediaExtractor::GetTrackMetaDataFlags
+ enum GetTrackFormatFlags {
+ kIncludeExtensiveMetaData = 1, // reads sample table and possibly stream headers
+ };
+
NuMediaExtractor();
status_t setDataSource(
@@ -56,7 +61,7 @@
status_t setDataSource(const sp<DataSource> &datasource);
size_t countTracks() const;
- status_t getTrackFormat(size_t index, sp<AMessage> *format) const;
+ status_t getTrackFormat(size_t index, sp<AMessage> *format, uint32_t flags = 0) const;
status_t getFileFormat(sp<AMessage> *format) const;
diff --git a/media/libstagefright/NuMediaExtractor.cpp b/media/libstagefright/NuMediaExtractor.cpp
index 271c69b..a669dca 100644
--- a/media/libstagefright/NuMediaExtractor.cpp
+++ b/media/libstagefright/NuMediaExtractor.cpp
@@ -232,7 +232,7 @@
}
status_t NuMediaExtractor::getTrackFormat(
- size_t index, sp<AMessage> *format) const {
+ size_t index, sp<AMessage> *format, uint32_t flags) const {
Mutex::Autolock autoLock(mLock);
*format = NULL;
@@ -245,7 +245,7 @@
return -ERANGE;
}
- sp<MetaData> meta = mImpl->getTrackMetaData(index);
+ sp<MetaData> meta = mImpl->getTrackMetaData(index, flags);
// Extractors either support trackID-s or not, so either all tracks have trackIDs or none.
// Generate trackID if missing.
int32_t trackID;