2476 Commits

Author SHA1 Message Date
Glenn Kasten
3e21cc8140 Unhide android.media.AudioTrack.setVolume(float)
Bug: 12534920
Change-Id: I7d7437f87f7002c42452011e347e89ddaa0bf6a5
2014-01-14 13:55:36 -08:00
Glenn Kasten
f634bc0ff5 Merge "Prepare for additional formats beyond 8-bit and 16-bit PCM" 2014-01-13 19:25:58 +00:00
Zhihai Xu
93899a5972 Merge "setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager" 2014-01-11 01:11:45 +00:00
Zhihai Xu
2f4a2b139b setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager
setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager.
It cause maximize volume in Bluetooth speaker/device.
The volume expected by Bluetooth Avrcp should be from 0 to 15.
But the current volume parameter passed to Bluetooth Avrcp is from 0 to 150.
It is scaled by 10 times than the correct volume.
index = rescaleIndex(index * 10, streamType, streamTypeAlias);
Should divide the volume by 10 before pass to Bluetooth Avrcp.

bug:12495379
Change-Id: I0432f83ca4a0c134244d96b2eea14d7168e9a9ff
2014-01-10 16:44:39 -08:00
Glenn Kasten
fe834d30f4 Prepare for additional formats beyond 8-bit and 16-bit PCM
This CL does the same thing for AudioTrack,
that an earlier CL did for AudioRecord:
  > Change-Id: Ic3525f049e939bdf125d9f87ed39abd2690dcf9f

Pull out the common parts of that earlier CL and move them to new header
file android_media_AudioFormat.h.

Use the new function audioFormatToNative() to convert from Java
ENCODING_PCM_* to native AUDIO_FORMAT_*.

Use audio_bytes_per_sample() instead of hard-coding the size of various formats.

Use size_t for memory sizes.

Change-Id: I7992dd6a2c9500126a6d7ae5fc1ed9f3312962d6
2014-01-10 10:50:22 -08:00
Narayan Kamath
c975437ef3 am 1e3395c7: am 105b545e: am 0dce19ca: am 79ceb53a: am c58abeea: Merge "AArch64: Use long for pointers in MTP classes"
* commit '1e3395c7378a7dd293a2e8a8ac8fbf239adbad0c':
  AArch64: Use long for pointers in MTP classes
2014-01-07 13:10:19 +00:00
Narayan Kamath
819f2e1234 am 510616d2: am bec733af: am 23ebc24e: am 08467c57: am 9bc6acf2: Merge "AArch64: Use long for pointers in VideoEditor classes"
* commit '510616d215372e59e5e8c39b8de1125fc5b54c60':
  AArch64: Use long for pointers in VideoEditor classes
2014-01-07 13:10:14 +00:00
Narayan Kamath
e434ddd042 am 113e83e6: am 58cb0f0c: am bfbe585e: am c0c92f20: am 357ea905: Merge "AArch64: Use long for pointers in audio effect classes"
* commit '113e83e6f538ea217c167c6d8e11b28042ff2c53':
  AArch64: Use long for pointers in audio effect classes
2014-01-07 13:10:03 +00:00
Narayan Kamath
ac8bd534dd am 99aec6b5: am 40b0aaa9: am 568cde55: am 80cff944: am 74675f29: Merge "AArch64: Use long for pointers in AmrInputStream"
* commit '99aec6b5d1cb73a3f5b57badc53e6f56b2a53c4d':
  AArch64: Use long for pointers in AmrInputStream
2014-01-07 13:09:57 +00:00
Narayan Kamath
0dce19caf8 am 79ceb53a: am c58abeea: Merge "AArch64: Use long for pointers in MTP classes"
* commit '79ceb53ae5b867a954476e3f6499f89664fbc669':
  AArch64: Use long for pointers in MTP classes
2014-01-07 05:01:13 -08:00
Narayan Kamath
23ebc24eee am 08467c57: am 9bc6acf2: Merge "AArch64: Use long for pointers in VideoEditor classes"
* commit '08467c5727c04c1fef40ff1e361628944275ef28':
  AArch64: Use long for pointers in VideoEditor classes
2014-01-07 05:01:08 -08:00
Narayan Kamath
bfbe585ed4 am c0c92f20: am 357ea905: Merge "AArch64: Use long for pointers in audio effect classes"
* commit 'c0c92f206eddb6fb319bd11929c1703daf17248f':
  AArch64: Use long for pointers in audio effect classes
