media/extensions
ibaker c50084e7ba Replace Util.toLowerInvariant() with Ascii.toLowerCase()
Even when fixed to the US locale (and thus avoiding surprising behaviour
in e.g. Turkish locale with "i" and "I") there are unexpected behaviours
when upper and lower casing non-ASCII characters.

For example it's sometimes not symmetric, e.g.:
"ẞ".toLowerCase() -> "ß"
"ß".toUpperCase() -> "SS"

In all the ExoPlayer usages we are either dealing with known-ASCII
strings (e.g. MIME types) or comparing against ASCII constant strings
anyway, so it seems easier to just use Guava's ASCII-only class in these
cases.

This change also includes some null-twiddling, because
Util.toLowerInvariant() is null tolerant, while Ascii.toLowerCase() is
not. Most of the usages were already non-null, and it was easy enough to
change the remaining ones to be so by simple reordering of statements.

I'll make an equivalent change for Util.toUpperInvariant() next.

PiperOrigin-RevId: 368419813
2021-04-15 10:51:48 +01:00
..
av1 Fix ffmpeg build script's strip tool for armeabi-v7a 2020-11-30 16:11:19 +00:00
cast Move MetadataComponent from Player to ExoPlayer 2021-04-15 10:51:26 +01:00
cronet Replace Util.toLowerInvariant() with Ascii.toLowerCase() 2021-04-15 10:51:48 +01:00
ffmpeg Ffmpeg extension: Wait for channel count and sample rate 2021-04-01 16:06:59 +01:00
flac Switch tests to use SimpleExoPlayer 2021-04-01 16:05:35 +01:00
gvr Remove unused resources from deprecated GVR module 2021-04-13 14:58:33 +01:00
ima Move AudioComponent to ExoPlayer leaving key methods in Player 2021-04-15 10:51:05 +01:00
leanback Add positions and new reasons to onPositionDiscontinuity 2021-03-24 19:56:25 +00:00
media2 Move AudioComponent to ExoPlayer leaving key methods in Player 2021-04-15 10:51:05 +01:00
mediasession Add mediaId to PlaybackStateCompat extras 2021-04-14 11:40:52 +01:00
okhttp Replace Util.toLowerInvariant() with Ascii.toLowerCase() 2021-04-15 10:51:48 +01:00
opus Switch tests to use SimpleExoPlayer 2021-04-01 16:05:35 +01:00
rtmp OkHttp/Rtmp extensions: Remove dependency on core 2021-01-25 17:38:36 +00:00
vp9 Switch tests to use SimpleExoPlayer 2021-04-01 16:05:35 +01:00
workmanager Upgrade some dependency versions 2021-02-04 09:57:27 +00:00
README.md Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00

ExoPlayer extensions

ExoPlayer extensions are modules that depend on external libraries to provide additional functionality. Browse the individual extensions and their READMEs to learn more.