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
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
Expose AudioTrack.getNativeFrameCount as public to allow apps to
retrive the size of the buffer created.
Change-Id: Ifc07196d65d6a68657fd879bcc1819c2077de202
Previously, to associate a MediaDrm session with MediaCrypto,
the MediaDrm sessionId was passed as initData to the MediaCrypto
constructor. This is not ideal for two reasons: it's pretty
obscure and you can't change the association without tearing
down the MediaCodec/MediaCrypto and starting all over. Use
cases like key rotation require being able to update the
MediaDrm session post-construction. This CL addresses both of
these issues.
bug: 19570317
Change-Id: Ie3d3eda16651b598cdd41f2180074a43cb6c0884