Commit Graph

6119 Commits

Author SHA1 Message Date
Jerry Zhang
c8d44372e6 Merge "Add moveObject method to change object's path and parent." am: 33a200e572 am: 0f09ac317d am: f9696617bd
am: 3a13ab1fd3

Change-Id: I58a1ca9b3b5e63e73eb4db58ac3588f6bf9e3249
2017-10-03 00:44:23 +00:00
Jerry Zhang
3a13ab1fd3 Merge "Add moveObject method to change object's path and parent." am: 33a200e572 am: 0f09ac317d
am: f9696617bd

Change-Id: Ia6ba6d0cf89879914894d35a0dbf110d905966ac
2017-10-03 00:33:02 +00:00
Jerry Zhang
0f09ac317d Merge "Add moveObject method to change object's path and parent."
am: 33a200e572

Change-Id: Iabb8c9989ad35140ab1c752fb70741f52e56c04d
2017-10-03 00:04:03 +00:00
TreeHugger Robot
72a23105c9 Merge "Reduce time consuming when a lot of audio port event happen continually." 2017-10-02 23:58:51 +00:00
Jerry Zhang
952558d4e5 Add moveObject method to change object's path and parent.
This is needed to implement the MTP MOVE_OBJECT operation.

Bug: 66679910
Test: Move objects and folders, verify mediastore is consistent
Change-Id: I2f4f0c43134fb3ff82745166c051712cc1736b7f
2017-10-02 11:48:38 -07:00
Marco Nelissen
e93e6c5ef1 Merge "AmrInputStream is not a public API" am: c3b1442d52 am: fa55320f5d am: 9bda8fddf2
am: 14d8ba7736

Change-Id: I869b0944ad119d9adc83ec21e15ae791294d7230
2017-09-29 20:32:10 +00:00
Marco Nelissen
14d8ba7736 Merge "AmrInputStream is not a public API" am: c3b1442d52 am: fa55320f5d
am: 9bda8fddf2

Change-Id: Ib6e7f401af259e422aee6ca7d18703f380ef08f6
2017-09-29 20:21:30 +00:00
Marco Nelissen
fa55320f5d Merge "AmrInputStream is not a public API"
am: c3b1442d52

Change-Id: Iee0e6dfa9907dc70fcf5dae7fcbcf14b8bcb9ffb
2017-09-29 20:04:54 +00:00
Marco Nelissen
323d2a56ec AmrInputStream is not a public API
and nobody should be using it. Add some warnings to that effect.

Change-Id: I8029ccd665fd147b4708a68f61c6aa055004a5c1
2017-09-29 10:15:34 -07:00
Sungsoo Lim
f143ca9f16 Merge "Make RoutInfo.select() called in app's main thread" into oc-mr1-dev am: 6e326268c1
am: aee660bb47

Change-Id: Idc830072c057861c9c6498d190a5b4aafaa3f1cb
2017-09-29 09:22:28 +00:00
Sungsoo Lim
aee660bb47 Merge "Make RoutInfo.select() called in app's main thread" into oc-mr1-dev
am: 6e326268c1

Change-Id: I91a4e5422a92f3e7571a1ffc7fb19d0594f116e2
2017-09-29 08:43:07 +00:00
Sungsoo Lim
133a24e095 Make RoutInfo.select() called in app's main thread
Bug: 66995486
Test: passed MediaRouter test
Test: Checked theat IllegalStateException doesn't happen
Change-Id: Idb75998cd7910a430e68ea928d28c9908260d5fc
2017-09-29 14:25:15 +09:00
jiabin
c4ecaa52b8 Reduce time consuming when a lot of audio port event happen continually.
Since the AudioPortEventHandler runs in application's main thread, it
may cause ANR if there are a lot of setForceUse calling by the
application continually in a short time. The root cause is that there
may be a lot of audio port event from the native side when there are a
lot of device switching request. In this case, updating audio port cache
may take a long time due to inconsistency between audio port generation
and patches generation.
To solve this problem, we only check the generation once when ports and
patches are both requested to return earlier. In the meantime, we only
repeat the last audio port event since we will refresh the ports cache
every time when we receive the event.

