11231 Commits

Author SHA1 Message Date
Oliver Woodman
3dfc7f56dc Remove CNAME 2021-04-21 09:22:05 +01:00
Oliver Woodman
f89d3a9007 Read-add gh-pages 2021-04-20 17:32:19 +01:00
Oliver Woodman
ebd024a3ae Delete gh-pages for now 2021-04-20 16:49:00 +01:00
Oliver Woodman
be50942c24 Move gh-pages to required directory 2021-04-20 16:18:09 +01:00
Oliver Woodman
e2fec6cb87 Move gh-pages to required directory 2021-04-20 16:16:23 +01:00
Oliver Woodman
b53ced809d Move gh-pages to top level 2021-04-20 16:14:29 +01:00
Oliver Woodman
26316eec99 Add gh-pages to main release branch 2021-04-20 16:04:58 +01:00
olly
8a11875bd7 Correct Javadoc location
PiperOrigin-RevId: 369433627
2021-04-20 15:35:30 +01:00
tonihei
e60609e344 Prevent creation of new sessions if the Timeline is empty.
We currently create sessions based on the placeholder window
index. This shouldn't be needed as we now set a non-empty
timeline as soon as the first MediaItem is added to the playlist.

Once this check is part of the session manager, we can also remove
the equivalent workarounds from the various code integrations.

PiperOrigin-RevId: 369432853
2021-04-20 15:35:13 +01:00
andrewlewis
8fbe11aa54 Move extensions/cronet to libraries/datasource_cronet
See go/media-apis-codebase-google3.

PiperOrigin-RevId: 369425137
2021-04-20 15:34:52 +01:00
Oliver Woodman
f66bdc71a0 Add gh-pages to main dev branch 2021-04-20 14:26:36 +01:00
Oliver Woodman
830d0017d7 Remove deprecated DefaultMediaSourceEventListener
PiperOrigin-RevId: 369425007
2021-04-20 14:26:18 +01:00
krocard
08336e372d Rollforward of Move VideoComponent to ExoPlayer
The original cl has been fixed by not implementing
VideoListener but Player.Listener in
StyledPlayerView.

VideoFrameMetadataListener and CameraMotionListener are still part
of the Player interface as a good way to break the UI dependency
on them has not yet been finalised.

PiperOrigin-RevId: 369417682
2021-04-20 14:02:48 +01:00
krocard
f201b617d7 Fix broken subtitles in StyledPlayerView
PlayerView is not affected.

PiperOrigin-RevId: 369401563
2021-04-20 14:02:33 +01:00
olly
f2c13d9f44 Misc cleanup / clarification for bandwidth improvements
PiperOrigin-RevId: 369315524
2021-04-20 00:17:17 +01:00
olly
7a13163664 MediaCodecAdapter.Factory creates a started Adapter.
This change moves the responsibility of creating, configuring and starting the MediaCodec from the MediaCodecRender to the MediaCodecAdapter.Factory.

This move allows ExoPlayer's client to decide how and when codecs are created and/or reused.

To allow the move, this CL replaces MediaCodecRenderer.ConfigureCodec with MediaCodecRenderer.getCodecConfiguration

PiperOrigin-RevId: 369273887
2021-04-20 00:10:36 +01:00
Oliver Woodman
9fc3b48377 Merge pull request #8812 from TiVo:p-fix-iframe-only-implicit-init
PiperOrigin-RevId: 369215083
2021-04-20 00:10:13 +01:00
tonihei
4f145a83cf Make ProgramInformation final.
This was likely an oversight when first importing #4930.

PiperOrigin-RevId: 369199775
2021-04-20 00:09:59 +01:00
ibaker
6550ea88ea Rollback of cdebf6c68b
*** Original commit ***

Move VideoComponent in ExoPlayer

VideoFrameMetadataListener and CameraMotionListener are still part
of the Player interface as a good way to break the UI dependency
on them has not yet been finalised.

***

