Make javadoc valid html5

As of [JDK-8247957](https://bugs.openjdk.java.net/browse/JDK-8247957), doclint
no longer supports html4.

Tested:
    Some test failures are present, but the CL author has decided to mail the change anyway
PiperOrigin-RevId: 378819179
This commit is contained in:
olly 2021-06-11 08:33:16 +01:00 committed by Oliver Woodman
parent 3a519b539b
commit 3e819d082a
15 changed files with 47 additions and 47 deletions

View file

@ -38,7 +38,7 @@ import java.util.List;
* format being constructed. For information about different types of format, see ExoPlayer's <a
* href="https://exoplayer.dev/supported-formats.html">Supported formats page</a>.
*
* <h3>Fields commonly relevant to all formats</h3>
* <h2>Fields commonly relevant to all formats</h2>
*
* <ul>
* <li>{@link #id}
@ -52,7 +52,7 @@ import java.util.List;
* <li>{@link #metadata}
* </ul>
*
* <h3 id="container-formats">Fields relevant to container formats</h3>
* <h2 id="container-formats">Fields relevant to container formats</h2>
*
* <ul>
* <li>{@link #containerMimeType}
@ -65,7 +65,7 @@ import java.util.List;
* href="#audio-formats">audio</a> and <a href="#text-formats">text</a> formats.
* </ul>
*
* <h3 id="sample-formats">Fields relevant to sample formats</h3>
* <h2 id="sample-formats">Fields relevant to sample formats</h2>
*
* <ul>
* <li>{@link #sampleMimeType}
@ -78,7 +78,7 @@ import java.util.List;
* href="#text-formats">text</a> formats.
* </ul>
*
* <h3 id="video-formats">Fields relevant to video formats</h3>
* <h2 id="video-formats">Fields relevant to video formats</h2>
*
* <ul>
* <li>{@link #width}
@ -91,7 +91,7 @@ import java.util.List;
* <li>{@link #colorInfo}
* </ul>
*
* <h3 id="audio-formats">Fields relevant to audio formats</h3>
* <h2 id="audio-formats">Fields relevant to audio formats</h2>
*
* <ul>
* <li>{@link #channelCount}
@ -101,7 +101,7 @@ import java.util.List;
* <li>{@link #encoderPadding}
* </ul>
*
* <h3 id="text-formats">Fields relevant to text formats</h3>
* <h2 id="text-formats">Fields relevant to text formats</h2>
*
* <ul>
* <li>{@link #accessibilityChannel}

View file

@ -58,7 +58,7 @@ import java.util.List;
*
* <p>The following examples illustrate timelines for various use cases.
*
* <h3 id="single-file">Single media file or on-demand stream</h3>
* <h2 id="single-file">Single media file or on-demand stream</h2>
*
* <p style="align:center"><img src="doc-files/timeline-single-file.svg" alt="Example timeline for a
* single file">
@ -68,7 +68,7 @@ import java.util.List;
* playback. The window's default position is typically at the start of the period (indicated by the
* black dot in the figure above).
*
* <h3>Playlist of media files or on-demand streams</h3>
* <h2>Playlist of media files or on-demand streams</h2>
*
* <p style="align:center"><img src="doc-files/timeline-playlist.svg" alt="Example timeline for a
* playlist of files">
@ -79,7 +79,7 @@ import java.util.List;
* (e.g. their durations and whether the window is seekable) will often only become known when the
* player starts buffering the corresponding file or stream.
*
* <h3 id="live-limited">Live stream with limited availability</h3>
* <h2 id="live-limited">Live stream with limited availability</h2>
*
* <p style="align:center"><img src="doc-files/timeline-live-limited.svg" alt="Example timeline for
* a live stream with limited availability">
@ -92,7 +92,7 @@ import java.util.List;
* changes to the live window. Its default position is typically near to the live edge (indicated by
* the black dot in the figure above).
*
* <h3>Live stream with indefinite availability</h3>
* <h2>Live stream with indefinite availability</h2>
*
* <p style="align:center"><img src="doc-files/timeline-live-indefinite.svg" alt="Example timeline
* for a live stream with indefinite availability">
@ -102,7 +102,7 @@ import java.util.List;
* starts at the beginning of the period to indicate that all of the previously broadcast content
* can still be played.
*
* <h3 id="live-multi-period">Live stream with multiple periods</h3>
* <h2 id="live-multi-period">Live stream with multiple periods</h2>
*
* <p style="align:center"><img src="doc-files/timeline-live-multi-period.svg" alt="Example timeline
* for a live stream with multiple periods">
@ -112,7 +112,7 @@ import java.util.List;
* limited availability</a> case, except that the window may span more than one period. Multiple
* periods are also possible in the indefinite availability case.
*
* <h3>On-demand stream followed by live stream</h3>
* <h2>On-demand stream followed by live stream</h2>
*
* <p style="align:center"><img src="doc-files/timeline-advanced.svg" alt="Example timeline for an
* on-demand stream followed by a live stream">
@ -122,7 +122,7 @@ import java.util.List;
* of the on-demand stream ends, playback of the live stream will start from its default position
* near the live edge.
*
* <h3 id="single-file-midrolls">On-demand stream with mid-roll ads</h3>
* <h2 id="single-file-midrolls">On-demand stream with mid-roll ads</h2>
*
* <p style="align:center"><img src="doc-files/timeline-single-file-midrolls.svg" alt="Example
* timeline for an on-demand stream with mid-roll ad groups">

View file

@ -62,7 +62,7 @@ import java.util.List;
* An extensible media player that plays {@link MediaSource}s. Instances can be obtained from {@link
* SimpleExoPlayer.Builder}.
*
* <h3>Player components</h3>
* <h2>Player components</h2>
*
* <p>ExoPlayer is designed to make few assumptions about (and hence impose few restrictions on) the
* type of the media being played, how and where it is stored, and how it is rendered. Rather than
@ -106,7 +106,7 @@ import java.util.List;
* {@link DataSource} factories to be injected via their constructors. By providing a custom factory
* it's possible to load data from a non-standard source, or through a different network stack.
*
* <h3>Threading model</h3>
* <h2>Threading model</h2>
*
* <p>The figure below shows ExoPlayer's threading model.
*

View file

@ -37,7 +37,7 @@ import java.util.UUID;
/**
* Used to obtain keys for decrypting protected media streams.
*
* <h3>Reference counting</h3>
* <h2>Reference counting</h2>
*
* <p>Access to an instance is managed by reference counting, where {@link #acquire()} increments
* the reference count and {@link #release()} decrements it. When the reference count drops to 0

View file

@ -72,7 +72,7 @@ import java.util.List;
* is thrown if none of the available extractors can read the stream.
* </ul>
*
* <h3>Ad support for media items with ad tag URIs</h3>
* <h2>Ad support for media items with ad tag URIs</h2>
*
* <p>To support media items with {@link MediaItem.PlaybackProperties#adsConfiguration ads
* configuration}, {@link #setAdsLoaderProvider} and {@link #setAdViewProvider} need to be called to

View file

@ -60,7 +60,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
* to configurable {@link Parameters}, which can be set by calling {@link
* #setParameters(Parameters)}.
*
* <h3>Modifying parameters</h3>
* <h2>Modifying parameters</h2>
*
* To modify only some aspects of the parameters currently used by a selector, it's possible to
* obtain a {@link ParametersBuilder} initialized with the current {@link Parameters}. The desired
@ -93,7 +93,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
*
* Selection {@link Parameters} support many different options, some of which are described below.
*
* <h3>Selecting specific tracks</h3>
* <h2>Selecting specific tracks</h2>
*
* Track selection overrides can be used to select specific tracks. To specify an override for a
* renderer, it's first necessary to obtain the tracks that have been mapped to it:
@ -120,7 +120,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
* .setSelectionOverride(rendererIndex, rendererTrackGroups, selectionOverride));
* }</pre>
*
* <h3>Constraint based track selection</h3>
* <h2>Constraint based track selection</h2>
*
* Whilst track selection overrides make it possible to select specific tracks, the recommended way
* of controlling which tracks are selected is by specifying constraints. For example consider the
@ -148,14 +148,14 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
* only applied to periods whose tracks match those for which the override was set.
* </ul>
*
* <h3>Disabling renderers</h3>
* <h2>Disabling renderers</h2>
*
* Renderers can be disabled using {@link ParametersBuilder#setRendererDisabled}. Disabling a
* renderer differs from setting a {@code null} override because the renderer is disabled
* unconditionally, whereas a {@code null} override is applied only when the track groups available
* to the renderer match the {@link TrackGroupArray} for which it was specified.
*
* <h3>Tunneling</h3>
* <h2>Tunneling</h2>
*
* Tunneled playback can be enabled in cases where the combination of renderers and selected tracks
* support it. Tunneled playback is enabled by passing an audio session ID to {@link

View file

@ -32,7 +32,7 @@ import com.google.android.exoplayer2.util.Assertions;
* the player's {@link Renderer}s. The {@link DefaultTrackSelector} implementation should be
* suitable for most use cases.
*
* <h3>Interactions with the player</h3>
* <h2>Interactions with the player</h2>
*
* The following interactions occur between the player and its track selector during playback.
*
@ -65,7 +65,7 @@ import com.google.android.exoplayer2.util.Assertions;
* will call {@link InvalidationListener#onTrackSelectionsInvalidated()}.
* </ul>
*
* <h3>Renderer configuration</h3>
* <h2>Renderer configuration</h2>
*
* The {@link TrackSelectorResult} returned by {@link #selectTracks(RendererCapabilities[],
* TrackGroupArray, MediaPeriodId, Timeline)} contains not only {@link TrackSelection}s for each
@ -77,7 +77,7 @@ import com.google.android.exoplayer2.util.Assertions;
* configure renderers in a particular way if certain tracks are selected. Hence it makes sense to
* determine the track selection and corresponding renderer configurations in a single step.
*
* <h3>Threading model</h3>
* <h2>Threading model</h2>
*
* All calls made by the player into the track selector are on the player's internal playback
* thread. The track selector may call {@link InvalidationListener#onTrackSelectionsInvalidated()}

View file

@ -26,7 +26,7 @@ import java.util.Set;
/**
* A cache that supports partial caching of resources.
*
* <h3>Terminology</h3>
* <h2>Terminology</h2>
*
* <ul>
* <li>A <em>resource</em> is a complete piece of logical data, for example a complete media file.

View file

@ -34,7 +34,7 @@ import java.io.InputStream;
* wants to read an entire block/frame/header of known length.
* </ul>
*
* <h3>{@link InputStream}-like methods</h3>
* <h2>{@link InputStream}-like methods</h2>
*
* <p>The {@code read()/peek()} and {@code skip()} methods provide {@link InputStream}-like
* byte-level access operations. The {@code length} parameter is a maximum, and each method returns
@ -42,7 +42,7 @@ import java.io.InputStream;
* the input was reached, or the method was interrupted, or the operation was aborted early for
* another reason.
*
* <h3>Block-based methods</h3>
* <h2>Block-based methods</h2>
*
* <p>The {@code read/skip/peekFully()} and {@code advancePeekPosition()} methods assume the user
* wants to read an entire block/frame/header of known length.

View file

@ -51,7 +51,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
*
* <p>A DefaultTimeBar can be customized by setting attributes, as outlined below.
*
* <h3>Attributes</h3>
* <h2>Attributes</h2>
*
* The following attributes can be set on a DefaultTimeBar when used in a layout XML file:
*

View file

@ -66,7 +66,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* methods), overriding drawables, overriding the view's layout file, or by specifying a custom view
* layout file.
*
* <h3>Attributes</h3>
* <h2>Attributes</h2>
*
* The following attributes can be set on a PlayerControlView when used in a layout XML file:
*
@ -138,7 +138,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* layout is overridden to specify a custom {@code exo_progress} (see below).
* </ul>
*
* <h3>Overriding drawables</h3>
* <h2>Overriding drawables</h2>
*
* The drawables used by PlayerControlView (with its default layout file) can be overridden by
* drawables with the same names defined in your application. The drawables that can be overridden
@ -162,7 +162,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* <li><b>{@code exo_controls_vr}</b> - The VR icon.
* </ul>
*
* <h3>Overriding the layout file</h3>
* <h2>Overriding the layout file</h2>
*
* To customize the layout of PlayerControlView throughout your app, or just for certain
* configurations, you can define {@code exo_player_control_view.xml} layout files in your
@ -241,7 +241,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* <p>All child views are optional and so can be omitted if not required, however where defined they
* must be of the expected type.
*
* <h3>Specifying a custom layout file</h3>
* <h2>Specifying a custom layout file</h2>
*
* Defining your own {@code exo_player_control_view.xml} is useful to customize the layout of
* PlayerControlView throughout your application. It's also possible to customize the layout for a

View file

@ -75,7 +75,7 @@ import java.util.Map;
* <p>If the player is released it must be removed from the manager by calling {@code
* setPlayer(null)}.
*
* <h3>Action customization</h3>
* <h2>Action customization</h2>
*
* Playback actions can be included or omitted as follows:
*
@ -140,7 +140,7 @@ import java.util.Map;
* </ul>
* </ul>
*
* <h3>Overriding drawables</h3>
* <h2>Overriding drawables</h2>
*
* The drawables used by PlayerNotificationManager can be overridden by drawables with the same
* names defined in your application. The drawables that can be overridden are:

View file

@ -83,7 +83,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* overriding drawables, overriding the view's layout file, or by specifying a custom view layout
* file.
*
* <h3>Attributes</h3>
* <h2>Attributes</h2>
*
* The following attributes can be set on a PlayerView when used in a layout XML file:
*
@ -175,13 +175,13 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* exo_controller} (see below).
* </ul>
*
* <h3>Overriding drawables</h3>
* <h2>Overriding drawables</h2>
*
* The drawables used by {@link PlayerControlView} (with its default layout file) can be overridden
* by drawables with the same names defined in your application. See the {@link PlayerControlView}
* documentation for a list of drawables that can be overridden.
*
* <h3>Overriding the layout file</h3>
* <h2>Overriding the layout file</h2>
*
* To customize the layout of PlayerView throughout your app, or just for certain configurations,
* you can define {@code exo_player_view.xml} layout files in your application {@code res/layout*}
@ -248,7 +248,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* <p>All child views are optional and so can be omitted if not required, however where defined they
* must be of the expected type.
*
* <h3>Specifying a custom layout file</h3>
* <h2>Specifying a custom layout file</h2>
*
* Defining your own {@code exo_player_view.xml} is useful to customize the layout of PlayerView
* throughout your application. It's also possible to customize the layout for a single instance in

View file

@ -88,7 +88,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* methods), overriding drawables, overriding the view's layout file, or by specifying a custom view
* layout file.
*
* <h3>Attributes</h3>
* <h2>Attributes</h2>
*
* The following attributes can be set on a StyledPlayerControlView when used in a layout XML file:
*
@ -171,7 +171,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* unless the layout is overridden to specify a custom {@code exo_progress} (see below).
* </ul>
*
* <h3>Overriding drawables</h3>
* <h2>Overriding drawables</h2>
*
* The drawables used by StyledPlayerControlView (with its default layout file) can be overridden by
* drawables with the same names defined in your application. The drawables that can be overridden
@ -196,7 +196,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* <li><b>{@code exo_styled_controls_vr}</b> - The VR icon.
* </ul>
*
* <h3>Overriding the layout file</h3>
* <h2>Overriding the layout file</h2>
*
* To customize the layout of StyledPlayerControlView throughout your app, or just for certain
* configurations, you can define {@code exo_styled_player_control_view.xml} layout files in your
@ -301,7 +301,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
* <p>All child views are optional and so can be omitted if not required, however where defined they
* must be of the expected type.
*
* <h3 id="CustomLayout">Specifying a custom layout file</h3>
* <h2 id="CustomLayout">Specifying a custom layout file</h2>
*
* Defining your own {@code exo_styled_player_control_view.xml} is useful to customize the layout of
* StyledPlayerControlView throughout your application. It's also possible to customize the layout

View file

@ -84,7 +84,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* overriding drawables, overriding the view's layout file, or by specifying a custom view layout
* file.
*
* <h3>Attributes</h3>
* <h2>Attributes</h2>
*
* The following attributes can be set on a StyledPlayerView when used in a layout XML file:
*
@ -176,13 +176,13 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* custom {@code exo_controller} (see below).
* </ul>
*
* <h3>Overriding drawables</h3>
* <h2>Overriding drawables</h2>
*
* The drawables used by {@link StyledPlayerControlView} (with its default layout file) can be
* overridden by drawables with the same names defined in your application. See the {@link
* StyledPlayerControlView} documentation for a list of drawables that can be overridden.
*
* <h3>Overriding the layout file</h3>
* <h2>Overriding the layout file</h2>
*
* To customize the layout of StyledPlayerView throughout your app, or just for certain
* configurations, you can define {@code exo_styled_player_view.xml} layout files in your
@ -249,7 +249,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* <p>All child views are optional and so can be omitted if not required, however where defined they
* must be of the expected type.
*
* <h3>Specifying a custom layout file</h3>
* <h2>Specifying a custom layout file</h2>
*
* Defining your own {@code exo_styled_player_view.xml} is useful to customize the layout of
* StyledPlayerView throughout your application. It's also possible to customize the layout for a