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
A way to add external subtitle file to VideoView.
Change-Id: Ic110238408550a5b4088851bc5da5e94eb58d831
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
A rating for RemoteControlClient content is:
- a value between 0 and 100
- or a value indicating there is no rating
For a same piece of content, a rating can come from:
- the user
- "others" (i.e. not the user), to provide an average rating
Rating styles are:
- heart (a toggle)
- thumb up / down
- stars (with a configurable maximum number of stars)
For editable metadata, add:
- methods to control which keys can be edited,
- interface for an application to receive new values for a key.
Rating by user is editable metadata.
Bug 8440498
Change-Id: Ia9f61e750772658051cea1ac7c316187717f0f58
MediaMetadataRetriever.METADATA_KEY_YEAR is listed as one of the
supported long fields but is not declared in the list of authorized
long keys.
Change-Id: If277f0c300e2bfed10472e23a2eeba08bfa6ed33