- MediaCodec.setParameter signature to take android.os.Bundle
- PARAMETER_KEY_VIDEO_BITRATE value
- comments for MediaFormat.KEY_LANGUAGE and createSubtitleFormat
Change-Id: I092e9830cb21df08b331854cbd28c758db06bc10
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10461617
Wrap all the features of IRemoteControlDisplay.aidl in a
new class, RemoteController, that implements the
IRemoteControlDisplay interface.
The API functions to expose in the SDK are tagged with
"CANDIDATE FOR API"
Bug 8209392
Change-Id: I597bcd503ac93e73889c9ae8b47b16c4fcb363bc
This avoids a race where close() can return while there are still
onImageAvailable callbacks pending.
Bug: 10666923
Change-Id: Ic519b68f3132ceb7f95a9a42ebd1032c1638fbf5
Refactor RemoteControlClient.MetadataEditor to move functionality
in new abstract class MediaMetadataEditor, so it can be also
used on the "display" side of the RemoteControl functionality.
Compatibility of these changes has been tested against
existing Play applications which use the RemoteControlClient API.
Move the new constants and method definitions related to the
ratings feature to MediaMetadataEditor. This changes the
yet-to-be-published ratings API, so this doesn't break
compatibility.
Rating feature is handled by the new Rating class with a set
of constructors that handle the different rating models.
Bug 8440498
Change-Id: I9b6dc2204bfc48594bad5cd6449d357f8a485da0
Update default track selection based on settings change.
Implement HLS track selection scheme.
This requires synchronization for subtitletrack and controller.
Change-Id: I8295956d264ab2016a83957ace37d9d7b1acde4c
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
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
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
All constructors now flow through to each class's own 4-argument
constructor. This ensures that theme attributes are applied even
if a base AttributeSet is not provided.
BUG: 10680863
Change-Id: I727d2961bf017c6a5e0206367081670782583394