2218 Commits

Author SHA1 Message Date
Lajos Molnar
b84624571b Merge "Misc. media API changes" into klp-dev 2013-09-18 17:20:08 +00:00
Lajos Molnar
e23ce3b1fc Merge "Add CaptioningManager listener Subtitle support." into klp-dev 2013-09-18 16:46:39 +00:00
Jesse Hall
11c9201240 Merge "Fix ImageReader onImageAvailable synchronization" into klp-dev 2013-09-18 03:32:17 +00:00
Jean-Michel Trivi
f841d70155 Fix javadoc in RemoteControlClient and MediaMetadataEditor
Change-Id: Ibd333d9cb47e74c4ca1d8ec7bd950224d81783b0
2013-09-17 19:13:55 -07:00
Lajos Molnar
8a39021dfa Misc. media API changes
- 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
2013-09-17 19:05:37 -07:00
Jean-Michel Trivi
7ddd226e7c RemoteController class to expose IRemoteControlDisplay features
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
2013-09-18 01:47:25 +00:00
Jesse Hall
c395fffd90 Fix ImageReader onImageAvailable synchronization
This avoids a race where close() can return while there are still
onImageAvailable callbacks pending.

Bug: 10666923
Change-Id: Ic519b68f3132ceb7f95a9a42ebd1032c1638fbf5
2013-09-17 18:21:30 -07:00
Matthew Xie
c9d1d5f350 Adjust absolute volume only when the device is streaming music
The device has to be A2DP device
Remove AudioManager#avrcpUpdateVolume
bug 10681804

Change-Id: I2bc85e48fdff374638b984af593c6f1c4ddd3ee6
2013-09-17 23:48:19 +00:00
Jean-Michel Trivi
f03ceff2f5 Merge "Revise new public API for ratings in RemoteControlClient" into klp-dev 2013-09-17 22:35:08 +00:00
Jean-Michel Trivi
88183e67d4 Revise new public API for ratings in RemoteControlClient
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
2013-09-17 15:13:00 -07:00
Lajos Molnar
d486f9656a Add CaptioningManager listener Subtitle support.
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
2013-09-17 10:09:18 -07:00
Jean-Michel Trivi
c3c0b9921f Public API for LoudnessEnhancer audio effect
Follows the API style of the other audio effects

Bug 8413913

Change-Id: I1ee21b0af7d9fc565d9cdacd006684577eeb7b21
2013-09-16 18:07:02 -07:00
Jean-Michel Trivi
3fb53d8238 Merge "Loudness enhancer audio effect" into klp-dev 2013-09-17 00:52:19 +00:00
Igor Murashkin
5cf86aa756 Merge "media: Update ImageReader to remove MaxImagesAcquiredException" into klp-dev 2013-09-16 21:02:32 +00:00
Igor Murashkin
26cb5fd5ff Merge "media: Update ImageReader APIs" into klp-dev 2013-09-16 20:19:15 +00:00
Jean-Michel Trivi
d69e4e1422 Loudness enhancer audio effect
LoudnessEnhancer as android.media.AudioEffect subclass

Define UUID for loudness enhancer effect

Bug 8413913

Change-Id: If0ae6023f77ccf3aafbb55f2b3135b2ea1bb8365
2013-09-16 11:12:27 -07:00
Igor Murashkin
e3351f1942 media: Update ImageReader to remove MaxImagesAcquiredException
* acquiring images now throws IllegalStateException instead of
    MaxImagesAcquiredException

Bug: 10691447
Change-Id: I7ce68f990fb96703705b9181012a28633fea0b7a
2013-09-13 23:27:44 -07:00
Jeff Tinker
fff175aedc Merge "Part of corrections from KLP API Review: Media" into klp-dev 2013-09-14 00:16:34 +00:00
Jeff Tinker
b6f0f962d9 Part of corrections from KLP API Review: Media
b/10461617

Change-Id: Ic2e102c39428f7cef2923d00a67aec8c77cd108e
2013-09-13 15:32:08 -07:00
Igor Murashkin
5e712064df media: Update ImageReader APIs
Bug: 10461757
Change-Id: Ic04e4c41965e3d417b29004f3f08e0cd56b8f4cb
2013-09-12 16:57:57 -07:00
Lajos Molnar
24390c11b2 MediaFormat: add getInteger with default value convenience method
Change-Id: I58947a2f4a286fef74f74cb189469278056d4759
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-12 15:35:31 -07:00
Lajos Molnar
9d48089595 Fix CalledFromWrongThreadException in MediaPlayer's subtitle support
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
2013-09-12 15:35:31 -07:00
Lajos Molnar
03cd51cd17 Merge "MediaFormat.java: Add KEY_MAX_WIDTH and KEY_MAX_HEIGHT" into klp-dev 2013-09-12 00:19:17 +00:00
Eric Laurent
95a181397d Merge "Add HOTWORD as an AudioSource" into klp-dev 2013-09-12 00:15:31 +00:00
Chong Zhang
f8ca13b7a0 Pass subtitle track properties to SubtitleController
Bug: 10326117
Change-Id: I387406adf3e1bd835b031dd5fbd2e1cdeaf2fe87
2013-09-11 15:02:47 -07:00
Dianne Hackborn
95d785346b Fix issue #10688644: Java crash in com.android.phone:
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
2013-09-11 09:59:47 -07:00
Eric Laurent
357263da0e Add HOTWORD as an AudioSource
- 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
2013-09-10 18:03:10 -07:00
Zhijun He
82d11f8e94 Merge "MediaMuxer: Add setLocation API" into klp-dev 2013-09-10 19:41:11 +00:00
Glenn Kasten
d9f4e0cf2c Merge "AudioTrack.getTimestamp() return type is now boolean" into klp-dev 2013-09-10 16:36:23 +00:00
Zhijun He
cfd47481d1 MediaMuxer: Add setLocation API
This API could be used for camera recording when MediaMuxer is used to write
output media file.

