Commit graph

11575 commits

Author SHA1 Message Date
Frieder Bluemle
48007f6d1c
Update Android Gradle plugin to 4.0.1 2020-09-19 23:49:04 -07:00
Will
989a97ebbd Get frame rate from mkv. Get frame rate from AvcConfig. 2020-09-19 11:30:14 +08:00
Will
8bed008934 Merge remote-tracking branch 'upstream/dev-v2' into dev-v2 2020-09-19 02:23:33 +08:00
ibaker
f56db87c99 Add SDK_INT mapping from S -> 31
PiperOrigin-RevId: 332211266
2020-09-17 17:50:59 +01:00
ibaker
70ebe12ef9 Suppress Guava-related ProGuard/R8 warnings
I didn't copy-paste the whole of
https://github.com/google/guava/wiki/UsingProGuardWithGuava because
this line seems relevant based on our current usage.

Lots of that file seems to relate to classes that are strongly
discouraged on Android:
https://github.com/google/guava/wiki/Android#specifics

I've only added this to the `common` module, since everyone that uses
ExoPlayer must depend on that. This avoids duplicating this line into
every module that has a Guava dependency.

Also remove some other warning suppressions that are defined in both
`core` and `common`.

Issue: #7904
PiperOrigin-RevId: 332203086
2020-09-17 17:41:34 +01:00
Peter Bennett
efd5265e87 text: Fix handling of unbreakable-space in ssa subtitles
The character sequence \h is used for "unbreakable space".
Replace these sequences with space to avoid strings of \h
showing up on screen.
2020-09-17 11:21:30 -04:00
olly
a15d01d36f More verbose instructions for consistency
PiperOrigin-RevId: 332015471
2020-09-16 17:03:35 +01:00
aquilescanta
d1ce5f5b24 Update the FFmpeg extension readme to use symlinking
PiperOrigin-RevId: 332012857
2020-09-16 17:03:24 +01:00
aquilescanta
fe2bc7ba71 Fix the FFmpeg extension build
Since gradle 4.0, CMake imported libraries are bundled in the APK, so
manually bundling them causes a duplication which breaks the build.

Issue: #7906
PiperOrigin-RevId: 332012375
2020-09-16 17:03:19 +01:00
olly
744c57c87d More verbose instructions for consistency
PiperOrigin-RevId: 332015471
2020-09-16 17:00:52 +01:00
olly
f16f8e59ff Replace duration strings with plurals
PiperOrigin-RevId: 332014290
2020-09-16 17:00:42 +01:00
aquilescanta
a3cd36beb1 Update the FFmpeg extension readme to use symlinking
PiperOrigin-RevId: 332012857
2020-09-16 16:37:08 +01:00
aquilescanta
b866c5e424 Fix the FFmpeg extension build
Since gradle 4.0, CMake imported libraries are bundled in the APK, so
manually bundling them causes a duplication which breaks the build.

Issue: #7906
PiperOrigin-RevId: 332012375
2020-09-16 16:36:59 +01:00
christosts
52826c860f Fix bug in offline DRM downloads
PiperOrigin-RevId: 331955966
2020-09-16 13:37:52 +01:00
olly
bc89a8f763 Depend on robolectric 4.4, which has now been released
Issue: #7906
PiperOrigin-RevId: 331775990
2020-09-16 13:37:44 +01:00
olly
3fd47b92e6 Add missing release note
Issue: #7902
PiperOrigin-RevId: 331771187
2020-09-16 13:37:36 +01:00
olly
8386d617bf Fix OOM-is-prevented test OOM-ing :)
This test is intended to check that DefaultLoadControl will cause
playback to fail as "stuck buffering" rather than OOM-ing, in the
case that its target buffer size is reached and playback still
hasn't started.

Unfortunately, the target buffer size is ~130MB, and when running
on some setups an OOM actually ends up happening before this much
memory is allocated.

This change makes the target buffer size much smaller to avoid the
problem.

PiperOrigin-RevId: 331748208
2020-09-16 13:37:26 +01:00
christosts
9a01e6cf1e Add release note entry for DRM-protected downloads
PiperOrigin-RevId: 331539036
2020-09-16 13:37:12 +01:00
christosts
7b5b8b2d79 Fix bug in offline DRM downloads
PiperOrigin-RevId: 331955966
2020-09-16 13:34:16 +01:00
tonihei
1bc99c2f03 Parse availabilityTimeOffset from DASH manifest.
This value is needed to figure out the last available segment for
low-latency live streaming. It may be present in each BaseURL tag
and each SegmentList or SegmentTemplate, with the latter one taking
precedence.

The value is saved as part of MultiSegmentBase where it will be used
to retrieve the last available segment index in future changes.

PiperOrigin-RevId: 331809871
2020-09-16 13:34:08 +01:00
olly
fa2a77107b Depend on robolectric 4.4, which has now been released
Issue: #7906
PiperOrigin-RevId: 331775990
2020-09-16 13:33:59 +01:00
olly
2f5d6a6541 Add missing release note
Issue: #7902
PiperOrigin-RevId: 331771187
2020-09-16 13:33:50 +01:00
olly
f387574140 Fix OOM-is-prevented test OOM-ing :)
This test is intended to check that DefaultLoadControl will cause
playback to fail as "stuck buffering" rather than OOM-ing, in the
case that its target buffer size is reached and playback still
hasn't started.

