Implementation of getMetrics() API and underlying metrics gathering
for android.media.MediaRecorder.
Bug: 35150984
Test: hacked CTS, observing of 'dumpsys media.metrics'
adds the API getMetrics() to android.media.MediaExtractor
includes plumbing through JNI to the underlying mediaextractor
code in frameworks/av.
Tested with some CTS modifications; a more formal set of CTS
updates will be along later.
Bug: 35094936
Test: modified CTS to invoke new API and output results
Change-Id: Id8d56c9c3273b86bbd11e248bdf5004be90b91ef
When the framework sets a delayed start on a PlayerBase instance
(e.g. MediaPlayer or AudioTrack), catch the IllegalStateException
that can be thrown if the player's state has changed by the time
the actual start command gets executed.
Test: generate notifications played by NotificationPlayer
Bug 35019197
Change-Id: I51fd0305bc83b34e33fbcf9331f55627d32702f3
Programs and RecordedPrograms have a lot in common. This change
introduces BaseProgramColumns which removes the duplicates.
This will be also helpful for the further clean-up.
Test: build & passes CtsTvTestCases without modification
Bug: 34853064
Change-Id: I4ad352a9a904e7fef57c56acec5583df92b4226c
Stream types are deprecated to describe an audio playback use case.
But they are used for volume control. This API helps the developer
go from an AudioAttributes instance used for playback, to a
stream type used to describe which volume stream type should be
used when the user presses on the volume keys.
Test: see AudioAttributes cts test
Bug 21267880
Change-Id: I2b9da5b282e8ed2342c61c14a7f59b874d0ce979
Under certain conditions, i.e. USAGE_MEDIA and
CONTENT_TYPE UNKNOWN, MUSIC, MOVIE and large buffers
we route the AudioTrack to deep buffer to save power.
Change-Id: Ibc8a31750999da842e36156f939448989ee50511
Test: Play Movies, CTS
Bug: 30687201
1. Add _MILLIS for time related columns.
2. Remove PREVIEW_ prefix.
(COLUMN_PREVIEW_VIDEO_URI is an exception since the meaning is not
clear without it.)
3. Add _URI for COLUMN_LOGO
Test: cts-tradefed run cts -m CtsTvTestCases
Bug: 34806184
Change-Id: I1c75b0402508911a37491c7712f12574e574fb9b
PlayerProxy: more control options (pan, delayed start),
remove exceptions in method signatures.
Use delayed start on notification playback for better sync
between media apps and notifications
Disabled for now: support for AudioService (through
MediaFocusControl and PlaybackActivityMonitor) to enforce
audio ducking of focus owners losing audio focus with
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK, and who don't
play audio that has a content labelled as CONTENT_TYPE_SPEECH.
This feature will be enabled when setting a VolumeShaper
on a player works.
Test: play music and play notification
Bug 30258418
Change-Id: I4e4d911645306bbde17f74288f3b61781fe0e3fe
provide SDK/API access to media metrics for user apps. This lets the
apps metrics data for their instances of player and codecs. Others
to come.
Bug: 34715803
Test: booted, invoked new APIs to verify desired results
Change-Id: Iaae6406aadef30adc893952961ac154a7c4c761d
If the media key listener is set, the listener will receive the media key
events before any other sessions, but after the global priority session.
If the event is handled by the listener, other sessions cannot get the event.
Privileged app needs permission android.permission.SET_MEDIA_KEY_LISTENER
to set the listener.
Bug: 30125811
Change-Id: I2b2cf4ac7873b70899194701c6921990dcb9de02
If the volume long-press listener is set, the listener will receive
the volume key long-presses instead of chaging the volume.
Privileged app needs permission
android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER to set the listener.
Bug: 30125811
Change-Id: I5e8fafbb950e5e11522da0f14004648d0877bf3e