* Hook up the native allocation registration with ImageWriter, such that GC
can get some hint when clean up the large memory object.
* Close all pending images when closing ImageReader. This could avoid native
mem leaks for some bad app practice. For example, some apps may hold images
in background service when activity is paused/destroyed, which could cause
huge native memory leaks even ImageReader is closed.
* make Image close thread safe: it is possible the clients close the image
in listener thread and the client main thread.
* Some minor code refactor to reduce the code duplication.
Bug: 25088440
Change-Id: I37d22b52aeb8d2521bf9c702b0f54c05905473e0
The message being logged is "Unknown error" even for
known error types. This change provides more descriptive
error strings, for the case when the message isn't
explicitly provided by the DRM plugin.
Change-Id: Ic86478d7685cd33e21ecd2f875ef7dbed351e52e
related-to-bug: 25477595
It was found that createByteBufferFromABuffer was recieving a NULL buffer in bug
22726278. Based on returning NULL when buffer->base() == NULL, returning NULL
when buffer == NULL. This does not fix bug 22726278 - but address a problem found
while looking into it.
Bug: 22726278
Change-Id: I933b6a4a535d803576a4cdd7a1ffaf4a428c3201
This patch does not yet allow to upload files, but uploading (creating)
directories already works.
Bug: 22545670
Change-Id: If4d5a53aa26f791475bb1a783e0ac9540d6760c1
The existing APIs required to copy all bytes to memory, which will fail in
case of very large files, like movies.
Bug: 22908937
Change-Id: I23bdcbdbf08b7c1b1017591799bbb94e53249a57
Throw IllegalStateException when queueing or dequeueing an
image if the input surface is already abandoned by the consumer.
Also fix a crash when planes are not initialized when closing
ImageWriter.
Bug: 22279111
Change-Id: I8301920d64a53c45b29e947e52ff323733abbf16
Legacy shim overrides HAL_PIXEL_FORMAT_BLOB to
HAL_PIXEL_FORMAT_RGBA_8888. Make ImageReader aware of the
workaround when returning the format.
Remove the workaround in legacy shim that overrides YUV_420_888
to YV12 because allocating YUV_420_888 buffers with SW access
is supported on Flo.
Bug: 21707937
Change-Id: I84a8610c82ae986a0064873f611e4f257baf1774
If DEAD_OBJECT is returned from binder calls due to
mediaserver crash, throw new MediaDrmResetException.
This allows the app to detect the condition and handle
it properly.
bug: 20614102
Change-Id: Id08b08fb612672fd94383f0470f5fa3f267b944f
The gralloc usage flags are an enum, which is backed by an
implementation defined type. Both gcc and clang are making this a long
long. All the values are hard coded to fit within 8 hex characters
though, so just make the cast.
Change-Id: I4a9778a24c2cbf7fb663371d208e30c4921e170d
Fix performance regression in SoundPool by not checking SoundPool
can play audio everytime it's about to play.
Instead check for permission in constructor and register a listener
for changes on OP_PLAY_AUDIO.
Bug 20018833
Change-Id: I4e7a633d23b98653a149681d18a387cd560efe4d
Modify AudioEffect and Visualizer JNI to use strong references to
native AudioEffect object.
Bug: 21629892.
Change-Id: I4c2dea0b2e16d807d6dc5d6b09e02e4652d48873
This change also reverted commit 2c838fbd87ad5685c0008b419ea02421159b9b70,
"MediaPlayer: add mPreparing to weed out unwanted prepared messages".
Bug: 21266735
Change-Id: I392342519420bee2fde1fe1915c51d24101ca27d