2014-01-07 05:00:58 -08:00
Narayan Kamath
568cde557a am 80cff944: am 74675f29: Merge "AArch64: Use long for pointers in AmrInputStream"
* commit '80cff94478a39914012df816179ea57c53040903':
  AArch64: Use long for pointers in AmrInputStream
2014-01-07 05:00:53 -08:00
Ashok Bhat
e2e59326f1 AArch64: Use long for pointers in MTP classes
For storing pointers, long is used in MTP classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I67805547251722e7b77611d47d0bb632a64d3e6d
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:52:57 +00:00
Ashok Bhat
44ba5c1b4e AArch64: Use long for pointers in VideoEditor classes
For storing pointers, long is used in VideoEditor
classes, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Ifff3a28f2ab6774ee89d31770ad63451c8726431
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:49:41 +00:00
Ashok Bhat
ea7861c918 AArch64: Use long for pointers in audio effect classes
For storing pointers, long is used in AudioEffect
and Visualizer classes, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Ief49bbe5baef663e268c7f6d70ac33a4df45621c
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:47:51 +00:00
Ashok Bhat
b348c3fd87 AArch64: Use long for pointers in AmrInputStream
For storing pointers, long is used in AmrInputStream
class, as native pointers can be 64-bit.

Change-Id: I78fff3eb54fc7101746b0d693cbc4e923c2bad08
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-07 12:44:38 +00:00
Jean-Michel Trivi
a144b121b2 Merge "Fix RemoteController synchronization mode" 2014-01-06 22:46:43 +00:00
Chong Zhang
83cc994ba4 MediaRecorder: add getSurface() api and SURFACE video source
Bug: 12305192
Change-Id: If833c5ac8a738ffa284307e0435b5cbd1b7379b1
2014-01-06 10:42:51 -08:00
Jean-Michel Trivi
b3ae913115 Fix RemoteController synchronization mode
Fix erroneous argument check in RemoteController syncrhonization
  mode setter..

Bug 12189375

Change-Id: Ib446a21f36c6e0e97752336b22aff0feb651f215
2014-01-02 23:13:48 +00:00
Zhijun He
934349e8ad ExifInterface: fix class load failure
libexif_jni was renamed as libjhead_jni

Change-Id: I0ceff1ad288c7ce2255826d5d5ba9ca1f121a556
2013-12-20 13:28:00 -08:00
Narayan Kamath
94ee2f502e am 52ba48a8: am f08b83be: am 4dd5c377: am be8fbb8f: Merge "Remove unused field from MediaMuxer"
* commit '52ba48a85049a2a782c3e4c23d64577253f888eb':
  Remove unused field from MediaMuxer
2013-12-18 18:25:33 +00:00
Narayan Kamath
4dd5c37711 am be8fbb8f: Merge "Remove unused field from MediaMuxer"
* commit 'be8fbb8fb63fddac2310dfbafa2594ed165b16b1':
  Remove unused field from MediaMuxer
2013-12-18 10:14:45 -08:00
Narayan Kamath
535daa191b Remove unused field from MediaMuxer
Change-Id: If1ebb2302654b64924084a52425366f1b69c7c30
2013-12-18 17:58:11 +00:00
Elliott Hughes
36d10e7994 am 3bfc6e76: am c0d6028f: am a012fee3: am 5d6332e3: Merge "AArch64: Use long for pointers in MediaDrm and MediaMuxer"
* commit '3bfc6e76e627d4122a774488f36fb843bb3694fb':
  AArch64: Use long for pointers in MediaDrm and MediaMuxer
2013-12-16 23:27:39 +00:00
Elliott Hughes
a012fee3c3 am 5d6332e3: Merge "AArch64: Use long for pointers in MediaDrm and MediaMuxer"
* commit '5d6332e3744e37ced079e5360f1fa3e0e5681d57':
  AArch64: Use long for pointers in MediaDrm and MediaMuxer
