Commit Graph

6040 Commits

Author SHA1 Message Date
Marco Nelissen
6d2096f388 Rework thumbnail cleanup
Bug: 63766886
Test: ran CTS tests
Change-Id: I1f92bb014e275eafe3f42aef1f8c817f187c6608
2018-03-08 21:46:15 +00:00
Andrew Solovay
d1be47c3e9 docs: Add note to getFrameAtTime() pointing to getScaledFrameAtTime()
Added a note to the various getFrame... methods saying that if you
don't need a full-resolution frame, getScaledFrameAtTime() is
preferable. Removed existing text suggesting you use those other
methods for fetching a thumbnail.

Staged revised doc to:

http://go/dac-stage/reference/android/media/MediaMetadataRetriever.html

Bug: 69804003
Test: make ds-docs
Change-Id: I54250b2d127987ef3c1633c011f5eac6b747372e
2017-11-30 15:55:53 -08:00
TreeHugger Robot
106aeb324d Merge "Use rotation from MediaMetadataRetriever directly" into oc-mr1-dev 2017-10-06 05:20:14 +00:00
Chong Zhang
9af92dadc9 Use rotation from MediaMetadataRetriever directly
MediaMetadataRetriever now reports rotation in clockwise,
no longer need to translate.

bug: 67470228

Test: verified rotation using test app attached in bug
Change-Id: Ifebcf25ea302477818e2e03db1e55525db985e67
2017-10-05 15:13:54 -07:00
Eric Laurent
77ee4f2ff2 Merge "Fix Cell broadcast sound in total silence" into oc-mr1-dev 2017-10-04 14:45:01 +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
Eric Laurent
e5a351cb92 Fix Cell broadcast sound in total silence
PlayerBase:
 Update player volume when the audio attributes are updated in case
we need to unmute
PlaybackActivityMonitor:
 Unmute alarm stream if needed when an alarm with flag
 FLAG_BYPASS_INTERRUPTION_POLICY starts from an app with
 privileged permission MODIFY_PHONE_STATE.

Bug: 63617557
Test: check sound with cell broadcast in total silence
Change-Id: Ifacb1d96a2d8d44047d9f9642d1e672fcf756cda
2017-09-28 18:00:01 -07: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
TreeHugger Robot
d4aee713d4 Merge "Select a system audio route only when needed" into oc-mr1-dev 2017-09-20 02:54:45 +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
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
Jean-Michel Trivi
982ee8e6c3 Merge "AudioPlaybackConfiguration: prevent race condition on mIPlayerShell" into oc-mr1-dev 2017-09-15 01:37:55 +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
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
Kai Wang
bbf55bb7ae Merge "MediaBrowserService: Clean up ConnectionRecord when browser is dead" into oc-mr1-dev 2017-09-05 20:40:25 +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
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
e8b4c97bdf At STARTED_AS_NEXT, offload MediaPlayer.start() to a separate thread
Fixes: 65210445
Fixes: 64915666
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: I73f1cebdd4b990e28f8d466f129e781cba2b5bbf
2017-08-31 00:28:36 +00:00
TreeHugger Robot
e034a1f5ed Merge "Add heif format to ExifInterface" into oc-mr1-dev 2017-08-30 23:05:12 +00:00
Chong Zhang
6f80587e8b Add heif format to ExifInterface
Get heif dimension and rotation from MediaMetadataRetriever.

Bug: 64077740
Change-Id: I711ac70d356dbfd9128a30ab33c0dfd81a4ae17e
2017-08-30 11:33:07 -07:00
Jean-Michel Trivi
3120059d5b AudioService: log changes in OP_PLAY_AUDIO
Log changes to AppOpsManager.OP_PLAY_AUDIO in live player

Test: "adb shell dumpsys audio" after entering silence mode
Bug: 62258749
Bug: 64286665
Change-Id: Ia1c202c5b8b25e14f7c2e85060a256dc69433909
2017-08-29 11:39:56 -07:00
Jean-Michel Trivi
cf17036a21 AudioService: log volume commands and origin
Add volume logger for volume events.
Move AudioService event definitions to separate file.

Test: change volume with volume buttons and dumpsys audio
Bug: 64470715

Change-Id: I25db849bffb4a41a737d226cfc40e2c6f7e0ecc0
2017-08-28 16:26:52 -07:00
TreeHugger Robot
619503b279 Merge "Add equal overloads to some MediaDescription and MediaQueue objects (2/3)" into oc-mr1-dev 2017-08-28 19:26:41 +00:00
Jean-Michel Trivi
26ae15f487 AudioManager: permission annotations
Add permission annotations on audio focus @SystemApi methods.
Ignore REQUIRE_PERMISSION error (125) for:
 - deprecated abandonAudioFocus() method: the check is on the
    request call
 - isHdmiSystemAudioSupported() method, it's not clear if it's
    being used.

Test: remove "-hide 125" in Android.mk and make, verify no errors\
    on AudioManager.java
Bug: 62343127

Change-Id: I62526db0c6dabcc34224c589506d611519de6abc
2017-08-25 19:20:49 -07:00
Jerry Zhang
4de4655f0d Merge changes from topic "mtp-user" into oc-mr1-dev
* changes:
  Add additional context to MtpDatabase
  Reset functions to null when user changes.
2017-08-24 22:13:40 +00:00
TreeHugger Robot
9961d6968e Merge "Audio event logging" into oc-mr1-dev 2017-08-24 19:04:47 +00:00
Ajay Panicker
6edb68bea6 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
2017-08-24 17:37:38 +00:00
Jean-Michel Trivi
011f39e7c7 Audio event logging
New class AudioEventLogger to store a configurable number of the
  last audio events. It hosts a circular buffer of lightweight
  event objects, an abstract class whose implementations are
  event-specific, and does the heavier string manipulations
  at the time of the dump, not during normal operation.
