- 17 Oct, 2020 32 commits
-
-
When I moved ParsableByteArray#data behind a getter I replaced some assignments with calls to reset(byte[]): https://github.com/google/ExoPlayer/commit/ce2e6e2fd625db787b1f400614adcd7458144bbd reset(byte[]) deliberately sets `limit` to `data.length`, in order to handle cases that were reassigning `data` but not updating `limit`. However OggPacket was already using `limit` to track where to write 'new' data into the array, so changing `limit` to `data.length` caused us to try and write new data beyond the end of the array. I looked at other uses of reset(byte[]) in https://github.com/google/ExoPlayer/commit/ce2e6e2fd625db787b1f400614adcd7458144bbd and condluded the only other usage in MatroskaExtractor is legit and shouldn't be updated like this (because MatroskaExtractor previously *wasn't* correctly updating/maintaining `limit`). Issue: #7992 PiperOrigin-RevId: 334601586
ibaker committed -
PiperOrigin-RevId: 334567234
andrewlewis committed -
PiperOrigin-RevId: 334562209
andrewlewis committed -
Non-realtime AudioTrack playback speed was not taken into account when extrapolating the old mode's position, causing the position not to advance smoothly. This should be a no-op when not using AudioTrack playback params for speed adjustment. Issue: #7982 PiperOrigin-RevId: 334151163
andrewlewis committed -
Every other subtitleButton has an if not null check, but does not force non null. Issue: #7962 PiperOrigin-RevId: 334124323
samrobinson committed -
On receiving a fetch error for an ad that would otherwise play based on an initial/seek position, the pending content position wasn't cleared which meant that position reporting was broken after a fetch error. Fix this by always clearing the pending position (if there was a pending position that will have triggered the fetch error). Also deduplicate the code for handling empty ad groups (fetch errors) and ad group load errors. Issue: #7956 PiperOrigin-RevId: 334113131
andrewlewis committed -
PiperOrigin-RevId: 333751261
Oliver Woodman committed -
Issue: #7949 PiperOrigin-RevId: 333733615
kimvde committed -
ISSUE: #7977 PiperOrigin-RevId: 333726625
bachinger committed -
PiperOrigin-RevId: 333712782
christosts committed -
Issue: #7967 PiperOrigin-RevId: 333709003
samrobinson committed -
Fix bug to place the negative sign in the beginning of the returned String. PiperOrigin-RevId: 333504868
christosts committed -
PiperOrigin-RevId: 333485323
kim-vde committed -
PiperOrigin-RevId: 333480727
tonihei committed -
This issue has been observed on a test app stress testing setEndOfStream. The issue has not been observed on ExoPlayer, probably due to timing differences, but it is fixed preventively. #exo-offload PiperOrigin-RevId: 333472136
krocard committed -
This seems to be an exact copy of sample.adts. Update the test to use the same sample but just output to a different dump file. PiperOrigin-RevId: 333469714
ibaker committed -
These are from https://medium.com/google-exoplayer/improved-japanese-subtitle-support-7598fee12cf4 PiperOrigin-RevId: 333296789
ibaker committed -
PiperOrigin-RevId: 333272292
andrewlewis committed -
PiperOrigin-RevId: 333051018
andrewlewis committed -
We have a workaround for uneven sample stream durarions in playlists that assumes a renderer allows playback if it's reading ahead or waiting for the next stream. https://github.com/google/ExoPlayer/commit/652c2f9c188bf9d9d6e323ff5333e5026454a082 changed this logic to no longer require to wait until the next stream is prepared due to a change in how we advance media periods in the queue. However, the code falsely still requires the next stream to exist (even if it's not prepared). This can cause a stuck buffering state when the difference in the duration of the streams is more than what we buffer ahead because we never create the next stream in such a case. Note: DefaultMediaClock.shouldUseStandaloneClock has roughly the same logic and also doesn't require the next stream to be present. Also fix a test that seemed to rely on this stuck buffering case to test stuck buffering detection. Changed the test to not read the end of stream to ensure it runs into the desired stuck buffering case. Issue:#7943 PiperOrigin-RevId: 333050285
tonihei committed -
PiperOrigin-RevId: 333031399
ibaker committed -
https://github.com/google/ExoPlayer/commit/f2c51560c21bdd757c30678223345fa8f59fb82b
PiperOrigin-RevId: 333031301
tonihei committed -
PiperOrigin-RevId: 333029935
tonihei committed -
PiperOrigin-RevId: 333023580
olly committed -
We're not using regex so there's no need to use replaceAll() PiperOrigin-RevId: 332865724
ibaker committed -
Without this patch, playback would be frozen indefinitely until the user manually pauses and unpauses it. This has the side effect of disabling offload until the next stop due to the workaround of disabling offload when it encounters a failure. As an audio server crash is considered very infrequent, especially in stable conditions like an audio only playback, it is unlikely that disabling offload is an issue. PiperOrigin-RevId: 332857094
krocard committed -
PiperOrigin-RevId: 332814223
Oliver Woodman committed -
PiperOrigin-RevId: 332254072
kimvde committed -
I didn't copy-paste the whole of https://github.com/google/guava/wiki/UsingProGuardWithGuava because this line seems relevant based on our current usage. Lots of that file seems to relate to classes that are strongly discouraged on Android: https://github.com/google/guava/wiki/Android#specifics I've only added this to the `common` module, since everyone that uses ExoPlayer must depend on that. This avoids duplicating this line into every module that has a Guava dependency. Also remove some other warning suppressions that are defined in both `core` and `common`. Issue: #7904 PiperOrigin-RevId: 332203086
ibaker committed -
PiperOrigin-RevId: 332014290
olly committed -
Issue: #7866 PiperOrigin-RevId: 330736774
kimvde committed -
PiperOrigin-RevId: 331591005
olly committed
-
- 21 Sep, 2020 2 commits
- 16 Sep, 2020 6 commits
-
-
PiperOrigin-RevId: 332015471
olly committed -
PiperOrigin-RevId: 332012857
aquilescanta committed -
Since gradle 4.0, CMake imported libraries are bundled in the APK, so manually bundling them causes a duplication which breaks the build. Issue: #7906 PiperOrigin-RevId: 332012375
aquilescanta committed -
PiperOrigin-RevId: 331955966
christosts committed -
Issue: #7906 PiperOrigin-RevId: 331775990
olly committed -
Issue: #7902 PiperOrigin-RevId: 331771187
olly committed
-