AudioService handles seek requests to RemoteControlClients.
Discard old or unprocessed seek requests when handling a new one.
Update javadoc for OnPlaybackPositionUpdateListener interface.
bug 8120740
Change-Id: Id17c2852b24d4b8af85e472a177484b98cfeba05
The new media button receiver with only a pending intent (no
component name) could be left hanging if the process that
registered it went away. These semantically need to be tied
to the calling process's lifetime; we now clean them up when
the calling process goes away.
Also added some additional cleanup of media button receivers
when packages change (updated, cleared).
And on top of that, a new "media" command for doing media
things. Currently lets you send media keys and monitor
remote display data.
Oh and finally added a new BaseCommand base class for
implementing these command line utilities.
Change-Id: Iba1d56f10bab1eec4a94a7bb1d1c2ae614c8bcf5
Do not use startScoUsingVirtualVoiceCall() BluetoothHeadset
API to connect SCO audio. This will cause headsets to act as if an incoming
call was received which is not what we want for voice commands.
Bug 8157702
Change-Id: I271909d4d1f3822758740a8484e3d2d8b4f34c00
CTS expects that setPlaybackRate() returns an error for a static buffer
AudioTrack that has not yet had any data written to the buffer.
Bug: 8181114
Change-Id: I17ba039368468f6ccd1eec5322018bfe420c09c8
Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.
Change-Id: Id3f8c706e9e3034b09af8e2a6a2f26bd74a49f93
RemoteControlClient defines two listener interfaces for playback
position, one to let the framework query the current playback
position, the other to request playback to seek to a given
position.
Updated IRemoteControlDisplay interface to support passing info
about whether the user of RemoteControlClient can provide a
playback position, and receive a new one.
Updated implementations of IRemoteControlDisplay to new
interface.
Bug 8120740
Change-Id: I1a5a969da4d0f8c9ad27f691919dd08f8653982b
Removed storage of last audible stream volume index.
This information is redundant because we already have
two pieces of information (current volume and mute state)
allowing to completely define which volume should actually
be applied by the framework or indicated to apps.
The last audible index management had anyway been broken by
successive changes making that the value stored could be 0
in some cases causing problems like issue 8109149 when
restoring the volume settings from the DB.
Bug 8109149
Change-Id: Iea80f5a994554e42d45b227f651ec9646844aa77
A public API was added to AudioManager to register a media button
event receiver whithout having to supply a ComponentName.
This CL updates the comments that specified that the now optional
ComponentName parameter can be null, and never persist the button
event receiver is there is no ComponentName to persist.
Also unregistering the media button receiver makes no use of
the ComponentName anymore.
Change-Id: Idcfed1e2a85feb6fa178ca7797427f238705957c
Add missing call to constructor of RccPlaybackState to initialize
the mPlaybackState field of the RemoteControlStackEntry class.
bug 8512601
Change-Id: I636d5c1b416d6a3d3808d5be53c9c544ab293732
Extend RemoteControlClient class to support reporting the
current playback position, and the playback speed.
Define listener for an application to receive new playback
position to seek to (use of listener to be implemented).
Update IRemoteControlDisplay implementations to new interface.
bug 8120740
Change-Id: I2654daeca1ac49713d325df8226dceb85943c020
Commit 2a57ca93 did not address the calling permission
for setMode() method which can also indirectly call
BluetoothHeadset APIs.
Bug 8242429
Change-Id: I8483c0492836192f47984c48629291cb261b001b
Not all effect types are defined by OpenSL ES. Add the full UUID
effect identifier in the superclass of all audio effects.
bug 8113082
Change-Id: I8dfc6cdcfd2a145e792fb3669e6132e6f19d1c16
Handle all access to SoundPool in the message Handler to
synchronize load/unload and play requests.
Add a timeout to load operations in case a problem occurs while loading
a sample and the SoundPool callback is not called.
Bug 6633095
Change-Id: I39949e4c8b2f7ca2d8b760b1f92c7e0fcd0a46e1
Currently crypto plugins are expected to be in libdrmdecrypt.so.
When there are multiple plugins supporting different schemes,
this approach requires source code integration across
vendors which is unmanagable. Also, for integration with
MediaDrm where the crypto keys are obtained from a drm server,
the MediaCrypto plugin needs to interoperate with the MediaDrm
plugin. This change allows {MediaCrypto, MediaDrm} pairs that
are logically related to be implemented in a common shared
library.
Multi-repository commit, goes with:
https://googleplex-android-review.googlesource.com/287838
Change-Id: I08577cda0cbcb22ebe3cb874f5fcafe411c36be3
This allows sending media buttons to any PendingIntent,
so they can be captured with a registered receiver.
Also add some new ViewTreeObserver APIs; this is all for
a new support library API to watch media buttons while an
app has input focus.
Change-Id: I3c51cef59460662b008c9a2cc87d6a6383c21855
Add a boolean configuration option config_useFixedVolume indicating if
stream volumes or master volume can be modified.
If the option is true, the AudioManager volume and mute APIs will be no ops and the
volumes will be maxed out.
To be consistent:
- the ringer mode is forced to normal and cannot be modified
- volume panel is never displayed
- volume settings are not available
- ringer mode global action is not displayed.
The default for this option if false.
This is useful for a class of devices intended for connection to a digital
audio output only, where the volume is directly controlled on the audio sink.
Bug 8161458
Change-Id: I2571d5ee79952ef0914d8fd1985816467a80adcd
Added audio_assets.xml resource listing the
audio asset files for each touch sound effect.
This resource can be overlayed to customize the
touch sounds for a given device.
Bug 8339000
Change-Id: I8c156f0ce7f8769a58d77442fbd9c46b57c202e9
The media memory stress test used the ps mediaserver to
capture the memory usage of mediaserver. As the media.log
is enabled recently, when runnign the ps mediaserver, it will
show both entries. The fix is simply skip the first two lines
and parse the laste output.
Change-Id: Ib2a4ba7936505b4ea24463bf8a5af2c499b71138