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

Commit ff86f37b authored by Mathias Agopian's avatar Mathias Agopian
Browse files

use SurfaceTexture new scaling mode in SF

SF now obeys SurfaceTexture's scaling mode instead
of inferring it from the buffer's size

Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
parent 09d7ed7b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -545,7 +545,7 @@ status_t SurfaceTexture::disconnect(int api) {
}

status_t SurfaceTexture::setScalingMode(int mode) {
    LOGV("SurfaceTexture::setScalingMode");
    LOGV("SurfaceTexture::setScalingMode(%d)", mode);

    switch (mode) {
        case NATIVE_WINDOW_SCALING_MODE_FREEZE:
+1 −1
Original line number Diff line number Diff line
@@ -466,7 +466,7 @@ int SurfaceTextureClient::setBuffersFormat(int format)

int SurfaceTextureClient::setScalingMode(int mode)
{
    LOGV("SurfaceTextureClient::setScalingMode");
    LOGV("SurfaceTextureClient::setScalingMode(%d)", mode);
    Mutex::Autolock lock(mMutex);
    // mode is validated on the server
    status_t err = mSurfaceTexture->setScalingMode(mode);
+7 −0
Original line number Diff line number Diff line
@@ -445,6 +445,13 @@ status_t ACodec::allocateOutputBuffersFromNativeWindow() {
        return err;
    }

    err = native_window_set_scaling_mode(mNativeWindow.get(),
            NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW);

    if (err != OK) {
        return err;
    }

    err = native_window_set_buffers_geometry(
            mNativeWindow.get(),
            def.format.video.nFrameWidth,
+7 −0
Original line number Diff line number Diff line
@@ -1765,6 +1765,13 @@ status_t OMXCodec::allocateOutputBuffersFromNativeWindow() {
        return err;
    }

    err = native_window_set_scaling_mode(mNativeWindow.get(),
            NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW);

    if (err != OK) {
        return err;
    }

    err = native_window_set_buffers_geometry(
            mNativeWindow.get(),
            def.format.video.nFrameWidth,
+5 −0
Original line number Diff line number Diff line
@@ -93,6 +93,11 @@ SoftwareRenderer::SoftwareRenderer(
            GRALLOC_USAGE_SW_READ_NEVER | GRALLOC_USAGE_SW_WRITE_OFTEN
            | GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_EXTERNAL_DISP));

    CHECK_EQ(0,
            native_window_set_scaling_mode(
            mNativeWindow.get(),
            NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW));

    // Width must be multiple of 32???
    CHECK_EQ(0, native_window_set_buffers_geometry(
                mNativeWindow.get(),
Loading