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

Commit 5a71f1a2 authored by Wei Jia's avatar Wei Jia Committed by Android (Google) Code Review
Browse files

Merge "IMediaSource: add supportReadMultiple()." into nyc-mr1-dev

parents 331d46c3 d3f4e14d
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -114,6 +114,9 @@ public:
    virtual status_t readMultiple(
            Vector<MediaBuffer *> *buffers, uint32_t maxNumBuffers = 1) = 0;

    // Returns true if |readMultiple| is supported, otherwise false.
    virtual bool supportReadMultiple() = 0;

    // Causes this source to suspend pulling data from its upstream source
    // until a subsequent read-with-seek. Currently only supported by
    // OMXCodec.
@@ -148,6 +151,10 @@ public:
            Vector<MediaBuffer *> * /* buffers */, uint32_t /* maxNumBuffers = 1 */) {
        return ERROR_UNSUPPORTED;
    }

    virtual bool supportReadMultiple() {
        return false;
    }
protected:
    virtual ~BnMediaSource();

+4 −0
Original line number Diff line number Diff line
@@ -221,6 +221,10 @@ public:
        return ret;
    }

    bool supportReadMultiple() {
        return true;
    }

    virtual status_t pause() {
        ALOGV("pause");
        Parcel data, reply;
+3 −1
Original line number Diff line number Diff line
@@ -1420,7 +1420,9 @@ void NuPlayer::GenericSource::readBuffer(
        options.setNonBlocking();
    }

    bool couldReadMultiple = (!mIsWidevine && trackType == MEDIA_TRACK_TYPE_AUDIO);
    bool couldReadMultiple =
        (!mIsWidevine && trackType == MEDIA_TRACK_TYPE_AUDIO
                && track->mSource->supportReadMultiple());
    for (size_t numBuffers = 0; numBuffers < maxBuffers; ) {
        Vector<MediaBuffer *> mediaBuffers;
        status_t err = NO_ERROR;