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

Commit 1318864f authored by James Dong's avatar James Dong Committed by Android (Google) Code Review
Browse files

Merge "Change an assert failure due to unsupported level by HW AVC decoder and...

Merge "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications"
parents e71ffeb7 0209da1c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -303,7 +303,7 @@ private:
    bool flushPortAsync(OMX_U32 portIndex);

    void disablePortAsync(OMX_U32 portIndex);
    void enablePortAsync(OMX_U32 portIndex);
    status_t enablePortAsync(OMX_U32 portIndex);

    static size_t countBuffersWeOwn(const Vector<BufferInfo> &buffers);
    static bool isIntermediateState(State state);
+10 −9
Original line number Diff line number Diff line
@@ -2452,15 +2452,18 @@ void OMXCodec::onCmdComplete(OMX_COMMANDTYPE cmd, OMX_U32 data) {
                    mOutputPortSettingsHaveChanged = formatChanged;
                }

                enablePortAsync(portIndex);

                status_t err = allocateBuffersOnPort(portIndex);

                status_t err = enablePortAsync(portIndex);
                if (err != OK) {
                    CODEC_LOGE("enablePortAsync(%ld) failed (err = %d)", portIndex, err);
                    setState(ERROR);
                } else {
                    err = allocateBuffersOnPort(portIndex);
                    if (err != OK) {
                        CODEC_LOGE("allocateBuffersOnPort failed (err = %d)", err);
                        setState(ERROR);
                    }
                }
            }
            break;
        }

@@ -2773,16 +2776,14 @@ void OMXCodec::disablePortAsync(OMX_U32 portIndex) {
    freeBuffersOnPort(portIndex, true);
}

void OMXCodec::enablePortAsync(OMX_U32 portIndex) {
status_t OMXCodec::enablePortAsync(OMX_U32 portIndex) {
    CHECK(mState == EXECUTING || mState == RECONFIGURING);

    CHECK_EQ((int)mPortStatus[portIndex], (int)DISABLED);
    mPortStatus[portIndex] = ENABLING;

    CODEC_LOGV("sending OMX_CommandPortEnable(%ld)", portIndex);
    status_t err =
        mOMX->sendCommand(mNode, OMX_CommandPortEnable, portIndex);
    CHECK_EQ(err, (status_t)OK);
    return mOMX->sendCommand(mNode, OMX_CommandPortEnable, portIndex);
}

void OMXCodec::fillOutputBuffers() {