PiperOrigin-RevId: 369194309
2021-04-20 00:09:45 +01:00
olly
f438955285 Fix 1 ErrorProneFragileCode finding, REQUIRING THOROUGH REVIEW:
* Prefer instanceof to getClass when implementing Object#equals.
  (see http://go/bugpattern/EqualsGetClass)

This CL looks good? Just LGTM and Approve it!
This CL doesn’t look good? This is what you can do:
* Suggest a fix on the CL (go/how-to-suggest-fix).
* Revert this CL, by replying "REVERT: <provide reason>"
* File a bug under go/error-prone-bug for category ErrorProneFragileCode if the change looks generally problematic.
* Revert this CL and not get a CL that cleans up these paths in the future by
replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to
opt out the respective paths in your CL Robot configuration instead:
go/clrobot-opt-out.

This CL was generated by CL Robot - a tool that cleans up code findings
(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/exoplayer/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/exoplayer/METADATA.
Anything wrong with the signup? File a bug at go/clrobot-bug.

#codehealth

PiperOrigin-RevId: 369180513
2021-04-20 00:09:31 +01:00
krocard
cdebf6c68b Move VideoComponent in ExoPlayer
VideoFrameMetadataListener and CameraMotionListener are still part
of the Player interface as a good way to break the UI dependency
on them has not yet been finalised.

PiperOrigin-RevId: 368863829
2021-04-20 00:08:08 +01:00
andrewlewis
a6e9a9c6d2 Remove mocking executor in CronetDataSourceTest
Other tests in this file already use `Executors.newSingleThreadExecutor` so do the same for the ones that currently use `mockExecutor`.

PiperOrigin-RevId: 368859470
2021-04-20 00:07:39 +01:00
kimvde
62eb54532b Add missing checks to ExoPlayer Builders
PiperOrigin-RevId: 368851903
2021-04-20 00:07:11 +01:00
bachinger
19c267b15b Update release notes
PiperOrigin-RevId: 368822503
2021-04-16 14:13:41 +01:00
olly
33f3e5fca0 Make surfaceView non-clickable
PiperOrigin-RevId: 368818853
2021-04-16 14:13:30 +01:00
kimvde
2cc51db54a Refactor SEP prepare to clarify that it is equivalent to EPI prepare.
Before this change:
- SimpleExoPlayer.prepare(mediaSource) ended up calling
  ExoPlayerImpl.setMediaSourcesInternal() with startWindowIndex=0 and
  resetToDefaultPosition=false.
- ExoPlayerImpl.prepare(mediaSource) ended up calling
  ExoPlayerImpl.setMediaSourcesInternal() with
  startWindowIndex=C.INDEX_UNSET and resetToDefaultPosition=true.

This was functionaly equivalent but a bit confusing.

#minor-release

PiperOrigin-RevId: 368818143
2021-04-16 14:13:19 +01:00
ibaker
fff7b8079a Replace Util.toUpperInvariant() with Ascii.toUpperCase()
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.

Util.toUpperInvariant() is null-tolerant, while Ascii.toLowercase() is
not. Most usages in this change are clearly non-null. The BandwidthMeter
usages aren't annotated @Nullable, but the current code *would* work if
countryCode was null in both cases. These methods will now throw NPE if
they're passed null.

PiperOrigin-RevId: 368816287
2021-04-16 14:13:08 +01:00
Oliver Woodman
5511bb66d8 Merge pull request #8814 from dlafayet:line-height
PiperOrigin-RevId: 368803206
2021-04-16 14:12:46 +01:00
jaewan
66e4e47e1a Fix typo
PiperOrigin-RevId: 368789636
2021-04-16 14:12:33 +01:00
kimvde
b0260f7cb8 Add experimentalSetForegroundModeTimeoutMs on SimpleExoPlayer
This is necessary to migrate apps which are using
ExoPlayer.Builder.experimentalSetForegroundModeTimeoutMs
from ExoPlayerImpl to SimpleExoPlayer.

PiperOrigin-RevId: 368657557
2021-04-16 14:12:22 +01:00
olly
3ab344c218 Fix 1 ErrorProneStyle finding:
* The Google Java Style Guide requires that each switch statement includes a default statement group, even if it contains no code. (This requirement is lifted for any switch statement that covers all values of an enum.)
  (see http://go/bugpattern/MissingDefault)

This CL looks good? Just LGTM and Approve it!
This CL doesn’t look good? This is what you can do:
* Suggest a fix on the CL (go/how-to-suggest-fix).
* Revert this CL, by replying "REVERT: <provide reason>"
* File a bug under go/error-prone-bug for category ErrorProneStyle if the change looks generally problematic.
* Revert this CL and not get a CL that cleans up these paths in the future by
replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to
opt out the respective paths in your CL Robot configuration instead:
go/clrobot-opt-out.

This CL was generated by CL Robot - a tool that cleans up code findings
(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/exoplayer/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/exoplayer/METADATA.
Anything wrong with the signup? File a bug at go/clrobot-bug.

#codehealth

PiperOrigin-RevId: 368586454
2021-04-15 10:53:47 +01:00
andrewlewis
14e085d6c0 Update internal codebase location for av1 extension
PiperOrigin-RevId: 368585664
2021-04-15 10:53:36 +01:00
jaewan
56899cb0e5 Tweak discontinuity reason definitions for remote players
Discontinuity reasons may not be precisely obtained for remote
player. 'Remote Player' means that playback is owned by another
app or device and the same playback can be controller by other
clients simultaneously. The MediaController is an example.
If the remote playback doesn't provide discontinuity reason, then
player cannot differentiate between automatic playback transition
and seekTo() from another client.

This CL tweaks the discontinuity reason definitions, so reasons
can be obtained without remote playback's support.
This doesn't effect the local Players, such as SimpleExoPlayer.

PiperOrigin-RevId: 368579577
2021-04-15 10:53:26 +01:00
jaewan
f0d84f21d3 Make PositionInfo Bundleable
PiperOrigin-RevId: 368453894
2021-04-15 10:53:15 +01:00
olly
d7c7161002 Core/UI decoupling: Replace SingleTapListener with OnClickListener
PiperOrigin-RevId: 368448442
2021-04-15 10:52:46 +01:00
krocard
54f3dfb453 Move DeviceComponent in ExoPlayer
PiperOrigin-RevId: 368437660
2021-04-15 10:52:35 +01:00
krocard
5ae84ab5f4 Move TextComponent to ExoPlayer
PiperOrigin-RevId: 368428647
2021-04-15 10:52:24 +01:00
olly
bd654279d7 Core/UI decoupling: Remove SphericalGLSurfaceView cast
PiperOrigin-RevId: 368420961
2021-04-15 10:52:12 +01:00
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
krocard
40d3e12853 Move MetadataComponent from Player to ExoPlayer
PiperOrigin-RevId: 368418142
2021-04-15 10:51:26 +01:00
krocard
f4f312738b Update to Gradle plugin 4.1
Some usage of += had to be changed to use .add
because GString can be implitly converted to String
and back, but it is not the case for List<GString>
and List<String>.

PiperOrigin-RevId: 368416727
2021-04-15 10:51:16 +01:00
krocard
4fc4ddbc6a Move AudioComponent to ExoPlayer leaving key methods in Player
PiperOrigin-RevId: 368413660
2021-04-15 10:51:05 +01:00
Marc Baechinger
0ba317b133
Merge pull request #8816 from google/dev-v2-r2.13.3
r2.13.3
2021-04-14 17:01:14 +01:00
marcbaechinger
b34e0b26dd Remove release notes item about publication intructions 2021-04-14 16:41:46 +01:00
marcbaechinger
c4a6b2e618 Mention publishing to Google Maven at top of release notes. 2021-04-14 14:28:47 +01:00
marcbaechinger
9fde2cf30c fix release notes 2021-04-14 14:12:35 +01:00
andrewlewis
d359882871 Update internal codebase location for flac extension
PiperOrigin-RevId: 368388742
2021-04-14 11:42:51 +01:00
jaewan
d13385be93 Fix typo in Player#isPlaying() Javadoc
PiperOrigin-RevId: 368383121
2021-04-14 11:41:04 +01:00
gyumin
1ad56e96c2 Add mediaId to PlaybackStateCompat extras
It provides a way to associate PlaybackState with the current media
item.

Startblock:
  <unknown commit> is submitted
PiperOrigin-RevId: 368354775
2021-04-14 11:40:52 +01:00
Denise LaFayette
69f80d9be9 Fix bottom-cropped text in WebView output
Use unitless numbers for WebView line-height values

See
https://developer.mozilla.org/en-US/docs/Web/CSS/line-height#prefer_unitless_numbers_for_line-height_values
2021-04-13 12:43:47 -07:00