Bug: 64952619
Test: keep switching output device in hangout video/voice chat
Change-Id: I3164c4e331950a481b76ce890d8c1403fd9b98ee
2017-09-27 14:26:08 -07:00
Sungsoo Lim
a8a1e989eb Merge "Select correct system audio route in updateAudioRoutes" into oc-mr1-dev
am: 43d5d86cda

Change-Id: I5bab35f229bbedeba548a43e078a500f5cd2a4b0
2017-09-25 07:16:48 +00:00
Sungsoo Lim
0e43c503ab Select correct system audio route in updateAudioRoutes
While update audio routes, MediaRouter had an access to the variable
of MediaRouterService.mGlobalBluetoothA2dpOn, which was updated in
the callback of AudioRoutesObserver.dispatchAudioRoutesChanged().
However, since updateAudioRoutes() was also called by the same
callback, mGlobalBluetoothA2dpOn could be used in updateAudioRoutes()
before its value was updated.

Bug: 65629167
Test: passed MediaRouterTest
Test: Manually confirmed that the issue is fixed with this CL
Change-Id: Id0034996a51a6d8d1e8bd9d2c6ca386aabbb8baf
Merged-In: Id0034996a51a6d8d1e8bd9d2c6ca386aabbb8baf
2017-09-25 10:15:49 +09:00
Sungsoo Lim
546a170bfa Select correct system audio route in updateAudioRoutes
While update audio routes, MediaRouter had an access to the variable
of MediaRouterService.mGlobalBluetoothA2dpOn, which was updated in
the callback of AudioRoutesObserver.dispatchAudioRoutesChanged().
However, since updateAudioRoutes() was also called by the same
callback, mGlobalBluetoothA2dpOn could be used in updateAudioRoutes()
before its value was updated.

Bug: 65629167
Test: passed MediaRouterTest
Test: Manually confirmed that the issue is fixed with this CL
Change-Id: Id0034996a51a6d8d1e8bd9d2c6ca386aabbb8baf
2017-09-25 09:59:03 +09:00
Ajay Panicker
12bec46613 Add equal overloads to some MediaDescription and MediaQueue objects (2/3)
am: 905d8ab843

Change-Id: I8f47786d4e0c392b008cdce80aed05ca7b1573b1
2017-09-22 17:14:36 +00:00
Ajay Panicker
905d8ab843 Add equal overloads to some MediaDescription and MediaQueue objects (2/3)
Bug: 64686424
Test: Connect to carkit and see that NowPlayingChanged only gets sent when
      the queue changes, run cts test
Change-Id: I58c9dd0bf976485a2efefd042cd667ee433e07e1
(cherry picked from commit 6edb68bea6)
2017-09-22 16:31:43 +00:00
Sungsoo Lim
65a5d03b6e Merge "Select a system audio route only when needed" into oc-mr1-dev am: d4aee713d4
am: cf874bbe6f

Change-Id: I79a44736931cea34eb6d00a62ae33b569021e9e4
2017-09-20 09:57:47 +00:00
Sungsoo Lim
cf874bbe6f Merge "Select a system audio route only when needed" into oc-mr1-dev
am: d4aee713d4

Change-Id: Ifa91341cb48c970f9b19c6f8bc0219c1a3372a9a
2017-09-20 03:02:28 +00:00
TreeHugger Robot
d4aee713d4 Merge "Select a system audio route only when needed" into oc-mr1-dev 2017-09-20 02:54:45 +00:00
Pawin Vongmasa
99da73404d Merge "Rename "bitrate-control" to "bitrate-modes"" into oc-mr1-dev am: 9b1a9b4fb9
am: 729cb8b2b5

Change-Id: If4ab02ad02b39e197b15d3b1b9c9eef6e4a87cdd
2017-09-19 01:30:01 +00:00
Pawin Vongmasa
729cb8b2b5 Merge "Rename "bitrate-control" to "bitrate-modes"" into oc-mr1-dev
am: 9b1a9b4fb9

Change-Id: Ibdfb6f003c7467f58c9232d807d52b327e2187af
2017-09-19 01:22:34 +00:00
TreeHugger Robot
9b1a9b4fb9 Merge "Rename "bitrate-control" to "bitrate-modes"" into oc-mr1-dev 2017-09-19 01:14:05 +00:00
Sungsoo Lim
f8e38e2dbb Select a system audio route only when needed
When system audio routes are changd, updateAudioRoutes is called, and
it selects a system audio route even when a none system route was
seleted.
That makes the selected route be unselected and this CL fixes it.

