- 18 May, 2020 10 commits
-
-
The ad break time in seconds from IMA was "-1" for postrolls, but this didn't match C.TIME_END_OF_SOURCE in the ad group times array. Handle an ad break time of -1 directly by mapping it onto the last ad group, instead of trying to look it up in the array. PiperOrigin-RevId: 312064886
andrewlewis committed -
The new behaviour: - If the session is successfully opened, an acquire event is dispatched to all attached dispatchers. - If acquire() is called but the session is already open, the acquire event is dispatched only to the dispatcher provided in to acquire() - If the session is successfully released, a release event is dispatched to all attached dispatchers (in theory at most one should ever be attached at this point). - If release() is called but the session isn't released (because referenceCount > 0) then a release event is dispatched only to the dispatcher provided to release(). PiperOrigin-RevId: 312062422
ibaker committed -
This is the rename-only part of https://github.com/google/ExoPlayer/pull/7370 PiperOrigin-RevId: 312057896
olly committed -
Issue:#7337 PiperOrigin-RevId: 312042768
samrobinson committed -
This makes test failures with lists of items much easier to read PiperOrigin-RevId: 312035040
ibaker committed -
Switch to snapshot Robolectric to pick up the latest version of shadows required by MediaCodecVideoRendererTest and MediaCodecAudioRendererTest. PiperOrigin-RevId: 312030332
andrewlewis committed -
PiperOrigin-RevId: 311755157
aquilescanta committed -
Detect stuck buffering cases in ImaAdsLoader, and discard the ad group after a timeout. This is intended to make the IMA extension more robust in the case where an ad group unexpectedly doesn't load. The timing out behavior is enabled by default but apps can choose to retain the old behavior by setting an unset timeout on ImaAdsLoader.Builder. PiperOrigin-RevId: 311729798
andrewlewis committed -
EventTime contains information about when an event happened and where it belongs to. Both places can be fully described using timeline, window index, media period id and position. Right now, only the information for where the event belongs to is fully contained in EventTime, whereas the time when the event happened only has the position, and none of the other information (timeline, window, period). This change adds the missing information, so that the EventTime can easily be used without having access to the Player. This also ensures Event metadata is self-contained and can be stored and reused later. issue:#7332 PiperOrigin-RevId: 311727004
tonihei committed -
Removes the experimental methods to set a timeout when releasing the player and setting the surface. PiperOrigin-RevId: 311703988
christosts committed
-
- 15 May, 2020 3 commits
-
-
- Add Widevine AV1 streams - Remove SD and HD only Widevine streams (we don't need so many!) - Simplify naming PiperOrigin-RevId: 311697741
olly committed -
PiperOrigin-RevId: 311628160
olly committed -
PiperOrigin-RevId: 311623784
Oliver Woodman committed
-
- 14 May, 2020 27 commits
-
-
Some of the CSS font sizes are derived from the current view height, if this calculation is done before the view has been measured then a zero view height results in a zero px font size and no visible text. This can happen when the view type is changed (and so the WebViewSubtitleOutput has been recently added to the SubtitleView ViewGroup). PiperOrigin-RevId: 311552052
ibaker committed -
ANSI/CTA-608-E R-2014 spec defines exactly 32 columns on the screen, and limits all lines to this length. See 3.2.2 definition of 'Column'. issue:#7341 PiperOrigin-RevId: 311549881
ibaker committed -
PiperOrigin-RevId: 311531734
aquilescanta committed -
PiperOrigin-RevId: 311527440
bachinger committed -
PiperOrigin-RevId: 311513746
bachinger committed -
Issue:#7309 PiperOrigin-RevId: 311504497
aquilescanta committed -
Some player setup steps that are likely to be only done once should be moved into the Builder so that player setup can use a consistent style (builder vs setters). This also prevents some threading warning issues when the player is built on a background thread (e.g. for dependency injection frameworks) and setters can't be used due to threading restrictions. PiperOrigin-RevId: 311487224
tonihei committed -
This is the last piece to bring feature parity between WebViewSubtitleOutput and CanvasSubtitleOutput. PiperOrigin-RevId: 311325749
ibaker committed -
Issue:#7309 PiperOrigin-RevId: 311324242
aquilescanta committed -
It displays images too, and in fact it's used exclusively to display images in SubtitleWebView. It also doesn't use a TextView - so all round a slightly confusing name. Also rename SubtitleWebView to WebViewSubtitleOutput to match the same pattern. PiperOrigin-RevId: 311312758
ibaker committed -
- Remove proguard-rules.txt symlink - Guard against classes annotated with @ClosedSource but not excluded PiperOrigin-RevId: 311312671
olly committed -
This is useful for merging the FFmpeg video support pull request, since it allows a Decoder base class implementation to catch DecoderException rather than forcing it to catch Exception (i.e., everything). Note that unfortunately, Java doesn't allow catching of a generic type (i.e., you cannot "catch (E e)") due to type erasure. PiperOrigin-RevId: 311300719
olly committed -
PiperOrigin-RevId: 311298802
aquilescanta committed -
PiperOrigin-RevId: 311295749
bachinger committed -
The only reason to require a context for creating an instance of DefaultMediaSourceFactory is creating a user agent. DownloadHelper has a bunch of static methods that need to instantiate a DefaultMediaSourceFactory without a Context. By adding a setter for the user agent we can remove that restriction and use a default user agent. PiperOrigin-RevId: 311291603
bachinger committed -
We aim for all SinglePeriodTimelines to set window.mediaItem and hence want to eliminate all constructors not passing a media item. The constructor removed in this CL is the easiest one to remove and fix in google3. It is still a breaking change for external ExoPlayer user who provide a custom media source with this timeline. PiperOrigin-RevId: 311291493
bachinger committed -
PiperOrigin-RevId: 311290214
olly committed -
PiperOrigin-RevId: 311150195
krocard committed -
Two tests had the same code when the were supposed to test different state. PiperOrigin-RevId: 311149216
krocard committed -
ISSUE: #7114 PiperOrigin-RevId: 311115835
bachinger committed -
PiperOrigin-RevId: 311106612
andrewlewis committed -
Put static methods at the end. Also add a couple of missing parameter name comments. PiperOrigin-RevId: 311077684
andrewlewis committed -
Log content progress events, as these are helpful to debug triggering of events based on the content progress. Don't log AD_PROGRESS events as they occur several times per second while ads are playing, and the verbosity makes logs difficult to read. PiperOrigin-RevId: 311077302
andrewlewis committed -
It's very unlikely any onQueueInputBuffer implementations are looking at the subsample encryption data, but from a correctness perspective we should be passing a buffer object that's self-consistent. PiperOrigin-RevId: 311011246
olly committed -
PiperOrigin-RevId: 311002702
olly committed -
PiperOrigin-RevId: 310997932
olly committed -
FFmpeg requires input buffers to be sized larger than the size of the data they contain. This is to allow optimized decoder implementations that read data in fixed size chunks, without the risk of such decoders reading beyond the end of the buffer. Issue: #2159 PiperOrigin-RevId: 310946866
olly committed
-