3376 Commits

Author SHA1 Message Date
Andreas Gampe
5c5978985a Frameworks/base: Use equals for Integer comparison
Integer == is dangerous, as equal objects may not be identical
objects. In fact, MediaFormat.setInteger was creating a new object
every time.

Change MediaFormat.setInteger and setLong to use valueOf, which
may reuse returned objects.

Change-Id: Iedcc6003adbf05c0c870aa4b3ada7f181a5b870e
2015-03-15 15:45:15 -07:00
Marco Nelissen
926ebb860a Fix context leak
Using an activity context with AudioManager could cause that context
to be held on to longer than desired, for example if the caller
acquired audio focus but never abandoned it. Fix acquire/abandon in
VideoView, and use the application context in AudioManager to mitigate
the issue for other misbehaving code.

Bug: https://code.google.com/p/android/issues/detail?id=152173
Change-Id: I0fb8390207422c784800dda25b1f2c03d4574bcd
2015-03-11 10:00:28 -07:00
Narayan Kamath
c2826fb922 am 3d333c74: Merge "Fix typos in AudioManager javadoc"
* commit '3d333c745f928ca1595aca111d9938fa3cf3e282':
  Fix typos in AudioManager javadoc
2015-03-10 15:23:06 +00:00
Eemi Haukkala
bc68256fea Fix typos in AudioManager javadoc
The ACTION_HDMI_AUDIO_PLUG constant's description
had spelled "HDMI" as "HMDI" and was missing a
period. Fixes issue 93726.

Change-Id: Idfd5352dba022afcd81bc9e50864fc6e95c661db
Signed-off-by: Eemi Haukkala <eemi.haukkala@gmail.com>
2015-03-10 15:10:05 +00:00
Chong Zhang
3968f0c2df am 6cad6513: Merge "reset col position to 1 on row PAC" into lmp-mr1-dev
automerge: eceae03

* commit 'eceae03f6a21b36baddabe4ca5a2c1d9d238240a':
  reset col position to 1 on row PAC
2015-02-06 03:17:36 +00:00
Chong Zhang
6cad6513e0 Merge "reset col position to 1 on row PAC" into lmp-mr1-dev 2015-02-06 02:06:24 +00:00
Chong Zhang
6286f8ec05 reset col position to 1 on row PAC
bug: 19284568
Change-Id: I7d439027ab6411bcd5c149580babee80dc5f9478
2015-02-05 16:46:06 -08:00
Wonsik Kim
b86a45588a am 015fdf39: Merge "audio: allow audio port cache update even when audio patches contain invalidated sources/sinks" into lmp-mr1-dev automerge: d7310bd
* commit '015fdf392388f1bed3298f9f44012c1a82d7c1a1':
  audio: allow audio port cache update even when audio patches contain invalidated sources/sinks
2015-02-03 23:52:42 +00:00
Wonsik Kim
b561ccedd8 audio: allow audio port cache update even when audio patches contain invalidated sources/sinks
When an audio device disconnects from Android, custom audio patches
containing the device become invalidated.
AudioManager::updateAudioPortCache() used to fail in that case, but
it causes onAudioPortListUpdated() event never gets called so that
the creator of the custom audio patch cannot update it. Let
updateAudioPortCached() succeed even in the case so that the entity
that created the audio patch can get notified.

Bug: 18909299
Change-Id: If4f6ed73f69213d792117fb42aec103ae2e50b79
2015-01-31 01:51:28 +00:00
Lajos Molnar
df876a110c Merge "ImageReader: add support for compatible flexYUV buffers" into lmp-mr1-dev automerge: 8514766
automerge: 2a8dc00

* commit '2a8dc00eedeb2b8a9fa3560d8afa4cfd7c17d395':
  ImageReader: add support for compatible flexYUV buffers
