6237 Commits

Author SHA1 Message Date
Mike Lockwood
8d8176d41b Merge "AudioService: Fix problem handling USB audio disconnect" into jb-dev 2012-05-10 17:58:47 -07:00
Mike Lockwood
9841818b9a AudioService: Fix problem handling USB audio disconnect
Also broadcast ACTION_AUDIO_BECOMING_NOISY on USB audio disconnect

Change-Id: I46dfcc744df880066aea6bf651334a081c14af0f
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-05-10 17:49:30 -07:00
Eric Laurent
2448201852 AudioService: fix various volume issues.
Fix various issues in adjustStreamVolume() related to stream type aliases
using different ranges.

Always Update last audible index on all streams sharing the same alias.

Add check on setRingerMode() to prevent setting mode to VIBRATE when no
vibrator is present.

Issue 6455831.

Change-Id: Id110e05d2f16e208e1e398922617bf31967b62db
2012-05-10 17:20:26 -07:00
Eric Laurent
24938df9e4 Merge "AudioService: synchronized access to volume index" into jb-dev 2012-05-10 15:20:08 -07:00
Eric Laurent
3172d5e3e7 AudioService: synchronized access to volume index
Add synchronization to prevent concurrent accesses to
volume indexes HashMap in VolumeStreamState.

Use ConcurrentHashMap for VolumeStreamState mIndex and
mLastAudibleIndex.

Issue 6421841.

Change-Id: I6dee805a79aa5e2cd0ba4072014a2fcdda4ed507
2012-05-10 14:55:20 -07:00
Andreas Huber
1bc1b8a5b8 Merge "Make sure crop rect information is visible from java." into jb-dev 2012-05-10 11:42:15 -07:00
Andreas Huber
b842599e51 Make sure crop rect information is visible from java.
Change-Id: Ib914de3d42349efcd7af301d43bec82a21d24ce5
related-to-bug: 6471684
2012-05-10 11:32:15 -07:00
Pannag Sanketi
1870c69693 Merge "Adding disconnect call to the SurfaceTextureTarget" into jb-dev 2012-05-10 11:16:59 -07:00
Ruei-sung Lin
c2e393f86c Merge "pseudo random number generator in shader with limited precisions" into jb-dev 2012-05-10 10:02:44 -07:00
Jean-Michel Trivi
08fb063f07 Add compression level key for FLAC encoding
Change-Id: Ic4c32694841b6f37ca44061d14bb81fc267696cc
2012-05-09 19:16:14 -07:00
Pannag Sanketi
b939760679 Adding disconnect call to the SurfaceTextureTarget
Related to b/5873421.
When an app using the SurfaceTextureTarget filter and the activity goes
out of focus such as onPause(), the underlying surfacetexture might not
be available anymore to the filter. The filter needs to be told about
that so that it does try to render into the surface corresponding to the
surfacetexture. For example, in Camera app, the VideoCamera activity has
to let the underlying effects graph know about the disconnect in the
onPause() method.

Change-Id: Iee3af16715432d84fef4438d1671f4d6d261b3d7
2012-05-09 18:51:48 -07:00
Ruei-sung Lin
a75c7bbc63 pseudo random number generator in shader with limited precisions
Change-Id: I3289155824bf71b274c00d1b16366bb319588831
2012-05-09 17:33:25 -07:00
Andreas Huber
f86374adec Remove SEEK_CLOSEST constant from MediaExtractor, its implementation makes no
sense for the java API.

Change-Id: I3f2eabb5ca5ffb6c1f03141bfd303310111e8774
related-to-bug: 6276111
2012-05-09 11:32:51 -07:00
James Dong
3b5fdf510b Merge "Fix: Missed parcel recycling in MediaPlayer." into jb-dev 2012-05-08 18:29:44 -07:00
Eric Laurent
c8ade15dad Merge "Silent and Vibrate mode clean up" into jb-dev 2012-05-08 15:15:49 -07:00
Eric Laurent
bffc3d1bd3 Silent and Vibrate mode clean up
Clean up related to new Vibration policy.
The vibrate behavior is now only derived from:
 - presence of a vibrator on the device
 - current ringer mode selected: NORMAL, VIBRATE or SILENT
