Merge "Remove start() parameter from extractors"
diff --git a/include/media/MediaExtractorPluginApi.h b/include/media/MediaExtractorPluginApi.h
index 9caea3e..b071a58 100644
--- a/include/media/MediaExtractorPluginApi.h
+++ b/include/media/MediaExtractorPluginApi.h
@@ -51,7 +51,7 @@
void *data;
void (*free)(void *data);
- status_t (*start)(void *data, MetaDataBase *params);
+ status_t (*start)(void *data);
status_t (*stop)(void *data);
status_t (*getFormat)(void *data, MetaDataBase &format);
status_t (*read)(void *data, MediaBufferBase **buffer, uint32_t options, int64_t seekPosUs);
@@ -62,7 +62,7 @@
void *data;
void (*free)(void *data);
- status_t (*start)(void *data, AMediaFormat *params);
+ status_t (*start)(void *data);
status_t (*stop)(void *data);
status_t (*getFormat)(void *data, AMediaFormat *format);
status_t (*read)(void *data, MediaBufferBase **buffer, uint32_t options, int64_t seekPosUs);
diff --git a/include/media/MediaExtractorPluginHelper.h b/include/media/MediaExtractorPluginHelper.h
index 2acc2bf..d76d5f8 100644
--- a/include/media/MediaExtractorPluginHelper.h
+++ b/include/media/MediaExtractorPluginHelper.h
@@ -37,7 +37,7 @@
class MediaTrackHelper {
public:
virtual ~MediaTrackHelper() {};
- virtual status_t start(MetaDataBase *params = NULL) = 0;
+ virtual status_t start() = 0;
virtual status_t stop() = 0;
virtual status_t getFormat(MetaDataBase& format) = 0;
@@ -82,8 +82,8 @@
wrapper->free = [](void *data) -> void {
delete (MediaTrackHelper*)(data);
};
- wrapper->start = [](void *data, MetaDataBase *params) -> status_t {
- return ((MediaTrackHelper*)data)->start(params);
+ wrapper->start = [](void *data) -> status_t {
+ return ((MediaTrackHelper*)data)->start();
};
wrapper->stop = [](void *data) -> status_t {
return ((MediaTrackHelper*)data)->stop();
@@ -106,7 +106,7 @@
class MediaTrackHelperV2 {
public:
virtual ~MediaTrackHelperV2() {};
- virtual status_t start(AMediaFormat *params = NULL) = 0;
+ virtual status_t start() = 0;
virtual status_t stop() = 0;
virtual status_t getFormat(AMediaFormat *format) = 0;
@@ -151,8 +151,8 @@
wrapper->free = [](void *data) -> void {
delete (MediaTrackHelperV2*)(data);
};
- wrapper->start = [](void *data, AMediaFormat *params) -> status_t {
- return ((MediaTrackHelperV2*)data)->start(params);
+ wrapper->start = [](void *data) -> status_t {
+ return ((MediaTrackHelperV2*)data)->start();
};
wrapper->stop = [](void *data) -> status_t {
return ((MediaTrackHelperV2*)data)->stop();
diff --git a/include/media/MediaTrack.h b/include/media/MediaTrack.h
index 174f4cc..ee3591e 100644
--- a/include/media/MediaTrack.h
+++ b/include/media/MediaTrack.h
@@ -52,7 +52,7 @@
// To be called before any other methods on this object, except
// getFormat().
- virtual status_t start(MetaDataBase *params = NULL) = 0;
+ virtual status_t start() = 0;
// Any blocking read call returns immediately with a result of NO_INIT.
// It is an error to call any methods other than start after this call
@@ -143,7 +143,7 @@
public:
explicit MediaTrackCUnwrapper(CMediaTrack *wrapper);
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase& format);
virtual status_t read(MediaBufferBase **buffer, const ReadOptions *options = NULL);
@@ -161,7 +161,7 @@
public:
explicit MediaTrackCUnwrapperV2(CMediaTrackV2 *wrapper);
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase& format);
virtual status_t read(MediaBufferBase **buffer, const ReadOptions *options = NULL);
diff --git a/media/extractors/aac/AACExtractor.cpp b/media/extractors/aac/AACExtractor.cpp
index b52aec5..1589131 100644
--- a/media/extractors/aac/AACExtractor.cpp
+++ b/media/extractors/aac/AACExtractor.cpp
@@ -40,7 +40,7 @@
const Vector<uint64_t> &offset_vector,
int64_t frame_duration_us);
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase&);
@@ -238,7 +238,7 @@
}
}
-status_t AACSource::start(MetaDataBase * /* params */) {
+status_t AACSource::start() {
CHECK(!mStarted);
if (mOffsetVector.empty()) {
diff --git a/media/extractors/amr/AMRExtractor.cpp b/media/extractors/amr/AMRExtractor.cpp
index 8039f3a..0b5d310 100644
--- a/media/extractors/amr/AMRExtractor.cpp
+++ b/media/extractors/amr/AMRExtractor.cpp
@@ -38,7 +38,7 @@
const off64_t *offset_table,
size_t offset_table_length);
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &);
@@ -249,7 +249,7 @@
}
}
-status_t AMRSource::start(MetaDataBase * /* params */) {
+status_t AMRSource::start() {
CHECK(!mStarted);
mOffset = mIsWide ? 9 : 6;
diff --git a/media/extractors/flac/FLACExtractor.cpp b/media/extractors/flac/FLACExtractor.cpp
index debdcfc..337ada5 100644
--- a/media/extractors/flac/FLACExtractor.cpp
+++ b/media/extractors/flac/FLACExtractor.cpp
@@ -46,7 +46,7 @@
DataSourceHelper *dataSource,
MetaDataBase &meta);
- virtual status_t start(MetaDataBase *params);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &meta);
@@ -731,7 +731,7 @@
delete mParser;
}
-status_t FLACSource::start(MetaDataBase * /* params */)
+status_t FLACSource::start()
{
ALOGV("FLACSource::start");
diff --git a/media/extractors/midi/MidiExtractor.cpp b/media/extractors/midi/MidiExtractor.cpp
index 9b0f4e7..9c2c863 100644
--- a/media/extractors/midi/MidiExtractor.cpp
+++ b/media/extractors/midi/MidiExtractor.cpp
@@ -40,7 +40,7 @@
MidiEngine &engine,
AMediaFormat *trackMetadata);
- virtual status_t start(AMediaFormat *params);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(AMediaFormat *);
@@ -87,7 +87,7 @@
}
}
-status_t MidiSource::start(AMediaFormat * /* params */)
+status_t MidiSource::start()
{
ALOGV("MidiSource::start");
diff --git a/media/extractors/mkv/MatroskaExtractor.cpp b/media/extractors/mkv/MatroskaExtractor.cpp
index 73c8d17..20ff6e2 100644
--- a/media/extractors/mkv/MatroskaExtractor.cpp
+++ b/media/extractors/mkv/MatroskaExtractor.cpp
@@ -126,7 +126,7 @@
struct MatroskaSource : public MediaTrackHelper {
MatroskaSource(MatroskaExtractor *extractor, size_t index);
- virtual status_t start(MetaDataBase *params);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &);
@@ -268,7 +268,7 @@
clearPendingFrames();
}
-status_t MatroskaSource::start(MetaDataBase * /* params */) {
+status_t MatroskaSource::start() {
if (mType == AVC && mNALSizeLen < 0) {
return ERROR_MALFORMED;
}
diff --git a/media/extractors/mp3/MP3Extractor.cpp b/media/extractors/mp3/MP3Extractor.cpp
index e56a71b..eca5711 100644
--- a/media/extractors/mp3/MP3Extractor.cpp
+++ b/media/extractors/mp3/MP3Extractor.cpp
@@ -214,7 +214,7 @@
off64_t first_frame_pos, uint32_t fixed_header,
MP3Seeker *seeker);
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &meta);
@@ -462,7 +462,7 @@
}
}
-status_t MP3Source::start(MetaDataBase *) {
+status_t MP3Source::start() {
CHECK(!mStarted);
mGroup = new MediaBufferGroup;
diff --git a/media/extractors/mp4/MPEG4Extractor.cpp b/media/extractors/mp4/MPEG4Extractor.cpp
index e3da6d8..e81e9b2 100644
--- a/media/extractors/mp4/MPEG4Extractor.cpp
+++ b/media/extractors/mp4/MPEG4Extractor.cpp
@@ -81,7 +81,7 @@
const sp<ItemTable> &itemTable);
virtual status_t init();
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &);
@@ -137,8 +137,6 @@
MediaBufferBase *mBuffer;
- bool mWantsNALFragments;
-
uint8_t *mSrcBuffer;
bool mIsHeif;
@@ -4122,7 +4120,6 @@
mStarted(false),
mGroup(NULL),
mBuffer(NULL),
- mWantsNALFragments(false),
mSrcBuffer(NULL),
mIsHeif(itemTable != NULL),
mItemTable(itemTable) {
@@ -4221,19 +4218,11 @@
free(mCurrentSampleInfoOffsets);
}
-status_t MPEG4Source::start(MetaDataBase *params) {
+status_t MPEG4Source::start() {
Mutex::Autolock autoLock(mLock);
CHECK(!mStarted);
- int32_t val;
- if (params && params->findInt32(kKeyWantsNALFragments, &val)
- && val != 0) {
- mWantsNALFragments = true;
- } else {
- mWantsNALFragments = false;
- }
-
int32_t tmp;
CHECK(mFormat.findInt32(kKeyMaxInputSize, &tmp));
size_t max_size = tmp;
@@ -5113,7 +5102,7 @@
}
}
- if ((!mIsAVC && !mIsHEVC && !mIsAC4) || mWantsNALFragments) {
+ if ((!mIsAVC && !mIsHEVC && !mIsAC4)) {
if (newBuffer) {
if (mIsPcm) {
// The twos' PCM block reader assumes that all samples has the same size.
@@ -5541,7 +5530,7 @@
}
- if ((!mIsAVC && !mIsHEVC)|| mWantsNALFragments) {
+ if ((!mIsAVC && !mIsHEVC)) {
if (newBuffer) {
if (!isInRange((size_t)0u, mBuffer->size(), size)) {
mBuffer->release();
diff --git a/media/extractors/mpeg2/MPEG2PSExtractor.cpp b/media/extractors/mpeg2/MPEG2PSExtractor.cpp
index 577d1be..fc13d2c 100644
--- a/media/extractors/mpeg2/MPEG2PSExtractor.cpp
+++ b/media/extractors/mpeg2/MPEG2PSExtractor.cpp
@@ -43,7 +43,7 @@
Track(MPEG2PSExtractor *extractor,
unsigned stream_id, unsigned stream_type);
- virtual status_t start(MetaDataBase *params);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &);
@@ -74,7 +74,7 @@
struct MPEG2PSExtractor::WrappedTrack : public MediaTrackHelper {
WrappedTrack(MPEG2PSExtractor *extractor, const sp<Track> &track);
- virtual status_t start(MetaDataBase *params);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &);
@@ -635,7 +635,7 @@
mQueue = NULL;
}
-status_t MPEG2PSExtractor::Track::start(MetaDataBase *) {
+status_t MPEG2PSExtractor::Track::start() {
if (mSource == NULL) {
return NO_INIT;
}
@@ -734,8 +734,8 @@
MPEG2PSExtractor::WrappedTrack::~WrappedTrack() {
}
-status_t MPEG2PSExtractor::WrappedTrack::start(MetaDataBase *params) {
- return mTrack->start(params);
+status_t MPEG2PSExtractor::WrappedTrack::start() {
+ return mTrack->start();
}
status_t MPEG2PSExtractor::WrappedTrack::stop() {
diff --git a/media/extractors/mpeg2/MPEG2TSExtractor.cpp b/media/extractors/mpeg2/MPEG2TSExtractor.cpp
index c0826c9..a74ddaa 100644
--- a/media/extractors/mpeg2/MPEG2TSExtractor.cpp
+++ b/media/extractors/mpeg2/MPEG2TSExtractor.cpp
@@ -57,7 +57,7 @@
bool doesSeek);
virtual ~MPEG2TSSource();
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(MetaDataBase &);
@@ -87,7 +87,7 @@
MPEG2TSSource::~MPEG2TSSource() {
}
-status_t MPEG2TSSource::start(MetaDataBase *) {
+status_t MPEG2TSSource::start() {
return mImpl->start(NULL); // AnotherPacketSource::start() doesn't use its argument
}
diff --git a/media/extractors/ogg/OggExtractor.cpp b/media/extractors/ogg/OggExtractor.cpp
index dc6b0b7..123ac91 100644
--- a/media/extractors/ogg/OggExtractor.cpp
+++ b/media/extractors/ogg/OggExtractor.cpp
@@ -52,7 +52,7 @@
virtual status_t getFormat(MetaDataBase &);
- virtual status_t start(MetaDataBase *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t read(
@@ -241,7 +241,7 @@
return mExtractor->mImpl->getFormat(meta);
}
-status_t OggSource::start(MetaDataBase * /* params */) {
+status_t OggSource::start() {
if (mStarted) {
return INVALID_OPERATION;
}
diff --git a/media/extractors/wav/WAVExtractor.cpp b/media/extractors/wav/WAVExtractor.cpp
index 1b7c2e4..cc1a501 100644
--- a/media/extractors/wav/WAVExtractor.cpp
+++ b/media/extractors/wav/WAVExtractor.cpp
@@ -62,7 +62,7 @@
int32_t bitsPerSample,
off64_t offset, size_t size);
- virtual status_t start(AMediaFormat *params = NULL);
+ virtual status_t start();
virtual status_t stop();
virtual status_t getFormat(AMediaFormat *meta);
@@ -377,7 +377,7 @@
}
}
-status_t WAVSource::start(AMediaFormat * /* params */) {
+status_t WAVSource::start() {
ALOGV("WAVSource::start");
CHECK(!mStarted);
diff --git a/media/libmediaextractor/include/media/stagefright/MetaDataBase.h b/media/libmediaextractor/include/media/stagefright/MetaDataBase.h
index 2e9aede..c14669f 100644
--- a/media/libmediaextractor/include/media/stagefright/MetaDataBase.h
+++ b/media/libmediaextractor/include/media/stagefright/MetaDataBase.h
@@ -68,7 +68,6 @@
kKeyOpusSeekPreRoll = 'ospr', // uint64_t (seek preroll in ns)
kKeyFlacMetadata = 'flMd', // raw data
kKeyVp9CodecPrivate = 'vp9p', // raw data (vp9 csd information)
- kKeyWantsNALFragments = 'NALf',
kKeyIsSyncFrame = 'sync', // int32_t (bool)
kKeyIsCodecConfig = 'conf', // int32_t (bool)
kKeyIsMuxerData = 'muxd', // int32_t (bool)
diff --git a/media/libstagefright/MediaTrack.cpp b/media/libstagefright/MediaTrack.cpp
index 792b317..99f6a45 100644
--- a/media/libstagefright/MediaTrack.cpp
+++ b/media/libstagefright/MediaTrack.cpp
@@ -67,8 +67,8 @@
free(wrapper);
}
-status_t MediaTrackCUnwrapper::start(MetaDataBase *params) {
- return wrapper->start(wrapper->data, params);
+status_t MediaTrackCUnwrapper::start() {
+ return wrapper->start(wrapper->data);
}
status_t MediaTrackCUnwrapper::stop() {
@@ -111,13 +111,8 @@
MediaTrackCUnwrapperV2::~MediaTrackCUnwrapperV2() {
}
-status_t MediaTrackCUnwrapperV2::start(MetaDataBase *meta) {
- sp<AMessage> msg;
- convertMetaDataToMessage(meta, &msg);
- AMediaFormat *format = AMediaFormat_fromMsg(&msg);
- status_t ret = wrapper->start(wrapper->data, format);
- delete format;
- return ret;
+status_t MediaTrackCUnwrapperV2::start() {
+ return wrapper->start(wrapper->data);
}
status_t MediaTrackCUnwrapperV2::stop() {
diff --git a/media/libstagefright/RemoteMediaSource.cpp b/media/libstagefright/RemoteMediaSource.cpp
index e549fcf..db31af2 100644
--- a/media/libstagefright/RemoteMediaSource.cpp
+++ b/media/libstagefright/RemoteMediaSource.cpp
@@ -25,25 +25,29 @@
MediaTrack *source,
const sp<RefBase> &plugin)
: mExtractor(extractor),
- mSource(source),
+ mTrack(source),
mExtractorPlugin(plugin) {}
RemoteMediaSource::~RemoteMediaSource() {
- delete mSource;
+ delete mTrack;
mExtractorPlugin = nullptr;
}
status_t RemoteMediaSource::start(MetaData *params) {
- return mSource->start(params);
+ if (params) {
+ ALOGW("dropping start parameters:");
+ params->dumpToLog();
+ }
+ return mTrack->start();
}
status_t RemoteMediaSource::stop() {
- return mSource->stop();
+ return mTrack->stop();
}
sp<MetaData> RemoteMediaSource::getFormat() {
sp<MetaData> meta = new MetaData();
- if (mSource->getFormat(*meta.get()) == OK) {
+ if (mTrack->getFormat(*meta.get()) == OK) {
return meta;
}
return nullptr;
@@ -51,11 +55,11 @@
status_t RemoteMediaSource::read(
MediaBufferBase **buffer, const MediaSource::ReadOptions *options) {
- return mSource->read(buffer, reinterpret_cast<const MediaSource::ReadOptions*>(options));
+ return mTrack->read(buffer, reinterpret_cast<const MediaSource::ReadOptions*>(options));
}
bool RemoteMediaSource::supportNonblockingRead() {
- return mSource->supportNonblockingRead();
+ return mTrack->supportNonblockingRead();
}
status_t RemoteMediaSource::pause() {
diff --git a/media/libstagefright/include/media/stagefright/RemoteMediaSource.h b/media/libstagefright/include/media/stagefright/RemoteMediaSource.h
index d1ec1ed..03d3869 100644
--- a/media/libstagefright/include/media/stagefright/RemoteMediaSource.h
+++ b/media/libstagefright/include/media/stagefright/RemoteMediaSource.h
@@ -43,7 +43,7 @@
private:
sp<RemoteMediaExtractor> mExtractor;
- MediaTrack *mSource;
+ MediaTrack *mTrack;
sp<RefBase> mExtractorPlugin;
explicit RemoteMediaSource(