This change alters the conditions under which the onFrameAvailable
callback gets called by the C++ SurfaceTexture class. The new behavior
is to call the callback whenever a frame gets queued that will be
visible to the buffer consumer. This means that buffers queued in
synchronous mode always trigger the callback, as those buffers will
remain pending until they are consumed. Buffers queued in asynchronous
mode will only trigger the callback if there was not previously an
unconsumed buffer pending.
The new behavior means that a consumer should perform a draw operation
exactly once for every onFrameAvailable call that it recieves. This
change also modifies SurfaceFlinger and the SurfaceTexture JNI to
support of the new behavior.
Change-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40
This first patch implements all the APIs.
The APIs wil be made public soon. The data specification
API will be submited in another patchset.
Change-Id: I2462683b7e07380e2c42474b0036b34d03b4bed1
With this, there is no synchronous destroy SurfaceTexture requirement any more.
Revert the previous change which only applies to the sync SurfaceTexture.
Change-Id: Id4790d38a27f2982d0c8ad471bc1107683d27ffc
This change adds a call to detach from the Davlik VM in SurfaceTexture
JNI calls that caused an attach.
Change-Id: I8e0d7d596680bd25ac42f8db4ca8343a62827255
Note: The integrator of this change to Android internal code-repo will
have to run one extra step 'make update-api' to update 'api/current.txt'
file corresponding to approved API. The AOSP branch didn't have this
file, hence I could not add the same to this change. The updated file
'api/current.txt' has to be submitted along with this change.
Change-Id: I29909e907a2e82d801e16654322190a808c5bda9
When SurfaceTexture is in sync mode, the consumer needs to pull the pending
frames. Otherwise the onFrameAvailable won't be called and no more update.
This simple fix is to skip frame to keep up with the producer side.
Change-Id: Ica833695dc0b0221d2543f46f0dd41aa55d1aa16
This adds a Java-language implementation of EventRecurrence.parse(),
to make it easier to relocate it for the benefit of unbundled
Calendar.
Differences from the native version:
- enforces that FREQ appears first
- allows (but ignores) X-* parts
- improved validation on various values
- error messages are more specific
- enforces that only one of UNTIL and COUNT may be present [disabled]
- allows lower-case property and enumeration values [disabled]
As part of the transition process, both versions of the parser are
called on every request, and the results are compared. If the results
are different a warning message is logged.
An unnecessary constructor was removed.
This also this moves some EventRecurrence tests out of CalendarProvider,
into coretests, and adds a simple parse test with the examples from
the RFC.
Bug 4575374
Change-Id: If737ed1272fda65c93363d87b2da12b85e644f5b
This sends the intents to the Settings app to show
the dialogs for the incoming connection requests.
Change-Id: Ibe267f7cda28ce2a46c25800df2e8ac685b0b9e6
This change fixes a bug in the SurfaceTexture JNI where a thread that
the Dalvik VM was not aware of calls the onFrameAvailable callback.
When this happens the callback needs to first attach the thread to the
VM before attempting to post the onFrameAvailable event for Java code to
handle.
Change-Id: I6a5470c32611ea6f38e9167779450f50635cabd3
This adds support for setting a SurfaceTexture as the MediaPlayer video
sink by using a ParcelSurfaceTexture object. The goal is to enable a
SurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then
be set on the MediaPlayer.
Change-Id: Ife5689ce673eb4bee1c377019db761685217b71d
This adds a new ParcelSurfaceTexture.java class that can be instantiated with
a SurfaceTexture and used to send the corresponding ISurfaceTexture interface
to another process via Binder. The ParcelSurfaceTexture java object can then
be used to create an ANativeWindow based on the SurfaceTextureClient interface.
Change-Id: Ie38ea948b866e52f36a6d0f6cde19b54a8546817
Every available shared-storage volume is backed up, tagged with its
ordinal in the set of mounted shared volumes. This is an approximation
of "internal + the external card". This lets us restore things to the
same volume [or "equivalent" volume, in the case of a cross-model
restore] as they originated on.
Also fixed a bug in the handling of files/dirs with spaces in
their names.
Change-Id: I380019da8d0bb5b3699bd7c11eeff621a88e78c3