Commit Graph

5472 Commits

Author SHA1 Message Date
Jean-Michel Trivi
807313917f New player type values for Open SL ES
Define new player types to describe the two types of AudioPlayer
  in OpenSL ES: those with a buffer queue source, those that
  play from a given URI or FD.
Add a warning in the interface description of AudioService
  that changes should be reflected in the native interface too.

Test: make, NDK tests to follow
Bug: 30955183
Change-Id: I7b530ea6e3b13f238f662ce8b9612e7df574a9c5
2016-12-26 16:03:22 -08:00
Jean-Michel Trivi
c0a0c2bdd1 Merge "Notification of playback activity" 2016-12-22 22:08:21 +00:00
Alex Klyubin
f271c6d266 resolve merge conflicts of b53d984 to master
Change-Id: I3fe63a5c0193c720b8ec4ca53834096de8433f26
2016-12-22 12:00:24 -08:00
Alex Klyubin
8e23aa4ee6 Merge "Make users of MtpServer fill in DeviceInfo field values" am: 933ea68aca
am: e988e8f1f6

Change-Id: Icce6e31723d4dac12cf2c2e389e69c067dd66a91
2016-12-22 19:22:46 +00:00
Jean-Michel Trivi
292a6a4e99 Notification of playback activity
AudioService keeps track of status of implementations of PlayerBase.
AudioService's PlaybackActivityMonitor maintains a list of
  playback configurations for each PlayerBase, and a list
  of clients that want to receive updates about the playback.
Playback activity clients can query the playback configuration
  of the system through AudioManager, or register a callback
  for updates. For clients with MODIFY_AUDIO_ROUTING permission
  (system), the playback configurations contain more information
  about each player (player type, uid, pid, state), and can see
  all players, not just the "active" ones. The act of stripping
  off data about the players that is not supposed to be seen
  by non-system clients, is referred to as "anonymization". It
  is implemented in system server, so no system data is ever
  sent to playback activity clients without system permission.
More information about the AudioPlaybackConfiguration is
  available in the SystemApi (uid, pid, player type, player state).

Test: run cts -m CtsMediaTestCases -t android.media.cts.AudioPlaybackConfigurationTest
Bug: 30955183

Change-Id: I85997594c0378216419f5f0fdaa0714996fd3573
2016-12-21 13:58:08 -08:00
Alex Klyubin
abdc2b47b3 Make users of MtpServer fill in DeviceInfo field values
This is part of weaning apps off accessing system identifiers via
system properties API. Apps should use android.os.Build API instead.

Bug: 33700679
Test: Enable MTP mode then check that mtp-detect output same as before this commit
Change-Id: I4e6696cdee18b9c3e987c432c095911e85a997db
2016-12-21 13:56:28 -08:00
Sungsoo Lim
48d25dc7bd Merge "MediaBrowser: Introduce the search API" 2016-12-15 06:40:03 +00:00
Marco Nelissen
d194a782ba Merge "Revert "Remove AmrInputStream"" am: e2d8581529 am: 01cb199bed am: 8b1eed4ee8
am: 10cb330d3e

Change-Id: I5c97e47ff9a5f193645660c195ddd707b86ad025
2016-12-14 17:19:46 +00:00
Marco Nelissen
8b1eed4ee8 Merge "Revert "Remove AmrInputStream"" am: e2d8581529
am: 01cb199bed

Change-Id: Icafcabcc2b99dac4d897e0d68725c53e84fdd5c5
2016-12-14 17:05:59 +00:00
Marco Nelissen
a4efbf863b Revert "Remove AmrInputStream"
This reverts commit 0c3518cc77.

Change-Id: I250d86d2d6ce462cb5f29bc6c312d88a49ac24a4
2016-12-14 16:44:12 +00:00
Marco Nelissen
0c57bd90b6 Merge "Remove AmrInputStream" am: 70b262b0f2 am: e57b37e423 am: b10837952a
am: 688fa0e9f0

Change-Id: I95947386bda60d69b5fb76dc00b2e7fb82d55878
2016-12-13 23:42:21 +00:00
Marco Nelissen
b10837952a Merge "Remove AmrInputStream" am: 70b262b0f2
am: e57b37e423

