Update to API for a client to notify what type of information
changed (e.g. playstate, metadata) to optimize small updates
without the remote control display having to do expensive
queries such as album art.
When the remote control display retrieves the flags about
what information changed, the flag gets cleared.
Change-Id: I7d3d8d3eecd1da44695d84905ed9e7b70fe38b86
The media scanner was crashing while tring to insert genre data in the internal
media database, which does not support genres.
This resulted in some or all of the built in ringtones being unavailable
Bug: 5124718
Change-Id: Ib306348dd9808e59477b327b4adcb413957d8d24
Signed-off-by: Mike Lockwood <lockwood@android.com>
The way the old way worked relied on the process retrieving the
current remote control client to be in the exact same process as
the AudioService. This removes that dependency.
Change-Id: I1ba8bf32b61ec1e979ef7eee9661ba801aa19690
Extend the media button event registration AudioManager API to
enable applications to register as a client of "remote controls"
and let them provide information meant to be displayed
by the remotes.
AudioService sends a AudioManager.REMOTE_CONTROL_CLIENT_CHANGED
intent to let remote controls know when / from whom they can
retrieve the information to display.
Only application that own audio focus, are the currently
registered media button event receiver, and have registered
a remote control client, are eligible to appear on the
remote control.
To address in future CLs:
- change how a remote control client forces a refresh
- rename methods called under lock to ___Locked()
- make API public
Change-Id: Icca30ab05dac2605ee9246f8acb27a03dcea077a
Do not take NOTIFICATIONS_USE_RING_VOLUME setting into account now
that it has been deprecated. STREAM_NOTIFICATION and STREAM_RING
always use the same volume setting.
Change-Id: Ibf6e5f86133d3781fd9e66455be64582318d93e6
Fixes problems introduced with bulk insert support
Bug: 5092877
Change-Id: If3c0c9054d5effe0a1d7a75e85635b41ba1591f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
For using the MediaRecorder in MFF (Mobile Filter Framework),
getMediaRecorder method in mediarecorder jni was earlier changed to
a non static method. Changed it back to a static method.
Also, added a new source type to MediaRecorder.VideoSource for recording
GRalloc buffers.
Change-Id: I031fad45c12b0ac9602d9e451d4767e95a86234d
When creating a new AudioTrack instance, translate from a Java
channel mask as defined in android.media.AudioFormat to one
as defined in audio.h which matches industry-standard
channel mask definitions.
Change-Id: I7eeece8ec2a437977c31f6e82590f9591158144b
Added APIs to control pre processes applied on captured audio.
Those APIs are still hidden until reviewed by API council.
Three types of standard pre processes are supported:
- Automatic Gain Control (AGC) by AutomaticGainControl class
- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class
- Noise Suppression (NS) by NoiseSuppressor class
A method is added to AudioEffect class to query audio pre processings
applied by default by the platform on a given AudioRecord session ID.
Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
Add definitions for the side and elevated channels.
Add new (correct) definition for 7.1 mask which uses
the side channels rather than the front half-pan channels.
Change-Id: I13d93f99f3b453ce2ab5fdc2da66629ed7f337ef
The Surface is already using SurfaceTexture internally and it is parcelable. This
is intended to replace and phase out ParcelSurfaceTexture in favor of creating a
new Surface.java object from an existing SurfaceTexture.
Change-Id: I8e2dd86614523da6abed6403e1d705a68fa19fdf
This should fix a bunch of problems introduced in the original bulk insert implementation
Also reverted two changes that are no longer necessary:
Revert "MediaScanner: Add virtual NO_MEDIA column to fix support for .nomedia files"
This reverts commit 92e1314ad9ddbacfb806405e9aceeea4a8aae19f.
Revert "MediaScanner: fix breakage in updates"
This reverts commit 45aaa2a345292bb6d600822db602f25e261c0e50.
Change-Id: Ibed66393467761c2c1ce48deb09bcac505b7d221
Implemented different silent mode behaviors for tablets and phones.
The behavior inherited from Honeycomb was for tablets only and
was muting music in silent mode.
Change-Id: Ib053e7b70ca02190debc87648ab8a163f9d39577
I believe the the synchronized block is required to allow
other threads to observe changes to mPlayState in a timely
manner.
Change-Id: I502b7401196c42932c9667ef73eb4cae16c3da16
Added getAudioSessionId() method to AudioRecord class so that applications can
retrieve the AudioRecord's session ID and attach audio pre processes.
Change-Id: I1914770f0e54d97c9aef6a9eb36fff69b6d31552
To facilitate bulk inserts, we changed the media scanner to use the file URI
instead of the audio, video or image media URIs.
However we should still use the media URIs for updating existing records
Bug: 5021925
Change-Id: I6143dc1d00350192170428a5e951b52ef9223734
Signed-off-by: Mike Lockwood <lockwood@android.com>
There is nothing in this file that requires a global lock.
Furthermore, the lock can cause timeouts in native_finalize if one instance
is being garbage collected while another is busy in processDirectory
Bug: 5002520
Change-Id: I8717f8edeb932200d9f76b3d98915cfbe18b6ec6
Signed-off-by: Mike Lockwood <lockwood@android.com>
To do this we need to move the logic for determining media type to MediaProvider
Make some things in MediaFile public so they can be used from MediaProvider
Bug: 4948188
Change-Id: I6ab168b6b4d45b2fc91ea8bd52ca58283b0efc14
Signed-off-by: Mike Lockwood <lockwood@android.com>
- Add one more column in MediaStore to indicate whether a
media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager
Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692