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

Commit 9f4557ed authored by Andreas Huber's avatar Andreas Huber
Browse files

During shutdown, don't loop forever on a state transition to OMX_StateInvalid.

related-to-bug: 2420917
parent 5d36c46d
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -129,11 +129,16 @@ status_t OMXNodeInstance::freeNode(OMXMaster *master) {
            sendCommand(OMX_CommandStateSet, OMX_StateIdle);
            OMX_ERRORTYPE err;
            while ((err = OMX_GetState(mHandle, &state)) == OMX_ErrorNone
                   && state != OMX_StateIdle) {
                   && state != OMX_StateIdle
                   && state != OMX_StateInvalid) {
                usleep(100000);
            }
            CHECK_EQ(err, OMX_ErrorNone);

            if (state == OMX_StateInvalid) {
                break;
            }

            // fall through
        }

@@ -146,7 +151,8 @@ status_t OMXNodeInstance::freeNode(OMXMaster *master) {

            OMX_ERRORTYPE err;
            while ((err = OMX_GetState(mHandle, &state)) == OMX_ErrorNone
                   && state != OMX_StateLoaded) {
                   && state != OMX_StateLoaded
                   && state != OMX_StateInvalid) {
                LOGV("waiting for Loaded state...");
                usleep(100000);
            }