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

Commit a8a1b31a authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "ACodec: Block setSurface during OutputPortSettingsChangedState"

parents 90d2684d ee9f714a
Loading
Loading
Loading
Loading
+8 −16
Original line number Diff line number Diff line
@@ -5928,19 +5928,17 @@ bool ACodec::BaseState::onMessageReceived(const sp<AMessage> &msg) {

        case ACodec::kWhatSetSurface:
        {
            sp<AReplyToken> replyID;
            CHECK(msg->senderAwaitsResponse(&replyID));

            sp<RefBase> obj;
            CHECK(msg->findObject("surface", &obj));

            status_t err = mCodec->handleSetSurface(static_cast<Surface *>(obj.get()));

            sp<AReplyToken> replyID;
            if (msg->senderAwaitsResponse(&replyID)) {
            sp<AMessage> response = new AMessage;
            response->setInt32("err", err);
            response->postReply(replyID);
            } else if (err != OK) {
                mCodec->signalError(OMX_ErrorUndefined, err);
            }
            break;
        }

@@ -8529,17 +8527,11 @@ bool ACodec::OutputPortSettingsChangedState::onMessageReceived(

        case kWhatSetSurface:
        {
            ALOGV("[%s] Deferring setSurface", mCodec->mComponentName.c_str());

            sp<AReplyToken> replyID;
            CHECK(msg->senderAwaitsResponse(&replyID));
            ALOGD("[%s] Deferring setSurface from OutputPortSettingsChangedState",
                  mCodec->mComponentName.c_str());

            mCodec->deferMessage(msg);

            sp<AMessage> response = new AMessage;
            response->setInt32("err", OK);
            response->postReply(replyID);

            handled = true;
            break;
        }