- 20 Jun, 2023 2 commits
-
-
Some events may arrive after the playlist is cleared (e.g. load cancellation). In this case, the DefaultPlaybackSessionManager may create a new session for the already removed item. We already have checks in place that ignore events with old windowSequenceNumbers, but these checks only work if the current session is set (i.e. the playlist is non-empty). The fix is to add the same check for empty playlists by keeping note of the last removed window sequence number. PiperOrigin-RevId: 541870812 (cherry picked from commit 656e0723e51e1bc38d558e77fa2cb0cc17e37054)
tonihei committed -
PiperOrigin-RevId: 540875285 (cherry picked from commit 9fd38c16eeb9e64ff62a0a47ae6e174bb8de8d43)
Ian Baker committed
-
- 15 Jun, 2023 2 commits
-
-
Instead of providing `playbackDurationUs` and `loadPositionUs` individually, which are used to calculate the buffer duration for CMCD logging, we can directly pass the pre-calculated `bufferedDurationUs` available in the `getNextChunk` method of the chunk source classes. Issue: google/ExoPlayer#8699 #minor-release PiperOrigin-RevId: 540630112 (cherry picked from commit 4d1119ab24384621877f4e7854dca1fa6db964a3)
rohks committed -
Additionally, two existing methods to `buildDataSpec` in `DashUtil` have been deprecated, while a new method has been added that allows the inclusion of `httpRequestHeaders`. Issue: google/ExoPlayer#8699 #minor-release PiperOrigin-RevId: 540594444 (cherry picked from commit c69b6fe41d065175dacc22b1b30efed91b8102f1)
rohks committed
-
- 14 Jun, 2023 3 commits
-
-
These comments reflect the parameter names of the constructor that we're reflectively calling, but errorprone complains that they don't match the parameter names of `Constructor.newInstance`. PiperOrigin-RevId: 540348118 (cherry picked from commit 2b53f100f858e36159ab636e82bcb07d26868150)
ibaker committed -
Previously `AsynchronousMediaCodecCallback.mediaCodecException` was cleared when flushing completed. This behaviour was changed in https://github.com/google/ExoPlayer/commit/aeff51c50772a82e44045e7d80e8a13390e2bb36 so now the exception is not cleared. The result after that commit was that we would **only** suppress/ignore the expression if a flush was currently pending, and we would throw it both before and after the flush. This doesn't really make sense, so this commit changes the behaviour to also throw the exception during the flush. This commit also corrects the assertion in `flush_withPendingError_resetsError` and deflakes it so that it consistently passes. The previous version of this test, although the assertion was incorrect, would often pass because the `dequeueInputBuffer` call would happen while the `flush` was still pending, so the exception was suppressed. #minor-release PiperOrigin-RevId: 540237228 (cherry picked from commit dd17e73629930628e5cb313301ceabf0c776bd18)
ibaker committed -
PiperOrigin-RevId: 540220141 (cherry picked from commit 1434c61bf5e8a92d90cadc39e66e5edb993b9a84)
tonihei committed
-
- 12 Jun, 2023 3 commits
-
-
This was recommended in https://github.com/robolectric/robolectric/issues/8187#issuecomment-1552060094 PiperOrigin-RevId: 539691757 (cherry picked from commit 3923878db4f8ebbcf242f8941424b9f4e6999b5e)
ibaker committed -
Issue: androidx/media#452 #minor-release PiperOrigin-RevId: 539613535 (cherry picked from commit 44910cc80b54c499afd9c0f1e7cbaa778a4200a0)
bachinger committed -
1. Not treating 0 as valid buffer index 2. Not handling the case the last frame is a comparison frame PiperOrigin-RevId: 539607482 (cherry picked from commit 750988797436a3a7af0c3ff8deb8bda22da12038)
claincly committed
-
- 11 Aug, 2023 1 commit
-
-
This flag was introduced to fix links in javadoc search when generating it with Java 11: <unknown commit> The flag is no longer supported with Java 17 (which is required for Gradle 8.0+), and seems to no longer be needed: I generated the javadoc with it removed and the search links work OK. PiperOrigin-RevId: 536738686
ibaker committed
-
- 05 Jul, 2023 1 commit
-
-
Release v2 r2.19.0
Tofunmi Adigun-Hameed committed
-
- 26 Jun, 2023 4 commits
-
-
Tofunmi Adigun-Hameed committed
-
PiperOrigin-RevId: 541640959 (cherry picked from commit 3f991f643c053d8cbd6d324de405fb7c96f3ce0d)
bachinger committed -
#minor-release PiperOrigin-RevId: 543393737 (cherry picked from commit 76767093a00dfb7623b3574f7995a80c78bbce93)
tofunmi committed -
#minor-release PiperOrigin-RevId: 543369900 (cherry picked from commit fb6a496607c7d476cb0893711e9620c4f72e0ce1)
tofunmi committed
-
- 23 Jun, 2023 5 commits
-
-
#minor-release PiperOrigin-RevId: 542881427 (cherry picked from commit b9d289fc0b1adcf108835448cc90c2f4c7b7ba30)
tofunmi committed -
#minor-release PiperOrigin-RevId: 542565180 (cherry picked from commit 7aa13a42c3562b88da7ec60970a20f833f192bb7)
tofunmi committed -
These were missed in https://github.com/google/ExoPlayer/commit/10342507f7c2e167e95365609ea584d227bc9b5d #minor-release PiperOrigin-RevId: 541860649 (cherry picked from commit 273953e79c0d53ccdf6344074e1d777d7ee93185)
ibaker committed -
#minor-release PiperOrigin-RevId: 540517113 (cherry picked from commit 350ced258f48e2da84c8a67747917f0b12f1e037)
ibaker committed -
#minor-release Issue: androidx/media#452 PiperOrigin-RevId: 539915277 (cherry picked from commit 73fda2fdd4feb524b89d77c2b39d96171f62346c)
bachinger committed
-
- 15 Jun, 2023 1 commit
-
-
More info, including a script to help with the migration: https://developer.android.com/guide/topics/media/media3/getting-started/migration-guide PiperOrigin-RevId: 540345728 (cherry picked from commit af1b9f64c4774b1e4d63de72c201dc565fa899c3)
ibaker committed
-
- 09 Jun, 2023 9 commits
-
-
https://github.com/google/ExoPlayer/commit/21b5661897bb684502ae187f2aec83f58a1d21ff
*** Original commit *** Add a timer to end a video stream prematurely in ExtTexMgr *** This has been submitting for more than 1.5hrs. "This presubmit is running slowly because you have been throttled by Build Queue due to using too much of your Product Area's quota." adding NO_SQ as this is a pure rollback PiperOrigin-RevId: 539135970 (cherry picked from commit e790f3271f209f4fcc955f6d8841ec5219da7156)
Googler committed -
#minor-release PiperOrigin-RevId: 539112700 (cherry picked from commit 36a6fe4af70031bdf451d759ec9a31633c46ad99)
tofunmi committed -
Add `HlsMediaSource.Factory.setTimestampAdjusterInitializationTimeoutMs(long)` to set the timeout for the loading thread to wait for the `TimestampAdjuster` to initialize. If the initialization doesn't complete before the timeout, a `PlaybackException` is thrown to avoid the playback endless stalling. The timeout is set to zero by default. This can avoid HLS playback endlessly stalls when manifest has missing discontinuities. According to the HLS spec, all variants and renditions have discontinuities at the same points in time. If not, the one with discontinuities will have a new `TimestampAdjuster` not shared by the others. When the loading thread of that variant is waiting for the other threads to initialize the timestamp and hits the timeout, the playback will stall. Issue: androidx/media#323 #minor-release PiperOrigin-RevId: 539108886 (cherry picked from commit 4eb56cfce76a41ff90d50d2d9e3ea4e9ad0d7b4e)
tianyifeng committed -
This change addresses the case when the user joins the live stream on an ad period but the metadata for the ad period is not emitted. This results in inserting a partial ad group. In this case the ad group duration is longer than the partial ad group. If now the partial ad group ends at the period before the last period of the window (unknown duration), the splitting algorithm didn't recognize that the ad group already ended and made the last period wrongly an ad period. This change handles this edge case by counting the mapped ads in the partial ad group to detect this situation and stops splitting. #minor-release PiperOrigin-RevId: 539102785 (cherry picked from commit 2adeb4107790e1a9f822b5b810e532501a02e4aa)
bachinger committed -
PiperOrigin-RevId: 539100987 (cherry picked from commit 4755e7313e5a31f5f9b6599ff290580026994b75)
claincly committed -
In case the player is reset while a live stream is playing, the current period needs to be a placeholder. This makes sure that the default start position is used when the first live timeline arrives after re-preparing. #minor-release PiperOrigin-RevId: 539044360 (cherry picked from commit 538143aad92340ede0891a74c514a213e5513d06)
bachinger committed -
PiperOrigin-RevId: 539036285 (cherry picked from commit 21b5661897bb684502ae187f2aec83f58a1d21ff)
claincly committed -
When the source is prepared again after stop, the period uid is calculated by subtracting the `firstPeriodId` from the period uid that is passed in to `createPeriod`. When this happens after stop, the uid from the old period uid that is still stored and has the value of the last played uid. Hence the `firstPeriodId` must not be reset when released. Issue: google/ExoPlayer#10838 PiperOrigin-RevId: 539028570 (cherry picked from commit de2ad14f46f4790063dfef849ba8cc0069f6106e)
bachinger committed -
Add support for including Common Media Client Data (CMCD) in the outgoing requests of adaptive streaming formats DASH, HLS, and SmoothStreaming. API structure and API methods: * CMCD logging is disabled by default, use `MediaSource.Factory.setCmcdConfigurationFactory(CmcdConfiguration.Factory cmcdConfigurationFactory)` to enable it. * All keys are enabled by default, override `CmcdConfiguration.RequestConfig.isKeyAllowed(String key)` to filter out which keys are logged. * Override `CmcdConfiguration.RequestConfig.getCustomData()` to enable custom key logging. NOTE: Only the following fields have been implemented: `br`, `bl`, `cid`, `rtp`, and `sid`. Issue: google/ExoPlayer#8699 #minor-release PiperOrigin-RevId: 539021056 (cherry picked from commit b7e71538a3fc6892cf75f1e0799f339e63d2f1ec)
rohks committed
-
- 08 Jun, 2023 7 commits
-
-
#minor-release PiperOrigin-RevId: 538927855 (cherry picked from commit 499fd0942c7557bf5970b4bc79cd7fa4648f0227)
bachinger committed -
#minor-release PiperOrigin-RevId: 538809105 (cherry picked from commit 8be5705ff7514f26f2caacef8d559f8e41bc14de)
jbibik committed -
#minor-release PiperOrigin-RevId: 538804347 (cherry picked from commit 4bb7b3cddcddd228ed6d513b4e2ffa80268b2fbc)
tofunmi committed -
PiperOrigin-RevId: 538796466 (cherry picked from commit 782b9535816df2709526b0031e5902c4f636c322)
claincly committed -
Changes included: 1. Enable MP4 extractor to read all types of metadata. 2. Allow passing String and Float metadata via Transformer. Reference to QuickTime spec: https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/Metadata/Metadata.html#//apple_ref/doc/uid/TP40000939-CH1-SW21 PiperOrigin-RevId: 538783982 (cherry picked from commit 8ce74aa4000d7b6bb9673734c42c3620cd602544)
sheenachhabra committed -
PiperOrigin-RevId: 538742957 (cherry picked from commit f582e41aab795398ea0e7ef2a70c6282b6ead634)
sheenachhabra committed -
To ensure no regressions for the potentially confusing pipeline of: * HDR electrical -> SDR linear EOTF+OOTF, and * SDR linear -> SDR electrical OETF PiperOrigin-RevId: 538741079 (cherry picked from commit 63b6df33353aa4098649fa042e636a3445d28b89)
huangdarwin committed
-
- 07 Jun, 2023 2 commits
-
-
PiperOrigin-RevId: 538495675 (cherry picked from commit 85bfc08595c40f646e8090dd81c7ae79080cf70f)
tofunmi committed -
PiperOrigin-RevId: 538491957 (cherry picked from commit 466308c736a2757edbddb0384f25f21dbca9e661)
huangdarwin committed
-