- 12 Mar, 2021 40 commits
-
-
Move offload events from Player.EventListener to ExoPlayer.AudioOffloadListener. PiperOrigin-RevId: 362472462
krocard committed -
Part of aligning HttpDataSource behavior will require adding logic that's common across the DataSource implementations. This change establishes a util class to house it, and moves a bit of existing logic that's related and can be easily shared into it. There is one small behavior change in this CL, which is that our handling of Content-Range response headers can now parse the body length if the "document size" part of the Content-Range is unknown, for example "bytes 5-9/*". Previously the pattern we were matching to required the "size" part to be set, for example "bytes 5-9/100", despite the fact we don't need or use it. PiperOrigin-RevId: 362396976
olly committed -
PiperOrigin-RevId: 362388683
olly committed -
PiperOrigin-RevId: 362386100
olly committed -
These values must be null/empty while the source isn't opened. And the Uri must be non-null if the source is open. PiperOrigin-RevId: 362329032
tonihei committed -
PiperOrigin-RevId: 362298115
ibaker committed -
PiperOrigin-RevId: 362292208
kimvde committed -
PiperOrigin-RevId: 362288776
aquilescanta committed -
Adds a new Listener that extends all other listener. This is part of the component flattening goal. After components have been flattened in Player, and clients transitioned, existing listeners will be deprecated. PiperOrigin-RevId: 362287507
krocard committed -
Add additional assertions to try to figure out why the tests are flaky when run in the test harness. Failure could not be reproduced locally even after 4000 run. PiperOrigin-RevId: 362282251
krocard committed -
ExoPlayer does not support seeking during ads. PiperOrigin-RevId: 362274785
kimvde committed -
TransferListener has the contract to have exactly one onTransferEnd per onTransferStart, so the test can both assert that onTransferInitializing is called, but not onTransferEnd (even after calling close). PiperOrigin-RevId: 362262078
tonihei committed -
PiperOrigin-RevId: 362186928
gyumin committed -
PiperOrigin-RevId: 362079362
ibaker committed -
It's more flexible to use FakeDataSource, since it allows to testing different upstream behaviors (e.g., upstream not being able to resolve the content length). PiperOrigin-RevId: 362072899
olly committed -
So as for the user to be able to inject them. PiperOrigin-RevId: 362056981
aquilescanta committed -
PiperOrigin-RevId: 362043183
kimvde committed -
PiperOrigin-RevId: 362036291
kimvde committed -
PiperOrigin-RevId: 361828018
aquilescanta committed -
PiperOrigin-RevId: 361813981
ibaker committed -
#minor-release PiperOrigin-RevId: 361803897
kimvde committed -
In a period transition we pass the start time of the next period, for the final period we pass the duration of the period or timeline, if known. This means sideloaded subtitles now respect the end point of ClippingMediaSource and ensures that content subtitles aren't incorrectly displayed over mid-roll ads. When transitioning back into the subtitled content the subtitles still appear slightly before the video transitions, meaning the first subtitle of the content is shown with the last few frames of the ad. Resolving this in a way that doesn't break anything else requires a deeper investigation. Issue: #5317 Issue: #8456 #minor-release PiperOrigin-RevId: 361797118
ibaker committed -
PiperOrigin-RevId: 361767801
Ian Baker committed -
PiperOrigin-RevId: 361741354
gyumin committed -
PiperOrigin-RevId: 361736476
gyumin committed -
PiperOrigin-RevId: 361731578
gyumin committed -
MaskingMediaSource needs to resolve the prepare position set for a MaskingPeriod while the source was still unprepared to the first actual prepare position. It currently assumes that the period-window offset and the default position is zero. This assumption is correct when a PlaceholderTimeline is used, but it may not be true if the real timeline is already known (e.g. when re-preparing a live stream after a playback error). Fix this by using the known timeline at the time of the preparation. Also: - Update a test that should have caught this to use lazy re-preparation. - Change the demo app code to use the recommended way to restart playback after a BehindLiveWindowException. Issue: #8675 PiperOrigin-RevId: 361604191
tonihei committed -
PiperOrigin-RevId: 361569511
tonihei committed -
PiperOrigin-RevId: 361487730
gyumin committed -
PiperOrigin-RevId: 361125522
gyumin committed -
PiperOrigin-RevId: 361125492
gyumin committed -
PiperOrigin-RevId: 361122259
kimvde committed -
PiperOrigin-RevId: 361109018
olly committed -
PiperOrigin-RevId: 361106701
Ian Baker committed -
- Avoid having two onPositionDiscontinuity events (seek and transition) sent after a seek to another media item. - Avoid triggering an onPositionDiscontinuity event after a timeline change. #minor-release PiperOrigin-RevId: 361092914
kimvde committed -
PiperOrigin-RevId: 361029604
Ian Baker committed -
It's to comply with style guide as they are public. PiperOrigin-RevId: 360914363
gyumin committed -
PiperOrigin-RevId: 360902971
gyumin committed -
Issue: #8664 #minor-release PiperOrigin-RevId: 360877086
bachinger committed -
PiperOrigin-RevId: 360851146
gyumin committed
-