Below changes are included:
* Defer the buffer lock to Image#getPlanes call. This will save quite a bit
CPU cycles associated with lock buffer if the application doesn't really
want to access the data.
* Refactor the code: move some common code to some utility class, and use
one unified consumer (BufferItemConsumer) in ImageReader native implementation.
The code refactoring will also make it easier to support non-opaque image
attach/detach.
Bug: 22356918
Bug: 19962027
Change-Id: I4fb865b0ea3deb6650afc64c32a5906f30e8ccbd
This has been causing some confusion among streaming-based channel app
developers without having any clear benefit, hence drop the requirement.
Bug: 27536480
Change-Id: I51be65ccc402171a0ce34ae4640905ec48d39e37
- Documented what TvInputInfo.getTunerCount returns if the input is not
of TYPE_TUNER.
- Documented what all getters/setters in TvTrackInfo throw if not called
on proper types.
Bug: 27531254
Change-Id: I32d83ce888507ec29cda8dce74871a3d55783766
In package android.media:
- rename AudioRecordConfiguration to
AudioRecordingConfiguration to avoid ambiguity with the
android.media.AudioRecord class
- rename AudioManager.getActiveRecordConfigurations() to
getActiveRecordingConfigurations.
Bug 27385560
Change-Id: I5ef404ff36522193990c9b563d4545893529b365
RingtoneManager is the public API that everyone should be going
through, and it now has the side-effect of caching the set ringtone
to make it available before CE storage is unlocked.
Bug: 27435331
Change-Id: I30ed4e2df2ef1e4fd47f947c70845aaa74356384
When setting default ringtones, RingtoneManager now caches the
selected media for playback before the device is unlocked. However,
this API hasn't historically required the caller to hold storage
permissions.
To keep this working, we attempt to delegate ringtone access over
through RingtonePlayer, which is what we do for playback. However,
because we're caching the real ringtone bits now, we need to be much
more careful about the PFDs we're willing to return. This change
requires that they be in external storage, and that they have the
ringtone/alarm/notification bit set.
Bug: 27366059
Change-Id: I59c2adc1d1250a3eac281f190f35a7cb3119967b
Apps built against an older API don't have the recently
added pattern field in MediaCodec.CryptoInfo which causes
the crypto pattern fields to be uninitialized. This change
ensures the pattern is initialized in all cases.
bug: 27477422
Change-Id: I5796bf5fbca93dba5bf9a2b74c1c6638b9e90f65
In package android.media: rename AudioRecordConfiguration to
AudioRecordingConfiguration to avoid ambiguity with the
android.media.AudioRecord class
Bug 27385560
Change-Id: Ia633ac30cbe151b8f0f903dc96a459a56737ace2
Make AudioRecordConfiguration final since it is parcelable.
In AudioRecordingCallback, pass the array of active recording
configurations.
Add @IntDef for return values for
AudioRecordConfiguration.getClientAudioSource()
Bug 27385560
Change-Id: I01193577f50e50496742d888b45f89a2c3b67904
Apps making calls into the system server may end up persisting
internal state or making security decisions based on the perceived
success or failure of a call, or the default values returned.
The reality is that if the system process just died, init will be
along shortly to kill all running apps, so we should have no problem
rethrowing the RemoteException as a RuntimeException.
Bug: 27364859
Change-Id: Ife0bcb079636c88d54c44d17eb580409fd79028b
- Move camera AIDL files to frameworks/av
- Update makefiles to point to new AIDL locations
- Adjust camera2 implementation to match modifications to AIDL needed
for native AIDL auto-generation
- Move Surface.aidl to frameworks/native to allow use in
native AIDL. Use android::view::Surface in Surface JNI to
serialize Surface objects to ensure parceling compatibility.
- Adjust service binder tests to new interface
Bug: 25091611
Change-Id: I85b817374b34a4540fa145328dbe4bbf7f746baf
In MTP code, we use jint for ID (e.g. object handle) and code (property
code). But getObjectPropertyValue takes jlong and it causes missing
property values in Java code. Previously we passed the long value to
Map<Integer, MtpPropertyGroup>#get(Integer) and the compiler somehow
accepted the code. However it actually takes Long at runtime, so the
properties are never found.
BUG=26437284
Change-Id: I79defd325ea5d20c4dce84d891d984e24abcacc5