If no vibrator is present the ringer mode can only be NORMAL or SILENT.

The control of ringer mode via volume keys when volume keys control the "master"
stream type (RING on phones, MUSIC on tablets) is as follows:
If a vibrator is present:
 VOL- and volume equals 1: NORMAL => VIBRATE
 VOL- and volume equals 0 and not continuous press: VIBRATE => SILENT
 VOL+ and in SILENT mode: SILENT => VIBRATE
 VOL+ and in VIBRATE mode: VIBRATE => NORMAL, volume = 1
If no vibrator is present:
 VOL- and volume equals 0 and not continuous press: NORMAL => SILENT
 VOL+ and in SILENT mode: SILENT => NORMAL, volume = 0

VIBRATE_ON and VIBRATE_IN_SILENT settings are not stored/retreived any more.

AudioService checks and corrects ringer mode and stream volumes if necessary when reading from
DB at boot time.

Also:
 Added dump for stream volumes in AudioService.
 Added device names missing in AudioSystem for USB accessory and USB device.

Issue: 6036529
Issue: 6414950
Issue: 6448163

Change-Id: I77fb821ec63e4e566320cac2701b4ac466e86aef
2012-05-08 15:10:37 -07:00
Andreas Huber
3dd7fd08a8 Return codec buffers that are marked as having host endianness.
Change-Id: Iedfd829d108e65ee368909af14ace68b63e0e168
related-to-bug: 6364139
2012-05-08 13:50:45 -07:00
Andreas Huber
8aa735f71e Clarification of MediaCodec behaviour when codec specific data is included
in the format passed to configure().

Change-Id: I150f52e8092c0f7d897891f02ba6b1d89b6230f4
related-to-bug: 6364139
2012-05-08 11:33:12 -07:00
Jeff Sharkey
1d8e5c5880 Handle silent ringtone, title without permission.
Silent ringtones have a valid Uri, but isn't openable by MediaPlayer,
so treat as no-op playback instead of throwing.  Also handle missing
permissions when resolving title.

Bug: 6448074, 6447538
Change-Id: I656675d7fc2e78a6ba05824e13bdd43193fcfdf2
2012-05-07 13:30:10 -07:00
Insun Kang
be0ea968bf Fix: Missed parcel recycling in MediaPlayer.
Change-Id: I2c99f771b33bf627af10e8baea455181558360e6
related-to-bug: 6405934
2012-05-07 11:31:18 +09:00
Andreas Huber
c52c957c45 Merge "Various changes to Media* APIs requested by the api council." into jb-dev 2012-05-04 08:53:23 -07:00
Andreas Huber
60d610bf10 Various changes to Media* APIs requested by the api council.
Change-Id: Iec2f50c99cf5f00a442737231361334e9ab46340
related-to-bug: 6432753
2012-05-03 16:02:29 -07:00
Jean-Michel Trivi
c919816155 Merge "Make AudioService aware of device orientation changes" into jb-dev 2012-05-03 15:13:06 -07:00
Ruei-sung Lin
cc6475e173 Fix b/5974573 Please increase intensity of film grain effect
Change-Id: Ia984aa91bf3ae8aef47e24a0074b1b0f1624c1a0
2012-05-03 13:08:15 -07:00
Ruei-sung Lin
f4b403159f Fix b/5974247
Change-Id: I8c5cf035f195142607875739604d163c7a43e305
2012-05-02 15:16:57 -07:00
Jean-Michel Trivi
f26f01784e Make AudioService aware of device orientation changes
If the "ro.audio.monitorOrientation" system property is
 defined and true, monitor device configuration changes
 and see if the device orientation changed. If it did,
 set the "orientation" audio system parameter to one
 of "landscape", "portrait", "square" or "undefined".
Set orientation when starting AudioService, and
 when media server restarts.