2013-12-16 13:01:19 -08:00
Elliott Hughes
5d6332e374 Merge "AArch64: Use long for pointers in MediaDrm and MediaMuxer" 2013-12-16 20:58:02 +00:00
Kenny Root
6a0db59901 resolved conflicts for merge of e0b14ea7 to master
Change-Id: Ie018d3e2eba1eb2d655c153880e1951b68c2bd51
2013-12-13 15:59:51 -08:00
Kenny Root
62d509d24f am 37c69fdd: Merge "Use java.util.Objects instead on internal API"
* commit '37c69fdd826f3973966430adc1abfbefc19bc16e':
  Use java.util.Objects instead on internal API
2013-12-13 14:17:29 -08:00
Kenny Root
e6585b32ea Use java.util.Objects instead on internal API
Not needed since java.util.Objects implements all the needed
functionality.

Change-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c
2013-12-13 13:40:30 -08:00
Alan Viverette
55d70620d9 Add caption window color attribute
The WebVTT rendering implementation interprets window color as region
color, since there is no window for non-region captions.

BUG: 12020757
Change-Id: Ie891e1343d718783fc32c712860f886de22558ec
2013-12-11 15:22:14 -08:00
Ashok Bhat
656fd04026 AArch64: Use long for pointers in MediaDrm and MediaMuxer
For storing pointers, long is used in MediaDrm and
MediaMuxer classes, as native pointers can be 64-bit.

Change-Id: I77f26cde627baf0dce70b6aa3a4dbd974051d9a6
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2013-12-10 18:10:47 +00:00
Glenn Kasten
a16a979315 Update comments for AudioRecord IllegalArgumentException
Also explicitly list IllegalArgumentException in throws clause of the
constructor helper methods, as that is a critical side-effect of these methods.

Change-Id: I5cae5dfd807235fbdd827ef4ebc7cf05bfd11c02
2013-12-02 11:50:46 -08:00
Glenn Kasten
19294ca0e8 Document need to call AudioRecord.getState() after construction
Change-Id: Ia6ebb5b01ae60453b6fc7db79e2ec3d40d2b56f1
2013-12-02 11:50:45 -08:00
Glenn Kasten
a4b06fd111 Fix typo nbChannels -> channelMask
Formal parameter name in native_setup was wrong.

Change-Id: Ie76c6e0aca83c6a01f2581d988e32da730b7e427
2013-11-22 13:49:09 -08:00
Jeff Brown
2ab3ec21c0 am 2458681b: am 263c4310: am ce468a35: Stop wifi display discovery when no longer needed.
* commit '2458681b3ea4571d2f1254ef597475fe6a582907':
  Stop wifi display discovery when no longer needed.
2013-11-21 23:00:23 -08:00
Jeff Brown
ce468a35b3 Stop wifi display discovery when no longer needed.
Keep track of how many clients are requesting scans and scan
continuously until all of them are gone then explicitly terminate the
scan instead of letting it time out as before.

Suspend wifi display scans while connecting or connected to a remote
display.  This is handled by both the display manager and media router
since neither has complete information about what is happening.
Much of this code will no longer be needed once wifi display support
is integrated directly into the media router service.

Ensure that we don't attempt to scan or connect to wifi displays
while the wifi display feature is off.

Infer when a connection attempt fails and unselect the wifi display
route automatically so it doesn't appear to be connecting forever.

Fix issues around correctly canceling and retrying connection attempts.
Often we would cancel but not retry.

Improved connection reliability somewhat.  It seems that discovery must
already be in progress in order for a connection attempt to succeed.

Ensure QuickSettings uses exactly the same logic as the MediaRouteButton
to determine when the remote display tile should be made visible.

Bug: 11717053
Change-Id: I18afc977b0e8c26204b8c96adaa79f05225f7b6e
2013-11-21 19:32:59 -08:00
Chong Zhang
ab6294e4bb am db44cb92: am 6b0653ff: am bfdecccc: Merge "Only scan for wifi display when there is no active connections" into klp-dev
* commit 'db44cb92ecae78f0fa5a8fe60eb1d35393c67507':
  Only scan for wifi display when there is no active connections
2013-11-20 14:34:00 -08:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Chong Zhang
a68c87eda8 Only scan for wifi display when there is no active connections
Bug: 11717053
Change-Id: I4ab73f6517fbfb8fcc131b89d0e934380dcf69e0
2013-11-19 19:56:16 -08:00
Jeff Brown
30cb5c3ffa am 2ea480ca: am 5d0b18cd: am 3de885be: Merge "Disallow applications from initiating cast screen." into klp-dev
* commit '2ea480cac89460ee2524cd080e90f6240e8eebf5':
  Disallow applications from initiating cast screen.