2015-01-29 08:02:53 +00:00
Lajos Molnar
4fb442617c ImageReader: add support for compatible flexYUV buffers
Bug: 17906609
Change-Id: Ia21aff632b9a92f4e391b3917a7774af46fd81a0
2015-01-28 17:34:23 -08:00
Jae Seo
49801634e4 am 4b1e5814: am 71191442: TIF: Do not call session callbacks when the session is already released
* commit '4b1e5814d18dae8f2581cf702da4b4e1de0c3eb4':
  TIF: Do not call session callbacks when the session is already released
2015-01-29 00:46:25 +00:00
Jae Seo
7119144218 TIF: Do not call session callbacks when the session is already released
Bug: 19146382
Change-Id: I5592d4bf033478e5e5e1013bd2ad5ea572df44dd
2015-01-28 15:50:08 -08:00
Marco Nelissen
6e14c5705c am 99985d98: am e74da38e: Merge "Make SoundPool use MediaCodec"
* commit '99985d98c23b32acc0014031d7b88ee4eed21a4b':
  Make SoundPool use MediaCodec
2015-01-27 18:28:53 +00:00
Matthew Xie
e213c6813e am 46c3304a: am 485813a0: Merge "Delay the second message for 30ms more than the last message for a2dp" into lmp-mr1-dev
* commit '46c3304aed2cabb592e499b0b3de56a312e1d67f':
  Delay the second message for 30ms more than the last message for a2dp
2015-01-27 18:22:57 +00:00
Matthew Xie
485813a00c Merge "Delay the second message for 30ms more than the last message for a2dp" into lmp-mr1-dev 2015-01-27 18:13:40 +00:00
Mike Lockwood
2d1e078ac4 am 5ac22aa6: am 2b144a16: Merge "MTP: Fix partial implementation of 5 new audio specific properties" into lmp-mr1-dev
* commit '5ac22aa60f773917981f42e64fbc28615871fd3e':
  MTP: Fix partial implementation of 5 new audio specific properties
2015-01-26 19:10:44 +00:00
Marco Nelissen
372be8970c Make SoundPool use MediaCodec
Bug: 18239054
Change-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310
2015-01-23 12:49:36 -08:00
Mike Lockwood
7182774810 MTP: Fix partial implementation of 5 new audio specific properties
In change Ic5b3fb75309893caae1a4f4b56068a543847f1f7, we added partial
support for the MTP properties:

MTP_PROPERTY_AUDIO_WAVE_CODE,
MTP_PROPERTY_BITRATE_TYPE
MTP_PROPERTY_AUDIO_BITRATE
MTP_PROPERTY_NUMBER_OF_CHANNELS
MTP_PROPERTY_SAMPLE_RATE

However we were not returning any values for these properties in the result
of the MTP GetObjectPropList command. Strangely, this triggers a nasty bug
in Windows 7 that results in data loss.  When copying a directory containing
several MP3 files from one location on the device to another, Windows will
copy only some of the files to the new location, but delete all of the originals.
Finishing the implementation of these new object properties for some unknown
reason stops this bad behavior in Windows 7.

Bug: 19018427
Change-Id: I5fd3b91a89b31827d3100686445cef6795fe0f3f
2015-01-23 10:58:38 -08:00
Matthew Xie
c525cf7a33 Delay the second message for 30ms more than the last message for a2dp
In function setBluetoothA2dpDeviceConnectionState, current code calculate
the delay of the second state update message to be exactly the same as the
last delayed messages. This causes a problem that the sequence of the
messages may be altered.
Bug: 19036411

Change-Id: I35762873fd3341ec098dd229ac96bd42d6f34195
2015-01-22 20:54:54 -08:00
Christopher Tate
ebdec3e092 am 77c96dd8: Merge "Don\'t launch broadcast receiver processes during boot" into lmp-mr1-dev
automerge: 8192670

* commit '8192670937e3dee8e2c521a9ed1118a5782a2912':
  Don't launch broadcast receiver processes during boot
2015-01-20 23:55:00 +00:00
Christopher Tate
267603f3bb Don't launch broadcast receiver processes during boot
Broadcasts that might be sent before the boot process has completed must
be restricted to registered receivers, at least while still in the
middle of booting.

Bug 19060618

