This makes MediaPlayer's network streaming code fail fast when an
UnknownServiceException is encountered. This currently occurs when the
application declares that it does not perform cleartext network
traffic and tries to load media over cleartext HTTP. Without this CL,
MediaPlayer blocks for 30 seconds because it treats this error as
recoverable and goes into a ten retry loop with a three second delay
before each retry.
The result at MediaPlayer client level is
MediaPlayer.MEDIA_ERROR_UNKNOWN error. This error code is used for
non-recoverable situations such as when an invalid redirect is
encountered or the destination is unreachable.
Bug: 20026006
Change-Id: I10f0dadb7740902f8c7c73d0df96cfff31f08ada
This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.
MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)
Only NuPlayer supports this new data source.
The change introduces:
* IDataSource: The binder interface for DataSource.
* JMediaDataSource: The native counterpart to the java interface. It
implements IDataSource.
* CallbackDataSource: A stagefright DataSource that wraps an IDataSource.
Change-Id: I6d9c1167b4a7384c469b1e928f31791a7ebed716
Needed to handle scaling properly for some video formats such as 720x576
4:3 and 720x576 16:9 (the most common European SD formats) where pixels
are not square.
Bug: 19500694
Change-Id: I4d245ed40e8b80f7efd6acdb059d20b63b4ef9de
Normally, buffers for camera output Surfaces are allocated as
needed. This minimizes memory overhead and time to first frame.
However, if allocation takes a long time, as it can do for full-resolution
output buffers, full frame rate may not be maintainable with the added
allocation overhead.
The prepare() method allows an application to indicate that buffers for
a given output Surface should be preallocated by the camera device.
Once the allocation is complete, the onSurfacePrepared callback is invoked.
The application may then use the prepared Surface without concerns about
allocation-caused delays.
Change-Id: I4f616dc87dd4346f408cf1ea37d48a642ceb57da
Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI
Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
And vice versa (when dialog is showing).
Also make alarms only the default mode when DND is switched on
via the switch.
Bug: 19260237
Change-Id: I16e4a27944bc8245bb2beed84c0421d493b0b876
Add reprocess API and implementation to support creating reprocess
capture sessions, reprocess requests, and receiving reprocess capture
results.
Change-Id: I4c1c02f41d1712f65e729ea3ba09592a27ffe86d
Expose AudioTrack.getNativeFrameCount as public to allow apps to
retrive the size of the buffer created.
Change-Id: Ifc07196d65d6a68657fd879bcc1819c2077de202
Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead
Change-Id: I0fd9e193968b41e5597784140d56b4885906864a