These native APIs give access to most SurfaceTexture
java APIs from native code.
In addition to java APIs it also gives access to
the current buffer using AHardwareBuffer.
The main goal of this is to allow game engines
(mostly) to access things like camera or video
without having to call back into java from
their GL thread.
Test: Manual with filament. Created a SurfaceTexture from java
pointed to a camera stream. Visualized the
camera stream on a 3D mesh.
Change-Id: I0aa104c38553b00f9dadbbaecca06be5dd2868ea
These haven't actually existed in libandroid for some time. We can't
fix the past, so just remove the API from the NDK.
Test: make checkbuild
Bug: http://b/64572149
Change-Id: Ic68e81c63e738e6d341bcae6178cdcc080326da4
Hides getFd & getFileDescriptor due to lifecycle concenrs.
Adds ASharedMemory_dupFromJava to allow sharing a shared
memory region between Java & Native as safe as possible.
Mis-use results in an FD leak instead of double-close.
Bug: 64394076
Test: SharedMemory CTS tests
Change-Id: I01a5eb978fc4e99559a79baac75754c32f13bdc4
This enables the conversion from an ANativeWindow (created by NDK API
such as: AImageReader_create) to a Java Surface, so that developers can
hookup a Java Producer to a native buffer consumer.
This CL also introduces android_view_Surface_createFromSurface helper
function in libandroid_runtime to convert a C++ sp<Surface> to a Java
Surface object.
Bug: 36862948
Test: android.media.cts.NativeImageReaderTest
Change-Id: Ia99adb654da505ac117a8e58153ac800df23a650
This reverts commit 8e90cc3e3a.
Both ANativeWindow and AHardwareBuffer need to be
available in libandroid (as well as libnativewindow)
otherwise it would make our developer’s life
very difficult when they want to support multiple
versions of android.
Moreover, this would have an impact on AndroidStudio
when doing an NDK project.
Test: compiled
Bug: treble
Change-Id: I2cc63b06b3f80fa80f7170ba2ba2996228fa9b2c
It’s now in libnativewindow. Also tag
ANativeWindow_ symbols as removed (no-op currently)
Test: compiled
Bug: treble
Change-Id: I912a7d09b35f25cf7d33d224f42b9779a3e0ae71