Change-Id: Idce548f93abf3aab30149e5952daaa7051630232
2012-05-02 11:20:22 -07:00
Eric Laurent
f3afe15754 Merge "AudioManager: deprecate vibrate settings" into jb-dev 2012-05-01 16:29:39 -07:00
Eric Laurent
cd1cd73bae AudioManager: deprecate vibrate settings
Deprecate methods, intent and constants related to vibrate
settings management: getVibrateSetting(), setVibrateSetting(),
shouldVibrate() ...

According to new vibrate/notification policy, applications should
maintain their own vibrate settings.

Issue 6036529.

Change-Id: I99bcef2c5f602131f1d9b0222f7fb39f3bbef823
2012-05-01 16:26:04 -07:00
James Dong
cb6662ac53 Merge "Add video scaling mode support with a new public method in MediaPlayer.java class" into jb-dev 2012-05-01 13:34:28 -07:00
Andreas Huber
48dc91b514 Make java constants consistent with native counterparts.
Change-Id: I481dfc18c170b4c60682ef1b38b57e10fb73d004
2012-05-01 12:27:26 -07:00
James Dong
454014e55f Add video scaling mode support with a new public method in MediaPlayer.java class
o related-to-bug: 5454345

Change-Id: I379b679eb6dd87f47f87a58791a5d0c7251b3a74
2012-05-01 12:22:35 -07:00
Eric Laurent
94affdd80e Merge "fix unmute from volume panel on tablets" into jb-dev 2012-05-01 10:47:57 -07:00
Eric Laurent
f740664cd8 fix unmute from volume panel on tablets
Changing STREAM_MUSIC from volume panel on tablets should exit silent
mode as does changing STREAM_RING on phones.

Issue 5970208.

Change-Id: Ia8ed62033da07a5d4dfcfa84b0b47b27414bdd9a
2012-05-01 10:05:21 -07:00
Jean-Michel Trivi
8ccfbdddab Merge "Optimize how AudioService receives media button events" into jb-dev 2012-05-01 08:57:18 -07:00
Ruei-sung Lin
56ce3c00fb Merge "Fix b/5821633: Could not activate GLEnvironment" into jb-dev 2012-04-30 17:55:09 -07:00
Jean-Michel Trivi
c68022258e Optimize how AudioService receives media button events
AudioService maintains a stack of registered media button event
  receivers.
This change modifies the broadcasters of ACTION_MEDIA_BUTTON intents
  let AudioService directly handle the corresponding key event instead
  of trapping the intent sent by PhoneWindowManager, KeyguardViewBase
  and PhoneFallbackEventHandler.
Because the key event may be sent through a PendingIntent,
  AudioService now also implements the OnFinished interface to be
  notified when the event was consumed so it can release the wake
  lock held if it was held when the key event needed to be sent
  (see where PassHeadsetKey was instanciated in PhoneWindowManager).

Change-Id: I2e8614df94af9d54edbf714ef443cc372d21827a
2012-04-30 17:46:19 -07:00
Ruei-sung Lin
22edf6b2e4 Fix b/5821633: Could not activate GLEnvironment
Change-Id: I35a05eb24299b85a869b973599a091381369aac2
2012-04-30 17:16:44 -07:00
Andreas Huber
b12a539069 New API to set the video rendering mode on a MediaCodec instance.
Change-Id: I6d765bb4cab7bcf29f09364293c24e8a6930078b
related-to-bug: 6364139
2012-04-30 14:46:22 -07:00
Dave Burke
ec3f31f621 Added support for HE-AAC recording.
Not unhiding HE-AACv2 since that requires stereo mics.

Bug: 6275957

Change-Id: I953a6d21e615c8fd23f9390e3c86d63089f5fb75
2012-04-30 09:24:01 -07:00
James Dong
6d6f233a62 Merge "Unhide APIs for timed text and multiple audio track switch APIs" into jb-dev 2012-04-27 17:49:28 -07:00
James Dong
7a9734d769 Unhide APIs for timed text and multiple audio track switch APIs
o made all the member variables in helper classes for TimedText to be public and final
  since they are read-only
