2544 Commits

Author SHA1 Message Date
Jae Seo
d5cc4a281e Put TV Input Framework under android.media.tv, including TvContract
Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
2014-06-02 11:02:52 -07:00
RoboErik
e78755e180 Merge "Minimum work to make volume handling work with sessions" into lmp-preview-dev 2014-06-02 17:10:07 +00:00
Eric Laurent
ddc93ce343 AudioManager: do not mandate a looper
Having a listener for audio port updates is not mandatory.
do not throw an excepion when AudioManager is contructed
from a thread without looper.

Bug: 15368707.
Change-Id: If5ce54bf4efdff8b785098649fa1cd0564861e1e
2014-06-02 09:16:02 -07:00
John Spurlock
a11b4affca VolumeZen: Prevent raising ringer volume in silent mode.
Instead of breaking out of silent mode when raising the volume
using the keys, prevent the change and display a visual hint up
in the user interface.

Bug:15330217
Change-Id: I74aae44319aadcd6db9841c7799967607f5a1617
2014-06-01 11:52:23 -04:00
Eric Laurent
54b5e5bdf6 Merge "AudioManager: add audio port gain control" into lmp-preview-dev 2014-05-31 00:49:58 +00:00
Eric Laurent
8725859ee3 Merge "audio routing update listener" into lmp-preview-dev 2014-05-31 00:49:44 +00:00
Eric Laurent
a89eb2d8e5 Merge "AudioSystem: added JNI for routing extensions" into lmp-preview-dev 2014-05-31 00:49:27 +00:00
Eric Laurent
3a24199a0f AudioManager: add audio port gain control
Implement AudioManager.setAudioPortGain() API.

Bug: 14815883.

Change-Id: Ib54bd1fd1392c474f4767a00228b0a617c51ec5e
2014-05-30 17:13:10 -07:00
Eric Laurent
700e73471d audio routing update listener
Implement audio port and audio patch
callback infrastructure for clients to receive
notifications when audio routing changes occur via the
OnAudioPortUpdateListener interface.

Bug: 14815883.

Change-Id: I32cbba64eca7369871aec235ff100de1f0c2d344
2014-05-30 17:13:10 -07:00
Eric Laurent
b69681c894 AudioSystem: added JNI for routing extensions
Bug: 14815883.

Change-Id: Ia0c0d14a8e3051a4bc0ce502b6e979135b170c97
2014-05-30 17:12:48 -07:00
Lajos Molnar
a6716aade1 Merge changes I1fd178b6,I5093672e into lmp-preview-dev
* changes:
  DO NOT MERGE: media.MediaCodec: hide NotificationCallback listener
  media.MediaCodec: document and fix-up setNotificationCallback
2014-05-30 23:14:55 +00:00
RoboErik
b69ffd4dc2 Minimum work to make volume handling work with sessions
This is the minimum change to make adjusting volume work with
MediaSessions. This only affects adjusting the volume and adjusting
the volume with a suggested stream. Adjusting a specific stream or
setting a specific stream will still use the same code.

This does not fix existing remote volume handling in RCC, which
will require a separate change to MediaController.

Change-Id: I5b957ff4bece1ee11e2364e1f216e1c08343c983
2014-05-30 15:47:58 -07:00
RoboErik
c47fa84b0a Refactor transport controls APIs
This merges TransportPerformer into MediaSession + a
TransportControlsCallback and makes TransportController into an
inner class on MediaController called TransportControls. Also makes
the PlaybackState and Metadata part of the session APIs instead of
transport controls.

Change-Id: I16ad392e6d318abe3119ad5d89656d253af25e16
2014-05-30 10:35:44 -07:00
RoboErik
79fa4630bb API changes to sessions
Changes requested by API Council review. A second CL will refactor
TransportController and TransportPerformer based on feedback.

Change-Id: Ie26a7d01d7021232a66c2edf1eb58120437fdfde
2014-05-29 11:28:48 -07:00
Lajos Molnar
8c5d0f2120 DO NOT MERGE: media.MediaCodec: hide NotificationCallback listener
Bug: 15091403
Change-Id: I1fd178b6872997055c2ee0b7edfa0264a7d6718b
2014-05-28 19:13:17 -07:00
Lajos Molnar
acfcf645ff media.MediaCodec: document and fix-up setNotificationCallback
change from interface to abstrace class

Bug: 15091403
Change-Id: I5093672e36681670934a5ebaa49484441af5bcdd
2014-05-28 19:12:15 -07:00
Eric Laurent
0abcc5a0bb DO NOT MERGE - AudioManager: audio routing extensions
Added API and classes allowing framework components
to have direct control over audio routing and volumes.

