mirror of
https://github.com/samsonjs/media.git
synced 2026-03-27 09:45:47 +00:00
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:
parent
3a519b539b
commit
3e819d082a
15 changed files with 47 additions and 47 deletions
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()}
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue