8037 Commits

Author SHA1 Message Date
olly
edee3dd340 Bump to 2.10.2
PiperOrigin-RevId: 251216822
2019-06-03 19:20:22 +01:00
olly
871a88a921 Clean up release notes
PiperOrigin-RevId: 251269746
2019-06-03 19:16:42 +01:00
olly
a9de1477ee Bump to 2.10.2
PiperOrigin-RevId: 251216822
2019-06-03 19:15:42 +01:00
olly
b47f37fbcd Add HlsTrackMetadataEntry.toString
It's printed out by EventLogger, and currently looks pretty ugly

PiperOrigin-RevId: 250772010
2019-06-03 19:15:23 +01:00
aquilescanta
7e187283cd Add MediaSource-provided-DRM support to Renderer implementations
PiperOrigin-RevId: 250719155
2019-06-03 19:15:04 +01:00
andrewlewis
578abccf16 Add SilenceMediaSource
Issue: #5735
PiperOrigin-RevId: 248745617
2019-06-03 16:37:39 +01:00
tonihei
d11778dbc8 Add ResolvingDataSource for just-in-time resolution of DataSpecs.
Issue:#5779
PiperOrigin-RevId: 249234058
2019-06-03 16:36:23 +01:00
Oliver Woodman
19de134aa6 CEA608: Handling XDS and TEXT modes 2019-06-03 16:35:11 +01:00
eguven
c231e1120e Fix misreporting cached bytes when caching is paused
When caching is resumed, it starts from the initial position. This makes
more data to be reported as cached.

Issue:#5573
PiperOrigin-RevId: 250678841
2019-05-31 23:03:59 +01:00
eguven
811cdf06ac Modify DashDownloaderTest to test if content length is stored
PiperOrigin-RevId: 250655481
2019-05-31 23:01:21 +01:00
eguven
bbf8a9ac13 Simplify CacheUtil
PiperOrigin-RevId: 250654697
2019-05-31 23:01:15 +01:00
eguven
92e2581e23 Fix CacheUtil.cache() use too much data
cache() opens all connections with unset length to avoid position errors.
This makes more data then needed to be downloading by the underlying
network stack.

This fix makes makes it open connections for only required length.

Issue:#5927
PiperOrigin-RevId: 250546175
2019-05-31 23:01:01 +01:00
tonihei
25e93a178a Toggle playback controls according to standard Android click handling.
We currently toggle the view in onTouchEvent ACTION_DOWN which is non-standard
and causes problems when used in a ViewGroup intercepting touch events.

Switch to standard Android click handling instead which is also what most
other player apps are doing.

Issue:#5784
PiperOrigin-RevId: 245219728
2019-05-31 22:57:50 +01:00
tonihei
b9f3fd429d Make parallel adaptive track selection more robust.
Using parallel adaptation for Formats without bitrate information currently
causes an exception. Handle this gracefully and also cases where all formats
have the same bitrate.

Issue:#5971
PiperOrigin-RevId: 250682127
2019-05-31 22:46:13 +01:00
tonihei
d626e4bc54 Rename host_activity.xml to avoid manifest merge conflicts.
PiperOrigin-RevId: 250672752
2019-05-31 22:45:49 +01:00
olly
7cdcd89873 Update cast extension build
PiperOrigin-RevId: 250664791
2019-05-31 22:45:41 +01:00
olly
9860c486e0 Keep controller visible on d-pad key events
PiperOrigin-RevId: 250661977
2019-05-31 22:45:24 +01:00
aquilescanta
9da9941e38 Fix TTML bitmap subtitles
+ Use start for anchoring, instead of center.
+ Add the height to the TTML bitmap cue rendering layout.

Issue:#5633
PiperOrigin-RevId: 250519710
2019-05-31 22:41:10 +01:00
andrewlewis
082aee692b Allow passthrough of E-AC3-JOC streams
PiperOrigin-RevId: 250517338
2019-05-31 22:40:25 +01:00
andrewlewis
41ab7ef7c0 Fix video size reporting in surface YUV mode
In surface YUV output mode the width/height fields of the VpxOutputBuffer were
never populated. Fix this by adding a new method to set the width/height and
calling it from JNI like we do for GL YUV mode.

PiperOrigin-RevId: 250449734
2019-05-31 22:38:55 +01:00
andrewlewis
8bc14bc2a9 Allow enabling decoder fallback in DefaultRenderersFactory
Also allow enabling decoder fallback with MediaCodecAudioRenderer.

Issue: #5942
PiperOrigin-RevId: 250301422
2019-05-31 22:38:32 +01:00
andrewlewis
5d72942a49 Fix VP9 build setup
Update configuration script to use an external build, so we can remove use of
isysroot which is broken in the latest NDK r19c. Also switch from gnustl_static
to c++_static so that ndk-build with NDK r19c succeeds.

Issue: #5922
PiperOrigin-RevId: 250287551
2019-05-31 22:37:25 +01:00
aquilescanta
42ffc5215f Fix anchor usage in SubtitlePainter's setupBitmapLayout
According to Cue's constructor (for bitmaps) documentation:
+ cuePositionAnchor does horizontal anchoring.
+ cueLineAnchor does vertical anchoring.

Usage is currently inverted.

Issue:#5633
PiperOrigin-RevId: 250253002
2019-05-31 22:37:14 +01:00
olly
9b104f6ec0 Reset upstream format when empty track selection happens
PiperOrigin-RevId: 249819080
2019-05-31 22:36:16 +01:00
olly
2e1ea379c3 Fix IndexOutOfBounds when there are no available codecs
PiperOrigin-RevId: 249610014
2019-05-31 22:34:50 +01:00
tonihei
cf93b8e73e Release DownloadHelper automatically if preparation failed.
This prevents further unexpected updates if the MediaSource happens to
finish its preparation at a later point.

