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

Commit b950b8e2 authored by Jamie Gennis's avatar Jamie Gennis Committed by Android (Google) Code Review
Browse files

Merge "Fix the issue where onFrameAvailable is not triggered if SurfaceTexture is in sync mode."

parents 58b86841 925bcaab
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -212,6 +212,12 @@ static jlong SurfaceTexture_getTimestamp(JNIEnv* env, jobject thiz)
    return surfaceTexture->getTimestamp();
}

static jint SurfaceTexture_getQueuedCount(JNIEnv* env, jobject thiz)
{
    sp<SurfaceTexture> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
    return surfaceTexture->getQueuedCount();
}

// ----------------------------------------------------------------------------

static JNINativeMethod gSurfaceTextureMethods[] = {
@@ -221,7 +227,8 @@ static JNINativeMethod gSurfaceTextureMethods[] = {
    {"nativeSetDefaultBufferSize", "(II)V", (void*)SurfaceTexture_setDefaultBufferSize },
    {"nativeUpdateTexImage",     "()V",   (void*)SurfaceTexture_updateTexImage },
    {"nativeGetTransformMatrix", "([F)V", (void*)SurfaceTexture_getTransformMatrix },
    {"nativeGetTimestamp",       "()J",   (void*)SurfaceTexture_getTimestamp }
    {"nativeGetTimestamp",       "()J",   (void*)SurfaceTexture_getTimestamp },
    {"nativeGetQueuedCount",     "()I",   (void*)SurfaceTexture_getQueuedCount }
};

int register_android_graphics_SurfaceTexture(JNIEnv* env)
+5 −0
Original line number Diff line number Diff line
@@ -131,6 +131,10 @@ public class SurfaceTexture {
     */
    public void updateTexImage() {
        nativeUpdateTexImage();
        if (nativeGetQueuedCount() > 0) {
            Message m = mEventHandler.obtainMessage();
            mEventHandler.sendMessage(m);
        }
    }

    /**
@@ -215,6 +219,7 @@ public class SurfaceTexture {
    private native long nativeGetTimestamp();
    private native void nativeSetDefaultBufferSize(int width, int height);
    private native void nativeUpdateTexImage();
    private native int nativeGetQueuedCount();

    /*
     * We use a class initializer to allow the native code to cache some