- 20 Mar, 2020 1 commit
-
-
Address the minor issues raised in @AquilesCanta's review of pull request 6270. Also remove unused variable (`hasIFrameVariants`)
Steve Mayhew committed
-
- 18 Mar, 2020 1 commit
-
-
In the HLS Spec (https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-04#section-4.4.3.6), specifically this or condition of this statement: "... defined by the EXT-X-MAP tag, or is located between the start of the resource and the offset of the first I-frame segment in that resource." Change adds code to add this "implicit" Media Initialization Segment if no EXT-X-MAP defines one explicitly.
Steve Mayhew committed
-
- 17 Mar, 2020 4 commits
-
-
Pull in change to default to not use i-Frames for base AdaptiveTrackSelection. The expectation is a subclases, that support transitioning to iFrame, will select these tracks.
Steve Mayhew committed -
Steve Mayhew committed
-
This was a change suggested by @ojw28 to allow adpative track selection to work with IFrame only `Variant` as any other adaptive seleted `Track` in the `TrackGroup`. This actually works quite well with the exceptions that: 1. IFrame only tracks do not contain the same Rendition Group references as other non-iframe only varaints (so track selection should disable these tracks even in other non-video renderers. 2. Adapting to iFrame tracks only based on bandwidth might not be so good (as often larger spacial resolution iFrame track might have higher bitrate then lower spacial resolution non-iframe only track). This change includes one proposed workaround in the AdaptiveTrackSelection class (only use iFrame for higher playback speeds).
Steve Mayhew committed -
Steve Mayhew committed
-
- 11 Mar, 2020 11 commits
-
-
https://github.com/google/ExoPlayer/commit/5485133e5c7965f98d71da3cb92033b35f596c61
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/949bbcfb2e98c5cb76ebb35d68fc9f0da4706f16 *** Original commit *** Add masking for playWhenReady. Masking is needed as soon as updates to a value can happen both in EPI and EPII. PlayWhenReady is currently not masked because all updates happen in EPI only. As soon as we allow pausing at certain times (e.g. end of a stream), playWhenReady c... *** PiperOrigin-RevId: 300330307
tonihei committed -
PiperOrigin-RevId: 300330109
Oliver Woodman committed -
PiperOrigin-RevId: 300313753
Oliver Woodman committed -
https://github.com/google/ExoPlayer/commit/949bbcfb2e98c5cb76ebb35d68fc9f0da4706f16
*** Original commit *** Add masking for playWhenReady. Masking is needed as soon as updates to a value can happen both in EPI and EPII. PlayWhenReady is currently not masked because all updates happen in EPI only. As soon as we allow pausing at certain times (e.g. end of a stream), playWhenReady changes may be triggered by EPII as well and that's why we need masking. To know when the value actually changed, we also need to update the internal state to include whether playback is supppressed. *** PiperOrigin-RevId: 300303307
tonihei committed -
Masking is needed as soon as updates to a value can happen both in EPI and EPII. PlayWhenReady is currently not masked because all updates happen in EPI only. As soon as we allow pausing at certain times (e.g. end of a stream), playWhenReady changes may be triggered by EPII as well and that's why we need masking. To know when the value actually changed, we also need to update the internal state to include whether playback is supppressed. PiperOrigin-RevId: 300284613
tonihei committed -
PiperOrigin-RevId: 300249371
olly committed -
Exceeding the period duration may mean that that playback transitions to another item even if the player is currently paused. PiperOrigin-RevId: 300133655
tonihei committed -
There is no need for that, updating them is often forgotten and takes up too much line space. Replace by a single TAG per test class. PiperOrigin-RevId: 300113072
tonihei committed -
PiperOrigin-RevId: 300067561
olly committed -
PiperOrigin-RevId: 300067502
olly committed -
This change uses mime types in a functionally equivalent way to how we used the extension hint so far. Using a mimeType instead of the extension has some advantages. Most importantly mimeTypes are used by the cast SDK with which we want to achieve interoperability in the cast extension. Using a mimeType instead of the extension hint further appears to be a bit more clear (which might be opinionated). Further mime types are a well known and widely used concept to identify file type on the internet and it provides asterix based generalizations (audio/*, */*) which could express the media type OTHER that ExoPlayer is using internally (no usage of asterix required so far though). PiperOrigin-RevId: 300058945
bachinger committed
-
- 10 Mar, 2020 23 commits
-
-
PiperOrigin-RevId: 299943596
bachinger committed -
Requested by https://github.com/google/ExoPlayer/issues/7058. Additionally move one of the common option in COMMON_OPTIONS. PiperOrigin-RevId: 299862479
krocard committed -
Disabling reference counting allows some checks to be removed. This is a no-op. PiperOrigin-RevId: 299829600
samrobinson committed -
handlePrepare/Stop/SetPlayReady can be merged together as they all handle changes to the desires state of the player. Also, simplify parts of the control flow by not mixing code that determines if audio focus needs to be handled with code that actually acquires or abandons the focus. PiperOrigin-RevId: 299824857
tonihei committed -
PiperOrigin-RevId: 299819656
olly committed -
Without this option it's impossible to merge periods covering different timestamps (at least not without playback issues). Issue:issue:#6103 PiperOrigin-RevId: 299817540
tonihei committed -
PiperOrigin-RevId: 299361095
bachinger committed -
PiperOrigin-RevId: 299357049
Oliver Woodman committed -
Issue: #6975 PiperOrigin-RevId: 299328798
kimvde committed -
Pre-work for issue:#6765 PiperOrigin-RevId: 299322086
ibaker committed -
Part of issue:#6765 PiperOrigin-RevId: 299319146
ibaker committed -
This is passed in but not currently used. I'll use it in follow-up changes. Pre-work for issue:#6765 PiperOrigin-RevId: 299314341
ibaker committed -
It's quite anoying to have to search in the list the last item played everytime the demo is restarted. Fix that by saving and restoring it. PiperOrigin-RevId: 299109261
krocard committed -
PiperOrigin-RevId: 299092243
aquilescanta committed -
PiperOrigin-RevId: 299057572
christosts committed -
PiperOrigin-RevId: 298879027
bachinger committed -
The new version fixes some warnings in Gradle builds. Also add missing indirect compileOnly dependencies to fix some more warnings Issue:issue:#7007 PiperOrigin-RevId: 298855510
tonihei committed -
PiperOrigin-RevId: 298844826
tonihei committed -
The new name better reflects the purpose of the method. PiperOrigin-RevId: 298835578
tonihei committed -
This tests explicitly that initialization happens even if the Timeline is a placeholder. No other change is needed. While the Timeline is still a placeholder ImaAdsLoader.getCurrentPeriodPosition will return 0 and trigger pre-rolls (intended behaviour) and it doesn't matter whether the actual initial period position may be somewhere else. PiperOrigin-RevId: 298833867
tonihei committed -
Which mirrors MediaDrm.OnExpirationUpdateListener. PiperOrigin-RevId: 298826713
aquilescanta committed -
This option marks streams as final such that renderers play them out completely, then waits until this happened, and then sets the player to paused. After that, the player can continue to read the next period to quickly resume playback if needed. PiperOrigin-RevId: 298824745
tonihei committed -
Update it to allow any listener class to be registered (and thus require the caller of dispatch() to provide the type of listener to call). Maintain MediaSourceEventListener.EventDispatcher as a sub-class for now so that all existing references continue to work. This avoids creating a huge diff in one CL. The intention is to in-line these incrementally. This is pre-work for issue:#6765 PiperOrigin-RevId: 298818198
ibaker committed
-