Change-Id: I28225a6ebad86a7836e1ed749d93c0e964e215f1
2014-05-28 14:41:28 -07:00
Jean-Michel Trivi
1ad0192800 DO NOT MERGE temporary hide of AudioAttributes
Bug 15089989

Change-Id: I6077d4906d5624be4dd2b8a5c3378a04c848b6d8
2014-05-27 12:44:05 -07:00
John Spurlock
8600534df6 VolumeZen: combine ringer/notification volume and zen.
- Implement a new volume panel widget, combining volume and
  zen mode + conditions.
- Show zen mode + conditions when modifying ringer or notification
  streams.
- Host the volume panel widget in a dialog when being controlled
  by the audio service / volume keys.
- Remove support for multiple sliders in the volume panel.
- Remove support for separate ringer + notification volumes
  in the volume panel.
- Move volume panel resources up to SystemUI.
- Create a new combined Notifications quick settings tile.
- Host the volume panel widget in the quick settings panel under
  Notifications.
- When the quick settings detail panel is visible, route the volume
  keys to the embedded widget instead of showing a redundant dialog.
- Create common styles for quick settings text to be closer to spec.
- Update the framework resources for the ringer stream.
- Show the ringer icons in global actions.
- Add "until you turn this off" back as a separate zen condition.
- Disable time condition buttons when they are N/A.
- Don't allow volume changes to set ringer mode silent.

Bug:15186070
Change-Id: Id5e321dd1d5e7c4cf3917027ffbdf7e80d38b00d
2014-05-27 10:08:00 -04:00
Ruben Brunk
b6079005ed camera2: Move DngCreator to hardware/camera2.
Bug: 15091253
Change-Id: Ibe2ee376436e5c796e33c0b782ea68278589f2e6
2014-05-22 22:57:11 +00:00
RoboErik
02014c8faa Switch to using int stream instead of AudioAttributes
This is an alternate to the submitted API which doesn't use the new
AudioAttributes class and just takes the AudioManager.STREAM instead.

Change-Id: I0365bc6fb9196fc33852ba6b202ca553efe0cc85
2014-05-21 19:04:08 -07:00
RoboErik
33983a9011 Add stream/volume apis to sessions
This adds RemoteVolumeProviders which handle volume change
events and a way to switch a session between local stream
playback and remote playback handling.

This also adds a way for an app to specify the PendingIntent
to launch when we want to show their ongoing playback UI.

Change-Id: I3a72bf2ec7ca55f61f50859ddc2988eebd491e9d
2014-05-21 17:43:18 -07:00
RoboErik
5b53148a4e Merge changes I1cbdff1d,I23906b4c
* changes:
  Handle headsethook voice launching
  Add 5s timeout to wakelock
2014-05-21 19:59:11 +00:00
Glenn Kasten
486918b415 Update android.media.AudioTrack.getTimestamp API documentation
Change-Id: I0928c73c147ce843ae46565883da209b278fb3b4
2014-05-21 09:36:41 -07:00
John Spurlock
3346a80208 VolumeZen: SystemUI now hosts the volume dialog.
- Allow SystemUI to set the volume controller interface using
  a new binder call to audio service.
- Remove VolumePanel's dependency on AudioService.
- Host the base VolumePanel in the SystemUI process.

Change-Id: I095d5a1a579d42b68d0f81abb4087bd0c754b876
2014-05-21 09:58:41 -04:00
RoboErik
418c10ca9d Add 5s timeout to wakelock
Also filed a b/15110168 to anr the app if it doesn't finish with the
button event in 5s.

Change-Id: I23906b4c7f17d3d3a29eef92b523d8653c87017e
2014-05-20 14:57:46 -07:00
Eric Laurent
c0e439f1b7 Merge "AudioSystem: add new audio device definitions" 2014-05-20 21:39:23 +00:00
RoboErik
23a42810e3 Merge "Add getMediaSession to RCC" 2014-05-20 21:02:18 +00:00
RoboErik
5f31737c68 Add getMediaSession to RCC
This is to make integration with Media notifications easier.

Change-Id: I783ae5c2620ff0e11bf5584604b9c9623850e2f0
2014-05-20 14:00:53 -07:00
Eric Laurent
948d32748c AudioSystem: add new audio device definitions
Change-Id: Ib7675bc33771365b2dbb7694c522469317b11457
2014-05-19 18:43:49 -07:00
Rachad
c9550f2ce8 Merge "Add HEVC decoder support ot MediaCodec bug: 14571712" 2014-05-19 23:00:29 +00:00
RoboErik
b19c192654 Merge "Rename session classes to have media prefix, hide routes" 2014-05-19 19:29:06 +00:00
RoboErik
b4f4f69e4c Merge "Move media key processing to sessions" 2014-05-19 19:28:54 +00:00
Ruben Brunk
f967a5486a camera2: Plumb DngCreator to native library.
Change-Id: Ic58bf6cf5086808b503460ef8e451fc0d6f1f850
2014-05-16 23:25:51 -07:00
RoboErik
42ea7eecd1 Rename session classes to have media prefix, hide routes
This renames several of the core session classes to be prefixed
with Media. It also adds @hide to all route references for now.