Unfortunately, the target buffer size is ~130MB, and when running
on some setups an OOM actually ends up happening before this much
memory is allocated.

This change makes the target buffer size much smaller to avoid the
problem.

PiperOrigin-RevId: 331748208
2020-09-16 13:33:42 +01:00
olly
6be879c21b Clean up experimental offload Javadoc
PiperOrigin-RevId: 331591005
2020-09-16 13:33:33 +01:00
christosts
7c8779111d Add release note entry for DRM-protected downloads
PiperOrigin-RevId: 331539036
2020-09-16 13:33:23 +01:00
olly
d2fa7b0217 Fix release notes
PiperOrigin-RevId: 331354102
2020-09-13 00:03:34 +01:00
olly
12a29e3026 Fix release notes
PiperOrigin-RevId: 331354102
2020-09-13 00:02:41 +01:00
olly
b999977c9d Dev guide: Copy editing
Also changed the links that describe configuring the
player for ad insertion to link to the ads page.

PiperOrigin-RevId: 331349846
2020-09-13 00:02:32 +01:00
Oliver Woodman
83477497c1
Merge pull request #7894 from google/dev-v2-r2.12.0
r2.12.0
2020-09-12 23:39:26 +01:00
Oliver Woodman
4ab966dc96 Improve IMA readme 2020-09-12 22:19:02 +01:00
Oliver Woodman
3f6e5ce676 Update IMA readme 2020-09-12 21:28:58 +01:00
olly
a5bf3f4191 Remove references to cross-protocol redirects for Cronet
There's no option to enable them. This is probably a copy/paste error
from DefaultHttpDataSourceFactory.

PiperOrigin-RevId: 331334263
2020-09-12 21:07:50 +01:00
olly
5a009ab476 Remove references to cross-protocol redirects for Cronet
There's no option to enable them. This is probably a copy/paste error
from DefaultHttpDataSourceFactory.

PiperOrigin-RevId: 331334263
2020-09-12 21:05:18 +01:00
olly
b3904faf30 Add playlist query methods to 2.12
PiperOrigin-RevId: 331242049
2020-09-12 21:05:08 +01:00
bachinger
4f982763cf Add getMediaItemCount() and getMediaItemAt(int)
PiperOrigin-RevId: 331211708
2020-09-11 23:21:08 +01:00
bachinger
91a491ea31 Add getMediaItemCount() and getMediaItemAt(int)
PiperOrigin-RevId: 331211708
2020-09-11 23:09:38 +01:00
olly
12b0537c2f Clean up some lint warnings
PiperOrigin-RevId: 331162350
2020-09-11 17:40:19 +01:00
bachinger
a8298fa746 MediaItemify the IMA extension README and the ads page in dev guide
PiperOrigin-RevId: 331155539
2020-09-11 17:39:40 +01:00
andrewlewis
b6842cf0f0 Fix handling of empty ad groups at non-integer cue points
Issue: #7889
PiperOrigin-RevId: 331149688
2020-09-11 17:39:12 +01:00
olly
bff7ac0dbe Clean up some lint warnings
PiperOrigin-RevId: 331162350
2020-09-11 17:31:03 +01:00
bachinger
99cdf2ca4d MediaItemify the IMA extension README and the ads page in dev guide
PiperOrigin-RevId: 331155539
2020-09-11 17:30:54 +01:00
andrewlewis
156166f57c Fix handling of empty ad groups at non-integer cue points
Issue: #7889
PiperOrigin-RevId: 331149688
2020-09-11 17:30:43 +01:00
olly
9fb2902dad Exclude Guava transitive annotation dependencies
PiperOrigin-RevId: 331148067
2020-09-11 16:02:37 +01:00
olly
cdcb30ed21 Exclude Guava transitive annotation dependencies
PiperOrigin-RevId: 331148067
2020-09-11 16:01:15 +01:00
olly
ea25729a09 Make BatchBufferTest allocate less memory
Setting to 2x BATCH_SIZE_BYTES

PiperOrigin-RevId: 331124129
2020-09-11 13:30:33 +01:00
ibaker
4691aa8415 Throw RuntimeException instead of Error from ExoHostedTest
Throwing Error forces a test to catch Throwable (e.g.
DashWidevineOfflineTest#widevineOfflineReleasedV22), which will also
catch AssertionError meaning the fail() call at the end of the try block
won't work.

The DashWidevineOfflineTest have been broken since
91185500a1

PiperOrigin-RevId: 331120894
2020-09-11 13:30:24 +01:00
olly
5bd61116a2 Fix incorrect type when creating ExoPlaybackException
PiperOrigin-RevId: 331027732
2020-09-11 13:30:15 +01:00
bachinger
862cf26534 fix typo
PiperOrigin-RevId: 331025924
2020-09-11 13:30:06 +01:00
tonihei
4648a41962 Don't keep 100MB static buffer in test.
This may remove available memory from other tests running in the same
process. Instead, create the huge buffer when needed so it can be GCed
immediately.

PiperOrigin-RevId: 330960844
2020-09-11 13:29:57 +01:00
tonihei
c75077cb9e Release player in e2e playback tests.
Not releasing the player means the playback thread keeps running
and also keeps its entire allocated playback buffer.

PiperOrigin-RevId: 330958821
2020-09-11 13:29:48 +01:00