- 05 Jan, 2022 40 commits
-
-
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 -
MediaController.getContentPosition() estimates the content position based on the last position info sent by the player and the elapsed real-time since the position info was received. After calling MediaController's play/pause/setPlayWhenReady, the position estimation logic is still applying, therefore advancing the position until the underlying player's actual position is received. This can make the MediaController's content position to be out of sync with player's actual content position. With this change, MediaController stops making content position estimations after any of play/pause/setPlayWhenReady is called and until a new position info is received from the underlying player. Tested manually with the the session demo app, pausing/resuming content from the UI. PiperOrigin-RevId: 418000800
christosts 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 -
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 -
This involves stabilising AdsLoader and ImaAdsLoader, as well as (Default)MediaSourceFactory and the following methods on ExoPlayer.Builder: * setMediaSourceFactory * setAdsLoaderProvider * setAdViewProvider Most of ImaAdsLoader.Builder and (Default)MediaSourceFactory remain unstable for now. PiperOrigin-RevId: 417814106
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 -
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 -
The old name is kept in exoplayer2. PiperOrigin-RevId: 417378759
ibaker committed -
PiperOrigin-RevId: 417378468
ibaker committed -
The whole class is package-private, so this is a no-op, but it makes the intent of the visibililty more clear. PiperOrigin-RevId: 417377659
ibaker committed -
For the media3 codebase the timeline images need to be under the common module. Verified results in an empty commit for ExoPlayer GitHub. PiperOrigin-RevId: 416850853
andrewlewis 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 -
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 -
PiperOrigin-RevId: 416753081
ibaker committed -
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 -
PiperOrigin-RevId: 416521346
andrewlewis committed -
PiperOrigin-RevId: 416421456
jaewan committed -
Before the introduction of the MediaCodecAdapter, users could get access directly to the MediaCodec instance from MediaCodecRenderer.getCodec() and then retrieve the codec metrics. This change exposes MediaCodec.getMetrics() on the MediaCodecAdapter. Issue: google/ExoPlayer#9766 #minor-release PiperOrigin-RevId: 416343023
christosts committed -
This is a no-op because all the <resource> elements from these XML files are effectively concatenated together during building. PiperOrigin-RevId: 416326534
ibaker committed -
The same condition is checked further up on L497 already. PiperOrigin-RevId: 416324687
tonihei committed -
This app uses the StyledPlayerView, so it should use the styled_ drawables. PiperOrigin-RevId: 416315889
ibaker committed -
PiperOrigin-RevId: 416314200
bachinger committed
-