Change-Id: Ia95832144e831b91ba0f163db1da8ef8e7033446
2016-12-13 23:28:55 +00:00
Marco Nelissen
0c3518cc77 Remove AmrInputStream
Bug: 32114618
Change-Id: I55328e6f003377f4d3c2ba2266844047b1422f49
2016-12-13 13:31:10 -08:00
Jerry Zhang
d9291d55f6 Merge "Modify UsbDeviceManager stack to allow MtpServer to use FunctionFS drivers." am: 1975240f17 am: 830874dbe7 am: 88672d7d29
am: 11dc0eccfb

Change-Id: Ibafebe4877052595cb34626bde9ac6fba1983fb0
2016-12-13 01:02:55 +00:00
Jerry Zhang
88672d7d29 Merge "Modify UsbDeviceManager stack to allow MtpServer to use FunctionFS drivers." am: 1975240f17
am: 830874dbe7

Change-Id: I930f006ffd7a429379638aa4f8268ed443a3696b
2016-12-13 00:37:12 +00:00
Jerry Zhang
bb598ee16f Modify UsbDeviceManager stack to allow MtpServer to use FunctionFS drivers.
Functionfs requires MtpServer to write descriptors before the device can be
configured. This adds a new configure call that will occur only when
functions are changed (new argument added to updateUsbStateBroadcast for this)
and be called after sys.usb.config is changed but before the waitForState
call to ensure compatibility with configfs devices.

Bug: 30976142
Change-Id: I7e94a5847d3b19c0fd75139e1b15a3f2a1cea01d
Test: Manual
2016-12-12 11:05:32 -08:00
Sungsoo
8fb6addcbe MediaBrowser: Introduce the search API
Bug: 28210241
Test: passed cts test (MediaBrowserServiceTest and MediaBrowserTest)
Change-Id: I73c58f5385637c626da1503d27e518b4f0c9ea80
2016-12-12 11:27:33 +09:00
Sungsoo Lim
52dd278eb3 Merge "ExifInterface: fix NegativeArraySizeException" am: c57b472d67
am: 582e612fdc

Change-Id: I671ef98f05431e7c4baa2a7b84f6cb04a82c5d9d
2016-12-05 04:47:33 +00:00
Sungsoo Lim
582e612fdc Merge "ExifInterface: fix NegativeArraySizeException"
am: c57b472d67

Change-Id: Ifbe9af9b62837923e6e56159759da6c59795b3aa
2016-12-05 04:41:30 +00:00
TreeHugger Robot
9593f04fb2 Merge "ExifInterface: fix NegativeArraySizeException" 2016-12-05 02:22:46 +00:00
NIEJuhu
dbe99b56ec ExifInterface: fix NegativeArraySizeException
The IFD entry has a 4-byte field COUNT. It is read as int type
and is used as array size by ExifInterface. If a crafted JPEG
file contains a negative value, a NegativeArraySizeException
occurs.

Test: passed ExifInterface CTS
Change-Id: Ief29936400f04636928df09e7f357cbf25345383
Signed-off-by: NIEJuhu <niejuhu@xiaomi.com>
2016-12-05 09:18:58 +09:00
Jean-Michel Trivi
d29d66c787 Merge "Stream types are for volume control" 2016-12-02 17:33:54 +00:00
NIEJuhu
8708c80cde ExifInterface: fix NegativeArraySizeException
The IFD entry has a 4-byte field COUNT. It is read as int type
and is used as array size by ExifInterface. If a crafted JPEG
file contains a negative value, a NegativeArraySizeException
occurs.

Change-Id: Ief29936400f04636928df09e7f357cbf25345383
Signed-off-by: NIEJuhu <niejuhu@xiaomi.com>
2016-12-02 06:42:58 +00:00
Wei Jia
400752a790 Merge "MediaPlayer: enable same seek modes as in MediaMetadataRetriever." 2016-12-01 22:08:11 +00:00
Wei Jia
ebc2b694d1 MediaPlayer: enable same seek modes as in MediaMetadataRetriever.
Test: manually check result of mediaplayer.seekTo
Bug: 32557491
Change-Id: Ib507fbfb86a24fcf9b42758e89e595a4a58d33b5
2016-12-01 12:32:34 -08:00
Jean-Michel Trivi
2f7511fd06 Stream types are for volume control
Deprecate methods where stream types are not used for
  volume control operations.