Bug: 10594784
Change-Id: Ide2d6e1d87b246100a5def49bfb8646dc984a512
2013-09-10 07:52:25 -07:00
Glenn Kasten
596fb8e796 AudioTrack.getTimestamp() return type is now boolean
Change-Id: Ie231652dc0959343f0726dcb985b6715bfe014f6
2013-09-09 15:19:12 -07:00
Alan Viverette
013634cc44 Merge "Add WebVTT caption renderer" into klp-dev 2013-09-09 20:31:14 +00:00
Glenn Kasten
5e8f278f08 Unhide AudioTimestamp and getTimestamp
Change-Id: I56687f42f83c4be7dc3fd1baa81a13e71113f22e
2013-09-06 19:11:29 -07:00
Alan Viverette
d43daf361e Add WebVTT caption renderer
Currently missing support for region anchor points, robust layout
when snapping to lines, and vertical text.

BUG: 10260603
Change-Id: I3463b4aa0039442159144e66922d67f5dfee58ed
2013-09-06 18:06:23 -07:00
Lajos Molnar
9a4575c314 MediaFormat.java: Add KEY_MAX_WIDTH and KEY_MAX_HEIGHT
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
2013-09-06 11:13:33 -07:00
Lajos Molnar
a67a4439ca MediaPlayer.MTP: fix issue when main thread had no looper
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
2013-09-06 08:53:20 -07:00
Glenn Kasten
04c58e9ec1 Merge "Java API for AudioTrack timestamps" into klp-dev 2013-09-04 22:29:19 +00:00
Glenn Kasten
948c2e6ff4 Java API for AudioTrack timestamps
This change adds android.media.AudioTimestamp and
android.media.AudioTrack.getTimestamp, with implementation, but hidden.

Change-Id: Ic314f04ff775baca05c57d19b5ea91133dbd0be1
2013-09-04 15:23:27 -07:00
Lajos Molnar
171c63db92 Merge "Add subtitle support to VideoView." into klp-dev 2013-09-04 21:32:43 +00:00
Lajos Molnar
2a59f3f240 Merge "Internal WebVtt subtitle support" into klp-dev 2013-09-04 21:22:46 +00:00
Lajos Molnar
76935a5890 Internal WebVtt subtitle support
Change-Id: Ia55673a68a99c277dd6e3246e6f1913c8eb476d8
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-04 12:17:10 -07:00
Lajos Molnar
4958c9d616 Merge "Add MediaTimeProvider to MediaPlayer" into klp-dev 2013-09-04 18:58:12 +00:00
Ben Murdoch
295659002a Fix the build.
Fix javadoc typo.

Change-Id: I3e5f8f43650ce7b0958512bacc36e0ee744efa40
2013-09-04 13:09:10 +01:00
Lajos Molnar
484ff7a922 Add subtitle support to VideoView.
Change-Id: Ibfde491a624272c4f9733098529ad70c6aa93fe0
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-03 23:33:05 -07:00
Lajos Molnar
87399fc21b SubtitleController: update to new CaptioningManager APIs
This resolves the build issue.

Change-Id: I4db018c1abd9677ceb6d355921e4f7fa4be3b037
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-03 22:54:38 -07:00
Lajos Molnar
3d99856f80 Add MediaTimeProvider to MediaPlayer
Change-Id: Ie56331ef4eb4bdffa606598f241edb1cb2c2e2dc
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-03 19:23:25 -07:00
Lajos Molnar
03c25794b6 Internal subtitle base support
Change-Id: I3fc57d6280773dc24f4822be21c9497ae70f7374
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-09-03 17:19:56 -07:00
Lajos Molnar
a861245f06 Merge "VideoView: add addSubtitleSource" into klp-dev 2013-09-03 22:51:32 +00:00
Jean-Michel Trivi
4a5931e2ae Merge "Public API for RemoteControlClient ratings and editable metadata" into klp-dev 2013-09-03 17:19:55 +00:00
Lajos Molnar
af30982435 VideoView: add addSubtitleSource
A way to add external subtitle file to VideoView.

Change-Id: Ic110238408550a5b4088851bc5da5e94eb58d831
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10326117
2013-08-30 14:59:46 -07:00