- 04 Jan, 2022 19 commits
-
-
John BoWeRs committed
-
PiperOrigin-RevId: 418960700
olly committed -
The `main` role distinguishes a track from an `alternate`, but unlike `SELECTION_FLAG_DEFAULT` it doesn't imply the track should be selected unless user preferences state otherwise. e.g. in the case of a text track, the player shouldn't enable subtitle rendering just because a `main` text track is present in the manifest. The `main`/`alternate` distinction is still available through `Format.roleFlags` and the `ROLE_FLAG_MAIN` and `ROLE_FLAG_ALTERNATE` values. This behaviour was originally [added in 2.2.0](https://github.com/google/ExoPlayer/commit/7f967f305718bc2c9ee679fdd7d014eccef0356b), however at the time the `C.RoleFlags` IntDef did not exist. The IntDef was [added in 2.10.0](https://github.com/google/ExoPlayer/commit/a86a9137be5f0ed89de3d68f4c4800a7753cc881). PiperOrigin-RevId: 418937747
ibaker committed -
PiperOrigin-RevId: 418820557
hschlueter committed -
* @CryptoType is a TYPE_USE annotation, so should appear after modifiers and directly before the type. PiperOrigin-RevId: 418814902
olly committed -
* @Override is not a TYPE_USE annotation, so should appear before any modifiers and after Javadocs. @CryptoType is a TYPE_USE annotation, so should appear after modifiers and directly before the type. PiperOrigin-RevId: 418811744
olly committed -
Before this change we checked whether the playback state and playWhenReady have changed when the state from the cast device arrived. If we detected such a change we called the listener callback `onIsPlayingChanged`. However, in the case when `setPlayWhenReady(boolean)` is called on 'CastPlayer', we mask the change in `playWhenReady`, then send the play/pause request to the cast device and when the state from the cast device arrives we never detect a change because we have already masked `playWhenReady`. This change now moves the check for `isPlaying` to the same place where the state and playWhenReady is updated, so we call the `onIsPlayingChanged` callback in either case, when masking or when a changed state from the server arrives. Issue: google/ExoPlayer#9792 PiperOrigin-RevId: 418483509
bachinger committed -
PiperOrigin-RevId: 418022431
aquilescanta committed -
This is better than silently dropping tracks as done previously. Later, we will implement fallback to transcoding to a supported MIME type. PiperOrigin-RevId: 418006258
hschlueter committed -
* These grouping parentheses are unnecessary; it is unlikely the code will be misinterpreted without them PiperOrigin-RevId: 417988060
olly committed -
This may one day change, but at least for now, we don't intend to support non-square pixels. PiperOrigin-RevId: 417983516
huangdarwin committed -
#minor-release PiperOrigin-RevId: 417961565
ibaker committed -
#minor-release PiperOrigin-RevId: 417959956
ibaker committed -
This more closely matches the pattern we have for all implementations except DefaultMediaSourceFactory (e.g. ProgressiveMediaSource.Factory) and other factory interfaces like (Http)DataSource.Factory. PiperOrigin-RevId: 417826803
ibaker committed -
There's no need to extend this class. Factories for subclasses of FakeMediaSource will need to re-implement createMediaSource, at which point they basically need to re-implement the whole factory interface. PiperOrigin-RevId: 417817499
ibaker committed -
There is an open Gradle bug that dependencies with AARs are not marked as such in the created POM files (https://github.com/gradle/gradle/issues/3170). This causes issues building ExoPlayer with Maven POMs only. (Issue: google/ExoPlayer#8353). This change adds the workaround suggested on the Gradle bug until the bug is fixed. As we have a mixture of JAR and AAR dependencies, we need to maintain a lookup table to know which dependencies have AARs. The current code throws when a new dependency is added and it's not classified. #minor-release PiperOrigin-RevId: 417797407
tonihei committed -
Switch to using sentence-case naming convention but with one character prefixes for different types. This is a no-op change. PiperOrigin-RevId: 417791624
andrewlewis committed -
PiperOrigin-RevId: 417786661
hschlueter committed -
PiperOrigin-RevId: 417769018
tonihei committed
-
- 21 Dec, 2021 5 commits
-
-
Some have been deprecated since 2.13.0 ([commit](https://github.com/google/ExoPlayer/commit/5b9fa7d7d9d68dec060489cbb307b1be28a7575a)): * `setDrmSessionManager(DrmSessionManager)` * `setDrmHttpDataSourceFactory(HttpDataSource.Factory)` * `setDrmUserAgent(String)` And the rest have been deprecated since 2.12.0 ([commit](https://github.com/google/ExoPlayer/commit/d1bbd3507a818e14be965c300938f9d51f8b7836)): * `setStreamKeys(List<String>)` * `createMediaSource(Uri)` PiperOrigin-RevId: 417622794
ibaker committed -
Move static factories into a separate class and make it implement an interface that will let tests customize encoder/decoder creation. PiperOrigin-RevId: 417610825
claincly committed -
Inspired by my investigation of Issue: google/ExoPlayer#9797 #minor-release PiperOrigin-RevId: 417609076
ibaker committed -
The spec renamed this type of playlist in the latest revision to use a more inclusive technical term (see https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-10) PiperOrigin-RevId: 417560274
tonihei committed -
PiperOrigin-RevId: 417428182
ibaker committed
-
- 20 Dec, 2021 12 commits
-
-
The old name is kept in exoplayer2. PiperOrigin-RevId: 417378759
ibaker committed -
PiperOrigin-RevId: 417378468
ibaker committed -
PiperOrigin-RevId: 416848472
andrewlewis committed -
To support multi-period content we need to store AdPlaybackStates and SharedMediaPeriod by the periodUid as a key. While after this no-op CL, we still only support single-period content, storing these resources by periodUid is the ground work for multi-period support being added in an follow-up CL. PiperOrigin-RevId: 416836445
bachinger committed -
This method has been deprecated since 2.12.0: https://github.com/google/ExoPlayer/commit/d1bbd3507a818e14be965c300938f9d51f8b7836 PiperOrigin-RevId: 416827149
ibaker committed -
Keep the old interface deprecated so any app code implementing it by name (rather than with a lambda) will continue to work. PiperOrigin-RevId: 416816566
ibaker committed -
PiperOrigin-RevId: 416809105
ibaker committed -
PiperOrigin-RevId: 416795667
andrewlewis committed -
These comments inadvertantly refer to types and drawables associated with Player(Control)View. PiperOrigin-RevId: 416794967
ibaker committed -
Transformer uses ExoPlayer for reading input. Apps using Transformer do not need to know this. So, PlaybackExceptions are converted to TransformationExceptions with the same message, cause and error code. The corresponding IO error codes are copied from PlaybackException. PiperOrigin-RevId: 416793741
hschlueter committed -
We check the fraction of the available duration we have already buffered for live streams to see if we can increase the quality. This fraction compares against the overall available media duration at the time of the track selection, which by definition can't include one of the availabe chunks (as this is the one we want to load next). That means, for example, that for a reasonable live offset of 3 segments we can at most reach a fraction of 0.66, which is less than our default threshold of 0.75, meaning we can never switch up. By subtracting one chunk duration from the available duration, we make this comparison fair again and allow all live streams (regardless of live offset) to reach up to 100% buffered data (which is above our default value of 75%), so that they can increase the quality. Issue: google/ExoPlayer#9784 PiperOrigin-RevId: 416791033
tonihei committed -
Use TransformationException for codec and audio processor initialization problems instead. PiperOrigin-RevId: 416765510
hschlueter committed
-
- 16 Dec, 2021 3 commits
-
-
Format.NO_VALUE should only be used for Format fields. PiperOrigin-RevId: 416646415
hschlueter committed -
PiperOrigin-RevId: 416613846
ibaker committed -
PiperOrigin-RevId: 416543473
bachinger committed
-
- 15 Dec, 2021 1 commit
-
-
PiperOrigin-RevId: 416521346
andrewlewis committed
-