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

Commit ff72f776 authored by Hangyu Kuang's avatar Hangyu Kuang Committed by Android (Google) Code Review
Browse files

Merge "stagefright: Support changing refresh mode during runtime in SoftAVC encoder." into nyc-dev

parents e58f3c5a 7c36a6bc
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -6550,7 +6550,8 @@ bool ACodec::ExecutingState::onOMXEvent(
                mCodec->freeOutputBuffersNotOwnedByComponent();

                mCodec->changeState(mCodec->mOutputPortSettingsChangedState);
            } else if (data2 == OMX_IndexConfigCommonOutputCrop) {
            } else if (data2 == OMX_IndexConfigCommonOutputCrop
                    || data2 == OMX_IndexConfigAndroidIntraRefresh) {
                mCodec->mSentFormat = false;

                if (mCodec->mTunneled) {
+6 −0
Original line number Diff line number Diff line
@@ -1097,6 +1097,7 @@ OMX_ERRORTYPE SoftAVC::setConfig(
                mAIRMode = IVE_AIR_MODE_CYCLIC;
                mAIRRefreshPeriod = intraRefreshParams->nRefreshPeriod;
            }
            mUpdateFlag |= kUpdateAIRMode;
            return OMX_ErrorNone;
        }

@@ -1339,6 +1340,11 @@ void SoftAVC::onQueueFilled(OMX_U32 portIndex) {
            if (mUpdateFlag & kRequestKeyFrame) {
                setFrameType(IV_IDR_FRAME);
            }
            if (mUpdateFlag & kUpdateAIRMode) {
                setAirParams();
                notify(OMX_EventPortSettingsChanged, kOutputPortIndex,
                        OMX_IndexConfigAndroidIntraRefresh, NULL);
            }
            mUpdateFlag = 0;
        }

+3 −2
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@ private:
    enum {
        kUpdateBitrate            = 1 << 0,
        kRequestKeyFrame          = 1 << 1,
        kUpdateAIRMode            = 1 << 2,
    };

    // OMX input buffer's timestamp and flags