Bug: 65403568
Test: manual tested that the issue is fixed
Change-Id: I5df9d3e5f68cfd40fdb625937f9a8e16f4308e16
2017-09-18 13:50:56 +09:00
Sungsoo Lim
816d1e39d6 Merge "Change the route name for USB headset" 2017-09-18 04:28:47 +00:00
Pawin Vongmasa
add5a5a2f8 Rename "bitrate-control" to "bitrate-modes"
The property name that is listed in xml files is
"bitrate-modes", not bit "bitrate-control".

Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice

Bug: 65769027
Change-Id: Ifef752e05cac3b868cee76ce69f1763c075f10ec
2017-09-16 06:46:59 -07:00
TreeHugger Robot
6bc7eba04e Merge "MediaPlayer: add notifyAt for TimeProvider" 2017-09-15 20:15:35 +00:00
Wei Jia
c02f09d0d1 MediaPlayer: add notifyAt for TimeProvider
Test: TimeProvider gets correct media time when playback rate is not 1.0
Bug: 65204641
Change-Id: I5020515415e14a2c37eec0d1ece511518b9239e7
2017-09-15 09:11:51 -07:00
Jean-Michel Trivi
c547bd8a9f Merge "AudioPlaybackConfiguration: prevent race condition on mIPlayerShell" into oc-mr1-dev am: 982ee8e6c3
am: 2d7ef64f47

Change-Id: Ib4bd34bf0915afdd3e6c91c2ad34594e1e373a36
2017-09-15 11:35:33 +00:00
Sungsoo Lim
60aa8b99a0 Change the route name for USB headset
Bug: 37749497
Test: manual by connecting a USB headset
Change-Id: I0c6e0233da5d4006d62adc1f2b4534a0180485d0
2017-09-15 16:05:43 +09:00
Jean-Michel Trivi
2d7ef64f47 Merge "AudioPlaybackConfiguration: prevent race condition on mIPlayerShell" into oc-mr1-dev
am: 982ee8e6c3

Change-Id: Ifa18821b2ae5b3103f5025df88c0e545bdca56af
2017-09-15 02:28:28 +00:00
Jean-Michel Trivi
982ee8e6c3 Merge "AudioPlaybackConfiguration: prevent race condition on mIPlayerShell" into oc-mr1-dev 2017-09-15 01:37:55 +00:00
Hangyu Kuang
6bf9548f41 Merge "MediaMuxer: Fix a typo in java doc." into oc-mr1-dev am: 7dd0c6924e
am: e0ba566aae

Change-Id: Idb8cbe7ee53e8d3eb2cc59b6fc163f88adad4df0
2017-09-14 21:55:39 +00:00
Jean-Michel Trivi
776a399314 AudioPlaybackConfiguration: prevent race condition on mIPlayerShell
Synchronize changes to mIPlayerShell after release of corresponding
  player.
Flush binder commands when a player is released, in AudioService
  and in the clients that have an AudioPlaybackCallback implementation.
  Do the same in MediaSessionService, which directly implements
  the IPlaybackConfigDispatcher interface, without going through
  the AudioPlaybackCallback registration and notification
  mechanisms.

Test: adb shell /system/bin/write_sine_callback -m2 -pl
Bug: 65450109
Change-Id: I2f0697e0e164283284ce30d2cc736c4f8df270c4
2017-09-14 10:00:28 -07:00
Hangyu Kuang
e0ba566aae Merge "MediaMuxer: Fix a typo in java doc." into oc-mr1-dev
am: 7dd0c6924e

Change-Id: I6eef1bed8894f907177f21eb2550a9465b45c257
2017-09-14 02:15:00 +00:00
Hangyu Kuang
ceb5729a5e MediaMuxer: Fix a typo in java doc.
Bug: 63965858
Test: None as just document.
Change-Id: I4c849a02c3b19d8cf23e92a960cfde023e213ca1
2017-09-13 11:09:27 -07:00
Insun Kang
61330a3346 Merge "MediaSession: Remove pending callback messages when setCallback(null) is called." 2017-09-11 02:11:46 +00:00
Insun Kang
62cef488de MediaSession: Remove pending callback messages when setCallback(null) is called.
setCallback(null) is supposed to clear registered callbacks.
Previously, setCallback(null) doesn't remove pending callback messages
and so belated callbacks are called quite frequently after
setCallback(null) is done. This CL reduces major number of such cases by
removing pending callback messages.

