andrewlewis
0c9e92136a
Fix skipping behavior in ad pods
...
ImaAdsLoader notified onEnded whenever an ad finished playing, but when an ad
is skipped in an ad pod we'd receive a playAd call before the player
discontinuity for skipping to the next ad. Fix this behavior by checking that
IMA's playing ad matches the player's playing ad before notifying onEnded.
#minor-release
PiperOrigin-RevId: 339424910
2020-11-18 19:10:35 +00:00
andrewlewis
f1126ce514
Improve progress update logs
...
Add logging for ad progress and switch from deprecated getters to new
millisecond getters.
PiperOrigin-RevId: 339226534
2020-11-18 19:10:09 +00:00
andrewlewis
8759874924
Improve handling of VPAID ads
...
Issue: #7832
PiperOrigin-RevId: 339087555
2020-11-18 19:09:57 +00:00
ibaker
44c2ddb076
Suppress ProGuard warnings related to Guava's compile-only deps
...
Without these lines, ProGuard fails on the demo app (R8 works).
Also include some more `-dontwarn` lines from
https://github.com/google/guava/wiki/UsingProGuardWithGuava
Issue: #8103
PiperOrigin-RevId: 339050634
2020-11-18 19:09:41 +00:00
andrewlewis
7cc129d7b7
Upgrade IMA SDK dependency to 3.21.0
...
Call the new method AdsLoader.release() to allow the IMA SDK to dispose of its
WebView.
Issue: #7344
PiperOrigin-RevId: 339022162
2020-11-18 19:08:38 +00:00
aquilescanta
9ad70246e6
Treat -1000 duration as unknown duration for live streams in Cast
...
Issue: #7983
#minor-release
PiperOrigin-RevId: 339016928
2020-11-18 19:07:13 +00:00
andrewlewis
1264dbcd36
Handle stream volume register/unregister errors
...
Issue: #8106
Issue: #8087
PiperOrigin-RevId: 338664455
2020-11-18 19:07:04 +00:00
aquilescanta
da663aa081
Avoid chunkless preparation if the codec mapping is ambiguous
...
Issue: #7877
PiperOrigin-RevId: 338659937
2020-11-18 18:54:37 +00:00
aquilescanta
806681dd16
Map HLS sample formats to the correct codec string
...
This change fixes format creation for traditional preparation of streams
where the master playlist contains more than one codec string per track
type.
Issue: #7877
PiperOrigin-RevId: 338538693
2020-11-18 18:50:35 +00:00
aquilescanta
3d8c9b0bf8
Allow multiple codecs with same type in DefaultHlsExtractorFactory
...
When disabling a TsExtractor track type because of a missing codec
in the master playlist, look through the entire codecs string
instead of checking the first codec with matching type.
Issue: #7877
PiperOrigin-RevId: 338530046
2020-11-18 18:48:46 +00:00
olly
7cf0620231
Rollback of f6928c0ef9
...
*** Original commit ***
Keep download in completed state if only metadata is updated
Issue: #8116
***
PiperOrigin-RevId: 343102068
2020-11-18 18:40:43 +00:00
tonihei
c529a0b9c7
Rollback of 31430f1ac5
...
*** Original commit ***
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
***
PiperOrigin-RevId: 343100646
2020-11-18 18:40:37 +00:00
ibaker
6d7997e747
Move DataSourceContractTest to the testutil package
...
PiperOrigin-RevId: 343096974
2020-11-18 18:40:36 +00:00
tonihei
f13ffb4390
Rollback of 5d9c2d7b6a
...
*** Original commit ***
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
***
PiperOrigin-RevId: 343086403
2020-11-18 18:40:30 +00:00
tonihei
44009ea686
Rollback of fa6e01312b
...
*** Original commit ***
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
***
PiperOrigin-RevId: 343085407
2020-11-18 18:40:22 +00:00
aquilescanta
79e8295cd2
Fix HLS format derivation in traditional preparation
...
ExoPlayer's traditional HLS preparation works by loading a chunk from each track
group, and then tries to use the sample information plus the master playlist
information to generate the preparation's resulting TrackGroups.
There are 3 possible scenarios:
- Supported case: Each variant has a single codec string per track type. We can
assign each track the codec string which matches the loaded sample's type.
- Supported case: Each variant has more than one codec string, but each track
group has a single track. This is the case when different languages use
different codecs. In this case, we can assign whichever codec matches the
loaded sample's mime type.
- Unsupported case: Each variant has more than one codec string, and track
groups contain more than one track. We are not able to safely map tracks to
codec strings because that would require loading a chunk from each track
(which would considerably delay preparation).
Broken in:
4783c329cc
PiperOrigin-RevId: 343072201
2020-11-18 18:40:21 +00:00
olly
3c91ba14b3
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
...
PiperOrigin-RevId: 343003559
2020-11-18 18:40:17 +00:00
olly
755f5b7d76
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
...
PiperOrigin-RevId: 342999709
2020-11-18 18:40:10 +00:00
olly
483a350e84
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
...
PiperOrigin-RevId: 342999390
2020-11-18 18:40:06 +00:00
olly
48d3d63144
Add experimentalSetForegroundModeTimeoutMs
...
Allows to set a timeout for the setForegroundMode(false) call, different than releaseTimeoutMs.
PiperOrigin-RevId: 342980350
2020-11-18 18:40:05 +00:00
olly
0abdfe94a6
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
...
PiperOrigin-RevId: 342952746
2020-11-18 18:39:55 +00:00
tonihei
eb8a57ee46
Only notify rebuffer to if we are actually rebuffering.
...
Right now we also notify while we are paused although this doesn't classify as a rebuffer.
PiperOrigin-RevId: 342892667
2020-11-18 18:31:10 +00:00
ibaker
4936c730c3
Add a contract testing abstract class for DataSource implementations
...
This only has a couple of simple tests for now. We'll add more tests
after we've written some concrete sub-class tests for various
DataSource implementations.
I've included a concrete FileDataSourceContractTest as a demonstration.
PiperOrigin-RevId: 342851187
2020-11-18 18:30:58 +00:00
veronicaradu
a19941f09c
Add methods in TrackSelection to get details about the playback state.
...
Determine whether a rebuffer occurred and if the playback is paused or resumed.
PiperOrigin-RevId: 342849010
2020-11-18 18:30:47 +00:00
kimvde
e4d693ebb9
Add comment explaining DefaultHlsExtractorFactory fallback behaviour
...
Issue:#8219
PiperOrigin-RevId: 342843964
2020-11-17 13:50:54 +00:00
olly
8381b9ff43
Update Styled Player settings dialogs to respect RTL.
...
PiperOrigin-RevId: 342672124
2020-11-17 13:50:45 +00:00
christosts
cbd91999b4
Add Robolectric playback tests for existing VP9 assets
...
PiperOrigin-RevId: 342660971
2020-11-17 13:50:35 +00:00
olly
0a778ceb1c
HLS playlist tracking cleanup
...
Make the public loadPlaylist method not take an argument again.
PiperOrigin-RevId: 342646259
2020-11-17 13:50:25 +00:00
samrobinson
e832a4e0fc
Adjust SEF reader times to long.
...
PiperOrigin-RevId: 342642410
2020-11-16 16:51:09 +00:00
olly
4ff7eb4905
Fix CronetDataSource handling of 200 response for range request
...
Issue: #8090
#minor-release
PiperOrigin-RevId: 342638922
2020-11-16 16:50:58 +00:00
christosts
c87f95e153
Add Robolectric playback tests for existing MKV assets
...
PiperOrigin-RevId: 342618706
2020-11-16 16:50:46 +00:00
tonihei
1984779fa1
Discard buffer synchronously after seek before cancelling a load.
...
This ensures the buffer is not full when the `DefaultLoadControl` determines
whether we should continue loading and thus prevents a false warning about
not having enough memory left.
PiperOrigin-RevId: 342616623
2020-11-16 16:50:35 +00:00
ibaker
41d0c0f882
Add @deprecated javadoc to StubExoPlayer#getPlaybackError
...
This should be inherited from Player#getPlaybackError, but lint still
complains and this seems like the easiest fix.
PiperOrigin-RevId: 342598368
2020-11-16 16:50:23 +00:00
insun
ee3eba07ac
Increase touch target height of timebar in StyledPlayerControlView
...
This change also introduces gravity attribute to DefaultTimeBar.
PiperOrigin-RevId: 342573167
2020-11-16 16:50:12 +00:00
olly
6b31a3eea5
Fix 2.12.1 release note
...
PiperOrigin-RevId: 342512836
2020-11-16 16:50:00 +00:00
olly
c47e62209d
Report reasons for not being able to reuse decoders
...
PiperOrigin-RevId: 342344090
2020-11-16 16:49:48 +00:00
olly
3ef609fa3b
Plumb playback speed and frame-rate via VideoFrameReleaseTimeHelper
...
PiperOrigin-RevId: 342289646
2020-11-16 16:49:37 +00:00
olly
f6928c0ef9
Keep download in completed state if only metadata is updated
...
#minor-release
Issue: #8116
PiperOrigin-RevId: 342269114
2020-11-16 16:49:25 +00:00
olly
7fe68b52d5
Remove stray arguments from method
...
PiperOrigin-RevId: 342263700
2020-11-13 16:30:28 +00:00
christosts
dc86b625c5
Pass drm_key_request_properties in offline DRM downloads
...
Pass the drm_key_request_properties specified in the json list
when donwloading thee offline Widevide license in the demo app.
PiperOrigin-RevId: 342243441
2020-11-13 14:55:38 +00:00
olly
8d84a50fa1
Update Styled non bottom buttons to be borderless.
...
This requires the parent of the background to draw and have padding large enough to support the size of the ripple.
The bottom buttons must remained bordered as the space around them is constrained.
PiperOrigin-RevId: 342162231
2020-11-13 14:55:29 +00:00
christosts
7fd78666d1
Add Robolectric playback tests for existing MKA assets
...
PiperOrigin-RevId: 342060794
2020-11-13 14:55:20 +00:00
samrobinson
55afddf05c
Adjust SEF slow motion parsing to base data type off name.
...
PiperOrigin-RevId: 342050008
2020-11-13 14:55:10 +00:00
ibaker
99b87139df
Change Truth assertions in DashWidevineOfflineTest to increase clarity
...
PiperOrigin-RevId: 342040610
2020-11-13 14:55:01 +00:00
samrobinson
a038b421dd
Add additional SEF data types.
...
PiperOrigin-RevId: 342034166
2020-11-13 14:54:51 +00:00
bachinger
e3c725aa38
Create chunks from parts in HlsChunkSource
...
Issue: #5011
PiperOrigin-RevId: 342022947
2020-11-13 14:54:41 +00:00
olly
2693a107cd
Fix frame release timing to be aware of playback speed
...
PiperOrigin-RevId: 342007987
2020-11-13 14:54:32 +00:00
tonihei
51c8ffbb0e
Tweak DefaultLivePlaybackSpeedControl parameters.
...
Changing them to have fewer updates when adjusting the playback speed.
PiperOrigin-RevId: 341834423
2020-11-13 14:54:22 +00:00
olly
3b8b2f707b
Remove C.StreamType constant that's not a real stream type
...
#minor-release
PiperOrigin-RevId: 341833274
2020-11-13 14:54:12 +00:00
mdobrzyn71
4b1b924cf1
Fix for Apple's I-Frame-only stream playback.
...
See bug: https://github.com/google/ExoPlayer/issues/7512
2020-11-12 14:42:11 -08:00