o removed Text and TextPos helper classes
o added two public methods in TimedText class: getText() and getBounds()
o cleaned up the javadoc of related methods in MediaPlayer.java and TimedText.java classes
o make the inner classes of TimedText static and final
o change invoke and let it throw RuntimeException on failure (thus a test class needs to be
  modified also).

o related-to-bug: 6110705,5542712

Change-Id: Ia1dd1fd5eb8e9fd1b61c6c0d67405edb627a3002
2012-04-27 15:48:46 -07:00
Jeff Sharkey
098d580cc2 Migrate ringtone playback to SystemUI.
Introduce IRingtonePlayer, which handles playback for both Ringtone
objects and Notifications. SystemUI now hosts this player, which it
registers with AudioService. It also keeps MediaPlayer instances
warm, and cleans them up after stop() or Binder death.

Move both Ringtone and NotificationManagerService to play back audio
through this new interface.

Bug: 6376128, 6350773
Change-Id: I1dcb86d16ee3c4f07cdb2248d33dcff4ead3609a
2012-04-27 14:15:05 -07:00
Jeff Sharkey
f5d70fd2ad Merge "Protect system services with DUMP permission." into jb-dev 2012-04-27 10:16:40 -07:00
Eric Laurent
c098198eb3 Merge "system and UI sounds volume policy" into jb-dev 2012-04-27 08:48:51 -07:00
Pannag Sanketi
b33c34cc25 Merge "Resolving the black screen / crash in effects" into jb-dev 2012-04-26 22:34:03 -07:00
Eric Laurent
6d5176638c system and UI sounds volume policy
Implement a more consistent policy for system and UI sounds (key clicks, lock/unlock,
camera shutter, DTMF, low battery...):
- All system sounds are played over STREAM_SYSTEM stream type.
- The STREAM_SYSTEM volume that was previously fixed now tracks the volume of a "master"
stream type. This "master" stream type is STREAM_RING for phones and STREAM_MUSIC for
tablets which corresponds to the stream whose volume is modified by default by the volume
keys.
- The STREAM_SYSTEM volume ranges from -24dB to -6dB (-24dB to -12dB over headphones) when the
"master" stream volume ranges from its min to its max.
- DTMF tones are played over STREAM_DTMF that tracks the "master" stream volume in the same
manner with the following exception: when in call, DTMF stream tracks STREAM_VOICE_CALL volume.
- Camera shutter sound is played over STREAM_SYSTEM_ENFORCED stream that tracks the "master"
stream volume except in countries where regulation enforces this sound. In this case
its volume is fixed and cannot be muted.
- Low battery sound is played over STREAM_SYSTEM and therefore has a tunable volume and is
heard while in call.

Issue 6344620.
Issue 6069229.
Issue 6213100.

Change-Id: I53a237878ead596e706c5dbbb1420e62cde32bd7
2012-04-26 18:36:56 -07:00
Jeff Sharkey
eb4cc492c9 Protect system services with DUMP permission.
Change-Id: I5e53859f8b8e5473e54eca43ebd7de841f1a05ff
2012-04-26 18:17:29 -07:00
Yu Shan Emily Lau
f18222da3c Merge "Fix the test cases which fail to launch the camera in the device which only has one camera." into jb-dev 2012-04-26 17:29:15 -07:00
Yu Shan Emily Lau
e35b3e052d Fix the test cases which fail to launch the camera
in the device which only has one camera.

Change-Id: Ia34087715e49f1aa3e86f3f85cb4e77168323321
2012-04-26 17:10:29 -07:00
Pannag Sanketi
2f708ce9cc Resolving the black screen / crash in effects
b:/6278826
The SurfaceTextureTarget Filter was not unregistering the surface
on closing leading to crashes and blank screens.

Change-Id: Ia9f6fc69b92d5a5e2e1e3803969152d11528aa3d
2012-04-26 15:46:17 -07:00