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

Commit dbbf431b authored by Narayan Kamath's avatar Narayan Kamath Committed by Android Git Automerger
Browse files

am d0f7f418: Merge "Freeing frame map"

* commit 'd0f7f418':
  Freeing frame map
parents 9a76e9ba d0f7f418
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -156,12 +156,12 @@ status_t BootAnimation::initTexture(Texture* texture, AssetManager& assets,
    return NO_ERROR;
}

status_t BootAnimation::initTexture(void* buffer, size_t len)
status_t BootAnimation::initTexture(const Animation::Frame& frame)
{
    //StopWatch watch("blah");

    SkBitmap bitmap;
    SkMemoryStream  stream(buffer, len);
    SkMemoryStream  stream(frame.map->getDataPtr(), frame.map->getDataLength());
    SkImageDecoder* codec = SkImageDecoder::Factory(&stream);
    if (codec) {
        codec->setDitherImage(false);
@@ -171,6 +171,11 @@ status_t BootAnimation::initTexture(void* buffer, size_t len)
        delete codec;
    }

    // FileMap memory is never released until application exit.
    // Release it now as the texture is already loaded and the memory used for
    // the packed resource can be released.
    frame.map->release();

    // ensure we can call getPixels(). No need to call unlock, since the
    // bitmap will go out of scope when we return from this method.
    bitmap.lockPixels();
@@ -406,6 +411,7 @@ bool BootAnimation::movie()

    String8 desString((char const*)descMap->getDataPtr(),
            descMap->getDataLength());
    descMap->release();
    char const* s = desString.string();

    Animation animation;
@@ -530,9 +536,7 @@ bool BootAnimation::movie()
                        glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
                        glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
                    }
                    initTexture(
                            frame.map->getDataPtr(),
                            frame.map->getDataLength());
                    initTexture(frame);
                }

                if (!clearReg.isEmpty()) {
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ private:
    };

    status_t initTexture(Texture* texture, AssetManager& asset, const char* name);
    status_t initTexture(void* buffer, size_t len);
    status_t initTexture(const Animation::Frame& frame);
    bool android();
    bool movie();