Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c69dbc5d authored by Marco Nelissen's avatar Marco Nelissen Committed by Android (Google) Code Review
Browse files

Merge "Use media_status_t instead of status_t in extractor interface"

parents b5cb9699 5dcf85aa
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
#define MEDIA_EXTRACTOR_PLUGIN_API_H_

#include <utils/Errors.h> // for status_t

#include <media/NdkMediaError.h>
struct AMediaFormat;

namespace android {
@@ -62,10 +62,10 @@ struct CMediaTrackV2 {
    void *data;
    void (*free)(void *data);

    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);
    media_status_t (*start)(void *data);
    media_status_t (*stop)(void *data);
    media_status_t (*getFormat)(void *data, AMediaFormat *format);
    media_status_t (*read)(void *data, MediaBufferBase **buffer, uint32_t options, int64_t seekPosUs);
    bool     (*supportsNonBlockingRead)(void *data);
};

@@ -93,14 +93,14 @@ struct CMediaExtractorV2 {
    void (*free)(void *data);
    size_t (*countTracks)(void *data);
    CMediaTrackV2* (*getTrack)(void *data, size_t index);
    status_t (*getTrackMetaData)(
    media_status_t (*getTrackMetaData)(
            void *data,
            AMediaFormat *meta,
            size_t index, uint32_t flags);

    status_t (*getMetaData)(void *data, AMediaFormat *meta);
    media_status_t (*getMetaData)(void *data, AMediaFormat *meta);
    uint32_t (*flags)(void *data);
    status_t (*setMediaCas)(void *data, const uint8_t* casToken, size_t size);
    media_status_t (*setMediaCas)(void *data, const uint8_t* casToken, size_t size);
    const char * (*name)(void *data);
};

+15 −15
Original line number Diff line number Diff line
@@ -106,9 +106,9 @@ inline CMediaTrack *wrap(MediaTrackHelper *track) {
class MediaTrackHelperV2 {
public:
    virtual ~MediaTrackHelperV2() {};
    virtual status_t start() = 0;
    virtual status_t stop() = 0;
    virtual status_t getFormat(AMediaFormat *format) = 0;
    virtual media_status_t start() = 0;
    virtual media_status_t stop() = 0;
    virtual media_status_t getFormat(AMediaFormat *format) = 0;

    class ReadOptions {
    public:
@@ -140,7 +140,7 @@ public:
        int64_t mSeekPosUs;
    };

    virtual status_t read(
    virtual media_status_t read(
            MediaBufferBase **buffer, const ReadOptions *options = NULL) = 0;
    virtual bool supportsNonBlockingRead() { return false; }
};
@@ -151,17 +151,17 @@ inline CMediaTrackV2 *wrapV2(MediaTrackHelperV2 *track) {
    wrapper->free = [](void *data) -> void {
        delete (MediaTrackHelperV2*)(data);
    };
    wrapper->start = [](void *data) -> status_t {
    wrapper->start = [](void *data) -> media_status_t {
        return ((MediaTrackHelperV2*)data)->start();
    };
    wrapper->stop = [](void *data) -> status_t {
    wrapper->stop = [](void *data) -> media_status_t {
        return ((MediaTrackHelperV2*)data)->stop();
    };
    wrapper->getFormat = [](void *data, AMediaFormat *meta) -> status_t {
    wrapper->getFormat = [](void *data, AMediaFormat *meta) -> media_status_t {
        return ((MediaTrackHelperV2*)data)->getFormat(meta);
    };
    wrapper->read = [](void *data, MediaBufferBase **buffer,  uint32_t options, int64_t seekPosUs)
            -> status_t {
            -> media_status_t {
        MediaTrackHelperV2::ReadOptions opts(options, seekPosUs);
        return ((MediaTrackHelperV2*)data)->read(buffer, &opts);
    };
@@ -268,13 +268,13 @@ public:
    enum GetTrackMetaDataFlags {
        kIncludeExtensiveMetaData = 1
    };
    virtual status_t getTrackMetaData(
    virtual media_status_t getTrackMetaData(
            AMediaFormat *meta,
            size_t index, uint32_t flags = 0) = 0;

    // Return container specific meta-data. The default implementation
    // returns an empty metadata object.
    virtual status_t getMetaData(AMediaFormat *meta) = 0;
    virtual media_status_t getMetaData(AMediaFormat *meta) = 0;

    enum Flags {
        CAN_SEEK_BACKWARD  = 1,  // the "seek 10secs back button"
@@ -289,8 +289,8 @@ public:
        return CAN_SEEK_BACKWARD | CAN_SEEK_FORWARD | CAN_SEEK | CAN_PAUSE;
    };

    virtual status_t setMediaCas(const uint8_t* /*casToken*/, size_t /*size*/) {
        return INVALID_OPERATION;
    virtual media_status_t setMediaCas(const uint8_t* /*casToken*/, size_t /*size*/) {
        return AMEDIA_ERROR_INVALID_OPERATION;
    }

    virtual const char * name() { return "<unspecified>"; }
@@ -318,12 +318,12 @@ inline CMediaExtractorV2 *wrapV2(MediaExtractorPluginHelperV2 *extractor) {
    wrapper->getTrackMetaData = [](
            void *data,
            AMediaFormat *meta,
            size_t index, uint32_t flags) -> status_t {
            size_t index, uint32_t flags) -> media_status_t {
        return ((MediaExtractorPluginHelperV2*)data)->getTrackMetaData(meta, index, flags);
    };
    wrapper->getMetaData = [](
            void *data,
            AMediaFormat *meta) -> status_t {
            AMediaFormat *meta) -> media_status_t {
        return ((MediaExtractorPluginHelperV2*)data)->getMetaData(meta);
    };
    wrapper->flags = [](
@@ -331,7 +331,7 @@ inline CMediaExtractorV2 *wrapV2(MediaExtractorPluginHelperV2 *extractor) {
        return ((MediaExtractorPluginHelperV2*)data)->flags();
    };
    wrapper->setMediaCas = [](
            void *data, const uint8_t *casToken, size_t size) -> status_t {
            void *data, const uint8_t *casToken, size_t size) -> media_status_t {
        return ((MediaExtractorPluginHelperV2*)data)->setMediaCas(casToken, size);
    };
    wrapper->name = [](
+21 −23
Original line number Diff line number Diff line
@@ -39,12 +39,12 @@ public:
            const Vector<uint64_t> &offset_vector,
            int64_t frame_duration_us);

    virtual status_t start();
    virtual status_t stop();
    virtual media_status_t start();
    virtual media_status_t stop();

    virtual status_t getFormat(AMediaFormat*);
    virtual media_status_t getFormat(AMediaFormat*);

    virtual status_t read(
    virtual media_status_t read(
            MediaBufferBase **buffer, const ReadOptions *options = NULL);

protected:
@@ -183,13 +183,13 @@ AACExtractor::~AACExtractor() {
    AMediaFormat_delete(mMeta);
}

status_t AACExtractor::getMetaData(AMediaFormat *meta) {
media_status_t AACExtractor::getMetaData(AMediaFormat *meta) {
    AMediaFormat_clear(meta);
    if (mInitCheck == OK) {
        AMediaFormat_setString(meta, AMEDIAFORMAT_KEY_MIME, MEDIA_MIMETYPE_AUDIO_AAC_ADTS);
    }

    return OK;
    return AMEDIA_OK;
}

size_t AACExtractor::countTracks() {
@@ -204,13 +204,12 @@ MediaTrackHelperV2 *AACExtractor::getTrack(size_t index) {
    return new AACSource(mDataSource, mMeta, mOffsetVector, mFrameDurationUs);
}

status_t AACExtractor::getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t /* flags */) {
media_status_t AACExtractor::getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t /* flags */) {
    if (mInitCheck != OK || index != 0) {
        return UNKNOWN_ERROR;
        return AMEDIA_ERROR_UNKNOWN;
    }

    AMediaFormat_copy(meta, mMeta);
    return OK;
    return AMediaFormat_copy(meta, mMeta);
}

////////////////////////////////////////////////////////////////////////////////
@@ -239,7 +238,7 @@ AACSource::~AACSource() {
    }
}

status_t AACSource::start() {
media_status_t AACSource::start() {
    CHECK(!mStarted);

    if (mOffsetVector.empty()) {
@@ -253,25 +252,24 @@ status_t AACSource::start() {
    mGroup->add_buffer(MediaBufferBase::Create(kMaxFrameSize));
    mStarted = true;

    return OK;
    return AMEDIA_OK;
}

status_t AACSource::stop() {
media_status_t AACSource::stop() {
    CHECK(mStarted);

    delete mGroup;
    mGroup = NULL;

    mStarted = false;
    return OK;
    return AMEDIA_OK;
}

status_t AACSource::getFormat(AMediaFormat *meta) {
    AMediaFormat_copy(meta, mMeta);
    return OK;
media_status_t AACSource::getFormat(AMediaFormat *meta) {
    return AMediaFormat_copy(meta, mMeta);
}

status_t AACSource::read(
media_status_t AACSource::read(
        MediaBufferBase **out, const ReadOptions *options) {
    *out = NULL;

@@ -282,7 +280,7 @@ status_t AACSource::read(
            int64_t seekFrame = seekTimeUs / mFrameDurationUs;
            if (seekFrame < 0 || seekFrame >= (int64_t)mOffsetVector.size()) {
                android_errorWriteLog(0x534e4554, "70239507");
                return ERROR_MALFORMED;
                return AMEDIA_ERROR_MALFORMED;
            }
            mCurrentTimeUs = seekFrame * mFrameDurationUs;

@@ -292,13 +290,13 @@ status_t AACSource::read(

    size_t frameSize, frameSizeWithoutHeader, headerSize;
    if ((frameSize = getAdtsFrameLength(mDataSource, mOffset, &headerSize)) == 0) {
        return ERROR_END_OF_STREAM;
        return AMEDIA_ERROR_END_OF_STREAM;
    }

    MediaBufferBase *buffer;
    status_t err = mGroup->acquire_buffer(&buffer);
    if (err != OK) {
        return err;
        return AMEDIA_ERROR_UNKNOWN;
    }

    frameSizeWithoutHeader = frameSize - headerSize;
@@ -307,7 +305,7 @@ status_t AACSource::read(
        buffer->release();
        buffer = NULL;

        return ERROR_IO;
        return AMEDIA_ERROR_IO;
    }

    buffer->set_range(0, frameSizeWithoutHeader);
@@ -318,7 +316,7 @@ status_t AACSource::read(
    mCurrentTimeUs += mFrameDurationUs;

    *out = buffer;
    return OK;
    return AMEDIA_OK;
}

////////////////////////////////////////////////////////////////////////////////
+2 −2
Original line number Diff line number Diff line
@@ -35,9 +35,9 @@ public:

    virtual size_t countTracks();
    virtual MediaTrackHelperV2 *getTrack(size_t index);
    virtual status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
    virtual media_status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);

    virtual status_t getMetaData(AMediaFormat *meta);
    virtual media_status_t getMetaData(AMediaFormat *meta);
    virtual const char * name() { return "AACExtractor"; }

protected:
Loading