Remove start() parameter from extractors

Bug: 111407253
Test: CTS
Change-Id: I570374f936e434b214e9cd55e2a72f12ebeafad2
gugelfrei
Marco Nelissen 6 years ago
parent 32fddecebd
commit 3db2dccc3a

@ -51,7 +51,7 @@ struct CMediaTrack {
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 @@ struct CMediaTrackV2 {
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);

@ -37,7 +37,7 @@ struct MediaTrack;
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 @@ inline CMediaTrack *wrap(MediaTrackHelper *track) {
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 @@ inline CMediaTrack *wrap(MediaTrackHelper *track) {
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 @@ inline CMediaTrackV2 *wrapV2(MediaTrackHelperV2 *track) {
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();

@ -52,7 +52,7 @@ struct MediaTrack
// 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 @@ class MediaTrackCUnwrapper : public MediaTrack {
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 @@ class MediaTrackCUnwrapperV2 : public MediaTrack {
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);

@ -40,7 +40,7 @@ public:
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 @@ AACSource::~AACSource() {
}
}
status_t AACSource::start(MetaDataBase * /* params */) {
status_t AACSource::start() {
CHECK(!mStarted);
if (mOffsetVector.empty()) {

@ -38,7 +38,7 @@ public:
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 @@ AMRSource::~AMRSource() {
}
}
status_t AMRSource::start(MetaDataBase * /* params */) {
status_t AMRSource::start() {
CHECK(!mStarted);
mOffset = mIsWide ? 9 : 6;

@ -46,7 +46,7 @@ public:
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 @@ FLACSource::~FLACSource()
delete mParser;
}
status_t FLACSource::start(MetaDataBase * /* params */)
status_t FLACSource::start()
{
ALOGV("FLACSource::start");

@ -40,7 +40,7 @@ public:
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 @@ MidiSource::~MidiSource()
}
}
status_t MidiSource::start(AMediaFormat * /* params */)
status_t MidiSource::start()
{
ALOGV("MidiSource::start");

@ -126,7 +126,7 @@ private:
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 @@ MatroskaSource::~MatroskaSource() {
clearPendingFrames();
}
status_t MatroskaSource::start(MetaDataBase * /* params */) {
status_t MatroskaSource::start() {
if (mType == AVC && mNALSizeLen < 0) {
return ERROR_MALFORMED;
}

@ -214,7 +214,7 @@ public:
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 @@ MP3Source::~MP3Source() {
}
}
status_t MP3Source::start(MetaDataBase *) {
status_t MP3Source::start() {
CHECK(!mStarted);
mGroup = new MediaBufferGroup;

@ -81,7 +81,7 @@ public:
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 @@ private:
MediaBufferBase *mBuffer;
bool mWantsNALFragments;
uint8_t *mSrcBuffer;
bool mIsHeif;
@ -4122,7 +4120,6 @@ MPEG4Source::MPEG4Source(
mStarted(false),
mGroup(NULL),
mBuffer(NULL),
mWantsNALFragments(false),
mSrcBuffer(NULL),
mIsHeif(itemTable != NULL),
mItemTable(itemTable) {
@ -4221,19 +4218,11 @@ MPEG4Source::~MPEG4Source() {
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 @@ status_t MPEG4Source::read(
}
}
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 @@ status_t MPEG4Source::fragmentedRead(
}
if ((!mIsAVC && !mIsHEVC)|| mWantsNALFragments) {
if ((!mIsAVC && !mIsHEVC)) {
if (newBuffer) {
if (!isInRange((size_t)0u, mBuffer->size(), size)) {
mBuffer->release();

@ -43,7 +43,7 @@ struct MPEG2PSExtractor::Track : public MediaTrackHelper, public RefBase {
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 @@ private:
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 @@ MPEG2PSExtractor::Track::~Track() {
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(
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() {

@ -57,7 +57,7 @@ struct MPEG2TSSource : public MediaTrackHelper {
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(
MPEG2TSSource::~MPEG2TSSource() {
}
status_t MPEG2TSSource::start(MetaDataBase *) {
status_t MPEG2TSSource::start() {
return mImpl->start(NULL); // AnotherPacketSource::start() doesn't use its argument
}

@ -52,7 +52,7 @@ struct OggSource : public MediaTrackHelper {
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 @@ status_t OggSource::getFormat(MetaDataBase &meta) {
return mExtractor->mImpl->getFormat(meta);
}
status_t OggSource::start(MetaDataBase * /* params */) {
status_t OggSource::start() {
if (mStarted) {
return INVALID_OPERATION;
}

@ -62,7 +62,7 @@ struct WAVSource : public MediaTrackHelperV2 {
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 @@ WAVSource::~WAVSource() {
}
}
status_t WAVSource::start(AMediaFormat * /* params */) {
status_t WAVSource::start() {
ALOGV("WAVSource::start");
CHECK(!mStarted);

@ -68,7 +68,6 @@ enum {
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)

@ -67,8 +67,8 @@ MediaTrackCUnwrapper::~MediaTrackCUnwrapper() {
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(CMediaTrackV2 *cmediatrack2) {
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() {

@ -25,25 +25,29 @@ RemoteMediaSource::RemoteMediaSource(
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 @@ sp<MetaData> RemoteMediaSource::getFormat() {
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() {

@ -43,7 +43,7 @@ public:
private:
sp<RemoteMediaExtractor> mExtractor;
MediaTrack *mSource;
MediaTrack *mTrack;
sp<RefBase> mExtractorPlugin;
explicit RemoteMediaSource(

Loading…
Cancel
Save