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

Commit 413f7505 authored by Mathias Agopian's avatar Mathias Agopian Committed by Android Git Automerger
Browse files

am 6d4346ce: am 4cffbb47: Merge "fix [2946787] Screen flicker on low...

am 6d4346ce: am 4cffbb47: Merge "fix [2946787] Screen flicker on low resolution setting in camcorder." into gingerbread

Merge commit '6d4346ce35a521d67f45d7c9658c450c0fc461d2'

* commit '6d4346ce35a521d67f45d7c9658c450c0fc461d2':
  fix [2946787] Screen flicker on low resolution setting in camcorder.
parents a9238c25 9cca403e
Loading
Loading
Loading
Loading
+21 −11
Original line number Diff line number Diff line
@@ -163,9 +163,13 @@ status_t Layer::setBuffers( uint32_t w, uint32_t h,
    const uint32_t hwFlags = hw.getFlags();
    
    mFormat = format;
    mReqFormat = format;
    mWidth  = w;
    mHeight = h;

    mReqFormat = format;
    mReqWidth = w;
    mReqHeight = h;

    mSecure = (flags & ISurfaceComposer::eSecure) ? true : false;
    mNeedsBlending = (info.h_alpha - info.l_alpha) > 0;

@@ -361,16 +365,22 @@ sp<GraphicBuffer> Layer::requestBuffer(int index,
    uint32_t w, h, f;
    { // scope for the lock
        Mutex::Autolock _l(mLock);
        const bool fixedSizeChanged = mFixedSize != (reqWidth && reqHeight);
        const bool formatChanged    = mReqFormat != reqFormat;

        // zero means default
        if (!reqFormat) reqFormat = mFormat;
        if (!reqWidth)  reqWidth = mWidth;
        if (!reqHeight) reqHeight = mHeight;

        w = reqWidth;
        h = reqHeight;
        f = reqFormat;

        if ((reqWidth != mReqWidth) || (reqHeight != mReqHeight) ||
                (reqFormat != mReqFormat)) {
            mReqWidth  = reqWidth;
            mReqHeight = reqHeight;
            mReqFormat = reqFormat;
        mFixedSize = reqWidth && reqHeight;
        w = reqWidth  ? reqWidth  : mWidth;
        h = reqHeight ? reqHeight : mHeight;
        f = reqFormat ? reqFormat : mFormat;
        if (fixedSizeChanged || formatChanged) {

            lcblk->reallocateAllExcept(index);
        }
    }