Add a warning in the logs about the use of stream
  types to encourage migration to audio attributes.
Since STREAM_ACCESSIBILITY is added in O for the
  volume of a11y audio, throw an exception when
  trying to use it for playback.

Test: make offline-sdk-docs
Bug: 30955183

Change-Id: I7fcf79f1de68f217a9b19561aa1325ade169dfcf
2016-11-30 09:54:23 -08:00
Jean-Michel Trivi
8e0bc783e9 Javadoc and AudioManager update for A11Y stream
AudioManager:
  - add missing references to STREAM_ACCESSIBILITY
  - add STREAM_ACCESSIBILITY in getDevicesForStream() method
  (this method is only ever called for STREAM_MUSIC)

Test: make offline-sdk-docs
Bug: 30448020
Change-Id: I449082ff01e9822e7e7dca69762c197468237d67
2016-11-25 10:22:23 -08:00
Jean-Michel Trivi
ac48767f91 Conditional behavior for a11y stream volume
VolumePolicy: define two a11y modes: 1/ legacy where
  a11y volume aliases to media volume, 2/ a11y where
  the a11y volume is independent from any other stream
  type volume.
Refactor accessibility service listening to accomodate
  communicating to the volume controller when the
  a11y service is running.
Make accessibility stream alias conditional on a11y
  service running. Reflect the behavior in the
  volume controller.

Test: enable Talkback and verify logs in Vol controller
Bug 30448020

Change-Id: I80535ba259a22b6d93e62a7b3ca462a19d4c84b7
2016-11-23 16:31:38 -08:00
Jean-Michel Trivi
6d5723fe4e Merge "Define stream type for accessibility volume control" 2016-11-22 16:28:48 +00:00
Jean-Michel Trivi
3f0945a608 Define stream type for accessibility volume control
New stream type for accessibility volume.
Add related appOps.

Test: see added CTS tests in AudioManagerTest & Stub
Bug 30448020

Change-Id: I34f96713b22fedf75322b8ffe2b96a7c566f5009
2016-11-21 15:15:45 -08:00
Jeff Tinker
66f6547ba9 Merge "Removing widevine classic" 2016-11-21 17:53:18 +00:00
Hyundo Moon
af18c40b70 Merge "Fix wrong JavaDoc parameter names of ExifInterface.getJpegAttributes()" 2016-11-17 04:49:12 +00:00
Hyundo Moon
89779299f1 Fix wrong JavaDoc parameter names of ExifInterface.getJpegAttributes()
Test: By comparing the parameter names manually.
Change-Id: I3f67e43174754a73d498be6bf2882481cd80a648
2016-11-17 11:44:12 +09:00
Jeff Tinker
d2e9a52b1d Removing widevine classic
bug:30505334
Change-Id: I21ae4808c04b15a5b298c604494b17de436fb250
2016-11-16 02:12:08 +00:00
Jean-Michel Trivi
8e48c6939b Refactor SoundPool for appOps handling through PlayerBase
Modified the signature of the abstract volume methods so
  it is clear at the subclass level whether the volume
  command is for a mute or a volume control.
  Changed the implementations in the subclasses
  accordingly.
Removed appOps handling inside SoundPool and made it
  inherit from PlayerBase.
Moved handling of the camera sound restriction from
  SoundPool to PlayerBase.
Added support in SoundPool native implementation for
  muting, as each player has its own volume.

Test: play a long file with SoundPool and enter DnD mode

Bug: 30955183
Bug: 28249605

Change-Id: I0fcd7480f9a455c06aa4f7092486f5c65bc9d7db
2016-11-14 09:36:11 -08:00
Marco Nelissen
fd91fcc970 Merge "Make AmrInputStream use MediaCodec" am: 866658261f
am: 618c1a9ae6

Change-Id: Ic6723d4e2ce7ab401908ca955a785463612509bb
2016-11-11 20:16:00 +00:00
Marco Nelissen
618c1a9ae6 Merge "Make AmrInputStream use MediaCodec"
am: 866658261f