Change-Id: Ib4e0990cf252f34344f7a0bd19a0e72919013e0f
2015-01-20 14:21:21 -08:00
Jean-Michel Trivi
c2230a9d1a am ef417bb7: am 6a64a9cd: Merge "Prevent AudioService dead lock issue."
* commit 'ef417bb7a06b0d58faa21f42599d7dd4fd9e3ff2':
  Prevent AudioService dead lock issue.
2015-01-16 17:37:29 +00:00
Jean-Michel Trivi
6a64a9cd26 Merge "Prevent AudioService dead lock issue." 2015-01-16 17:23:36 +00:00
Eric Laurent
f076db4070 AudioManager: make AudioPortEventHandler static
Make AudioPortEventHandler and audio port and patch caches
static members of AudioManager. There is only one callback
per process in AudioSystem for audio port updates
and having those non static would not work when more than
one AudioManager instance exists in one app.

Bug: 18727023.
Change-Id: I4c1041dc6441d168be4efa066e14289cc5f41872
2015-01-15 10:13:52 -08:00
Eric Laurent
4fb3b60215 AudioService: handle stream mute by stream alias
Handle stream mute/unmute requests at the stream
alias level (like is done volume changes) to be consistent.
E.g a request to mute/unmute a stream will affect all streams
sharing the same alias for volume management.

Bug: 18844550.
Change-Id: Ie2e463c58df0371589150f0ebb9b36c38b14e1be
2015-01-13 12:19:53 -08:00
seunghwan.hong
4fe7795347 Prevent AudioService dead lock issue.
Dead lock sequence:
 1. called onSetA2dpConnectionState()
  1-1. synchronized(mConnectedDevices)
 2. called onServiceDisconnected()
  2-1. synchronized(mA2DPAvrcpLock)
 3. waiting to lock(mConnectedDevices) in onServiceDisconnected()
 4. waiting to lock(mA2DPAvrcpLock) in onSetA2dpConnectionState()

========================================================================================
- watchdog issue
----- pid 3306 at 2014-10-14 16:15:12 -----
Cmd line: system_server

"main" prio=5 tid=1 MONITOR
  - waiting to lock <0x4343e9b0> (a java.util.HashMap) held by tid=46 (AudioService)
      at android.bluetooth.BluetoothA2dp$2.onServiceDisconnected(BluetoothA2dp.java:529)

"AudioService" prio=5 tid=46 MONITOR
      - waiting to lock <0x42ab7a58> (a java.lang.Object) held by tid=1 (main)
========================================================================================

Signed-off-by: Seunghwan Hong <seunghwan.hong@lge.com>

Change-Id: I99e061c07be01aabcd26786ef2ebb71f46717b93
2015-01-13 08:22:26 +09:00
Eric Laurent
695233fe83 Merge "AudioService: send connection intent for HDMI ARC device" into lmp-mr1-dev 2015-01-12 15:39:45 +00:00
Rachad
6d3cff1264 Merge "MediaCodec: Added E-AC3 mime type (@hide)." into lmp-mr1-dev 2015-01-10 01:23:35 +00:00
Lajos Molnar
7f94b52fc7 Merge "MediaCodec/Image: handle null cropRect correctly" 2015-01-10 01:12:33 +00:00
Lajos Molnar
98840f2bd2 Merge "media: add support for 160-byte image info in MediaCodec" 2015-01-10 01:10:24 +00:00
Eric Laurent
6fa4245589 AudioService: send connection intent for HDMI ARC device
Bug: 18921279.
Change-Id: I1e23b5aed7a2835feb0fea2a412f3622c01cbe55
2015-01-09 15:09:40 -08:00
John Spurlock
af84e073bc Merge "Audio Policy: Clear calling identity for all paths setting ringer mode." into lmp-mr1-dev 2014-12-24 01:16:14 +00:00
Rachad
6564f5be74 MediaCodec: Added E-AC3 mime type (@hide).
Bug: 17883772
Change-Id: I48b2ab64812d860bb1a01d0a14e10690b86c4519
2014-12-23 16:12:44 -08:00
John Spurlock
af88a19165 Audio Policy: Clear calling identity for all paths setting ringer mode.
For proper appops bookkeeping and zen setting changes.