Bug: 63446360
Test: Ran cts test
adb shell am instrument -w -e class \
android.media.cts.MediaSessionTest#testSetCallbackWithNull \
android.media.cts/android.support.test.runner.AndroidJUnitRunner

Change-Id: I7192b0a61a2114390f10734bbb48aeac56a19fe3
2017-09-07 14:15:29 +09:00
Kai Wang
a8595bbfee Merge "MediaBrowserService: Clean up ConnectionRecord when browser is dead" into oc-mr1-dev am: bbf55bb7ae
am: 86baa82d01

Change-Id: I509f5d8ae4c8224ee1e7b8ceffd2a65f1da1254c
2017-09-05 23:21:07 +00:00
Kai Wang
86baa82d01 Merge "MediaBrowserService: Clean up ConnectionRecord when browser is dead" into oc-mr1-dev
am: bbf55bb7ae

Change-Id: I4e14e80a31c0eed3c897e35720bff1f694f7a007
2017-09-05 20:56:01 +00:00
Kai Wang
bbf55bb7ae Merge "MediaBrowserService: Clean up ConnectionRecord when browser is dead" into oc-mr1-dev 2017-09-05 20:40:25 +00:00
Ivan Lozano
9f6a292f6a Merge "Moving IPlayer.aidl to frameworks/av/." 2017-09-01 23:07:07 +00:00
kai
8e67b4d9f1 MediaBrowserService: Clean up ConnectionRecord when browser is dead
This CL cleans up connectionRecords when binder dead and the connection
is lost.

Bug: 65132577
Test: check the number of ConnectionRecord, kill the media app, check
      the number again.
Change-Id: I8b31745bcee220b9e70c3f43d7fc9d8dc3f6b83a
2017-09-01 10:50:01 -07:00
Ivan Lozano
330d876a62 Moving IPlayer.aidl to frameworks/av/.
As part of migrating native binder services to AIDL, this moves IPlayer.aidl to
the frameworks/av/ project and links in the new AIDL generated binder library to
the JNI libraries.

Test: run cts --module CtsMediaTestCases
Bug: 64223827

Change-Id: I7e346a471b98c78ceb35dceed9e6c0df1000cfb1
2017-09-01 08:24:14 -07:00
Sungsoo Lim
bdbec44257 Merge "Track the global setting of BT A2DP on/off" into oc-mr1-dev am: cc2478f90c
am: 0047534b7f

Change-Id: Iaa02ab736989e55660ad6813fcaa97e2b411a27e
2017-09-01 02:13:26 +00:00
Sungsoo Lim
0047534b7f Merge "Track the global setting of BT A2DP on/off" into oc-mr1-dev
am: cc2478f90c

Change-Id: Iacf556474e361882d4928750a71add65af0180d9
2017-09-01 02:01:58 +00:00
Sungsoo Lim
76512a3d80 Track the global setting of BT A2DP on/off
The default phone speaker, bluetooth audio devices, and wired audio
devices are handled as system audio routes. When an app starts to
make sound to a system audio route, the system audio route will be
selected with the following order.

1. The slected route by the app after the latest connection of
   an audio device.
2. The lastly connected audio device.
3. The default phone speaker if not connected.

Bug: 64811580
Test: Passed MediaRouterTest, manual
Change-Id: I77badb14596bc661c44237957504164f5476e595
2017-08-31 15:57:56 +09:00
Wonsik Kim
b9e8678d27 Merge "At STARTED_AS_NEXT, offload MediaPlayer.start() to a separate thread" into oc-mr1-dev am: 52700a9795
am: 7558ef1b2d

Change-Id: I1462ddec436262f342ee658b93b9d96ea36ff3ca
2017-08-31 04:38:11 +00:00
Chong Zhang
c658124d50 Merge "Add heif format to ExifInterface" into oc-mr1-dev am: e034a1f5ed
am: 3985765a17

Change-Id: I1cb5527a9bb1a63cb960cbc7d38aa955353a28c9
2017-08-31 03:36:24 +00:00