Change-Id: Id25833efb8baa54e729bdc823e5849819c53cd64
2016-11-11 20:10:00 +00:00
Marco Nelissen
01d023e966 Make AmrInputStream use MediaCodec
Bug: 32114618
Test: ran CTS test
Change-Id: I9fe77689bf0bcd1bc8f6c5a4d62135271c7bef8b
2016-11-11 10:53:09 -08:00
Jeff Sharkey
0a17db1cc5 Detect non-oneway calls leaving system_server.
To protect system stability, any Binder calls leaving the
system_server must carefully be performed using FLAG_ONEWAY (or
the 'oneway' verb in AIDL) which prevents the call from blocking
indefinitely on the remote process.

In this CL, the system_server uses the new Binder.setWarnOnBlocking()
method to enable detection by default for all remote Binder
interfaces.  It can also use Binder.allowBlocking() to allow
blocking calls on certain remote interfaces that have been
determined to be safe.

This CL adds the 'oneway' verb to several interfaces and methods
where it should have been added, and marks a handful of system
ContentProviders as being safe to call into.  Also, we assume that
any services obtained from ServiceManager are part of the core
OS, and are okay to make blocking calls to.

Test: builds, boots, runs with minimal logs triggered
Bug: 32715088
Change-Id: Ide476e120cb40436a94b7faf7615c943d691f4c0
2016-11-07 17:03:37 -07:00
Jean-Michel Trivi
5d1828ee40 MediaRecorder: Fix some audio source descriptions
voice recognition: it is always available
camcorder: "main microphone" doesn't mean anything
communication: there is no requirement for this source
  to behave like the default preset.

Test: make offline-sdk-docs
Bug: 32451872

Change-Id: I1a2f196977e547feebb031a98b0f0e560f0557d5
2016-11-03 18:00:50 +00:00
Andy Hung
0564ec9d68 resolve merge conflicts of ffe502b to cw-f-dev am: 3dd656c624
am: c6e0d5f125

Change-Id: I80b908142bb4dbd2af8c9f3627ecfd5e3df1963c
2016-10-18 20:18:05 +00:00
Andy Hung
c6e0d5f125 resolve merge conflicts of ffe502b to cw-f-dev
am: 3dd656c624

Change-Id: I8217da44238234d4ba4c34ea76f5bd78fd7b87d2
2016-10-18 20:11:21 +00:00
Andy Hung
3dd656c624 resolve merge conflicts of ffe502b to cw-f-dev
Change-Id: Id392b2e1990dc50b5d2d552f283a11a648d849a1
2016-10-18 11:55:04 -07:00
Andy Hung
ffe502bd61 Ringtone: clear the MediaPlayer listener upon completion
This breaks a local refcount cycle and allows the Java gc to finalize
the Ringtone and MediaPlayer objects quickly.

Bug: 31811091
Change-Id: I0e5a4a78fdc02cc0c8b7811a1f1a45db3c90a0ff
2016-10-17 18:12:35 -07:00
Philip P. Moltmann
b828b77985 Properly close USB device connection in Mtp device
Test: Built
Fixes: 32073045
Change-Id: I05179377532c1bd4dff1f4a4e0e837cb645317e3
2016-10-17 11:19:58 -07:00
Marco Nelissen
e1a81fcc65 Make AmrInputStream use MediaCodec
Bug: 32114618
Test: ran CTS test
Change-Id: I9fe77689bf0bcd1bc8f6c5a4d62135271c7bef8b
2016-10-14 14:52:10 +00:00
TreeHugger Robot
1bbdac5eb2 Merge "resolve merge conflicts of 3fc6b8f to master" 2016-10-14 02:50:58 +00:00
Sungsoo
4d3a4132c2 resolve merge conflicts of 3fc6b8f to master
Change-Id: I004b34699fd997805d6c37753c48fe1f1d226095
2016-10-14 08:17:19 +09:00
Sungsoo
3fc6b8fd0f ExifInterface: Provide backward compatibility am: 2dbe166801 am: bc813cd510 am: 36f64a2f0c
am: b68d0855c4

Change-Id: I40df333d3b19911be333e5c466dfe01a3db4bd70
2016-10-13 22:21:47 +00:00
Sungsoo
b68d0855c4 ExifInterface: Provide backward compatibility am: 2dbe166801 am: bc813cd510
am: 36f64a2f0c

Change-Id: Ibc82a2ddd80dff7d98880db0a179fbb1540ac6f8
2016-10-13 22:11:58 +00:00