This avoids a race where close() can return while there are still
onImageAvailable callbacks pending.
Bug: 10666923
Change-Id: Ic519b68f3132ceb7f95a9a42ebd1032c1638fbf5
Rect isValid actually include the zero size case, which we don't want to include
in our case. This causes camera ImageReader test case fails at buffer size
sanity check.
Bug: 9802344
Change-Id: I561f5a049c6117c613df1e1b2789c43af9a19628
Explicitly specify API level 8, to permit same .apk be used with multiple platform versions.
In the priority test, use different samples for low and priority sounds,
so it is possible to hear the difference.
Increase sleep times to make it easier to hear.
Only use Log.e for errors.
Add more logs and sleeps.
Pan more slowly.
Fix typos in logs about the test names.
Fix typo in pan comment.
Change-Id: Iebce07ca0cf3d6fa1b04faa8577faa1c6d25f8e6
Call selectTrack/setSubtitleWidget only from MP's looper or the
applications's event thread, which is the same for now (we only
support subtitles in VideoView.)
Change-Id: Ic1de923b801f28657f37e0330b95c321931a6960
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10691837
Bug: 10326117
Make all camera metadata immutable once created; requests are
created using CameraRequest.Builder.
- Separate CameraMetadata implementation from interface
- Implement deep copying of metadata
- Requests/results/properties have-a native implementation
Bug: 10360518
Change-Id: Ia6300c237219d39f70c63156fa9ca666d951a36e
HAL_PIXEL_FORMAT_BLOB is for JPEG capture, the buffer width/height by definition
shouldn't be the same as the image width/height.
Bug: 10360518
Change-Id: I32146a0e8e15439bb8fe199403db4ff37d1ab1af
Changes in patch set 2:
- add call to ProcessState::self()->startThreadPool()
- remove dead code AudioSystem::get_audio_flinger
- use simpler MemoryDealer isntead of MemoryHeapBase
- AudioTrack now must be sp<> instead of raw pointer
- use new constants from audio.h
- change LOGx macros to ALOGx
- fix file permission on Android.mk
Bug: 2801375
Change-Id: I899b08e0aa91deca328523f66f71e667011b4522
java.lang.SecurityException: Operation not allowed
There was a situation I wasn't taking into account -- components
declared by the system has a special ability to run in the processes
of other uids. This means that if that code loaded into another
process tries to do anything needing an app op verification, it will
fail, because it will say it is calling as the system package name but
it is not actually coming from the system uid.
To fix this, we add a new Context.getOpPackageName() to go along-side
getBasePackageName(). This is a special call for use by all app ops
verification, which will be initialized with either the base package
name, the actual package name, or now the default package name of the
process if we are creating a context for system code being loaded into
a non-system process.
I had to update all of the code doing app ops checks to switch to this
method to get the calling package name.
Also improve the security exception throw to have a more descriptive
error message.
Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
- This is a low-priority source that can be preempted by others
- This is required for scenarios where someone wants an alway-on
graceful microphone
Bug: 10640877.
Change-Id: Idb3577541103717cb713a7a93d3762ad2c2f4710
This API could be used for camera recording when MediaMuxer is used to write
output media file.
Bug: 10594784
Change-Id: Ide2d6e1d87b246100a5def49bfb8646dc984a512
Currently missing support for region anchor points, robust layout
when snapping to lines, and vertical text.
BUG: 10260603
Change-Id: I3463b4aa0039442159144e66922d67f5dfee58ed
KEY_MAX_WIDTH and KEY_MAX_HEIGHT are optional video decoder
format keys. Specify both to request seamless resolution-
change support from video decoders that support this feature.
You can check this via CodecCapabilities.isFeatureSupported.
The codecs use the MAX_WIDTH/HEIGHT values as hints for the
range of resolutions that needs to be supported. Note,
however, that some codecs may require more memory just by
_preparing_ for larger maximum resolutions, whether or not
that resolution is actually used.
Change-Id: I00fe986ef894fec4bb39bceed081da0e88725d59
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
We fall back to using the application's main looper similarly to MP,
and even create our own looper if MP was created outside of an
application context. Always creating our own looper is a waste
of resources.
Also resolved issue with MP.reset() when created outside of an
application context, and removed MP.MTP's unused getHandler().
Change-Id: I9c3b8a2f05a9e231ae9c008bc1a48d6b991cec1d
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10634238
This change adds android.media.AudioTimestamp and
android.media.AudioTrack.getTimestamp, with implementation, but hidden.
Change-Id: Ic314f04ff775baca05c57d19b5ea91133dbd0be1
Handle NaN and INF using the same semantics as Java floats. No longer
throw an exception if a rational is constructed with a zero-denominator.
This commit is required for the ITS pdk app, since without it, the app
fails when it tries to deserialize rational values that are
(incorrectly) set to 0/0.
Bug: 10337323
Change-Id: I890ec2092f2945abc0f531fc46f9a7f5c71d2dbf