Issue:#5915
PiperOrigin-RevId: 249439246
2019-05-31 22:34:01 +01:00
eguven
b1ff911e6a Remove mistakenly left link in vp9 readme
PiperOrigin-RevId: 249417898
2019-05-31 22:33:21 +01:00
andrewlewis
7e587ae98f Add missing annotations dependency
Issue: #5926
PiperOrigin-RevId: 249404152
2019-05-31 22:33:06 +01:00
olly
94c10f1984 Propagate attributes to DefaultTimeBar
Issue: #5765
PiperOrigin-RevId: 249251150
2019-05-31 22:31:53 +01:00
andrewlewis
1d0618ee1a Update surface directly from SphericalSurfaceView
The SurfaceListener just sets the surface on the VideoComponent, but
SphericalSurfaceView already accesses the VideoComponent directly so it seems
simpler to update the surface directly.

PiperOrigin-RevId: 249242185
2019-05-31 22:30:30 +01:00
andrewlewis
e4d66c4105 Update a reference to SimpleExoPlayerView
PiperOrigin-RevId: 249068395
2019-05-31 22:29:56 +01:00
bachinger
b4d72d12f7 Add ProgressUpdateListener
Issue: #5834
PiperOrigin-RevId: 249067445
2019-05-31 22:29:40 +01:00
bachinger
e961def004 Add playWhenReady to prepareXyz methods of PlaybackPreparer.
Issue: #5891
PiperOrigin-RevId: 248541827
2019-05-31 22:27:30 +01:00
bachinger
0a5a8f547f don't call stop before preparing the player
Issue: #5891
PiperOrigin-RevId: 248369509
2019-05-31 22:26:15 +01:00
tonihei
090f359895 Make parallel adaptive track selection more robust.
Using parallel adaptation for Formats without bitrate information currently
causes an exception. Handle this gracefully and also cases where all formats
have the same bitrate.

Issue:#5971
PiperOrigin-RevId: 250682127
2019-05-30 15:28:23 +01:00
eguven
f9d6f314e2 Fix misreporting cached bytes when caching is paused
When caching is resumed, it starts from the initial position. This makes
more data to be reported as cached.

Issue:#5573
PiperOrigin-RevId: 250678841
2019-05-30 15:28:23 +01:00
tonihei
126aad5882 Rename host_activity.xml to avoid manifest merge conflicts.
PiperOrigin-RevId: 250672752
2019-05-30 15:28:23 +01:00
tonihei
fd1179aaa1 Add remaining PlaybackStatsListener metrics.
This adds all the non-playback-state metrics, like format, error, bandwidth and
renderer performance metrics.

PiperOrigin-RevId: 250668854
2019-05-30 15:28:23 +01:00
tonihei
77595da159 Add initial PlaybackStats listener version.
This version includes all playback state related metrics and the general
listener set-up.

PiperOrigin-RevId: 250668729
2019-05-30 15:28:23 +01:00
olly
c09a6eb8ee Update cast extension build
PiperOrigin-RevId: 250664791
2019-05-30 15:28:16 +01:00
olly
6e7012413b Keep controller visible on d-pad key events
PiperOrigin-RevId: 250661977
2019-05-30 15:26:32 +01:00
tonihei
b8ec05aea1 Handle gzip in DefaultHttpDataSource.
Setting the requested encoding in all cases ensures we receive the relevant
response headers indicating whether gzip was used. Doing that allows to
detect the content length in cases where gzip was requested, but the server
replied with uncompressed content.

PiperOrigin-RevId: 250660890
2019-05-30 15:26:32 +01:00
eguven
00b26a51df Modify DashDownloaderTest to test if content length is stored
PiperOrigin-RevId: 250655481
2019-05-30 15:26:32 +01:00
eguven
e2452f8103 Simplify CacheUtil
PiperOrigin-RevId: 250654697
2019-05-30 15:26:32 +01:00
eguven
42ba6abf5a Fix CacheUtil.cache() use too much data
cache() opens all connections with unset length to avoid position errors.
This makes more data then needed to be downloading by the underlying
network stack.

This fix makes makes it open connections for only required length.

Issue:#5927
PiperOrigin-RevId: 250546175
2019-05-30 15:26:32 +01:00
olly
ed5ce2396d SimpleCache: Tweak comments related to blocking
"Write case, lock not available" was a bit confusing. When the
content is not cached and the lock is held, it's neither a read
or a write case. It's a "can't do anything" case. When blocking,
it may subsequently turn into either a read or a write.

PiperOrigin-RevId: 250530722
2019-05-30 15:26:32 +01:00
aquilescanta
71418f9411 Fix TTML bitmap subtitles
+ Use start for anchoring, instead of center.
+ Add the height to the TTML bitmap cue rendering layout.

Issue:#5633
PiperOrigin-RevId: 250519710
2019-05-30 15:26:32 +01:00
olly
1151848f59 No-op move of span touching into helper method
PiperOrigin-RevId: 250519114
2019-05-30 15:26:32 +01:00
andrewlewis
09b00c7fb0 Allow passthrough of E-AC3-JOC streams
PiperOrigin-RevId: 250517338
2019-05-30 15:26:32 +01:00
olly
94d668567c Migrate org.mockito.Matchers#any* to org.mockito.ArgumentMatchers
The former is deprecated and replaced by the latter in Mockito 2. However, there is a
functional difference: ArgumentMatchers will reject `null` and check the type
if the matcher specified a type (e.g. `any(Class)` or `anyInt()`). `any()` will
remain to accept anything.

PiperOrigin-RevId: 250458607
2019-05-30 15:25:28 +01:00