| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This change makes the ANativeWindow_lock NDK function error out if it is
passed an ANativeWindow with a concrete type that is not Surface. It
also makes eglCreateWindowSurface fail if it is passed a
SurfaceTextureClient as its 'window' argument.
Bug: 4087277
Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
|
|
|
|
|
|
|
|
|
| |
This change adds a getter method to SurfaceTextureClient to get the
ISurfaceTexture object with which the SurfaceTextureClient is
communicating.
Bug: 4086509
Change-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd
|
|
|
|
|
|
|
|
| |
This change adds a query to the ANativeWindow interface for getting the
concrete type of the ANativeWindow.
Bug: 4086509
Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
|
|
|
|
|
|
|
|
|
| |
This change fixes the transform matrix computation in SurfaceTexture
when a crop rectangle is specified by the image producer. It also adds
a test for this case as well as a basic test for the uncropped case.
Bug: 4070775
Change-Id: I1481c9ce9d08fe7f2bff86d3afdeab7d4002b157
|
|
|
|
|
|
|
|
|
| |
This change adds a new 'method' to the ANativeWindow interface to check
whether buffers queued to the window will be sent directly to the system
window compositor.
Change-Id: I4d4b199e328c110b68b250029aea650f03c8724d
Bug: 3495535
|
|
|
|
|
|
|
|
|
| |
This change adds a new query to ANativeWindow for getting the minimum
number of buffers that must be left un-dequeued during the steady-state
operation of the ANativeWindow.
Change-Id: Ie8c461fc26b02ecde02ddb4f95bf763662cf1551
Related-Bug: 3356050
|
|\
| |
| |
| |
| |
| |
| | |
fields." into honeycomb
* commit 'c7839751aa1de52e0c3aab7dd1518b0fc8f2ee0a':
Initialize the SurfaceTexture transform fields.
|
| |
| |
| |
| |
| | |
Change-Id: I2c25f15949253a1dbe493fef440e5ef118c40e71
related-bug: 3426067
|
|\ \
| |/
| |
| |
| |
| |
| | |
SurfaceTextureClient." into honeycomb
* commit '421d94c20321e1de528416b279bf148baba47b39':
Pass the IGraphicBufferAlloc to SurfaceTextureClient.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change passes a reference to the IGraphicBufferAlloc binder object
to SurfaceTextureClient objects. When STC objects are created they
query their associated ISurfaceTexture object for the
IGraphicBufferAlloc that the SurfaceTexture uses to allocate buffers.
Having the SurfaceTextureClient hold this reference prevents the
GraphicBufferAlloc in SurfaceFlinger from freeing the allocated buffers
before the SurfaceTextureClient is done with them.
Change-Id: Ib8e30e8b37fdd60438cbb4cb7e9174d0ba6d661c
related-bug: 3362519
|
|/
|
|
| |
Change-Id: Ibdac657ae9e9ccae53c63abed9caf1f1513915c2
|
|
|
|
|
|
|
|
|
| |
This changes the ANativeWindow API and the two implementations to reset
the window's crop rectangle to be uncropped when the window's buffer
geometry is changed.
Bug: 3359604
Change-Id: I64283dc8382ae687787ec0bebe6a5d5b4a0dcd6b
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a temporary WAR for the case where dequeueBuffer is called when
all the buffers owned by a SurfaceTexture are not available - either
they're the current texture buffer or the next one. Currently, an error
is returned in that case, and this change just prevents that error from
being logged. In the future this will be fixed to not return an error
in that case.
Bug: 3356050
Change-Id: Ic6cc304881a63ce134cfd0bcb4265e3e3fa94b6a
|
|
|
|
|
|
|
|
| |
This change implements the onFrameAvailable callback for the
SurfaceTexture java class. It includes the C++ SurfaceTexture code as
well as the JNI and Java code to enable the callback.
Change-Id: Ifd8b8e7ad46ee70cba6da1c2e96dab8045d1ea30
|
|
|
|
| |
Change-Id: I31520c547cafa5cc85cd0f73883ab3a9ff4648e2
|
|
|
|
|
|
|
| |
This change fixes a bug in SurfaceTextureClient where GraphicBuffers
were being compared using pointer comparison rather than handles.
Change-Id: Ib8989af94be32d4efd86e020a732f5143088a863
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes a horrible hack that I did to allow application
processes to create GraphicBuffer objects by making a binder call to
SurfaceFlinger. This change introduces a new binder interface
specifically for doing this, and does it in such a way that
SurfaceFlinger will maintain a reference to the buffers until the app is
done with them.
Change-Id: Icb240397c6c206d7f69124c1497a829f051cb49b
|
|
|
|
| |
Change-Id: I984c3b9c88f8af613a50138188ff1b770e2de6b4
|
|
|
|
|
|
|
|
|
| |
This change fixes a bug that allowed the most recently queued buffer to
be returned by dequeueBuffer. At the next updateTexImage call, the
dequeued buffer would be set as the contents of the texture even though
the client could be writing to it.
Change-Id: I53dc14eed13262475627d5551337df57fd78fe00
|
|
|
|
|
|
|
|
|
| |
This change adds support for the setCrop and setTransform methods of the
SurfaceTexture C++ class. The crop and transform for the current
texture will be accessed by applications as a single texture coordinate
transform matrix.
Change-Id: I6482bf96f680e5c175364e848936db3908d6c8f8
|
|
|
|
|
|
|
| |
We need to reset mCurrentTexture and mLastQueued in setBufferCount
because it frees all of the buffers associated with the buffer slots.
Change-Id: Ie2f834ec1c07ce7a4ab9b2b5fc5fe8c294010c60
|
|
|
|
| |
Change-Id: Ic05b05428d34c04634ce9fc3f924ff3322bb2da2
|
|
|
|
| |
Change-Id: I81a562ad897173f33cd6a2127737718a7db610eb
|
|
|
|
|
|
|
|
|
|
| |
This change adds the C++ implementation of SurfaceTexture and related
classes. The goal of this is for a SurfaceTexture to be passed to
camera service or Stagefright in place of a Surface to allow camera
preview or decoded video frames to be streamed to an OpenGL ES texture
that an application can use.
Change-Id: I55c83a7017f1ecb81c9c9e3252cbd118b914296c
|
|
|
|
| |
Change-Id: Ieca18fc089e2bdf7d049f213836971b54d11cd76
|
|
|
|
|
|
|
| |
- In SensorEventQueue, only bail on errors from Looper::loopOnce
- Improve sensor error logging
Change-Id: Ib3cf8d5d9fdac8513a3d753155827e0feeda1662
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).
Removed the dependence on specific constants from sys/poll.h such as
POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports. That should help make any future
under-the-hood implementation changes easier.
Fixed a couple of compiler warnings along the way.
Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
|
|
|
|
|
|
|
|
| |
The ALooper API now uses an explicit "identifier" for the integer
that is returned rather than implicitly using the fd. This allows
the APIs that had the fd to be a little more sane.
Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Exposed the new "min delay" sensor property through native and
java sensor apis. This allows the caller to know what is the
maximum rate at which a sensor can return events, or, if a sensor
works in "update" mode (events returned only when the value changes).
Also augmented SensorManager.regusterSensorEvent() so that it can
accept a value in microsecond in addition to the 4 constants already
defined.
Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
|
|
|
|
| |
Change-Id: I03f703ae2224f43924031bfea4c68aa979bb9f05
|
|
|
|
| |
Change-Id: I32e67d30e4295285a6827956cc8161b2025d70bc
|
|
|
|
|
|
|
| |
remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.
Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
|
|
in this commit:
- implemented the C stub
- implemented the binder interfaces involved
- implemented most of the C++ client side
missing:
- SensorManager cannot connect to the SensorServer yet
(because there is no SensorServer yet)
Change-Id: I75010cbeef31c98d6fa62fd5d388dcef87c2636b
|