2013-11-15 00:42:46 -08:00
Jeff Brown
af574183c2 Disallow applications from initiating cast screen.
Only allow the system ui and settings to connect to a remote display.
To do this, we essentially hide the remote displays from applications
by using the ROUTE_TYPE_REMOTE_DISPLAY then add permission checks
around the operations that connect to them.

As a bonus, this may actually save power on devices since applications
that use MediaRouter will not longer be performing discover on
remote display routes at all.

Bug: 11257292
Change-Id: I9ea8c568df4df5a0f0cf3d0f11b39c87e2110795
2013-11-15 00:29:43 -08:00
Jean-Michel Trivi
48f42fa861 am 7c9adaf6: am dc6da58a: am 2a96fc1f: Merge "Fix RemoteController update in RemoteControlClient registration" into klp-dev
* commit '7c9adaf6b90164f17164852276734f95c6d2c46f':
  Fix RemoteController update in RemoteControlClient registration
2013-11-14 15:49:03 -08:00
Jean-Michel Trivi
320ad9fa1d Fix RemoteController update in RemoteControlClient registration
A regression was introduced when trying to limit the number of
 internal synchronization generation IDs that caused RCC
 information to be shown only for applications that requested
 audio focus after media button receiver and RCC registration,
 (such as Play Music), not for applications that requested focus
 first (such as Play Movies).
The correct behavior is to always check and update the
 RemoteControllers (seen by MediaFocusControl as RCD interfaces)
 whenever a RemoteControlClient is registered (even if it's a
 re-registration) when it is associated when an entry at the top
 of the remote control stack.

Bug 11657655

Change-Id: I30716e2028f7f718a31e13401b191178735229ff
2013-11-13 20:06:41 -08:00
Jeff Brown
12c39dd50c am 9ffc4a65: am 854395ad: am c481a634: Merge "UI tweaks." into klp-dev
* commit '9ffc4a65e51ae8695be0531c6fae0d33301ded60':
  UI tweaks.
2013-11-11 22:07:29 -08:00
Jeff Brown
39ad0e5598 UI tweaks.
Hide disabled routes from the chooser.

Fix layout of chooser dialog when the settings button is visible and
the list is very long to prevent truncation of the settings button.

Fix an issue when we fake the route connecting status when a route
is selected.  The route changed notification needs to be propagated
to apps.  Fake it better.

Immediately disconnect from a route when the connection is lost or
a connection attempt fails.  Added a few new test displays for this
case.

Bug: 11257292
Change-Id: I360ab5dc937ad60d97592eab54b19f034519645e
2013-11-11 21:48:53 -08:00
Jeff Brown
08432a419b am fa0d9c2f: am 02b77575: am 1cdbbb1e: Merge "Changes to support new screen cast settings screen." into klp-dev
* commit 'fa0d9c2fa8e5c2c73bd36688784f1e44eb08635b':
  Changes to support new screen cast settings screen.
2013-11-11 20:51:03 -08:00
Jeff Brown
b530aeb0fe resolved conflicts for merge of f0b9ee96 to master
Change-Id: I1b347e895049474e11076c60074dc5918cfe1405
2013-11-11 16:10:53 -08:00
Chong Zhang
19001d29bd am 9a05e846: am f32962a8: am e8d0fbf2: Merge "Fixed a bug updating presentation displays." into klp-dev
* commit '9a05e846f3ac2f5c60f42160bcca37355647a3a7':
  Fixed a bug updating presentation displays.
2013-11-11 15:23:37 -08:00
Jeff Brown
75af171006 Changes to support new screen cast settings screen.
Fixed the Preference ordering code to consider the case where
two preferences might have the same order.  In that case, it
falls back on the title to disambiguate.  Previous behavior was
undefined (and technically not stable).

Expose the wifi display device address.

Perform wifi display scans every 10 seconds instead of every 15
to improve reponsiveness.

Make sure to define routes for wifi displays that we are connecting
to even if they are not yet paired.  Simplified the logic for
adding and removing these routes to avoid possibly getting out
of sync and leaving stale routes behind.

Fix wifi display notification icon.

Bug: 11257292
Change-Id: I8ac15fb17d83758c0bdce80399e12723c367b83c
2013-11-10 22:51:15 -08:00