Change-Id: Idb42897d490cf24626e4e93ca975b2cb93ec054c
2014-05-16 16:40:17 -07:00
Eric Laurent
bc11a696f6 AudioSystem: native to JAVA status translation
Regroup status code translation from native to JAVA in AudioSystem.
The same codes will be used by AudioTrack, AudioRecord, AudioManager
and defined in a single place in AudioSystem.

Change-Id: I7d3f39f30e3bb8e53f33f4408bcb0672df8af42b
2014-05-16 15:50:42 -07:00
RoboErik
8a2cfc309a Move media key processing to sessions
Send all media key events over to the MediaSessionService instead
of AudioManager. This does not affect volume handling yet, so it
is possible to get into a state where volume will be handled by
a different thing than media buttons. Except for corner cases
this shouldn't be noticable.

Change-Id: I00a576175d9c82937f0836e509b9a98d5cb77b83
2014-05-16 15:10:27 -07:00
Sungsoo Lim
07d5e7d5fa Merge "Implements TtmlRenderer." 2014-05-16 01:56:17 +00:00
Rachad
aca5de7ca1 Add HEVC decoder support ot MediaCodec
bug: 14571712

Change-Id: Ic65e1ffd7583f7286728332686dbb92090b5a413
2014-05-14 22:47:16 +00:00
RoboErik
4646d28882 Add UserRecords to separate user interactions
Each user record maintains the list of sessions and providers that
are running under that user. Lifecycle for providers has been modified
to stop discovery when the user is no longer current but keep the
binder connection open so long as there's a session that has selected
a route from that provider. When a user is stopped all providers on
that user will be unbound even if they were still in use.

Change-Id: Iadf1efded3415f7ecf384d3a73513883de9c86b0
2014-05-14 13:19:48 -07:00
Sungsoo Lim
ba3699b568 Implements TtmlRenderer.
Change-Id: I99772745c5c005ee1eefbc29187116f0c2820988
2014-05-14 21:28:14 +09:00
RoboErik
f33e99828f Merge "Make sessions aware of user id" 2014-05-12 21:20:49 +00:00
Jean-Michel Trivi
d60e875a97 Define audio attributes
AudioAttributes is a class to associate a collection of attributes
  describing information about an audio player.

Change-Id: I031aca1c79353abdfa0d7272c5dee0c2376c519a
2014-05-12 09:54:51 -07:00
Lajos Molnar
7c513b6bef Added MediaCodec.releaseOutputBuffer() method with render timestamp
Bug: 11784827
Change-Id: I67097c8e69b40ef3baa436f0e7731d28c696735c
2014-05-09 20:43:30 +00:00
Glenn Kasten
4b0c34600c Merge "Unhide AudioTrack support for ENCODING_PCM_FLOAT" 2014-05-09 17:42:04 +00:00
Glenn Kasten
7d60bcd2d9 Unhide AudioTrack support for ENCODING_PCM_FLOAT
Change-Id: I77423ff1845d0e05c117ab2a0b31699b32b871be
2014-05-08 16:39:19 -07:00
Eric Laurent
82af2b9e51 Merge "AudioService/WireAccessoryManager: change boot completion detection method" 2014-05-08 23:25:49 +00:00
Glenn Kasten
54955e33c8 Add hidden support for ENCODING_PCM_FLOAT to AudioTrack
Change-Id: I15e6d6ab34846366e7f5cbf948fd3cb327e72632
2014-05-08 16:11:42 -07:00
RoboErik
a5b0232920 Make sessions aware of user id
This tags all sessions with the user id that they were created for. It
also adds API for creating and querying sessions for a specific user.

This does not wrap providers per user yet which will be done in a
separate CL.

Change-Id: Icdaf701b0614a95301657998602c45208d548c27
2014-05-08 14:24:14 -07:00
Jean-Michel Trivi
8b520c8f8e Fix javadoc reference in AudioTrack write modes
Javadoc for blocking/non blocking write modes was referring
 to the old signature of one of the write methods.

Change-Id: Ie919e3e0a976b0c915dacd490ae66005703789a3
2014-05-08 17:01:40 +00:00