Bug: 18832923
Change-Id: Ic029d3226458ca1a9229a0bc5726bedd5e117ad7
2014-12-23 16:14:44 -05:00
Jean-Michel Trivi
996af72b0c Merge "AudioRecord: filter attributes" into lmp-mr1-dev 2014-12-22 18:55:40 +00:00
Jean-Michel Trivi
43bcd8fa74 AudioRecord: filter attributes
When creating an AudioRecord instance, filter the tags in the
  AudioAttributes to remove tags that are handled at the Java
  layer.

Bug: 18733215
Bug: 18736417

Change-Id: I16a3497742086deced4e8677bd6231290396c5f6
2014-12-22 18:15:32 +00:00
Eric Laurent
8d24fe235a Merge "AudioService: fix permission check." into lmp-mr1-dev 2014-12-19 17:11:28 +00:00
Oliver Woodman
69fd01d3e6 Merge "MediaSessionLegacyHelper uses global Application context" into lmp-mr1-dev 2014-12-19 11:37:04 +00:00
Eric Laurent
38edfda9bd AudioService: fix permission check.
Clear caller identity before calling TelecomManager.isInCall().

Bug: 18702149.
Change-Id: Ie057f3f261fc0a36dff51840cc8390408621d3bd
2014-12-18 17:40:43 -08:00
Jean-Michel Trivi
9b5257c9c9 MediaSessionLegacyHelper uses global Application context
MediaSessionLegacyHelper used a Context passed by an application
  which can cause a leak of Activity instances. Use the global
  Application context instead.
Also prevent crash if a null Context is supplied (method not
  documented as requesting a non-null Context).

Bug 18767503

Change-Id: I8281047d0af233a323f3fc11ababedff848829ec
2014-12-18 16:42:59 -08:00
John Spurlock
57627794b6 Audio policy: Fix deprecated shouldVibrate api.
And apply zen mode immediately to avoid race conditions
in tests.

Bug: 18702149
Change-Id: Iad156a29b9e6a5998e7c2dafa8b79a71447066f9
2014-12-17 12:34:00 -05:00
Jinsuk Kim
a2bc055eeb Merge "audioservice: Clear calling identity upon calling HdmiControlService" into lmp-mr1-dev 2014-12-13 23:41:48 +00:00
Chong Zhang
bb177db1fe Merge "parse bitrate range for video/audio caps" into lmp-mr1-dev 2014-12-12 20:49:36 +00:00
Chong Zhang
216e11dcbb parse bitrate range for video/audio caps
Bug: 18684228
Change-Id: Ib5c3682bb1dfa338b99352ea040edcb99d86ef0b
2014-12-12 11:34:42 -08:00
Jinsuk Kim
48cbf292ba audioservice: Clear calling identity upon calling HdmiControlService
This makes sure that accessing the HdmiControlService via audio service
should be possible without the system permission.

Bug: 18730526
Change-Id: I05b364d8e38218eb75f3c08972a06bb2d71a982b
2014-12-13 02:22:19 +09:00
Eric Laurent
65bc1125b4 Merge "AudioSystem JNI: Add audio policy custom mixes registration" into lmp-mr1-dev 2014-12-10 01:33:09 +00:00
Michael Wright
c6de3212c2 Merge "Don't try to scale the bitmaps for null MediaMetadata." into lmp-mr1-dev 2014-12-09 23:39:50 +00:00
Jeff Sharkey
1102e712c1 Merge "Throw IOException when missing default ringtone." into lmp-mr1-dev 2014-12-09 23:34:07 +00:00
Jeff Sharkey
87d76f6a3e Throw IOException when missing default ringtone.
This is caught by Ringtone, and we then fall back to built-in
ringtone, which matches the expected CTS behavior.

Bug: 18610451
Change-Id: I234d17f7cf623b9b0af434e5d367aed28f203b14
2014-12-09 15:27:25 -08:00