static void SurfaceTexture_setSurfaceTexture( /* [in] */ CSurfaceTexture* thiz, /* [in] */ const android::sp<android::SurfaceTexture>& surfaceTexture) { android::SurfaceTexture* const p = (android::SurfaceTexture*)thiz->mSurfaceTexture; if (surfaceTexture.get()) { surfaceTexture->incStrong(thiz); } if (p) { p->decStrong(thiz); } thiz->mSurfaceTexture = (Int32)surfaceTexture.get(); }
static void SurfaceTexture_setFrameAvailableListener( /* [in] */ CSurfaceTexture* thiz, /* [in] */ android::sp<GLConsumer::FrameAvailableListener> listener) { GLConsumer::FrameAvailableListener* const p = (GLConsumer::FrameAvailableListener*)thiz->mFrameAvailableListener; if (listener.get()) { listener->incStrong((void*)SurfaceTexture_setSurfaceTexture); } if (p) { p->decStrong((void*)SurfaceTexture_setSurfaceTexture); } thiz->mFrameAvailableListener = (Int64)listener.get(); }
static void SurfaceTexture_setSurfaceTexture( /* [in] */ CSurfaceTexture* thiz, /* [in] */ const android::sp<GLConsumer>& surfaceTexture) { GLConsumer* const p = (GLConsumer*)thiz->mSurfaceTexture; if (surfaceTexture.get()) { surfaceTexture->incStrong((void*)SurfaceTexture_setSurfaceTexture); } if (p) { p->decStrong((void*)SurfaceTexture_setSurfaceTexture); } thiz->mSurfaceTexture = (Int64)surfaceTexture.get(); }
static void SurfaceTexture_setProducer( /* [in] */ CSurfaceTexture* thiz, /* [in] */ const android::sp<IGraphicBufferProducer>& producer) { IGraphicBufferProducer* const p = (IGraphicBufferProducer*)thiz->mProducer; if (producer.get()) { producer->incStrong((void*)SurfaceTexture_setProducer); } if (p) { p->decStrong((void*)SurfaceTexture_setProducer); } thiz->mProducer = (Int64)producer.get(); }
bool Shim::init() { composer_client_ = new android::SurfaceComposerClient; LOG("Inc ref on composerClient\n"); // Required to pass initCheck composer_client_->incStrong(nullptr); android::status_t status; LOG("calling initCheck\n"); status = composer_client_->initCheck(); if (status != android::NO_ERROR) { fprintf(stderr, "failed composer init check %d\n", status); return false; } return true; }