Add logging for:
  - phone state (a.k.a. audio mode) changes
  - wired device connections
  - playback activity monitor
  - force use

Test: adb shell dumpsys audio
Bug: 64470715
Change-Id: I8dbd936e2ffec39134f1a8837191c74f5cb9fc56
2017-08-24 09:05:20 -07:00
Jerry Zhang
5f0139d2e8 Add additional context to MtpDatabase
MtpService has been changed to a singleton service
running in user 0, so the original context will
be that of user 0. Accesses to MediaProvider and
MediaScanner should use the new passed in user context
in order to access user data, while the broadcast
receiver for battery data will use the original context.

Bug: 64822515
Test: Use Mtp and switch users.
Change-Id: Ic181258337944db7dc6f6097c967cb104df938d3
2017-08-23 11:10:51 -07:00
TreeHugger Robot
ad3a36b13b Merge "Image: fix typo" into oc-mr1-dev 2017-08-23 00:20:12 +00:00
Yin-Chia Yeh
43edf1e51d Image: fix typo
Test: none (doc only fix)
Bug: 64648913
Change-Id: I98aa7ac1588e52e8dae0cbbda806159f378110ca
2017-08-21 15:33:38 -07:00
Chong Zhang
6e18ccee2a heif: add new file and mime types to MediaScanner -- DO NOT MERGE
bug: 64077740
Change-Id: I6d36c2394a5ae527026c98c83786009e70b20958
2017-08-19 00:05:06 +00:00
Lajos Molnar
0aeb1875e4 media: handle AVC constrained profiles
Bug: 64691727
Change-Id: I71b21c0951babccc9b4521bd5c26d35a6d62b426
2017-08-14 15:19:52 -07:00
Jeff Sharkey
50421b58e5 Someone is still using these APIs.
Which is totally lame.

Change-Id: Iaabfc1f5ac69ed99e714e89344bde116c340c376
2017-08-12 18:23:48 +00:00
Jeff Sharkey
c2e09129e0 Merge "Remove a bunch of deprecated @SystemApi." into oc-mr1-dev 2017-08-12 03:21:01 +00:00
Cindy Kuang
b39042790c Merge "docs: corrected grammar mistake in Class Overview" into oc-dev am: dc12cb1fb2
am: f125024688

Change-Id: If510d503dc91c2bfd6a7a282dbf7210cbc7f2698
2017-08-11 21:42:58 +00:00
Cindy Kuang
f125024688 Merge "docs: corrected grammar mistake in Class Overview" into oc-dev
am: dc12cb1fb2

Change-Id: I297557eb072b1fce0395c93c2a770623b5ba1642
2017-08-11 21:14:33 +00:00
Jeff Sharkey
8478911f5e Remove a bunch of deprecated @SystemApi.
Verified that nobody should be using these APIs, and they've been
deprecated long enough that we can remove them.

Bug: 62341924, 62263907, 62264550
Test: make -j32 update-api && make
Change-Id: I9a2333ca13e4984b71374aa7ffed081e5106c67e
2017-08-11 14:45:47 -06:00
TreeHugger Robot
67744e4696 Merge "Add permission check before setMain()" into oc-mr1-dev 2017-08-10 06:39:31 +00:00
Paul Mclean
bca04acac5 Merge "Update isWiredHeadsetOn() to support USB headsets." into oc-dr1-dev
am: 75384f617d

Change-Id: I693a3cf37c55085eee470091edf5fff0bc62ece8
2017-08-09 22:13:48 +00:00
Cindy Kuang
2e98cc555e docs: corrected grammar mistake in Class Overview
Test: make ds-docs

Bug: 17533073
Change-Id: Iaf22ad26794e2aac454a736efc746bca6f48eb82
2017-08-09 14:49:19 -07:00
Shubang
60d3925f5b Add permission check before setMain()
Test: make; cts-tradefed; run cts -m CtsTvTestCases;
Bug: 64489430
Change-Id: I1365165eb1ba76b3a54a3141cc19e8245c99f279
2017-08-09 14:30:00 -07:00
Paul McLean
145c95342c Update isWiredHeadsetOn() to support USB headsets.
Bug: 64250808
Test: Manual from an App (UsbDescriptors app)
Change-Id: Ic979636025e871d69853a7460befce4e1b1a6ed8
2017-08-09 13:07:18 -06:00
TreeHugger Robot
d3cef1bf7c Merge "media: Address api council comments." into oc-mr1-dev 2017-08-07 21:20:54 +00:00
Jin Seok Park
48dad606c5 Merge "ExifInterface: Remove throwing exception" into oc-mr1-dev 2017-08-04 00:43:02 +00:00
Sungsoo Lim
1d66ccde36 Merge "Catch IllegalArgumentException when disconnect" into oc-mr1-dev 2017-08-04 00:22:00 +00:00
Hangyu Kuang
51cb826529 media: Address api council comments.
Bug: 64338602
Test: CTS test.
Change-Id: I7e1db5a6aea3d63b37a2554ec2a21a0fe40f6e03
2017-08-03 13:52:56 -07:00
Sungsoo Lim
c012f6edd8 Catch IllegalArgumentException when disconnect
IllegalArgumentException can happen, if unbindService() is called
after the service is stopped.

Bug: 63439915
Test: Passed MediaBrowserTest
Change-Id: I70ecb9e907af66b9b65960dd4029e55e81639c03
2017-08-03 14:38:36 +09:00
Sungsoo Lim
be87b68039 Do not call ItemCallback after disconnected
Bug: 64119114
Test: Passed MediaBrowserTest
Change-Id: Icf3283710abe7c03f4a73532b33ec2a306d2280b
2017-08-03 04:48:48 +00:00