When metadata gets applied, optimize the artwork and metadata
update by doing it in a single call.
Add missing RemoteControlDisplay-related methods in AudioManager.
Change-Id: I97aa802cc480327bee5592ea8dfdbd414c0f037a
A MetadataEditor contains all the metadata and artwork to be applied
to a RemoteControlClient.
A MetadataEditor can only be applied once.
Change-Id: I3ce9d97f520cd9ab009fb1a92a2b399717511bd8
Remote control displays expose an IRemoteControlDisplay interface
which they register through AudioManager.
Remote control clients create a RemoteControlClient object, which
implicitely exposes an IRemoteControlClient interface registered
in AudioService through AudioManager.
AudioService tells all clients and displays when a new client
is the one that should be displayed.
A client's data gets sent to the display when it is valid, or
it sets new data (while being valid).
The implementation for setting metadata and album art is temporary,
and will migrate to the MetadataEditor API in future CLs.
Change-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548
because there could be a previous uncompleted seeking which needs
to send back MEDIA_SEEK_COMPLETE message. If we set mSeekNotificationSent
as true here, then mediaplayer.cpp will be waiting for message
MEDIA_SEEK_COMPLETE. The getCurrentPosition() will always return
the seek time before MEDIA_SEEK_COMPLETE being received by mediaplayer.cpp.
Fix for bug 5181272.
Change-Id: I290aff29b6d9ec8db67c66abbe1f352a43f57073
We sacrifice A/V sync to some extent to enable the decoder to recover from
temporary bottlenecks.
Change-Id: I16195091ad752bfad4c70869cdd7e9f28ca3a118
related-to-bug: 5180142
1. Use the correct Get*Field functions according to the field type.
2. When we have exceptions, return.
Change-Id: I1878d806e26798a0977ff71a781551088e45f6fb
Note: current resync logic keeps searching mp3 frames until it meets a
valid one. This resync logic works well with seek() operation, but in
SniffMP3(), this may cause false-positive classification for the
following MPEG-PS file format.
A possible MPEG-PS video file:
[PS header]...[mp3 frame][mp3 frame] ...
MP3 files:
[ID3 tag][mp3 frame][mp3 frame] ...
BUG: 5104562
Change-Id: Idd5020723f7bdb2fefc2a63fc8651580fd644399
Define a RemoteControlClient interface that applications must
implement and register to be displayed on the lockscreen.
Change-Id: I67276ae653f203e76727432231f1d76535c31942
Codec errors (and codec not found errors) now trigger a controlled shutdown
of playback and signal errors to the MediaPlayer client.
Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
Previously, silent mode was entered if volume was already at 0 and
volume down key was pressed once.
The new volume management policy specifies that silent mode is entered when
volume is at last audible step and volume down key is pressed once.
Pressing volume down key continuously will decrease volume until
last audible step is reached, not 0.
Change-Id: Ib7b530668473d6a5af1e748f445d6185afed2158
o For timelapse video encoding, the timelapse between two neighoring
input frames could be very long
Change-Id: I2b6f9c392f2237deae71c894efc7fc3692431796
related-to-bug: 5160548
Clear AudioManager.FLAG_PLAY_SOUND in AudioService adjustSuggestedStreamVolume()
if keyguard is locked.
Change-Id: I2effb9cab8d946845e948b28899b17d7f24c1282